@dwelle/excalidraw 0.3.28 → 0.3.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README_NEXT.md +25 -0
- package/dist/excalidraw.development.js +35 -14
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +1 -1
- package/types/appState.d.ts +1 -1
- package/types/components/Card.d.ts +1 -1
- package/types/components/LayerUI.d.ts +2 -1
- package/types/components/LibraryButton.d.ts +1 -0
- package/types/components/LockButton.d.ts +1 -0
- package/types/element/linearElementEditor.d.ts +1 -1
- package/types/element/newElement.d.ts +1 -1
- package/types/element/types.d.ts +5 -2
- package/types/shapes.d.ts +1 -1
|
@@ -667,6 +667,16 @@ eval("var api = __webpack_require__(/*! !../../node_modules/style-loader/dist/ru
|
|
|
667
667
|
|
|
668
668
|
/***/ }),
|
|
669
669
|
|
|
670
|
+
/***/ "../../components/Toolbar.scss":
|
|
671
|
+
/*!*************************************!*\
|
|
672
|
+
!*** ../../components/Toolbar.scss ***!
|
|
673
|
+
\*************************************/
|
|
674
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
|
675
|
+
|
|
676
|
+
eval("var api = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ \"../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = __webpack_require__(/*! !!../packages/excalidraw/node_modules/css-loader/dist/cjs.js!../packages/excalidraw/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../packages/excalidraw/node_modules/sass-loader/dist/cjs.js!./Toolbar.scss */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../components/Toolbar.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vY29tcG9uZW50cy9Ub29sYmFyLnNjc3MuanMiLCJtYXBwaW5ncyI6IkFBQUEsVUFBVSxtQkFBTyxDQUFDLDhKQUEyRTtBQUM3RiwwQkFBMEIsbUJBQU8sQ0FBQyw0WkFBb087O0FBRXRROztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOzs7O0FBSUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vY29tcG9uZW50cy9Ub29sYmFyLnNjc3M/YmVkMiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgYXBpID0gcmVxdWlyZShcIiEuLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIik7XG4gICAgICAgICAgICB2YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vcGFja2FnZXMvZXhjYWxpZHJhdy9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanM/P3J1bGVTZXRbMV0ucnVsZXNbMF0udXNlWzJdIS4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vVG9vbGJhci5zY3NzXCIpO1xuXG4gICAgICAgICAgICBjb250ZW50ID0gY29udGVudC5fX2VzTW9kdWxlID8gY29udGVudC5kZWZhdWx0IDogY29udGVudDtcblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG4gICAgICAgICAgICB9XG5cbnZhciBvcHRpb25zID0ge307XG5cbm9wdGlvbnMuaW5zZXJ0ID0gXCJoZWFkXCI7XG5vcHRpb25zLnNpbmdsZXRvbiA9IGZhbHNlO1xuXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxubW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscyB8fCB7fTsiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../components/Toolbar.scss\n");
|
|
677
|
+
|
|
678
|
+
/***/ }),
|
|
679
|
+
|
|
670
680
|
/***/ "../../components/Tooltip.scss":
|
|
671
681
|
/*!*************************************!*\
|
|
672
682
|
!*** ../../components/Tooltip.scss ***!
|
|
@@ -889,7 +899,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
889
899
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
890
900
|
|
|
891
901
|
"use strict";
|
|
892
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":export {\\n themeFilter: invert(93%) hue-rotate(180deg);\\n}\\n\\n.excalidraw .picker-container {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-right: 0.25rem;\\n}\\n.excalidraw .picker {\\n background: var(--popup-bg-color);\\n border: 0 solid rgba(255, 255, 255, 0.25);\\n box-shadow: rgba(0, 0, 0, 0.25) 0 1px 4px;\\n border-radius: 4px;\\n position: absolute;\\n}\\n.excalidraw .picker-container button,\\n.excalidraw .picker button {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.excalidraw .picker-container button:focus,\\n.excalidraw .picker button:focus {\\n outline: transparent;\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .picker-container button:focus svg,\\n.excalidraw .picker button:focus svg {\\n opacity: 1;\\n}\\n.excalidraw .picker-container button:hover,\\n.excalidraw .picker button:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .picker-container button:active,\\n.excalidraw .picker button:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .picker-container button:disabled,\\n.excalidraw .picker button:disabled {\\n cursor: not-allowed;\\n}\\n.excalidraw .picker-container button svg,\\n.excalidraw .picker button svg {\\n margin: 0;\\n width: 36px;\\n height: 18px;\\n opacity: 0.6;\\n pointer-events: none;\\n}\\n.excalidraw .picker button {\\n padding: 0.25rem 0.28rem 0.35rem 0.25rem;\\n}\\n.excalidraw .picker-triangle {\\n width: 0;\\n height: 0;\\n position: relative;\\n top: -10px;\\n z-index: 10;\\n}\\n:root[dir=ltr] .excalidraw .picker-triangle {\\n left: 12px;\\n}\\n:root[dir=rtl] .excalidraw .picker-triangle {\\n right: 12px;\\n}\\n.excalidraw .picker-triangle:before {\\n content: \\\"\\\";\\n position: absolute;\\n border-style: solid;\\n border-width: 0 9px 10px;\\n border-color: transparent transparent rgba(0, 0, 0, 0.1);\\n top: -1px;\\n}\\n.excalidraw .picker-triangle:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-style: solid;\\n border-width: 0 9px 10px;\\n border-color: transparent transparent var(--popup-bg-color);\\n}\\n.excalidraw .picker-content {\\n padding: 0.5rem;\\n display: grid;\\n grid-template-columns: repeat(3, auto);\\n grid-gap: 0.5rem;\\n border-radius: 4px;\\n}\\n:root[dir=rtl] .excalidraw .picker-content {\\n padding: 0.4rem;\\n}\\n.excalidraw .picker-keybinding {\\n position: absolute;\\n bottom: 2px;\\n font-size: 0.7em;\\n color: var(--keybinding-color);\\n}\\n:root[dir=ltr] .excalidraw .picker-keybinding {\\n right: 2px;\\n}\\n:root[dir=rtl] .excalidraw .picker-keybinding {\\n left: 2px;\\n}\\n.excalidraw--mobile.excalidraw .picker-keybinding {\\n display: none;\\n}\\n\\n.excalidraw .picker-type-canvasBackground .picker-keybinding {\\n color: #aaa;\\n}\\n.excalidraw .picker-type-elementBackground .picker-keybinding {\\n color: #ffffff;\\n}\\n.excalidraw .picker-swatch[aria-label=transparent] .picker-keybinding {\\n color: #aaa;\\n}\\n.excalidraw .picker-type-elementStroke .picker-keybinding {\\n color: #d4d4d4;\\n}\\n.excalidraw.theme--dark .picker-type-elementBackground .picker-keybinding {\\n color: #000000;\\n}\\n.excalidraw.theme--dark .picker-swatch[aria-label=transparent] .picker-keybinding {\\n color: #000000;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../css/variables.module.scss\",\"webpack://./../../components/IconPicker.scss\",\"webpack://./../../../node_modules/open-color/open-color.scss\"],\"names\":[],\"mappings\":\"AAUA;EACE,2CAAA;ACTF;;AACE;EACE,qBAAA;EACA,sBAAA;EACA,qBAAA;AAEJ;AACE;EACE,iCAAA;EACA,yCAAA;EACA,yCAAA;EACA,kBAAA;EACA,kBAAA;AACJ;AAEE;;EAEE,kBAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;AAAJ;AAEI;;EACE,oBAAA;EACA,sCAAA;AACN;AAAM;;EACE,UAAA;AAGR;AACI;;EACE,sCAAA;AAEN;AACI;;EACE,sCAAA;AAEN;AACI;;EACE,mBAAA;AAEN;AACI;;EACE,SAAA;EACA,WAAA;EACA,YAAA;EACA,YAAA;EACA,oBAAA;AAEN;AAEE;EACE,wCAAA;AAAJ;AAGE;EACE,QAAA;EACA,SAAA;EACA,kBAAA;EACA,UAAA;EAQA,WAAA;AARJ;AACI;EACE,UAAA;AACN;AAEI;EACE,WAAA;AAAN;AAII;EACE,WAAA;EACA,kBAAA;EACA,mBAAA;EACA,wBAAA;EACA,wDAAA;EACA,SAAA;AAFN;AAKI;EACE,WAAA;EACA,kBAAA;EACA,mBAAA;EACA,wBAAA;EACA,2DAAA;AAHN;AAOE;EACE,eAAA;EACA,aAAA;EACA,sCAAA;EACA,gBAAA;EACA,kBAAA;AALJ;AAMI;EACE,eAAA;AAJN;AAQE;EACE,kBAAA;EACA,WAAA;EACA,gBAAA;EACA,8BAAA;AANJ;AAQI;EACE,UAAA;AANN;AASI;EACE,SAAA;AAPN;ADrGW;EC+GL,aAAA;AAPN;;AAWE;EACE,WAAA;AARJ;AAWE;EACE,cChHe;ADuGnB;AAYE;EACE,WAAA;AAVJ;AAaE;EACE,cAAA;AAXJ;AAeI;EACE,cC5Ha;AD+GnB;AAeI;EACE,cC/Ha;ADkHnB\",\"sourcesContent\":[\"@import \\\"open-color/open-color.scss\\\";\\n\\n@mixin isMobile() {\\n @at-root .excalidraw--mobile#{&} {\\n @content;\\n }\\n}\\n\\n$theme-filter: \\\"invert(93%) hue-rotate(180deg)\\\";\\n\\n:export {\\n themeFilter: unquote($theme-filter);\\n}\\n\",\"@import \\\"../css/variables.module\\\";\\n\\n.excalidraw {\\n .picker-container {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-right: 0.25rem;\\n }\\n\\n .picker {\\n background: var(--popup-bg-color);\\n border: 0 solid transparentize($oc-white, 0.75);\\n box-shadow: transparentize($oc-black, 0.75) 0 1px 4px;\\n border-radius: 4px;\\n position: absolute;\\n }\\n\\n .picker-container button,\\n .picker button {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n\\n &:focus {\\n outline: transparent;\\n background-color: var(--button-gray-2);\\n & svg {\\n opacity: 1;\\n }\\n }\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n\\n &:disabled {\\n cursor: not-allowed;\\n }\\n\\n svg {\\n margin: 0;\\n width: 36px;\\n height: 18px;\\n opacity: 0.6;\\n pointer-events: none;\\n }\\n }\\n\\n .picker button {\\n padding: 0.25rem 0.28rem 0.35rem 0.25rem;\\n }\\n\\n .picker-triangle {\\n width: 0;\\n height: 0;\\n position: relative;\\n top: -10px;\\n :root[dir=\\\"ltr\\\"] & {\\n left: 12px;\\n }\\n\\n :root[dir=\\\"rtl\\\"] & {\\n right: 12px;\\n }\\n z-index: 10;\\n\\n &:before {\\n content: \\\"\\\";\\n position: absolute;\\n border-style: solid;\\n border-width: 0 9px 10px;\\n border-color: transparent transparent transparentize($oc-black, 0.9);\\n top: -1px;\\n }\\n\\n &:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-style: solid;\\n border-width: 0 9px 10px;\\n border-color: transparent transparent var(--popup-bg-color);\\n }\\n }\\n\\n .picker-content {\\n padding: 0.5rem;\\n display: grid;\\n grid-template-columns: repeat(3, auto);\\n grid-gap: 0.5rem;\\n border-radius: 4px;\\n :root[dir=\\\"rtl\\\"] & {\\n padding: 0.4rem;\\n }\\n }\\n\\n .picker-keybinding {\\n position: absolute;\\n bottom: 2px;\\n font-size: 0.7em;\\n color: var(--keybinding-color);\\n\\n :root[dir=\\\"ltr\\\"] & {\\n right: 2px;\\n }\\n\\n :root[dir=\\\"rtl\\\"] & {\\n left: 2px;\\n }\\n @include isMobile {\\n display: none;\\n }\\n }\\n\\n .picker-type-canvasBackground .picker-keybinding {\\n color: #aaa;\\n }\\n\\n .picker-type-elementBackground .picker-keybinding {\\n color: $oc-white;\\n }\\n\\n .picker-swatch[aria-label=\\\"transparent\\\"] .picker-keybinding {\\n color: #aaa;\\n }\\n\\n .picker-type-elementStroke .picker-keybinding {\\n color: #d4d4d4;\\n }\\n\\n &.theme--dark {\\n .picker-type-elementBackground .picker-keybinding {\\n color: $oc-black;\\n }\\n .picker-swatch[aria-label=\\\"transparent\\\"] .picker-keybinding {\\n color: $oc-black;\\n }\\n }\\n}\\n\",\"//\\n//\\n// 𝗖 𝗢 𝗟 𝗢 𝗥\\n// v 1.9.1\\n//\\n// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n\\n\\n// General\\n// ───────────────────────────────────\\n\\n$oc-white: #ffffff;\\n$oc-black: #000000;\\n\\n\\n// Gray\\n// ───────────────────────────────────\\n\\n$oc-gray-list: (\\n \\\"0\\\": #f8f9fa,\\n \\\"1\\\": #f1f3f5,\\n \\\"2\\\": #e9ecef,\\n \\\"3\\\": #dee2e6,\\n \\\"4\\\": #ced4da,\\n \\\"5\\\": #adb5bd,\\n \\\"6\\\": #868e96,\\n \\\"7\\\": #495057,\\n \\\"8\\\": #343a40,\\n \\\"9\\\": #212529\\n);\\n\\n$oc-gray-0: map-get($oc-gray-list, \\\"0\\\");\\n$oc-gray-1: map-get($oc-gray-list, \\\"1\\\");\\n$oc-gray-2: map-get($oc-gray-list, \\\"2\\\");\\n$oc-gray-3: map-get($oc-gray-list, \\\"3\\\");\\n$oc-gray-4: map-get($oc-gray-list, \\\"4\\\");\\n$oc-gray-5: map-get($oc-gray-list, \\\"5\\\");\\n$oc-gray-6: map-get($oc-gray-list, \\\"6\\\");\\n$oc-gray-7: map-get($oc-gray-list, \\\"7\\\");\\n$oc-gray-8: map-get($oc-gray-list, \\\"8\\\");\\n$oc-gray-9: map-get($oc-gray-list, \\\"9\\\");\\n\\n\\n// Red\\n// ───────────────────────────────────\\n\\n$oc-red-list: (\\n \\\"0\\\": #fff5f5,\\n \\\"1\\\": #ffe3e3,\\n \\\"2\\\": #ffc9c9,\\n \\\"3\\\": #ffa8a8,\\n \\\"4\\\": #ff8787,\\n \\\"5\\\": #ff6b6b,\\n \\\"6\\\": #fa5252,\\n \\\"7\\\": #f03e3e,\\n \\\"8\\\": #e03131,\\n \\\"9\\\": #c92a2a\\n);\\n\\n$oc-red-0: map-get($oc-red-list, \\\"0\\\");\\n$oc-red-1: map-get($oc-red-list, \\\"1\\\");\\n$oc-red-2: map-get($oc-red-list, \\\"2\\\");\\n$oc-red-3: map-get($oc-red-list, \\\"3\\\");\\n$oc-red-4: map-get($oc-red-list, \\\"4\\\");\\n$oc-red-5: map-get($oc-red-list, \\\"5\\\");\\n$oc-red-6: map-get($oc-red-list, \\\"6\\\");\\n$oc-red-7: map-get($oc-red-list, \\\"7\\\");\\n$oc-red-8: map-get($oc-red-list, \\\"8\\\");\\n$oc-red-9: map-get($oc-red-list, \\\"9\\\");\\n\\n\\n// Pink\\n// ───────────────────────────────────\\n\\n$oc-pink-list: (\\n \\\"0\\\": #fff0f6,\\n \\\"1\\\": #ffdeeb,\\n \\\"2\\\": #fcc2d7,\\n \\\"3\\\": #faa2c1,\\n \\\"4\\\": #f783ac,\\n \\\"5\\\": #f06595,\\n \\\"6\\\": #e64980,\\n \\\"7\\\": #d6336c,\\n \\\"8\\\": #c2255c,\\n \\\"9\\\": #a61e4d\\n);\\n\\n$oc-pink-0: map-get($oc-pink-list, \\\"0\\\");\\n$oc-pink-1: map-get($oc-pink-list, \\\"1\\\");\\n$oc-pink-2: map-get($oc-pink-list, \\\"2\\\");\\n$oc-pink-3: map-get($oc-pink-list, \\\"3\\\");\\n$oc-pink-4: map-get($oc-pink-list, \\\"4\\\");\\n$oc-pink-5: map-get($oc-pink-list, \\\"5\\\");\\n$oc-pink-6: map-get($oc-pink-list, \\\"6\\\");\\n$oc-pink-7: map-get($oc-pink-list, \\\"7\\\");\\n$oc-pink-8: map-get($oc-pink-list, \\\"8\\\");\\n$oc-pink-9: map-get($oc-pink-list, \\\"9\\\");\\n\\n\\n// Grape\\n// ───────────────────────────────────\\n\\n$oc-grape-list: (\\n \\\"0\\\": #f8f0fc,\\n \\\"1\\\": #f3d9fa,\\n \\\"2\\\": #eebefa,\\n \\\"3\\\": #e599f7,\\n \\\"4\\\": #da77f2,\\n \\\"5\\\": #cc5de8,\\n \\\"6\\\": #be4bdb,\\n \\\"7\\\": #ae3ec9,\\n \\\"8\\\": #9c36b5,\\n \\\"9\\\": #862e9c\\n);\\n\\n$oc-grape-0: map-get($oc-grape-list, \\\"0\\\");\\n$oc-grape-1: map-get($oc-grape-list, \\\"1\\\");\\n$oc-grape-2: map-get($oc-grape-list, \\\"2\\\");\\n$oc-grape-3: map-get($oc-grape-list, \\\"3\\\");\\n$oc-grape-4: map-get($oc-grape-list, \\\"4\\\");\\n$oc-grape-5: map-get($oc-grape-list, \\\"5\\\");\\n$oc-grape-6: map-get($oc-grape-list, \\\"6\\\");\\n$oc-grape-7: map-get($oc-grape-list, \\\"7\\\");\\n$oc-grape-8: map-get($oc-grape-list, \\\"8\\\");\\n$oc-grape-9: map-get($oc-grape-list, \\\"9\\\");\\n\\n\\n// Violet\\n// ───────────────────────────────────\\n\\n$oc-violet-list: (\\n \\\"0\\\": #f3f0ff,\\n \\\"1\\\": #e5dbff,\\n \\\"2\\\": #d0bfff,\\n \\\"3\\\": #b197fc,\\n \\\"4\\\": #9775fa,\\n \\\"5\\\": #845ef7,\\n \\\"6\\\": #7950f2,\\n \\\"7\\\": #7048e8,\\n \\\"8\\\": #6741d9,\\n \\\"9\\\": #5f3dc4\\n);\\n\\n$oc-violet-0: map-get($oc-violet-list, \\\"0\\\");\\n$oc-violet-1: map-get($oc-violet-list, \\\"1\\\");\\n$oc-violet-2: map-get($oc-violet-list, \\\"2\\\");\\n$oc-violet-3: map-get($oc-violet-list, \\\"3\\\");\\n$oc-violet-4: map-get($oc-violet-list, \\\"4\\\");\\n$oc-violet-5: map-get($oc-violet-list, \\\"5\\\");\\n$oc-violet-6: map-get($oc-violet-list, \\\"6\\\");\\n$oc-violet-7: map-get($oc-violet-list, \\\"7\\\");\\n$oc-violet-8: map-get($oc-violet-list, \\\"8\\\");\\n$oc-violet-9: map-get($oc-violet-list, \\\"9\\\");\\n\\n\\n// Indigo\\n// ───────────────────────────────────\\n\\n$oc-indigo-list: (\\n \\\"0\\\": #edf2ff,\\n \\\"1\\\": #dbe4ff,\\n \\\"2\\\": #bac8ff,\\n \\\"3\\\": #91a7ff,\\n \\\"4\\\": #748ffc,\\n \\\"5\\\": #5c7cfa,\\n \\\"6\\\": #4c6ef5,\\n \\\"7\\\": #4263eb,\\n \\\"8\\\": #3b5bdb,\\n \\\"9\\\": #364fc7\\n);\\n\\n$oc-indigo-0: map-get($oc-indigo-list, \\\"0\\\");\\n$oc-indigo-1: map-get($oc-indigo-list, \\\"1\\\");\\n$oc-indigo-2: map-get($oc-indigo-list, \\\"2\\\");\\n$oc-indigo-3: map-get($oc-indigo-list, \\\"3\\\");\\n$oc-indigo-4: map-get($oc-indigo-list, \\\"4\\\");\\n$oc-indigo-5: map-get($oc-indigo-list, \\\"5\\\");\\n$oc-indigo-6: map-get($oc-indigo-list, \\\"6\\\");\\n$oc-indigo-7: map-get($oc-indigo-list, \\\"7\\\");\\n$oc-indigo-8: map-get($oc-indigo-list, \\\"8\\\");\\n$oc-indigo-9: map-get($oc-indigo-list, \\\"9\\\");\\n\\n\\n// Blue\\n// ───────────────────────────────────\\n\\n$oc-blue-list: (\\n \\\"0\\\": #e7f5ff,\\n \\\"1\\\": #d0ebff,\\n \\\"2\\\": #a5d8ff,\\n \\\"3\\\": #74c0fc,\\n \\\"4\\\": #4dabf7,\\n \\\"5\\\": #339af0,\\n \\\"6\\\": #228be6,\\n \\\"7\\\": #1c7ed6,\\n \\\"8\\\": #1971c2,\\n \\\"9\\\": #1864ab\\n);\\n\\n$oc-blue-0: map-get($oc-blue-list, \\\"0\\\");\\n$oc-blue-1: map-get($oc-blue-list, \\\"1\\\");\\n$oc-blue-2: map-get($oc-blue-list, \\\"2\\\");\\n$oc-blue-3: map-get($oc-blue-list, \\\"3\\\");\\n$oc-blue-4: map-get($oc-blue-list, \\\"4\\\");\\n$oc-blue-5: map-get($oc-blue-list, \\\"5\\\");\\n$oc-blue-6: map-get($oc-blue-list, \\\"6\\\");\\n$oc-blue-7: map-get($oc-blue-list, \\\"7\\\");\\n$oc-blue-8: map-get($oc-blue-list, \\\"8\\\");\\n$oc-blue-9: map-get($oc-blue-list, \\\"9\\\");\\n\\n\\n// Cyan\\n// ───────────────────────────────────\\n\\n$oc-cyan-list: (\\n \\\"0\\\": #e3fafc,\\n \\\"1\\\": #c5f6fa,\\n \\\"2\\\": #99e9f2,\\n \\\"3\\\": #66d9e8,\\n \\\"4\\\": #3bc9db,\\n \\\"5\\\": #22b8cf,\\n \\\"6\\\": #15aabf,\\n \\\"7\\\": #1098ad,\\n \\\"8\\\": #0c8599,\\n \\\"9\\\": #0b7285\\n);\\n\\n$oc-cyan-0: map-get($oc-cyan-list, \\\"0\\\");\\n$oc-cyan-1: map-get($oc-cyan-list, \\\"1\\\");\\n$oc-cyan-2: map-get($oc-cyan-list, \\\"2\\\");\\n$oc-cyan-3: map-get($oc-cyan-list, \\\"3\\\");\\n$oc-cyan-4: map-get($oc-cyan-list, \\\"4\\\");\\n$oc-cyan-5: map-get($oc-cyan-list, \\\"5\\\");\\n$oc-cyan-6: map-get($oc-cyan-list, \\\"6\\\");\\n$oc-cyan-7: map-get($oc-cyan-list, \\\"7\\\");\\n$oc-cyan-8: map-get($oc-cyan-list, \\\"8\\\");\\n$oc-cyan-9: map-get($oc-cyan-list, \\\"9\\\");\\n\\n\\n// Teal\\n// ───────────────────────────────────\\n\\n$oc-teal-list: (\\n \\\"0\\\": #e6fcf5,\\n \\\"1\\\": #c3fae8,\\n \\\"2\\\": #96f2d7,\\n \\\"3\\\": #63e6be,\\n \\\"4\\\": #38d9a9,\\n \\\"5\\\": #20c997,\\n \\\"6\\\": #12b886,\\n \\\"7\\\": #0ca678,\\n \\\"8\\\": #099268,\\n \\\"9\\\": #087f5b\\n);\\n\\n$oc-teal-0: map-get($oc-teal-list, \\\"0\\\");\\n$oc-teal-1: map-get($oc-teal-list, \\\"1\\\");\\n$oc-teal-2: map-get($oc-teal-list, \\\"2\\\");\\n$oc-teal-3: map-get($oc-teal-list, \\\"3\\\");\\n$oc-teal-4: map-get($oc-teal-list, \\\"4\\\");\\n$oc-teal-5: map-get($oc-teal-list, \\\"5\\\");\\n$oc-teal-6: map-get($oc-teal-list, \\\"6\\\");\\n$oc-teal-7: map-get($oc-teal-list, \\\"7\\\");\\n$oc-teal-8: map-get($oc-teal-list, \\\"8\\\");\\n$oc-teal-9: map-get($oc-teal-list, \\\"9\\\");\\n\\n\\n// Green\\n// ───────────────────────────────────\\n\\n$oc-green-list: (\\n \\\"0\\\": #ebfbee,\\n \\\"1\\\": #d3f9d8,\\n \\\"2\\\": #b2f2bb,\\n \\\"3\\\": #8ce99a,\\n \\\"4\\\": #69db7c,\\n \\\"5\\\": #51cf66,\\n \\\"6\\\": #40c057,\\n \\\"7\\\": #37b24d,\\n \\\"8\\\": #2f9e44,\\n \\\"9\\\": #2b8a3e\\n);\\n\\n$oc-green-0: map-get($oc-green-list, \\\"0\\\");\\n$oc-green-1: map-get($oc-green-list, \\\"1\\\");\\n$oc-green-2: map-get($oc-green-list, \\\"2\\\");\\n$oc-green-3: map-get($oc-green-list, \\\"3\\\");\\n$oc-green-4: map-get($oc-green-list, \\\"4\\\");\\n$oc-green-5: map-get($oc-green-list, \\\"5\\\");\\n$oc-green-6: map-get($oc-green-list, \\\"6\\\");\\n$oc-green-7: map-get($oc-green-list, \\\"7\\\");\\n$oc-green-8: map-get($oc-green-list, \\\"8\\\");\\n$oc-green-9: map-get($oc-green-list, \\\"9\\\");\\n\\n\\n// Lime\\n// ───────────────────────────────────\\n\\n$oc-lime-list: (\\n \\\"0\\\": #f4fce3,\\n \\\"1\\\": #e9fac8,\\n \\\"2\\\": #d8f5a2,\\n \\\"3\\\": #c0eb75,\\n \\\"4\\\": #a9e34b,\\n \\\"5\\\": #94d82d,\\n \\\"6\\\": #82c91e,\\n \\\"7\\\": #74b816,\\n \\\"8\\\": #66a80f,\\n \\\"9\\\": #5c940d\\n);\\n\\n$oc-lime-0: map-get($oc-lime-list, \\\"0\\\");\\n$oc-lime-1: map-get($oc-lime-list, \\\"1\\\");\\n$oc-lime-2: map-get($oc-lime-list, \\\"2\\\");\\n$oc-lime-3: map-get($oc-lime-list, \\\"3\\\");\\n$oc-lime-4: map-get($oc-lime-list, \\\"4\\\");\\n$oc-lime-5: map-get($oc-lime-list, \\\"5\\\");\\n$oc-lime-6: map-get($oc-lime-list, \\\"6\\\");\\n$oc-lime-7: map-get($oc-lime-list, \\\"7\\\");\\n$oc-lime-8: map-get($oc-lime-list, \\\"8\\\");\\n$oc-lime-9: map-get($oc-lime-list, \\\"9\\\");\\n\\n\\n// Yellow\\n// ───────────────────────────────────\\n\\n$oc-yellow-list: (\\n \\\"0\\\": #fff9db,\\n \\\"1\\\": #fff3bf,\\n \\\"2\\\": #ffec99,\\n \\\"3\\\": #ffe066,\\n \\\"4\\\": #ffd43b,\\n \\\"5\\\": #fcc419,\\n \\\"6\\\": #fab005,\\n \\\"7\\\": #f59f00,\\n \\\"8\\\": #f08c00,\\n \\\"9\\\": #e67700\\n);\\n\\n$oc-yellow-0: map-get($oc-yellow-list, \\\"0\\\");\\n$oc-yellow-1: map-get($oc-yellow-list, \\\"1\\\");\\n$oc-yellow-2: map-get($oc-yellow-list, \\\"2\\\");\\n$oc-yellow-3: map-get($oc-yellow-list, \\\"3\\\");\\n$oc-yellow-4: map-get($oc-yellow-list, \\\"4\\\");\\n$oc-yellow-5: map-get($oc-yellow-list, \\\"5\\\");\\n$oc-yellow-6: map-get($oc-yellow-list, \\\"6\\\");\\n$oc-yellow-7: map-get($oc-yellow-list, \\\"7\\\");\\n$oc-yellow-8: map-get($oc-yellow-list, \\\"8\\\");\\n$oc-yellow-9: map-get($oc-yellow-list, \\\"9\\\");\\n\\n\\n// Orange\\n// ───────────────────────────────────\\n\\n$oc-orange-list: (\\n \\\"0\\\": #fff4e6,\\n \\\"1\\\": #ffe8cc,\\n \\\"2\\\": #ffd8a8,\\n \\\"3\\\": #ffc078,\\n \\\"4\\\": #ffa94d,\\n \\\"5\\\": #ff922b,\\n \\\"6\\\": #fd7e14,\\n \\\"7\\\": #f76707,\\n \\\"8\\\": #e8590c,\\n \\\"9\\\": #d9480f\\n);\\n\\n$oc-orange-0: map-get($oc-orange-list, \\\"0\\\");\\n$oc-orange-1: map-get($oc-orange-list, \\\"1\\\");\\n$oc-orange-2: map-get($oc-orange-list, \\\"2\\\");\\n$oc-orange-3: map-get($oc-orange-list, \\\"3\\\");\\n$oc-orange-4: map-get($oc-orange-list, \\\"4\\\");\\n$oc-orange-5: map-get($oc-orange-list, \\\"5\\\");\\n$oc-orange-6: map-get($oc-orange-list, \\\"6\\\");\\n$oc-orange-7: map-get($oc-orange-list, \\\"7\\\");\\n$oc-orange-8: map-get($oc-orange-list, \\\"8\\\");\\n$oc-orange-9: map-get($oc-orange-list, \\\"9\\\");\\n\\n\\n// Color list\\n// ───────────────────────────────────\\n\\n$oc-color-spectrum: 9;\\n\\n$oc-color-list: (\\n $oc-gray-list: \\\"gray\\\",\\n $oc-red-list: \\\"red\\\",\\n $oc-pink-list: \\\"pink\\\",\\n $oc-grape-list: \\\"grape\\\",\\n $oc-violet-list: \\\"violet\\\",\\n $oc-indigo-list: \\\"indigo\\\",\\n $oc-blue-list: \\\"blue\\\",\\n $oc-cyan-list: \\\"cyan\\\",\\n $oc-teal-list: \\\"teal\\\",\\n $oc-green-list: \\\"green\\\",\\n $oc-lime-list: \\\"lime\\\",\\n $oc-yellow-list: \\\"yellow\\\",\\n $oc-orange-list: \\\"orange\\\"\\n);\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1swXS51c2VbMl0hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vY29tcG9uZW50cy9JY29uUGlja2VyLnNjc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUM4SDtBQUNqQjtBQUM3Ryw4QkFBOEIsdUdBQTJCLENBQUMsZ0hBQXFDO0FBQy9GO0FBQ0EsbURBQW1ELGdEQUFnRCxHQUFHLG1DQUFtQywwQkFBMEIsMkJBQTJCLDBCQUEwQixHQUFHLHVCQUF1QixzQ0FBc0MsOENBQThDLDhDQUE4Qyx1QkFBdUIsdUJBQXVCLEdBQUcscUVBQXFFLHVCQUF1QixrQkFBa0Isd0JBQXdCLDRCQUE0QixHQUFHLGlGQUFpRix5QkFBeUIsMkNBQTJDLEdBQUcseUZBQXlGLGVBQWUsR0FBRyxpRkFBaUYsMkNBQTJDLEdBQUcsbUZBQW1GLDJDQUEyQyxHQUFHLHVGQUF1Rix3QkFBd0IsR0FBRyw2RUFBNkUsY0FBYyxnQkFBZ0IsaUJBQWlCLGlCQUFpQix5QkFBeUIsR0FBRyw4QkFBOEIsNkNBQTZDLEdBQUcsZ0NBQWdDLGFBQWEsY0FBYyx1QkFBdUIsZUFBZSxnQkFBZ0IsR0FBRywrQ0FBK0MsZUFBZSxHQUFHLCtDQUErQyxnQkFBZ0IsR0FBRyx1Q0FBdUMsa0JBQWtCLHVCQUF1Qix3QkFBd0IsNkJBQTZCLDZEQUE2RCxjQUFjLEdBQUcsc0NBQXNDLGtCQUFrQix1QkFBdUIsd0JBQXdCLDZCQUE2QixnRUFBZ0UsR0FBRywrQkFBK0Isb0JBQW9CLGtCQUFrQiwyQ0FBMkMscUJBQXFCLHVCQUF1QixHQUFHLDhDQUE4QyxvQkFBb0IsR0FBRyxrQ0FBa0MsdUJBQXVCLGdCQUFnQixxQkFBcUIsbUNBQW1DLEdBQUcsaURBQWlELGVBQWUsR0FBRyxpREFBaUQsY0FBYyxH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c291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiOmV4cG9ydCB7XFxuICB0aGVtZUZpbHRlcjogaW52ZXJ0KDkzJSkgaHVlLXJvdGF0ZSgxODBkZWcpO1xcbn1cXG5cXG4uZXhjYWxpZHJhdyAucGlja2VyLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xcbn1cXG4uZXhjYWxpZHJhdyAucGlja2VyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXBvcHVwLWJnLWNvbG9yKTtcXG4gIGJvcmRlcjogMCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xcbiAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjI1KSAwIDFweCA0cHg7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXItY29udGFpbmVyIGJ1dHRvbixcXG4uZXhjYWxpZHJhdyAucGlja2VyIGJ1dHRvbiB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4uZXhjYWxpZHJhdyAucGlja2VyLWNvbnRhaW5lciBidXR0b246Zm9jdXMsXFxuLmV4Y2FsaWRyYXcgLnBpY2tlciBidXR0b246Zm9jdXMge1xcbiAgb3V0bGluZTogdHJhbnNwYXJlbnQ7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlci1jb250YWluZXIgYnV0dG9uOmZvY3VzIHN2ZyxcXG4uZXhjYWxpZHJhdyAucGlja2VyIGJ1dHRvbjpmb2N1cyBzdmcge1xcbiAgb3BhY2l0eTogMTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlci1jb250YWluZXIgYnV0dG9uOmhvdmVyLFxcbi5leGNhbGlkcmF3IC5waWNrZXIgYnV0dG9uOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbn1cXG4uZXhjYWxpZHJhdyAucGlja2VyLWNvbnRhaW5lciBidXR0b246YWN0aXZlLFxcbi5leGNhbGlkcmF3IC5waWNrZXIgYnV0dG9uOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0zKTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlci1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkLFxcbi5leGNhbGlkcmF3IC5waWNrZXIgYnV0dG9uOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXItY29udGFpbmVyIGJ1dHRvbiBzdmcsXFxuLmV4Y2FsaWRyYXcgLnBpY2tlciBidXR0b24gc3ZnIHtcXG4gIG1hcmdpbjogMDtcXG4gIHdpZHRoOiAzNnB4O1xcbiAgaGVpZ2h0OiAxOHB4O1xcbiAgb3BhY2l0eTogMC42O1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXIgYnV0dG9uIHtcXG4gIHBhZGRpbmc6IDAuMjVyZW0gMC4yOHJlbSAwLjM1cmVtIDAuMjVyZW07XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXItdHJpYW5nbGUge1xcbiAgd2lkdGg6IDA7XFxuICBoZWlnaHQ6IDA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB0b3A6IC0xMHB4O1xcbiAgei1pbmRleDogMTA7XFxufVxcbjpyb290W2Rpcj1sdHJdIC5leGNhbGlkcmF3IC5waWNrZXItdHJpYW5nbGUge1xcbiAgbGVmdDogMTJweDtcXG59XFxuOnJvb3RbZGlyPXJ0bF0gLmV4Y2FsaWRyYXcgLnBpY2tlci10cmlhbmdsZSB7XFxuICByaWdodDogMTJweDtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlci10cmlhbmdsZTpiZWZvcmUge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgYm9yZGVyLXdpZHRoOiAwIDlweCAxMHB4O1xcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCByZ2JhKDAsIDAsIDAsIDAuMSk7XFxuICB0b3A6IC0xcHg7XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXItdHJpYW5nbGU6YWZ0ZXIge1xcbiAgY29udGVudDogXFxcIlxcXCI7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgYm9yZGVyLXdpZHRoOiAwIDlweCAxMHB4O1xcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1wb3B1cC1iZy1jb2xvcik7XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXItY29udGVudCB7XFxuICBwYWRkaW5nOiAwLjVyZW07XFxuICBkaXNwbGF5OiBncmlkO1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgYXV0byk7XFxuICBncmlkLWdhcDogMC41cmVtO1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbn1cXG46cm9vdFtkaXI9cnRsXSAuZXhjYWxpZHJhdyAucGlja2VyLWNvbnRlbnQge1xcbiAgcGFkZGluZzogMC40cmVtO1xcbn1cXG4uZXhjYWxpZHJhdyAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm90dG9tOiAycHg7XFxuICBmb250LXNpemU6IDAuN2VtO1xcbiAgY29sb3I6IHZhcigtLWtleWJpbmRpbmctY29sb3IpO1xcbn1cXG46cm9vdFtkaXI9bHRyXSAuZXhjYWxpZHJhdyAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgcmlnaHQ6IDJweDtcXG59XFxuOnJvb3RbZGlyPXJ0bF0gLmV4Y2FsaWRyYXcgLnBpY2tlci1rZXliaW5kaW5nIHtcXG4gIGxlZnQ6IDJweDtcXG59XFxuLmV4Y2FsaWRyYXctLW1vYmlsZS5leGNhbGlkcmF3IC5waWNrZXIta2V5YmluZGluZyB7XFxuICBkaXNwbGF5OiBub25lO1xcbn1cXG5cXG4uZXhjYWxpZHJhdyAucGlja2VyLXR5cGUtY2FudmFzQmFja2dyb3VuZCAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgY29sb3I6ICNhYWE7XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXItdHlwZS1lbGVtZW50QmFja2dyb3VuZCAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgY29sb3I6ICNmZmZmZmY7XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXItc3dhdGNoW2FyaWEtbGFiZWw9dHJhbnNwYXJlbnRdIC5waWNrZXIta2V5YmluZGluZyB7XFxuICBjb2xvcjogI2FhYTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlci10eXBlLWVsZW1lbnRTdHJva2UgLnBpY2tlci1rZXliaW5kaW5nIHtcXG4gIGNvbG9yOiAjZDRkNGQ0O1xcbn1cXG4uZXhjYWxpZHJhdy50aGVtZS0tZGFyayAucGlja2VyLXR5cGUtZWxlbWVudEJhY2tncm91bmQgLnBpY2tlci1rZXliaW5kaW5nIHtcXG4gIGNvbG9yOiAjMDAwMDAwO1xcbn1cXG4uZXhjYWxpZHJhdy50aGVtZS0tZGFyayAucGlja2VyLXN3YXRjaFthcmlhLWxhYmVsPXRyYW5zcGFyZW50XSAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgY29sb3I6ICMwMDAwMDA7XFxufVwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uLy4uLy4uL2Nzcy92YXJpYWJsZXMubW9kdWxlLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2NvbXBvbmVudHMvSWNvblBpY2tlci5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvb3Blbi1jb2xvci9vcGVuLWNvbG9yLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBVUE7RUFDRSwyQ0FBQTtBQ1RGOztBQUNFO0VBQ0UscUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0FBRUo7QUFDRTtFQUNFLGlDQUFBO0VBQ0EseUNBQUE7RUFDQSx5Q0FBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QUFDSjtBQUVFOztFQUVFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7QUFBSjtBQUVJOztFQUNFLG9CQUFBO0VBQ0Esc0NBQUE7QUFDTjtBQUFNOztFQUNFLFVBQUE7QUFHUjtBQUNJOztFQUNFLHNDQUFBO0FBRU47QUFDSTs7RUFDRSxzQ0FBQTtBQUVOO0FBQ0k7O0VBQ0UsbUJBQUE7QUFFTjtBQUNJOztFQUNFLFNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtBQUVOO0FBRUU7RUFDRSx3Q0FBQTtBQUFKO0FBR0U7RUFDRSxRQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQVFBLFdBQUE7QUFSSjtBQUNJO0VBQ0UsVUFBQTtBQUNOO0FBRUk7RUFDRSxXQUFBO0FBQU47QUFJSTtFQUNFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esd0JBQUE7RUFDQSx3REFBQTtFQUNBLFNBQUE7QUFGTjtBQUtJO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUNBLDJEQUFBO0FBSE47QUFPRTtFQUNFLGVBQUE7RUFDQSxhQUFBO0VBQ0Esc0NBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0FBTEo7QUFNSTtFQUNFLGVBQUE7QUFKTjtBQVFFO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSw4QkFBQTtBQU5KO0FBUUk7RUFDRSxVQUFBO0FBTk47QUFTSTtFQUNFLFNBQUE7QUFQTjtBRHJHVztFQytHTCxhQUFBO0FBUE47O0FBV0U7RUFDRSxXQUFBO0FBUko7QUFXRTtFQUNFLGNDaEhlO0FEdUduQjtBQVlFO0VBQ0UsV0FBQTtBQVZKO0FBYUU7RUFDRSxjQUFBO0FBWEo7QUFlSTtFQUNFLGNDNUhhO0FEK0duQjtBQWVJO0VBQ0UsY0MvSGE7QURrSG5CXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIkBpbXBvcnQgXFxcIm9wZW4tY29sb3Ivb3Blbi1jb2xvci5zY3NzXFxcIjtcXG5cXG5AbWl4aW4gaXNNb2JpbGUoKSB7XFxuICBAYXQtcm9vdCAuZXhjYWxpZHJhdy0tbW9iaWxlI3smfSB7XFxuICAgIEBjb250ZW50O1xcbiAgfVxcbn1cXG5cXG4kdGhlbWUtZmlsdGVyOiBcXFwiaW52ZXJ0KDkzJSkgaHVlLXJvdGF0ZSgxODBkZWcpXFxcIjtcXG5cXG46ZXhwb3J0IHtcXG4gIHRoZW1lRmlsdGVyOiB1bnF1b3RlKCR0aGVtZS1maWx0ZXIpO1xcbn1cXG5cIixcIkBpbXBvcnQgXFxcIi4uL2Nzcy92YXJpYWJsZXMubW9kdWxlXFxcIjtcXG5cXG4uZXhjYWxpZHJhdyB7XFxuICAucGlja2VyLWNvbnRhaW5lciB7XFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xcbiAgfVxcblxcbiAgLnBpY2tlciB7XFxuICAgIGJhY2tncm91bmQ6IHZhcigtLXBvcHVwLWJnLWNvbG9yKTtcXG4gICAgYm9yZGVyOiAwIHNvbGlkIHRyYW5zcGFyZW50aXplKCRvYy13aGl0ZSwgMC43NSk7XFxuICAgIGJveC1zaGFkb3c6IHRyYW5zcGFyZW50aXplKCRvYy1ibGFjaywgMC43NSkgMCAxcHggNHB4O1xcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIH1cXG5cXG4gIC5waWNrZXItY29udGFpbmVyIGJ1dHRvbixcXG4gIC5waWNrZXIgYnV0dG9uIHtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG5cXG4gICAgJjpmb2N1cyB7XFxuICAgICAgb3V0bGluZTogdHJhbnNwYXJlbnQ7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuICAgICAgJiBzdmcge1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgJjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuICAgIH1cXG5cXG4gICAgJjphY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbiAgICB9XFxuXFxuICAgICY6ZGlzYWJsZWQge1xcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxuICAgIH1cXG5cXG4gICAgc3ZnIHtcXG4gICAgICBtYXJnaW46IDA7XFxuICAgICAgd2lkdGg6IDM2cHg7XFxuICAgICAgaGVpZ2h0OiAxOHB4O1xcbiAgICAgIG9wYWNpdHk6IDAuNjtcXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLnBpY2tlciBidXR0b24ge1xcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuMjhyZW0gMC4zNXJlbSAwLjI1cmVtO1xcbiAgfVxcblxcbiAgLnBpY2tlci10cmlhbmdsZSB7XFxuICAgIHdpZHRoOiAwO1xcbiAgICBoZWlnaHQ6IDA7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgdG9wOiAtMTBweDtcXG4gICAgOnJvb3RbZGlyPVxcXCJsdHJcXFwiXSAmIHtcXG4gICAgICBsZWZ0OiAxMnB4O1xcbiAgICB9XFxuXFxuICAgIDpyb290W2Rpcj1cXFwicnRsXFxcIl0gJiB7XFxuICAgICAgcmlnaHQ6IDEycHg7XFxuICAgIH1cXG4gICAgei1pbmRleDogMTA7XFxuXFxuICAgICY6YmVmb3JlIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcIjtcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgOXB4IDEwcHg7XFxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudGl6ZSgkb2MtYmxhY2ssIDAuOSk7XFxuICAgICAgdG9wOiAtMXB4O1xcbiAgICB9XFxuXFxuICAgICY6YWZ0ZXIge1xcbiAgICAgIGNvbnRlbnQ6IFxcXCJcXFwiO1xcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xcbiAgICAgIGJvcmRlci13aWR0aDogMCA5cHggMTBweDtcXG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLXBvcHVwLWJnLWNvbG9yKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLnBpY2tlci1jb250ZW50IHtcXG4gICAgcGFkZGluZzogMC41cmVtO1xcbiAgICBkaXNwbGF5OiBncmlkO1xcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBhdXRvKTtcXG4gICAgZ3JpZC1nYXA6IDAuNXJlbTtcXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xcbiAgICA6cm9vdFtkaXI9XFxcInJ0bFxcXCJdICYge1xcbiAgICAgIHBhZGRpbmc6IDAuNHJlbTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLnBpY2tlci1rZXliaW5kaW5nIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBib3R0b206IDJweDtcXG4gICAgZm9udC1zaXplOiAwLjdlbTtcXG4gICAgY29sb3I6IHZhcigtLWtleWJpbmRpbmctY29sb3IpO1xcblxcbiAgICA6cm9vdFtkaXI9XFxcImx0clxcXCJdICYge1xcbiAgICAgIHJpZ2h0OiAycHg7XFxuICAgIH1cXG5cXG4gICAgOnJvb3RbZGlyPVxcXCJydGxcXFwiXSAmIHtcXG4gICAgICBsZWZ0OiAycHg7XFxuICAgIH1cXG4gICAgQGluY2x1ZGUgaXNNb2JpbGUge1xcbiAgICAgIGRpc3BsYXk6IG5vbmU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5waWNrZXItdHlwZS1jYW52YXNCYWNrZ3JvdW5kIC5waWNrZXIta2V5YmluZGluZyB7XFxuICAgIGNvbG9yOiAjYWFhO1xcbiAgfVxcblxcbiAgLnBpY2tlci10eXBlLWVsZW1lbnRCYWNrZ3JvdW5kIC5waWNrZXIta2V5YmluZGluZyB7XFxuICAgIGNvbG9yOiAkb2Mtd2hpdGU7XFxuICB9XFxuXFxuICAucGlja2VyLXN3YXRjaFthcmlhLWxhYmVsPVxcXCJ0cmFuc3BhcmVudFxcXCJdIC5waWNrZXIta2V5YmluZGluZyB7XFxuICAgIGNvbG9yOiAjYWFhO1xcbiAgfVxcblxcbiAgLnBpY2tlci10eXBlLWVsZW1lbnRTdHJva2UgLnBpY2tlci1rZXliaW5kaW5nIHtcXG4gICAgY29sb3I6ICNkNGQ0ZDQ7XFxuICB9XFxuXFxuICAmLnRoZW1lLS1kYXJrIHtcXG4gICAgLnBpY2tlci10eXBlLWVsZW1lbnRCYWNrZ3JvdW5kIC5waWNrZXIta2V5YmluZGluZyB7XFxuICAgICAgY29sb3I6ICRvYy1ibGFjaztcXG4gICAgfVxcbiAgICAucGlja2VyLXN3YXRjaFthcmlhLWxhYmVsPVxcXCJ0cmFuc3BhcmVudFxcXCJdIC5waWNrZXIta2V5YmluZGluZyB7XFxuICAgICAgY29sb3I6ICRvYy1ibGFjaztcXG4gICAgfVxcbiAgfVxcbn1cXG5cIixcIi8vXFxuLy9cXG4vLyAg8J2XliDwnZeiIPCdl58g8J2XoiDwnZelXFxuLy8gIHYgMS45LjFcXG4vL1xcbi8vICDilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIFcXG5cXG5cXG4vLyAgR2VuZXJhbFxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2Mtd2hpdGU6ICAgICAgICAgI2ZmZmZmZjtcXG4kb2MtYmxhY2s6ICAgICAgICAgIzAwMDAwMDtcXG5cXG5cXG4vLyAgR3JheVxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtZ3JheS1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmOGY5ZmEsXFxuICBcXFwiMVxcXCI6ICNmMWYzZjUsXFxuICBcXFwiMlxcXCI6ICNlOWVjZWYsXFxuICBcXFwiM1xcXCI6ICNkZWUyZTYsXFxuICBcXFwiNFxcXCI6ICNjZWQ0ZGEsXFxuICBcXFwiNVxcXCI6ICNhZGI1YmQsXFxuICBcXFwiNlxcXCI6ICM4NjhlOTYsXFxuICBcXFwiN1xcXCI6ICM0OTUwNTcsXFxuICBcXFwiOFxcXCI6ICMzNDNhNDAsXFxuICBcXFwiOVxcXCI6ICMyMTI1MjlcXG4pO1xcblxcbiRvYy1ncmF5LTA6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtZ3JheS0xOiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLWdyYXktMjogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1ncmF5LTM6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtZ3JheS00OiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLWdyYXktNTogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1ncmF5LTY6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtZ3JheS03OiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLWdyYXktODogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1ncmF5LTk6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgUmVkXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1yZWQtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZmZmNWY1LFxcbiAgXFxcIjFcXFwiOiAjZmZlM2UzLFxcbiAgXFxcIjJcXFwiOiAjZmZjOWM5LFxcbiAgXFxcIjNcXFwiOiAjZmZhOGE4LFxcbiAgXFxcIjRcXFwiOiAjZmY4Nzg3LFxcbiAgXFxcIjVcXFwiOiAjZmY2YjZiLFxcbiAgXFxcIjZcXFwiOiAjZmE1MjUyLFxcbiAgXFxcIjdcXFwiOiAjZjAzZTNlLFxcbiAgXFxcIjhcXFwiOiAjZTAzMTMxLFxcbiAgXFxcIjlcXFwiOiAjYzkyYTJhXFxuKTtcXG5cXG4kb2MtcmVkLTA6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1yZWQtMTogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLXJlZC0yOiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtcmVkLTM6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1yZWQtNDogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLXJlZC01OiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtcmVkLTY6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1yZWQtNzogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLXJlZC04OiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtcmVkLTk6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBQaW5rXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1waW5rLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2ZmZjBmNixcXG4gIFxcXCIxXFxcIjogI2ZmZGVlYixcXG4gIFxcXCIyXFxcIjogI2ZjYzJkNyxcXG4gIFxcXCIzXFxcIjogI2ZhYTJjMSxcXG4gIFxcXCI0XFxcIjogI2Y3ODNhYyxcXG4gIFxcXCI1XFxcIjogI2YwNjU5NSxcXG4gIFxcXCI2XFxcIjogI2U2NDk4MCxcXG4gIFxcXCI3XFxcIjogI2Q2MzM2YyxcXG4gIFxcXCI4XFxcIjogI2MyMjU1YyxcXG4gIFxcXCI5XFxcIjogI2E2MWU0ZFxcbik7XFxuXFxuJG9jLXBpbmstMDogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1waW5rLTE6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtcGluay0yOiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLXBpbmstMzogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1waW5rLTQ6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtcGluay01OiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLXBpbmstNjogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1waW5rLTc6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtcGluay04OiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLXBpbmstOTogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBHcmFwZVxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtZ3JhcGUtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZjhmMGZjLFxcbiAgXFxcIjFcXFwiOiAjZjNkOWZhLFxcbiAgXFxcIjJcXFwiOiAjZWViZWZhLFxcbiAgXFxcIjNcXFwiOiAjZTU5OWY3LFxcbiAgXFxcIjRcXFwiOiAjZGE3N2YyLFxcbiAgXFxcIjVcXFwiOiAjY2M1ZGU4LFxcbiAgXFxcIjZcXFwiOiAjYmU0YmRiLFxcbiAgXFxcIjdcXFwiOiAjYWUzZWM5LFxcbiAgXFxcIjhcXFwiOiAjOWMzNmI1LFxcbiAgXFxcIjlcXFwiOiAjODYyZTljXFxuKTtcXG5cXG4kb2MtZ3JhcGUtMDogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtZ3JhcGUtMTogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtZ3JhcGUtMjogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtZ3JhcGUtMzogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtZ3JhcGUtNDogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtZ3JhcGUtNTogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtZ3JhcGUtNjogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtZ3JhcGUtNzogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtZ3JhcGUtODogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtZ3JhcGUtOTogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgVmlvbGV0XFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy12aW9sZXQtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZjNmMGZmLFxcbiAgXFxcIjFcXFwiOiAjZTVkYmZmLFxcbiAgXFxcIjJcXFwiOiAjZDBiZmZmLFxcbiAgXFxcIjNcXFwiOiAjYjE5N2ZjLFxcbiAgXFxcIjRcXFwiOiAjOTc3NWZhLFxcbiAgXFxcIjVcXFwiOiAjODQ1ZWY3LFxcbiAgXFxcIjZcXFwiOiAjNzk1MGYyLFxcbiAgXFxcIjdcXFwiOiAjNzA0OGU4LFxcbiAgXFxcIjhcXFwiOiAjNjc0MWQ5LFxcbiAgXFxcIjlcXFwiOiAjNWYzZGM0XFxuKTtcXG5cXG4kb2MtdmlvbGV0LTA6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy12aW9sZXQtMTogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLXZpb2xldC0yOiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtdmlvbGV0LTM6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy12aW9sZXQtNDogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLXZpb2xldC01OiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtdmlvbGV0LTY6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy12aW9sZXQtNzogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLXZpb2xldC04OiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtdmlvbGV0LTk6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBJbmRpZ29cXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWluZGlnby1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNlZGYyZmYsXFxuICBcXFwiMVxcXCI6ICNkYmU0ZmYsXFxuICBcXFwiMlxcXCI6ICNiYWM4ZmYsXFxuICBcXFwiM1xcXCI6ICM5MWE3ZmYsXFxuICBcXFwiNFxcXCI6ICM3NDhmZmMsXFxuICBcXFwiNVxcXCI6ICM1YzdjZmEsXFxuICBcXFwiNlxcXCI6ICM0YzZlZjUsXFxuICBcXFwiN1xcXCI6ICM0MjYzZWIsXFxuICBcXFwiOFxcXCI6ICMzYjViZGIsXFxuICBcXFwiOVxcXCI6ICMzNjRmYzdcXG4pO1xcblxcbiRvYy1pbmRpZ28tMDogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWluZGlnby0xOiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtaW5kaWdvLTI6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1pbmRpZ28tMzogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWluZGlnby00OiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtaW5kaWdvLTU6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1pbmRpZ28tNjogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWluZGlnby03OiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtaW5kaWdvLTg6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1pbmRpZ28tOTogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIEJsdWVcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWJsdWUtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZTdmNWZmLFxcbiAgXFxcIjFcXFwiOiAjZDBlYmZmLFxcbiAgXFxcIjJcXFwiOiAjYTVkOGZmLFxcbiAgXFxcIjNcXFwiOiAjNzRjMGZjLFxcbiAgXFxcIjRcXFwiOiAjNGRhYmY3LFxcbiAgXFxcIjVcXFwiOiAjMzM5YWYwLFxcbiAgXFxcIjZcXFwiOiAjMjI4YmU2LFxcbiAgXFxcIjdcXFwiOiAjMWM3ZWQ2LFxcbiAgXFxcIjhcXFwiOiAjMTk3MWMyLFxcbiAgXFxcIjlcXFwiOiAjMTg2NGFiXFxuKTtcXG5cXG4kb2MtYmx1ZS0wOiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWJsdWUtMTogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1ibHVlLTI6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtYmx1ZS0zOiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWJsdWUtNDogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1ibHVlLTU6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtYmx1ZS02OiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWJsdWUtNzogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1ibHVlLTg6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtYmx1ZS05OiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIEN5YW5cXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWN5YW4tbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZTNmYWZjLFxcbiAgXFxcIjFcXFwiOiAjYzVmNmZhLFxcbiAgXFxcIjJcXFwiOiAjOTllOWYyLFxcbiAgXFxcIjNcXFwiOiAjNjZkOWU4LFxcbiAgXFxcIjRcXFwiOiAjM2JjOWRiLFxcbiAgXFxcIjVcXFwiOiAjMjJiOGNmLFxcbiAgXFxcIjZcXFwiOiAjMTVhYWJmLFxcbiAgXFxcIjdcXFwiOiAjMTA5OGFkLFxcbiAgXFxcIjhcXFwiOiAjMGM4NTk5LFxcbiAgXFxcIjlcXFwiOiAjMGI3Mjg1XFxuKTtcXG5cXG4kb2MtY3lhbi0wOiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWN5YW4tMTogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1jeWFuLTI6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtY3lhbi0zOiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWN5YW4tNDogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1jeWFuLTU6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtY3lhbi02OiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWN5YW4tNzogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1jeWFuLTg6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtY3lhbi05OiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIFRlYWxcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLXRlYWwtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZTZmY2Y1LFxcbiAgXFxcIjFcXFwiOiAjYzNmYWU4LFxcbiAgXFxcIjJcXFwiOiAjOTZmMmQ3LFxcbiAgXFxcIjNcXFwiOiAjNjNlNmJlLFxcbiAgXFxcIjRcXFwiOiAjMzhkOWE5LFxcbiAgXFxcIjVcXFwiOiAjMjBjOTk3LFxcbiAgXFxcIjZcXFwiOiAjMTJiODg2LFxcbiAgXFxcIjdcXFwiOiAjMGNhNjc4LFxcbiAgXFxcIjhcXFwiOiAjMDk5MjY4LFxcbiAgXFxcIjlcXFwiOiAjMDg3ZjViXFxuKTtcXG5cXG4kb2MtdGVhbC0wOiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLXRlYWwtMTogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy10ZWFsLTI6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtdGVhbC0zOiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLXRlYWwtNDogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy10ZWFsLTU6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtdGVhbC02OiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLXRlYWwtNzogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy10ZWFsLTg6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtdGVhbC05OiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIEdyZWVuXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1ncmVlbi1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNlYmZiZWUsXFxuICBcXFwiMVxcXCI6ICNkM2Y5ZDgsXFxuICBcXFwiMlxcXCI6ICNiMmYyYmIsXFxuICBcXFwiM1xcXCI6ICM4Y2U5OWEsXFxuICBcXFwiNFxcXCI6ICM2OWRiN2MsXFxuICBcXFwiNVxcXCI6ICM1MWNmNjYsXFxuICBcXFwiNlxcXCI6ICM0MGMwNTcsXFxuICBcXFwiN1xcXCI6ICMzN2IyNGQsXFxuICBcXFwiOFxcXCI6ICMyZjllNDQsXFxuICBcXFwiOVxcXCI6ICMyYjhhM2VcXG4pO1xcblxcbiRvYy1ncmVlbi0wOiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1ncmVlbi0xOiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1ncmVlbi0yOiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1ncmVlbi0zOiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1ncmVlbi00OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1ncmVlbi01OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1ncmVlbi02OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1ncmVlbi03OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1ncmVlbi04OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1ncmVlbi05OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBMaW1lXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1saW1lLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2Y0ZmNlMyxcXG4gIFxcXCIxXFxcIjogI2U5ZmFjOCxcXG4gIFxcXCIyXFxcIjogI2Q4ZjVhMixcXG4gIFxcXCIzXFxcIjogI2MwZWI3NSxcXG4gIFxcXCI0XFxcIjogI2E5ZTM0YixcXG4gIFxcXCI1XFxcIjogIzk0ZDgyZCxcXG4gIFxcXCI2XFxcIjogIzgyYzkxZSxcXG4gIFxcXCI3XFxcIjogIzc0YjgxNixcXG4gIFxcXCI4XFxcIjogIzY2YTgwZixcXG4gIFxcXCI5XFxcIjogIzVjOTQwZFxcbik7XFxuXFxuJG9jLWxpbWUtMDogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1saW1lLTE6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtbGltZS0yOiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLWxpbWUtMzogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1saW1lLTQ6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtbGltZS01OiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLWxpbWUtNjogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1saW1lLTc6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtbGltZS04OiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLWxpbWUtOTogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBZZWxsb3dcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLXllbGxvdy1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmZmY5ZGIsXFxuICBcXFwiMVxcXCI6ICNmZmYzYmYsXFxuICBcXFwiMlxcXCI6ICNmZmVjOTksXFxuICBcXFwiM1xcXCI6ICNmZmUwNjYsXFxuICBcXFwiNFxcXCI6ICNmZmQ0M2IsXFxuICBcXFwiNVxcXCI6ICNmY2M0MTksXFxuICBcXFwiNlxcXCI6ICNmYWIwMDUsXFxuICBcXFwiN1xcXCI6ICNmNTlmMDAsXFxuICBcXFwiOFxcXCI6ICNmMDhjMDAsXFxuICBcXFwiOVxcXCI6ICNlNjc3MDBcXG4pO1xcblxcbiRvYy15ZWxsb3ctMDogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLXllbGxvdy0xOiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MteWVsbG93LTI6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy15ZWxsb3ctMzogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLXllbGxvdy00OiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MteWVsbG93LTU6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy15ZWxsb3ctNjogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLXllbGxvdy03OiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MteWVsbG93LTg6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy15ZWxsb3ctOTogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIE9yYW5nZVxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2Mtb3JhbmdlLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2ZmZjRlNixcXG4gIFxcXCIxXFxcIjogI2ZmZThjYyxcXG4gIFxcXCIyXFxcIjogI2ZmZDhhOCxcXG4gIFxcXCIzXFxcIjogI2ZmYzA3OCxcXG4gIFxcXCI0XFxcIjogI2ZmYTk0ZCxcXG4gIFxcXCI1XFxcIjogI2ZmOTIyYixcXG4gIFxcXCI2XFxcIjogI2ZkN2UxNCxcXG4gIFxcXCI3XFxcIjogI2Y3NjcwNyxcXG4gIFxcXCI4XFxcIjogI2U4NTkwYyxcXG4gIFxcXCI5XFxcIjogI2Q5NDgwZlxcbik7XFxuXFxuJG9jLW9yYW5nZS0wOiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2Mtb3JhbmdlLTE6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1vcmFuZ2UtMjogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLW9yYW5nZS0zOiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2Mtb3JhbmdlLTQ6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1vcmFuZ2UtNTogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLW9yYW5nZS02OiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2Mtb3JhbmdlLTc6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1vcmFuZ2UtODogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLW9yYW5nZS05OiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgQ29sb3IgbGlzdFxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtY29sb3Itc3BlY3RydW06ICAgOTtcXG5cXG4kb2MtY29sb3ItbGlzdDogKFxcbiAgJG9jLWdyYXktbGlzdDogICAgICBcXFwiZ3JheVxcXCIsXFxuICAkb2MtcmVkLWxpc3Q6ICAgICAgXFxcInJlZFxcXCIsXFxuICAkb2MtcGluay1saXN0OiAgICAgIFxcXCJwaW5rXFxcIixcXG4gICRvYy1ncmFwZS1saXN0OiAgICAgIFxcXCJncmFwZVxcXCIsXFxuICAkb2MtdmlvbGV0LWxpc3Q6ICAgICAgXFxcInZpb2xldFxcXCIsXFxuICAkb2MtaW5kaWdvLWxpc3Q6ICAgICAgXFxcImluZGlnb1xcXCIsXFxuICAkb2MtYmx1ZS1saXN0OiAgICAgIFxcXCJibHVlXFxcIixcXG4gICRvYy1jeWFuLWxpc3Q6ICAgICAgXFxcImN5YW5cXFwiLFxcbiAgJG9jLXRlYWwtbGlzdDogICAgICBcXFwidGVhbFxcXCIsXFxuICAkb2MtZ3JlZW4tbGlzdDogICAgICBcXFwiZ3JlZW5cXFwiLFxcbiAgJG9jLWxpbWUtbGlzdDogICAgICBcXFwibGltZVxcXCIsXFxuICAkb2MteWVsbG93LWxpc3Q6ICAgICAgXFxcInllbGxvd1xcXCIsXFxuICAkb2Mtb3JhbmdlLWxpc3Q6ICAgICAgXFxcIm9yYW5nZVxcXCJcXG4pO1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../components/IconPicker.scss\n");
|
|
902
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":export {\\n themeFilter: invert(93%) hue-rotate(180deg);\\n}\\n\\n.excalidraw .picker-container {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-right: 0.25rem;\\n}\\n.excalidraw .picker {\\n background: var(--popup-bg-color);\\n border: 0 solid rgba(255, 255, 255, 0.25);\\n box-shadow: rgba(0, 0, 0, 0.25) 0 1px 4px;\\n border-radius: 4px;\\n position: absolute;\\n}\\n.excalidraw .picker-container button,\\n.excalidraw .picker button {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.excalidraw .picker-container button:focus-visible,\\n.excalidraw .picker button:focus-visible {\\n outline: transparent;\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .picker-container button:focus-visible svg,\\n.excalidraw .picker button:focus-visible svg {\\n opacity: 1;\\n}\\n.excalidraw .picker-container button:hover,\\n.excalidraw .picker button:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .picker-container button:active,\\n.excalidraw .picker button:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .picker-container button:disabled,\\n.excalidraw .picker button:disabled {\\n cursor: not-allowed;\\n}\\n.excalidraw .picker-container button svg,\\n.excalidraw .picker button svg {\\n margin: 0;\\n width: 36px;\\n height: 18px;\\n opacity: 0.6;\\n pointer-events: none;\\n}\\n.excalidraw .picker button {\\n padding: 0.25rem 0.28rem 0.35rem 0.25rem;\\n}\\n.excalidraw .picker-triangle {\\n width: 0;\\n height: 0;\\n position: relative;\\n top: -10px;\\n z-index: 10;\\n}\\n:root[dir=ltr] .excalidraw .picker-triangle {\\n left: 12px;\\n}\\n:root[dir=rtl] .excalidraw .picker-triangle {\\n right: 12px;\\n}\\n.excalidraw .picker-triangle:before {\\n content: \\\"\\\";\\n position: absolute;\\n border-style: solid;\\n border-width: 0 9px 10px;\\n border-color: transparent transparent rgba(0, 0, 0, 0.1);\\n top: -1px;\\n}\\n.excalidraw .picker-triangle:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-style: solid;\\n border-width: 0 9px 10px;\\n border-color: transparent transparent var(--popup-bg-color);\\n}\\n.excalidraw .picker-content {\\n padding: 0.5rem;\\n display: grid;\\n grid-template-columns: repeat(3, auto);\\n grid-gap: 0.5rem;\\n border-radius: 4px;\\n}\\n:root[dir=rtl] .excalidraw .picker-content {\\n padding: 0.4rem;\\n}\\n.excalidraw .picker-keybinding {\\n position: absolute;\\n bottom: 2px;\\n font-size: 0.7em;\\n color: var(--keybinding-color);\\n}\\n:root[dir=ltr] .excalidraw .picker-keybinding {\\n right: 2px;\\n}\\n:root[dir=rtl] .excalidraw .picker-keybinding {\\n left: 2px;\\n}\\n.excalidraw--mobile.excalidraw .picker-keybinding {\\n display: none;\\n}\\n\\n.excalidraw .picker-type-canvasBackground .picker-keybinding {\\n color: #aaa;\\n}\\n.excalidraw .picker-type-elementBackground .picker-keybinding {\\n color: #ffffff;\\n}\\n.excalidraw .picker-swatch[aria-label=transparent] .picker-keybinding {\\n color: #aaa;\\n}\\n.excalidraw .picker-type-elementStroke .picker-keybinding {\\n color: #d4d4d4;\\n}\\n.excalidraw.theme--dark .picker-type-elementBackground .picker-keybinding {\\n color: #000000;\\n}\\n.excalidraw.theme--dark .picker-swatch[aria-label=transparent] .picker-keybinding {\\n color: #000000;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../css/variables.module.scss\",\"webpack://./../../components/IconPicker.scss\",\"webpack://./../../../node_modules/open-color/open-color.scss\"],\"names\":[],\"mappings\":\"AAUA;EACE,2CAAA;ACTF;;AACE;EACE,qBAAA;EACA,sBAAA;EACA,qBAAA;AAEJ;AACE;EACE,iCAAA;EACA,yCAAA;EACA,yCAAA;EACA,kBAAA;EACA,kBAAA;AACJ;AAEE;;EAEE,kBAAA;EACA,aAAA;EACA,mBAAA;EACA,uBAAA;AAAJ;AAEI;;EACE,oBAAA;EACA,sCAAA;AACN;AAAM;;EACE,UAAA;AAGR;AACI;;EACE,sCAAA;AAEN;AACI;;EACE,sCAAA;AAEN;AACI;;EACE,mBAAA;AAEN;AACI;;EACE,SAAA;EACA,WAAA;EACA,YAAA;EACA,YAAA;EACA,oBAAA;AAEN;AAEE;EACE,wCAAA;AAAJ;AAGE;EACE,QAAA;EACA,SAAA;EACA,kBAAA;EACA,UAAA;EAQA,WAAA;AARJ;AACI;EACE,UAAA;AACN;AAEI;EACE,WAAA;AAAN;AAII;EACE,WAAA;EACA,kBAAA;EACA,mBAAA;EACA,wBAAA;EACA,wDAAA;EACA,SAAA;AAFN;AAKI;EACE,WAAA;EACA,kBAAA;EACA,mBAAA;EACA,wBAAA;EACA,2DAAA;AAHN;AAOE;EACE,eAAA;EACA,aAAA;EACA,sCAAA;EACA,gBAAA;EACA,kBAAA;AALJ;AAMI;EACE,eAAA;AAJN;AAQE;EACE,kBAAA;EACA,WAAA;EACA,gBAAA;EACA,8BAAA;AANJ;AAQI;EACE,UAAA;AANN;AASI;EACE,SAAA;AAPN;ADrGW;EC+GL,aAAA;AAPN;;AAWE;EACE,WAAA;AARJ;AAWE;EACE,cChHe;ADuGnB;AAYE;EACE,WAAA;AAVJ;AAaE;EACE,cAAA;AAXJ;AAeI;EACE,cC5Ha;AD+GnB;AAeI;EACE,cC/Ha;ADkHnB\",\"sourcesContent\":[\"@import \\\"open-color/open-color.scss\\\";\\n\\n@mixin isMobile() {\\n @at-root .excalidraw--mobile#{&} {\\n @content;\\n }\\n}\\n\\n$theme-filter: \\\"invert(93%) hue-rotate(180deg)\\\";\\n\\n:export {\\n themeFilter: unquote($theme-filter);\\n}\\n\",\"@import \\\"../css/variables.module\\\";\\n\\n.excalidraw {\\n .picker-container {\\n display: inline-block;\\n box-sizing: border-box;\\n margin-right: 0.25rem;\\n }\\n\\n .picker {\\n background: var(--popup-bg-color);\\n border: 0 solid transparentize($oc-white, 0.75);\\n box-shadow: transparentize($oc-black, 0.75) 0 1px 4px;\\n border-radius: 4px;\\n position: absolute;\\n }\\n\\n .picker-container button,\\n .picker button {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n\\n &:focus-visible {\\n outline: transparent;\\n background-color: var(--button-gray-2);\\n & svg {\\n opacity: 1;\\n }\\n }\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n\\n &:disabled {\\n cursor: not-allowed;\\n }\\n\\n svg {\\n margin: 0;\\n width: 36px;\\n height: 18px;\\n opacity: 0.6;\\n pointer-events: none;\\n }\\n }\\n\\n .picker button {\\n padding: 0.25rem 0.28rem 0.35rem 0.25rem;\\n }\\n\\n .picker-triangle {\\n width: 0;\\n height: 0;\\n position: relative;\\n top: -10px;\\n :root[dir=\\\"ltr\\\"] & {\\n left: 12px;\\n }\\n\\n :root[dir=\\\"rtl\\\"] & {\\n right: 12px;\\n }\\n z-index: 10;\\n\\n &:before {\\n content: \\\"\\\";\\n position: absolute;\\n border-style: solid;\\n border-width: 0 9px 10px;\\n border-color: transparent transparent transparentize($oc-black, 0.9);\\n top: -1px;\\n }\\n\\n &:after {\\n content: \\\"\\\";\\n position: absolute;\\n border-style: solid;\\n border-width: 0 9px 10px;\\n border-color: transparent transparent var(--popup-bg-color);\\n }\\n }\\n\\n .picker-content {\\n padding: 0.5rem;\\n display: grid;\\n grid-template-columns: repeat(3, auto);\\n grid-gap: 0.5rem;\\n border-radius: 4px;\\n :root[dir=\\\"rtl\\\"] & {\\n padding: 0.4rem;\\n }\\n }\\n\\n .picker-keybinding {\\n position: absolute;\\n bottom: 2px;\\n font-size: 0.7em;\\n color: var(--keybinding-color);\\n\\n :root[dir=\\\"ltr\\\"] & {\\n right: 2px;\\n }\\n\\n :root[dir=\\\"rtl\\\"] & {\\n left: 2px;\\n }\\n @include isMobile {\\n display: none;\\n }\\n }\\n\\n .picker-type-canvasBackground .picker-keybinding {\\n color: #aaa;\\n }\\n\\n .picker-type-elementBackground .picker-keybinding {\\n color: $oc-white;\\n }\\n\\n .picker-swatch[aria-label=\\\"transparent\\\"] .picker-keybinding {\\n color: #aaa;\\n }\\n\\n .picker-type-elementStroke .picker-keybinding {\\n color: #d4d4d4;\\n }\\n\\n &.theme--dark {\\n .picker-type-elementBackground .picker-keybinding {\\n color: $oc-black;\\n }\\n .picker-swatch[aria-label=\\\"transparent\\\"] .picker-keybinding {\\n color: $oc-black;\\n }\\n }\\n}\\n\",\"//\\n//\\n// 𝗖 𝗢 𝗟 𝗢 𝗥\\n// v 1.9.1\\n//\\n// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n\\n\\n// General\\n// ───────────────────────────────────\\n\\n$oc-white: #ffffff;\\n$oc-black: #000000;\\n\\n\\n// Gray\\n// ───────────────────────────────────\\n\\n$oc-gray-list: (\\n \\\"0\\\": #f8f9fa,\\n \\\"1\\\": #f1f3f5,\\n \\\"2\\\": #e9ecef,\\n \\\"3\\\": #dee2e6,\\n \\\"4\\\": #ced4da,\\n \\\"5\\\": #adb5bd,\\n \\\"6\\\": #868e96,\\n \\\"7\\\": #495057,\\n \\\"8\\\": #343a40,\\n \\\"9\\\": #212529\\n);\\n\\n$oc-gray-0: map-get($oc-gray-list, \\\"0\\\");\\n$oc-gray-1: map-get($oc-gray-list, \\\"1\\\");\\n$oc-gray-2: map-get($oc-gray-list, \\\"2\\\");\\n$oc-gray-3: map-get($oc-gray-list, \\\"3\\\");\\n$oc-gray-4: map-get($oc-gray-list, \\\"4\\\");\\n$oc-gray-5: map-get($oc-gray-list, \\\"5\\\");\\n$oc-gray-6: map-get($oc-gray-list, \\\"6\\\");\\n$oc-gray-7: map-get($oc-gray-list, \\\"7\\\");\\n$oc-gray-8: map-get($oc-gray-list, \\\"8\\\");\\n$oc-gray-9: map-get($oc-gray-list, \\\"9\\\");\\n\\n\\n// Red\\n// ───────────────────────────────────\\n\\n$oc-red-list: (\\n \\\"0\\\": #fff5f5,\\n \\\"1\\\": #ffe3e3,\\n \\\"2\\\": #ffc9c9,\\n \\\"3\\\": #ffa8a8,\\n \\\"4\\\": #ff8787,\\n \\\"5\\\": #ff6b6b,\\n \\\"6\\\": #fa5252,\\n \\\"7\\\": #f03e3e,\\n \\\"8\\\": #e03131,\\n \\\"9\\\": #c92a2a\\n);\\n\\n$oc-red-0: map-get($oc-red-list, \\\"0\\\");\\n$oc-red-1: map-get($oc-red-list, \\\"1\\\");\\n$oc-red-2: map-get($oc-red-list, \\\"2\\\");\\n$oc-red-3: map-get($oc-red-list, \\\"3\\\");\\n$oc-red-4: map-get($oc-red-list, \\\"4\\\");\\n$oc-red-5: map-get($oc-red-list, \\\"5\\\");\\n$oc-red-6: map-get($oc-red-list, \\\"6\\\");\\n$oc-red-7: map-get($oc-red-list, \\\"7\\\");\\n$oc-red-8: map-get($oc-red-list, \\\"8\\\");\\n$oc-red-9: map-get($oc-red-list, \\\"9\\\");\\n\\n\\n// Pink\\n// ───────────────────────────────────\\n\\n$oc-pink-list: (\\n \\\"0\\\": #fff0f6,\\n \\\"1\\\": #ffdeeb,\\n \\\"2\\\": #fcc2d7,\\n \\\"3\\\": #faa2c1,\\n \\\"4\\\": #f783ac,\\n \\\"5\\\": #f06595,\\n \\\"6\\\": #e64980,\\n \\\"7\\\": #d6336c,\\n \\\"8\\\": #c2255c,\\n \\\"9\\\": #a61e4d\\n);\\n\\n$oc-pink-0: map-get($oc-pink-list, \\\"0\\\");\\n$oc-pink-1: map-get($oc-pink-list, \\\"1\\\");\\n$oc-pink-2: map-get($oc-pink-list, \\\"2\\\");\\n$oc-pink-3: map-get($oc-pink-list, \\\"3\\\");\\n$oc-pink-4: map-get($oc-pink-list, \\\"4\\\");\\n$oc-pink-5: map-get($oc-pink-list, \\\"5\\\");\\n$oc-pink-6: map-get($oc-pink-list, \\\"6\\\");\\n$oc-pink-7: map-get($oc-pink-list, \\\"7\\\");\\n$oc-pink-8: map-get($oc-pink-list, \\\"8\\\");\\n$oc-pink-9: map-get($oc-pink-list, \\\"9\\\");\\n\\n\\n// Grape\\n// ───────────────────────────────────\\n\\n$oc-grape-list: (\\n \\\"0\\\": #f8f0fc,\\n \\\"1\\\": #f3d9fa,\\n \\\"2\\\": #eebefa,\\n \\\"3\\\": #e599f7,\\n \\\"4\\\": #da77f2,\\n \\\"5\\\": #cc5de8,\\n \\\"6\\\": #be4bdb,\\n \\\"7\\\": #ae3ec9,\\n \\\"8\\\": #9c36b5,\\n \\\"9\\\": #862e9c\\n);\\n\\n$oc-grape-0: map-get($oc-grape-list, \\\"0\\\");\\n$oc-grape-1: map-get($oc-grape-list, \\\"1\\\");\\n$oc-grape-2: map-get($oc-grape-list, \\\"2\\\");\\n$oc-grape-3: map-get($oc-grape-list, \\\"3\\\");\\n$oc-grape-4: map-get($oc-grape-list, \\\"4\\\");\\n$oc-grape-5: map-get($oc-grape-list, \\\"5\\\");\\n$oc-grape-6: map-get($oc-grape-list, \\\"6\\\");\\n$oc-grape-7: map-get($oc-grape-list, \\\"7\\\");\\n$oc-grape-8: map-get($oc-grape-list, \\\"8\\\");\\n$oc-grape-9: map-get($oc-grape-list, \\\"9\\\");\\n\\n\\n// Violet\\n// ───────────────────────────────────\\n\\n$oc-violet-list: (\\n \\\"0\\\": #f3f0ff,\\n \\\"1\\\": #e5dbff,\\n \\\"2\\\": #d0bfff,\\n \\\"3\\\": #b197fc,\\n \\\"4\\\": #9775fa,\\n \\\"5\\\": #845ef7,\\n \\\"6\\\": #7950f2,\\n \\\"7\\\": #7048e8,\\n \\\"8\\\": #6741d9,\\n \\\"9\\\": #5f3dc4\\n);\\n\\n$oc-violet-0: map-get($oc-violet-list, \\\"0\\\");\\n$oc-violet-1: map-get($oc-violet-list, \\\"1\\\");\\n$oc-violet-2: map-get($oc-violet-list, \\\"2\\\");\\n$oc-violet-3: map-get($oc-violet-list, \\\"3\\\");\\n$oc-violet-4: map-get($oc-violet-list, \\\"4\\\");\\n$oc-violet-5: map-get($oc-violet-list, \\\"5\\\");\\n$oc-violet-6: map-get($oc-violet-list, \\\"6\\\");\\n$oc-violet-7: map-get($oc-violet-list, \\\"7\\\");\\n$oc-violet-8: map-get($oc-violet-list, \\\"8\\\");\\n$oc-violet-9: map-get($oc-violet-list, \\\"9\\\");\\n\\n\\n// Indigo\\n// ───────────────────────────────────\\n\\n$oc-indigo-list: (\\n \\\"0\\\": #edf2ff,\\n \\\"1\\\": #dbe4ff,\\n \\\"2\\\": #bac8ff,\\n \\\"3\\\": #91a7ff,\\n \\\"4\\\": #748ffc,\\n \\\"5\\\": #5c7cfa,\\n \\\"6\\\": #4c6ef5,\\n \\\"7\\\": #4263eb,\\n \\\"8\\\": #3b5bdb,\\n \\\"9\\\": #364fc7\\n);\\n\\n$oc-indigo-0: map-get($oc-indigo-list, \\\"0\\\");\\n$oc-indigo-1: map-get($oc-indigo-list, \\\"1\\\");\\n$oc-indigo-2: map-get($oc-indigo-list, \\\"2\\\");\\n$oc-indigo-3: map-get($oc-indigo-list, \\\"3\\\");\\n$oc-indigo-4: map-get($oc-indigo-list, \\\"4\\\");\\n$oc-indigo-5: map-get($oc-indigo-list, \\\"5\\\");\\n$oc-indigo-6: map-get($oc-indigo-list, \\\"6\\\");\\n$oc-indigo-7: map-get($oc-indigo-list, \\\"7\\\");\\n$oc-indigo-8: map-get($oc-indigo-list, \\\"8\\\");\\n$oc-indigo-9: map-get($oc-indigo-list, \\\"9\\\");\\n\\n\\n// Blue\\n// ───────────────────────────────────\\n\\n$oc-blue-list: (\\n \\\"0\\\": #e7f5ff,\\n \\\"1\\\": #d0ebff,\\n \\\"2\\\": #a5d8ff,\\n \\\"3\\\": #74c0fc,\\n \\\"4\\\": #4dabf7,\\n \\\"5\\\": #339af0,\\n \\\"6\\\": #228be6,\\n \\\"7\\\": #1c7ed6,\\n \\\"8\\\": #1971c2,\\n \\\"9\\\": #1864ab\\n);\\n\\n$oc-blue-0: map-get($oc-blue-list, \\\"0\\\");\\n$oc-blue-1: map-get($oc-blue-list, \\\"1\\\");\\n$oc-blue-2: map-get($oc-blue-list, \\\"2\\\");\\n$oc-blue-3: map-get($oc-blue-list, \\\"3\\\");\\n$oc-blue-4: map-get($oc-blue-list, \\\"4\\\");\\n$oc-blue-5: map-get($oc-blue-list, \\\"5\\\");\\n$oc-blue-6: map-get($oc-blue-list, \\\"6\\\");\\n$oc-blue-7: map-get($oc-blue-list, \\\"7\\\");\\n$oc-blue-8: map-get($oc-blue-list, \\\"8\\\");\\n$oc-blue-9: map-get($oc-blue-list, \\\"9\\\");\\n\\n\\n// Cyan\\n// ───────────────────────────────────\\n\\n$oc-cyan-list: (\\n \\\"0\\\": #e3fafc,\\n \\\"1\\\": #c5f6fa,\\n \\\"2\\\": #99e9f2,\\n \\\"3\\\": #66d9e8,\\n \\\"4\\\": #3bc9db,\\n \\\"5\\\": #22b8cf,\\n \\\"6\\\": #15aabf,\\n \\\"7\\\": #1098ad,\\n \\\"8\\\": #0c8599,\\n \\\"9\\\": #0b7285\\n);\\n\\n$oc-cyan-0: map-get($oc-cyan-list, \\\"0\\\");\\n$oc-cyan-1: map-get($oc-cyan-list, \\\"1\\\");\\n$oc-cyan-2: map-get($oc-cyan-list, \\\"2\\\");\\n$oc-cyan-3: map-get($oc-cyan-list, \\\"3\\\");\\n$oc-cyan-4: map-get($oc-cyan-list, \\\"4\\\");\\n$oc-cyan-5: map-get($oc-cyan-list, \\\"5\\\");\\n$oc-cyan-6: map-get($oc-cyan-list, \\\"6\\\");\\n$oc-cyan-7: map-get($oc-cyan-list, \\\"7\\\");\\n$oc-cyan-8: map-get($oc-cyan-list, \\\"8\\\");\\n$oc-cyan-9: map-get($oc-cyan-list, \\\"9\\\");\\n\\n\\n// Teal\\n// ───────────────────────────────────\\n\\n$oc-teal-list: (\\n \\\"0\\\": #e6fcf5,\\n \\\"1\\\": #c3fae8,\\n \\\"2\\\": #96f2d7,\\n \\\"3\\\": #63e6be,\\n \\\"4\\\": #38d9a9,\\n \\\"5\\\": #20c997,\\n \\\"6\\\": #12b886,\\n \\\"7\\\": #0ca678,\\n \\\"8\\\": #099268,\\n \\\"9\\\": #087f5b\\n);\\n\\n$oc-teal-0: map-get($oc-teal-list, \\\"0\\\");\\n$oc-teal-1: map-get($oc-teal-list, \\\"1\\\");\\n$oc-teal-2: map-get($oc-teal-list, \\\"2\\\");\\n$oc-teal-3: map-get($oc-teal-list, \\\"3\\\");\\n$oc-teal-4: map-get($oc-teal-list, \\\"4\\\");\\n$oc-teal-5: map-get($oc-teal-list, \\\"5\\\");\\n$oc-teal-6: map-get($oc-teal-list, \\\"6\\\");\\n$oc-teal-7: map-get($oc-teal-list, \\\"7\\\");\\n$oc-teal-8: map-get($oc-teal-list, \\\"8\\\");\\n$oc-teal-9: map-get($oc-teal-list, \\\"9\\\");\\n\\n\\n// Green\\n// ───────────────────────────────────\\n\\n$oc-green-list: (\\n \\\"0\\\": #ebfbee,\\n \\\"1\\\": #d3f9d8,\\n \\\"2\\\": #b2f2bb,\\n \\\"3\\\": #8ce99a,\\n \\\"4\\\": #69db7c,\\n \\\"5\\\": #51cf66,\\n \\\"6\\\": #40c057,\\n \\\"7\\\": #37b24d,\\n \\\"8\\\": #2f9e44,\\n \\\"9\\\": #2b8a3e\\n);\\n\\n$oc-green-0: map-get($oc-green-list, \\\"0\\\");\\n$oc-green-1: map-get($oc-green-list, \\\"1\\\");\\n$oc-green-2: map-get($oc-green-list, \\\"2\\\");\\n$oc-green-3: map-get($oc-green-list, \\\"3\\\");\\n$oc-green-4: map-get($oc-green-list, \\\"4\\\");\\n$oc-green-5: map-get($oc-green-list, \\\"5\\\");\\n$oc-green-6: map-get($oc-green-list, \\\"6\\\");\\n$oc-green-7: map-get($oc-green-list, \\\"7\\\");\\n$oc-green-8: map-get($oc-green-list, \\\"8\\\");\\n$oc-green-9: map-get($oc-green-list, \\\"9\\\");\\n\\n\\n// Lime\\n// ───────────────────────────────────\\n\\n$oc-lime-list: (\\n \\\"0\\\": #f4fce3,\\n \\\"1\\\": #e9fac8,\\n \\\"2\\\": #d8f5a2,\\n \\\"3\\\": #c0eb75,\\n \\\"4\\\": #a9e34b,\\n \\\"5\\\": #94d82d,\\n \\\"6\\\": #82c91e,\\n \\\"7\\\": #74b816,\\n \\\"8\\\": #66a80f,\\n \\\"9\\\": #5c940d\\n);\\n\\n$oc-lime-0: map-get($oc-lime-list, \\\"0\\\");\\n$oc-lime-1: map-get($oc-lime-list, \\\"1\\\");\\n$oc-lime-2: map-get($oc-lime-list, \\\"2\\\");\\n$oc-lime-3: map-get($oc-lime-list, \\\"3\\\");\\n$oc-lime-4: map-get($oc-lime-list, \\\"4\\\");\\n$oc-lime-5: map-get($oc-lime-list, \\\"5\\\");\\n$oc-lime-6: map-get($oc-lime-list, \\\"6\\\");\\n$oc-lime-7: map-get($oc-lime-list, \\\"7\\\");\\n$oc-lime-8: map-get($oc-lime-list, \\\"8\\\");\\n$oc-lime-9: map-get($oc-lime-list, \\\"9\\\");\\n\\n\\n// Yellow\\n// ───────────────────────────────────\\n\\n$oc-yellow-list: (\\n \\\"0\\\": #fff9db,\\n \\\"1\\\": #fff3bf,\\n \\\"2\\\": #ffec99,\\n \\\"3\\\": #ffe066,\\n \\\"4\\\": #ffd43b,\\n \\\"5\\\": #fcc419,\\n \\\"6\\\": #fab005,\\n \\\"7\\\": #f59f00,\\n \\\"8\\\": #f08c00,\\n \\\"9\\\": #e67700\\n);\\n\\n$oc-yellow-0: map-get($oc-yellow-list, \\\"0\\\");\\n$oc-yellow-1: map-get($oc-yellow-list, \\\"1\\\");\\n$oc-yellow-2: map-get($oc-yellow-list, \\\"2\\\");\\n$oc-yellow-3: map-get($oc-yellow-list, \\\"3\\\");\\n$oc-yellow-4: map-get($oc-yellow-list, \\\"4\\\");\\n$oc-yellow-5: map-get($oc-yellow-list, \\\"5\\\");\\n$oc-yellow-6: map-get($oc-yellow-list, \\\"6\\\");\\n$oc-yellow-7: map-get($oc-yellow-list, \\\"7\\\");\\n$oc-yellow-8: map-get($oc-yellow-list, \\\"8\\\");\\n$oc-yellow-9: map-get($oc-yellow-list, \\\"9\\\");\\n\\n\\n// Orange\\n// ───────────────────────────────────\\n\\n$oc-orange-list: (\\n \\\"0\\\": #fff4e6,\\n \\\"1\\\": #ffe8cc,\\n \\\"2\\\": #ffd8a8,\\n \\\"3\\\": #ffc078,\\n \\\"4\\\": #ffa94d,\\n \\\"5\\\": #ff922b,\\n \\\"6\\\": #fd7e14,\\n \\\"7\\\": #f76707,\\n \\\"8\\\": #e8590c,\\n \\\"9\\\": #d9480f\\n);\\n\\n$oc-orange-0: map-get($oc-orange-list, \\\"0\\\");\\n$oc-orange-1: map-get($oc-orange-list, \\\"1\\\");\\n$oc-orange-2: map-get($oc-orange-list, \\\"2\\\");\\n$oc-orange-3: map-get($oc-orange-list, \\\"3\\\");\\n$oc-orange-4: map-get($oc-orange-list, \\\"4\\\");\\n$oc-orange-5: map-get($oc-orange-list, \\\"5\\\");\\n$oc-orange-6: map-get($oc-orange-list, \\\"6\\\");\\n$oc-orange-7: map-get($oc-orange-list, \\\"7\\\");\\n$oc-orange-8: map-get($oc-orange-list, \\\"8\\\");\\n$oc-orange-9: map-get($oc-orange-list, \\\"9\\\");\\n\\n\\n// Color list\\n// ───────────────────────────────────\\n\\n$oc-color-spectrum: 9;\\n\\n$oc-color-list: (\\n $oc-gray-list: \\\"gray\\\",\\n $oc-red-list: \\\"red\\\",\\n $oc-pink-list: \\\"pink\\\",\\n $oc-grape-list: \\\"grape\\\",\\n $oc-violet-list: \\\"violet\\\",\\n $oc-indigo-list: \\\"indigo\\\",\\n $oc-blue-list: \\\"blue\\\",\\n $oc-cyan-list: \\\"cyan\\\",\\n $oc-teal-list: \\\"teal\\\",\\n $oc-green-list: \\\"green\\\",\\n $oc-lime-list: \\\"lime\\\",\\n $oc-yellow-list: \\\"yellow\\\",\\n $oc-orange-list: \\\"orange\\\"\\n);\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1swXS51c2VbMl0hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vY29tcG9uZW50cy9JY29uUGlja2VyLnNjc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUM4SDtBQUNqQjtBQUM3Ryw4QkFBOEIsdUdBQTJCLENBQUMsZ0hBQXFDO0FBQy9GO0FBQ0EsbURBQW1ELGdEQUFnRCxHQUFHLG1DQUFtQywwQkFBMEIsMkJBQTJCLDBCQUEwQixHQUFHLHVCQUF1QixzQ0FBc0MsOENBQThDLDhDQUE4Qyx1QkFBdUIsdUJBQXVCLEdBQUcscUVBQXFFLHVCQUF1QixrQkFBa0Isd0JBQXdCLDRCQUE0QixHQUFHLGlHQUFpRyx5QkFBeUIsMkNBQTJDLEdBQUcseUdBQXlHLGVBQWUsR0FBRyxpRkFBaUYsMkNBQTJDLEdBQUcsbUZBQW1GLDJDQUEyQyxHQUFHLHVGQUF1Rix3QkFBd0IsR0FBRyw2RUFBNkUsY0FBYyxnQkFBZ0IsaUJBQWlCLGlCQUFpQix5QkFBeUIsR0FBRyw4QkFBOEIsNkNBQTZDLEdBQUcsZ0NBQWdDLGFBQWEsY0FBYyx1QkFBdUIsZUFBZSxnQkFBZ0IsR0FBRywrQ0FBK0MsZUFBZSxHQUFHLCtDQUErQyxnQkFBZ0IsR0FBRyx1Q0FBdUMsa0JBQWtCLHVCQUF1Qix3QkFBd0IsNkJBQTZCLDZEQUE2RCxjQUFjLEdBQUcsc0NBQXNDLGtCQUFrQix1QkFBdUIsd0JBQXdCLDZCQUE2QixnRUFBZ0UsR0FBRywrQkFBK0Isb0JBQW9CLGtCQUFrQiwyQ0FBMkMscUJBQXFCLHVCQUF1QixHQUFHLDhDQUE4QyxvQkFBb0IsR0FBRyxrQ0FBa0MsdUJBQXVCLGdCQUFnQixxQkFBcUIsbUNBQW1DLEdBQUcsaURBQWlELGVBQWUsR0FBRyxpREFBaUQsY0FBYyxH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c291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiOmV4cG9ydCB7XFxuICB0aGVtZUZpbHRlcjogaW52ZXJ0KDkzJSkgaHVlLXJvdGF0ZSgxODBkZWcpO1xcbn1cXG5cXG4uZXhjYWxpZHJhdyAucGlja2VyLWNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xcbn1cXG4uZXhjYWxpZHJhdyAucGlja2VyIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLXBvcHVwLWJnLWNvbG9yKTtcXG4gIGJvcmRlcjogMCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xcbiAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjI1KSAwIDFweCA0cHg7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXItY29udGFpbmVyIGJ1dHRvbixcXG4uZXhjYWxpZHJhdyAucGlja2VyIGJ1dHRvbiB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4uZXhjYWxpZHJhdyAucGlja2VyLWNvbnRhaW5lciBidXR0b246Zm9jdXMtdmlzaWJsZSxcXG4uZXhjYWxpZHJhdyAucGlja2VyIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcXG4gIG91dGxpbmU6IHRyYW5zcGFyZW50O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXItY29udGFpbmVyIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHN2ZyxcXG4uZXhjYWxpZHJhdyAucGlja2VyIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHN2ZyB7XFxuICBvcGFjaXR5OiAxO1xcbn1cXG4uZXhjYWxpZHJhdyAucGlja2VyLWNvbnRhaW5lciBidXR0b246aG92ZXIsXFxuLmV4Y2FsaWRyYXcgLnBpY2tlciBidXR0b246aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXItY29udGFpbmVyIGJ1dHRvbjphY3RpdmUsXFxuLmV4Y2FsaWRyYXcgLnBpY2tlciBidXR0b246YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbn1cXG4uZXhjYWxpZHJhdyAucGlja2VyLWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQsXFxuLmV4Y2FsaWRyYXcgLnBpY2tlciBidXR0b246ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlci1jb250YWluZXIgYnV0dG9uIHN2ZyxcXG4uZXhjYWxpZHJhdyAucGlja2VyIGJ1dHRvbiBzdmcge1xcbiAgbWFyZ2luOiAwO1xcbiAgd2lkdGg6IDM2cHg7XFxuICBoZWlnaHQ6IDE4cHg7XFxuICBvcGFjaXR5OiAwLjY7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlciBidXR0b24ge1xcbiAgcGFkZGluZzogMC4yNXJlbSAwLjI4cmVtIDAuMzVyZW0gMC4yNXJlbTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlci10cmlhbmdsZSB7XFxuICB3aWR0aDogMDtcXG4gIGhlaWdodDogMDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIHRvcDogLTEwcHg7XFxuICB6LWluZGV4OiAxMDtcXG59XFxuOnJvb3RbZGlyPWx0cl0gLmV4Y2FsaWRyYXcgLnBpY2tlci10cmlhbmdsZSB7XFxuICBsZWZ0OiAxMnB4O1xcbn1cXG46cm9vdFtkaXI9cnRsXSAuZXhjYWxpZHJhdyAucGlja2VyLXRyaWFuZ2xlIHtcXG4gIHJpZ2h0OiAxMnB4O1xcbn1cXG4uZXhjYWxpZHJhdyAucGlja2VyLXRyaWFuZ2xlOmJlZm9yZSB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICBib3JkZXItd2lkdGg6IDAgOXB4IDEwcHg7XFxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYmEoMCwgMCwgMCwgMC4xKTtcXG4gIHRvcDogLTFweDtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlci10cmlhbmdsZTphZnRlciB7XFxuICBjb250ZW50OiBcXFwiXFxcIjtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICBib3JkZXItd2lkdGg6IDAgOXB4IDEwcHg7XFxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLXBvcHVwLWJnLWNvbG9yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlci1jb250ZW50IHtcXG4gIHBhZGRpbmc6IDAuNXJlbTtcXG4gIGRpc3BsYXk6IGdyaWQ7XFxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBhdXRvKTtcXG4gIGdyaWQtZ2FwOiAwLjVyZW07XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcbjpyb290W2Rpcj1ydGxdIC5leGNhbGlkcmF3IC5waWNrZXItY29udGVudCB7XFxuICBwYWRkaW5nOiAwLjRyZW07XFxufVxcbi5leGNhbGlkcmF3IC5waWNrZXIta2V5YmluZGluZyB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3R0b206IDJweDtcXG4gIGZvbnQtc2l6ZTogMC43ZW07XFxuICBjb2xvcjogdmFyKC0ta2V5YmluZGluZy1jb2xvcik7XFxufVxcbjpyb290W2Rpcj1sdHJdIC5leGNhbGlkcmF3IC5waWNrZXIta2V5YmluZGluZyB7XFxuICByaWdodDogMnB4O1xcbn1cXG46cm9vdFtkaXI9cnRsXSAuZXhjYWxpZHJhdyAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgbGVmdDogMnB4O1xcbn1cXG4uZXhjYWxpZHJhdy0tbW9iaWxlLmV4Y2FsaWRyYXcgLnBpY2tlci1rZXliaW5kaW5nIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcblxcbi5leGNhbGlkcmF3IC5waWNrZXItdHlwZS1jYW52YXNCYWNrZ3JvdW5kIC5waWNrZXIta2V5YmluZGluZyB7XFxuICBjb2xvcjogI2FhYTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlci10eXBlLWVsZW1lbnRCYWNrZ3JvdW5kIC5waWNrZXIta2V5YmluZGluZyB7XFxuICBjb2xvcjogI2ZmZmZmZjtcXG59XFxuLmV4Y2FsaWRyYXcgLnBpY2tlci1zd2F0Y2hbYXJpYS1sYWJlbD10cmFuc3BhcmVudF0gLnBpY2tlci1rZXliaW5kaW5nIHtcXG4gIGNvbG9yOiAjYWFhO1xcbn1cXG4uZXhjYWxpZHJhdyAucGlja2VyLXR5cGUtZWxlbWVudFN0cm9rZSAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgY29sb3I6ICNkNGQ0ZDQ7XFxufVxcbi5leGNhbGlkcmF3LnRoZW1lLS1kYXJrIC5waWNrZXItdHlwZS1lbGVtZW50QmFja2dyb3VuZCAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgY29sb3I6ICMwMDAwMDA7XFxufVxcbi5leGNhbGlkcmF3LnRoZW1lLS1kYXJrIC5waWNrZXItc3dhdGNoW2FyaWEtbGFiZWw9dHJhbnNwYXJlbnRdIC5waWNrZXIta2V5YmluZGluZyB7XFxuICBjb2xvcjogIzAwMDAwMDtcXG59XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vLi4vLi4vY3NzL3ZhcmlhYmxlcy5tb2R1bGUuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vY29tcG9uZW50cy9JY29uUGlja2VyLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9vcGVuLWNvbG9yL29wZW4tY29sb3Iuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFVQTtFQUNFLDJDQUFBO0FDVEY7O0FBQ0U7RUFDRSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EscUJBQUE7QUFFSjtBQUNFO0VBQ0UsaUNBQUE7RUFDQSx5Q0FBQTtFQUNBLHlDQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBQUNKO0FBRUU7O0VBRUUsa0JBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtBQUFKO0FBRUk7O0VBQ0Usb0JBQUE7RUFDQSxzQ0FBQTtBQUNOO0FBQU07O0VBQ0UsVUFBQTtBQUdSO0FBQ0k7O0VBQ0Usc0NBQUE7QUFFTjtBQUNJOztFQUNFLHNDQUFBO0FBRU47QUFDSTs7RUFDRSxtQkFBQTtBQUVOO0FBQ0k7O0VBQ0UsU0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0FBRU47QUFFRTtFQUNFLHdDQUFBO0FBQUo7QUFHRTtFQUNFLFFBQUE7RUFDQSxTQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBUUEsV0FBQTtBQVJKO0FBQ0k7RUFDRSxVQUFBO0FBQ047QUFFSTtFQUNFLFdBQUE7QUFBTjtBQUlJO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUNBLHdEQUFBO0VBQ0EsU0FBQTtBQUZOO0FBS0k7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLHdCQUFBO0VBQ0EsMkRBQUE7QUFITjtBQU9FO0VBQ0UsZUFBQTtFQUNBLGFBQUE7RUFDQSxzQ0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QUFMSjtBQU1JO0VBQ0UsZUFBQTtBQUpOO0FBUUU7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLDhCQUFBO0FBTko7QUFRSTtFQUNFLFVBQUE7QUFOTjtBQVNJO0VBQ0UsU0FBQTtBQVBOO0FEckdXO0VDK0dMLGFBQUE7QUFQTjs7QUFXRTtFQUNFLFdBQUE7QUFSSjtBQVdFO0VBQ0UsY0NoSGU7QUR1R25CO0FBWUU7RUFDRSxXQUFBO0FBVko7QUFhRTtFQUNFLGNBQUE7QUFYSjtBQWVJO0VBQ0UsY0M1SGE7QUQrR25CO0FBZUk7RUFDRSxjQy9IYTtBRGtIbkJcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQGltcG9ydCBcXFwib3Blbi1jb2xvci9vcGVuLWNvbG9yLnNjc3NcXFwiO1xcblxcbkBtaXhpbiBpc01vYmlsZSgpIHtcXG4gIEBhdC1yb290IC5leGNhbGlkcmF3LS1tb2JpbGUjeyZ9IHtcXG4gICAgQGNvbnRlbnQ7XFxuICB9XFxufVxcblxcbiR0aGVtZS1maWx0ZXI6IFxcXCJpbnZlcnQoOTMlKSBodWUtcm90YXRlKDE4MGRlZylcXFwiO1xcblxcbjpleHBvcnQge1xcbiAgdGhlbWVGaWx0ZXI6IHVucXVvdGUoJHRoZW1lLWZpbHRlcik7XFxufVxcblwiLFwiQGltcG9ydCBcXFwiLi4vY3NzL3ZhcmlhYmxlcy5tb2R1bGVcXFwiO1xcblxcbi5leGNhbGlkcmF3IHtcXG4gIC5waWNrZXItY29udGFpbmVyIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XFxuICB9XFxuXFxuICAucGlja2VyIHtcXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcG9wdXAtYmctY29sb3IpO1xcbiAgICBib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnRpemUoJG9jLXdoaXRlLCAwLjc1KTtcXG4gICAgYm94LXNoYWRvdzogdHJhbnNwYXJlbnRpemUoJG9jLWJsYWNrLCAwLjc1KSAwIDFweCA0cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgfVxcblxcbiAgLnBpY2tlci1jb250YWluZXIgYnV0dG9uLFxcbiAgLnBpY2tlciBidXR0b24ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcbiAgICAmOmZvY3VzLXZpc2libGUge1xcbiAgICAgIG91dGxpbmU6IHRyYW5zcGFyZW50O1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbiAgICAgICYgc3ZnIHtcXG4gICAgICAgIG9wYWNpdHk6IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgICY6aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbiAgICB9XFxuXFxuICAgICY6YWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0zKTtcXG4gICAgfVxcblxcbiAgICAmOmRpc2FibGVkIHtcXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xcbiAgICB9XFxuXFxuICAgIHN2ZyB7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIHdpZHRoOiAzNnB4O1xcbiAgICAgIGhlaWdodDogMThweDtcXG4gICAgICBvcGFjaXR5OiAwLjY7XFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5waWNrZXIgYnV0dG9uIHtcXG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjI4cmVtIDAuMzVyZW0gMC4yNXJlbTtcXG4gIH1cXG5cXG4gIC5waWNrZXItdHJpYW5nbGUge1xcbiAgICB3aWR0aDogMDtcXG4gICAgaGVpZ2h0OiAwO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIHRvcDogLTEwcHg7XFxuICAgIDpyb290W2Rpcj1cXFwibHRyXFxcIl0gJiB7XFxuICAgICAgbGVmdDogMTJweDtcXG4gICAgfVxcblxcbiAgICA6cm9vdFtkaXI9XFxcInJ0bFxcXCJdICYge1xcbiAgICAgIHJpZ2h0OiAxMnB4O1xcbiAgICB9XFxuICAgIHotaW5kZXg6IDEwO1xcblxcbiAgICAmOmJlZm9yZSB7XFxuICAgICAgY29udGVudDogXFxcIlxcXCI7XFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICAgICAgYm9yZGVyLXdpZHRoOiAwIDlweCAxMHB4O1xcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnRpemUoJG9jLWJsYWNrLCAwLjkpO1xcbiAgICAgIHRvcDogLTFweDtcXG4gICAgfVxcblxcbiAgICAmOmFmdGVyIHtcXG4gICAgICBjb250ZW50OiBcXFwiXFxcIjtcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcXG4gICAgICBib3JkZXItd2lkdGg6IDAgOXB4IDEwcHg7XFxuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1wb3B1cC1iZy1jb2xvcik7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5waWNrZXItY29udGVudCB7XFxuICAgIHBhZGRpbmc6IDAuNXJlbTtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgYXV0byk7XFxuICAgIGdyaWQtZ2FwOiAwLjVyZW07XFxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcXG4gICAgOnJvb3RbZGlyPVxcXCJydGxcXFwiXSAmIHtcXG4gICAgICBwYWRkaW5nOiAwLjRyZW07XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5waWNrZXIta2V5YmluZGluZyB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgYm90dG9tOiAycHg7XFxuICAgIGZvbnQtc2l6ZTogMC43ZW07XFxuICAgIGNvbG9yOiB2YXIoLS1rZXliaW5kaW5nLWNvbG9yKTtcXG5cXG4gICAgOnJvb3RbZGlyPVxcXCJsdHJcXFwiXSAmIHtcXG4gICAgICByaWdodDogMnB4O1xcbiAgICB9XFxuXFxuICAgIDpyb290W2Rpcj1cXFwicnRsXFxcIl0gJiB7XFxuICAgICAgbGVmdDogMnB4O1xcbiAgICB9XFxuICAgIEBpbmNsdWRlIGlzTW9iaWxlIHtcXG4gICAgICBkaXNwbGF5OiBub25lO1xcbiAgICB9XFxuICB9XFxuXFxuICAucGlja2VyLXR5cGUtY2FudmFzQmFja2dyb3VuZCAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgICBjb2xvcjogI2FhYTtcXG4gIH1cXG5cXG4gIC5waWNrZXItdHlwZS1lbGVtZW50QmFja2dyb3VuZCAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgICBjb2xvcjogJG9jLXdoaXRlO1xcbiAgfVxcblxcbiAgLnBpY2tlci1zd2F0Y2hbYXJpYS1sYWJlbD1cXFwidHJhbnNwYXJlbnRcXFwiXSAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgICBjb2xvcjogI2FhYTtcXG4gIH1cXG5cXG4gIC5waWNrZXItdHlwZS1lbGVtZW50U3Ryb2tlIC5waWNrZXIta2V5YmluZGluZyB7XFxuICAgIGNvbG9yOiAjZDRkNGQ0O1xcbiAgfVxcblxcbiAgJi50aGVtZS0tZGFyayB7XFxuICAgIC5waWNrZXItdHlwZS1lbGVtZW50QmFja2dyb3VuZCAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgICAgIGNvbG9yOiAkb2MtYmxhY2s7XFxuICAgIH1cXG4gICAgLnBpY2tlci1zd2F0Y2hbYXJpYS1sYWJlbD1cXFwidHJhbnNwYXJlbnRcXFwiXSAucGlja2VyLWtleWJpbmRpbmcge1xcbiAgICAgIGNvbG9yOiAkb2MtYmxhY2s7XFxuICAgIH1cXG4gIH1cXG59XFxuXCIsXCIvL1xcbi8vXFxuLy8gIPCdl5Yg8J2XoiDwnZefIPCdl6Ig8J2XpVxcbi8vICB2IDEuOS4xXFxuLy9cXG4vLyAg4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSB4pSBXFxuXFxuXFxuLy8gIEdlbmVyYWxcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLXdoaXRlOiAgICAgICAgICNmZmZmZmY7XFxuJG9jLWJsYWNrOiAgICAgICAgICMwMDAwMDA7XFxuXFxuXFxuLy8gIEdyYXlcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWdyYXktbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZjhmOWZhLFxcbiAgXFxcIjFcXFwiOiAjZjFmM2Y1LFxcbiAgXFxcIjJcXFwiOiAjZTllY2VmLFxcbiAgXFxcIjNcXFwiOiAjZGVlMmU2LFxcbiAgXFxcIjRcXFwiOiAjY2VkNGRhLFxcbiAgXFxcIjVcXFwiOiAjYWRiNWJkLFxcbiAgXFxcIjZcXFwiOiAjODY4ZTk2LFxcbiAgXFxcIjdcXFwiOiAjNDk1MDU3LFxcbiAgXFxcIjhcXFwiOiAjMzQzYTQwLFxcbiAgXFxcIjlcXFwiOiAjMjEyNTI5XFxuKTtcXG5cXG4kb2MtZ3JheS0wOiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWdyYXktMTogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1ncmF5LTI6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtZ3JheS0zOiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWdyYXktNDogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1ncmF5LTU6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtZ3JheS02OiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWdyYXktNzogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1ncmF5LTg6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtZ3JheS05OiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIFJlZFxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtcmVkLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2ZmZjVmNSxcXG4gIFxcXCIxXFxcIjogI2ZmZTNlMyxcXG4gIFxcXCIyXFxcIjogI2ZmYzljOSxcXG4gIFxcXCIzXFxcIjogI2ZmYThhOCxcXG4gIFxcXCI0XFxcIjogI2ZmODc4NyxcXG4gIFxcXCI1XFxcIjogI2ZmNmI2YixcXG4gIFxcXCI2XFxcIjogI2ZhNTI1MixcXG4gIFxcXCI3XFxcIjogI2YwM2UzZSxcXG4gIFxcXCI4XFxcIjogI2UwMzEzMSxcXG4gIFxcXCI5XFxcIjogI2M5MmEyYVxcbik7XFxuXFxuJG9jLXJlZC0wOiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtcmVkLTE6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1yZWQtMjogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLXJlZC0zOiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtcmVkLTQ6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1yZWQtNTogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLXJlZC02OiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtcmVkLTc6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1yZWQtODogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLXJlZC05OiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgUGlua1xcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtcGluay1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmZmYwZjYsXFxuICBcXFwiMVxcXCI6ICNmZmRlZWIsXFxuICBcXFwiMlxcXCI6ICNmY2MyZDcsXFxuICBcXFwiM1xcXCI6ICNmYWEyYzEsXFxuICBcXFwiNFxcXCI6ICNmNzgzYWMsXFxuICBcXFwiNVxcXCI6ICNmMDY1OTUsXFxuICBcXFwiNlxcXCI6ICNlNjQ5ODAsXFxuICBcXFwiN1xcXCI6ICNkNjMzNmMsXFxuICBcXFwiOFxcXCI6ICNjMjI1NWMsXFxuICBcXFwiOVxcXCI6ICNhNjFlNGRcXG4pO1xcblxcbiRvYy1waW5rLTA6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtcGluay0xOiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLXBpbmstMjogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1waW5rLTM6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtcGluay00OiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLXBpbmstNTogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1waW5rLTY6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtcGluay03OiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLXBpbmstODogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1waW5rLTk6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgR3JhcGVcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWdyYXBlLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2Y4ZjBmYyxcXG4gIFxcXCIxXFxcIjogI2YzZDlmYSxcXG4gIFxcXCIyXFxcIjogI2VlYmVmYSxcXG4gIFxcXCIzXFxcIjogI2U1OTlmNyxcXG4gIFxcXCI0XFxcIjogI2RhNzdmMixcXG4gIFxcXCI1XFxcIjogI2NjNWRlOCxcXG4gIFxcXCI2XFxcIjogI2JlNGJkYixcXG4gIFxcXCI3XFxcIjogI2FlM2VjOSxcXG4gIFxcXCI4XFxcIjogIzljMzZiNSxcXG4gIFxcXCI5XFxcIjogIzg2MmU5Y1xcbik7XFxuXFxuJG9jLWdyYXBlLTA6IG1hcC1nZXQoJG9jLWdyYXBlLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWdyYXBlLTE6IG1hcC1nZXQoJG9jLWdyYXBlLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLWdyYXBlLTI6IG1hcC1nZXQoJG9jLWdyYXBlLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLWdyYXBlLTM6IG1hcC1nZXQoJG9jLWdyYXBlLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWdyYXBlLTQ6IG1hcC1nZXQoJG9jLWdyYXBlLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLWdyYXBlLTU6IG1hcC1nZXQoJG9jLWdyYXBlLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLWdyYXBlLTY6IG1hcC1nZXQoJG9jLWdyYXBlLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWdyYXBlLTc6IG1hcC1nZXQoJG9jLWdyYXBlLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLWdyYXBlLTg6IG1hcC1nZXQoJG9jLWdyYXBlLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLWdyYXBlLTk6IG1hcC1nZXQoJG9jLWdyYXBlLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIFZpb2xldFxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtdmlvbGV0LWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2YzZjBmZixcXG4gIFxcXCIxXFxcIjogI2U1ZGJmZixcXG4gIFxcXCIyXFxcIjogI2QwYmZmZixcXG4gIFxcXCIzXFxcIjogI2IxOTdmYyxcXG4gIFxcXCI0XFxcIjogIzk3NzVmYSxcXG4gIFxcXCI1XFxcIjogIzg0NWVmNyxcXG4gIFxcXCI2XFxcIjogIzc5NTBmMixcXG4gIFxcXCI3XFxcIjogIzcwNDhlOCxcXG4gIFxcXCI4XFxcIjogIzY3NDFkOSxcXG4gIFxcXCI5XFxcIjogIzVmM2RjNFxcbik7XFxuXFxuJG9jLXZpb2xldC0wOiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtdmlvbGV0LTE6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy12aW9sZXQtMjogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLXZpb2xldC0zOiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtdmlvbGV0LTQ6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy12aW9sZXQtNTogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLXZpb2xldC02OiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtdmlvbGV0LTc6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy12aW9sZXQtODogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLXZpb2xldC05OiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgSW5kaWdvXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1pbmRpZ28tbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZWRmMmZmLFxcbiAgXFxcIjFcXFwiOiAjZGJlNGZmLFxcbiAgXFxcIjJcXFwiOiAjYmFjOGZmLFxcbiAgXFxcIjNcXFwiOiAjOTFhN2ZmLFxcbiAgXFxcIjRcXFwiOiAjNzQ4ZmZjLFxcbiAgXFxcIjVcXFwiOiAjNWM3Y2ZhLFxcbiAgXFxcIjZcXFwiOiAjNGM2ZWY1LFxcbiAgXFxcIjdcXFwiOiAjNDI2M2ViLFxcbiAgXFxcIjhcXFwiOiAjM2I1YmRiLFxcbiAgXFxcIjlcXFwiOiAjMzY0ZmM3XFxuKTtcXG5cXG4kb2MtaW5kaWdvLTA6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1pbmRpZ28tMTogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLWluZGlnby0yOiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtaW5kaWdvLTM6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1pbmRpZ28tNDogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLWluZGlnby01OiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtaW5kaWdvLTY6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1pbmRpZ28tNzogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLWluZGlnby04OiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtaW5kaWdvLTk6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBCbHVlXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1ibHVlLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2U3ZjVmZixcXG4gIFxcXCIxXFxcIjogI2QwZWJmZixcXG4gIFxcXCIyXFxcIjogI2E1ZDhmZixcXG4gIFxcXCIzXFxcIjogIzc0YzBmYyxcXG4gIFxcXCI0XFxcIjogIzRkYWJmNyxcXG4gIFxcXCI1XFxcIjogIzMzOWFmMCxcXG4gIFxcXCI2XFxcIjogIzIyOGJlNixcXG4gIFxcXCI3XFxcIjogIzFjN2VkNixcXG4gIFxcXCI4XFxcIjogIzE5NzFjMixcXG4gIFxcXCI5XFxcIjogIzE4NjRhYlxcbik7XFxuXFxuJG9jLWJsdWUtMDogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1ibHVlLTE6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtYmx1ZS0yOiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLWJsdWUtMzogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1ibHVlLTQ6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtYmx1ZS01OiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLWJsdWUtNjogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1ibHVlLTc6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtYmx1ZS04OiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLWJsdWUtOTogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBDeWFuXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1jeWFuLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2UzZmFmYyxcXG4gIFxcXCIxXFxcIjogI2M1ZjZmYSxcXG4gIFxcXCIyXFxcIjogIzk5ZTlmMixcXG4gIFxcXCIzXFxcIjogIzY2ZDllOCxcXG4gIFxcXCI0XFxcIjogIzNiYzlkYixcXG4gIFxcXCI1XFxcIjogIzIyYjhjZixcXG4gIFxcXCI2XFxcIjogIzE1YWFiZixcXG4gIFxcXCI3XFxcIjogIzEwOThhZCxcXG4gIFxcXCI4XFxcIjogIzBjODU5OSxcXG4gIFxcXCI5XFxcIjogIzBiNzI4NVxcbik7XFxuXFxuJG9jLWN5YW4tMDogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1jeWFuLTE6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtY3lhbi0yOiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLWN5YW4tMzogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1jeWFuLTQ6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtY3lhbi01OiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLWN5YW4tNjogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1jeWFuLTc6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtY3lhbi04OiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLWN5YW4tOTogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBUZWFsXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy10ZWFsLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2U2ZmNmNSxcXG4gIFxcXCIxXFxcIjogI2MzZmFlOCxcXG4gIFxcXCIyXFxcIjogIzk2ZjJkNyxcXG4gIFxcXCIzXFxcIjogIzYzZTZiZSxcXG4gIFxcXCI0XFxcIjogIzM4ZDlhOSxcXG4gIFxcXCI1XFxcIjogIzIwYzk5NyxcXG4gIFxcXCI2XFxcIjogIzEyYjg4NixcXG4gIFxcXCI3XFxcIjogIzBjYTY3OCxcXG4gIFxcXCI4XFxcIjogIzA5OTI2OCxcXG4gIFxcXCI5XFxcIjogIzA4N2Y1Ylxcbik7XFxuXFxuJG9jLXRlYWwtMDogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy10ZWFsLTE6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtdGVhbC0yOiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLXRlYWwtMzogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy10ZWFsLTQ6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtdGVhbC01OiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLXRlYWwtNjogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy10ZWFsLTc6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtdGVhbC04OiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLXRlYWwtOTogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBHcmVlblxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtZ3JlZW4tbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZWJmYmVlLFxcbiAgXFxcIjFcXFwiOiAjZDNmOWQ4LFxcbiAgXFxcIjJcXFwiOiAjYjJmMmJiLFxcbiAgXFxcIjNcXFwiOiAjOGNlOTlhLFxcbiAgXFxcIjRcXFwiOiAjNjlkYjdjLFxcbiAgXFxcIjVcXFwiOiAjNTFjZjY2LFxcbiAgXFxcIjZcXFwiOiAjNDBjMDU3LFxcbiAgXFxcIjdcXFwiOiAjMzdiMjRkLFxcbiAgXFxcIjhcXFwiOiAjMmY5ZTQ0LFxcbiAgXFxcIjlcXFwiOiAjMmI4YTNlXFxuKTtcXG5cXG4kb2MtZ3JlZW4tMDogbWFwLWdldCgkb2MtZ3JlZW4tbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtZ3JlZW4tMTogbWFwLWdldCgkb2MtZ3JlZW4tbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtZ3JlZW4tMjogbWFwLWdldCgkb2MtZ3JlZW4tbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtZ3JlZW4tMzogbWFwLWdldCgkb2MtZ3JlZW4tbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtZ3JlZW4tNDogbWFwLWdldCgkb2MtZ3JlZW4tbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtZ3JlZW4tNTogbWFwLWdldCgkb2MtZ3JlZW4tbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtZ3JlZW4tNjogbWFwLWdldCgkb2MtZ3JlZW4tbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtZ3JlZW4tNzogbWFwLWdldCgkb2MtZ3JlZW4tbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtZ3JlZW4tODogbWFwLWdldCgkb2MtZ3JlZW4tbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtZ3JlZW4tOTogbWFwLWdldCgkb2MtZ3JlZW4tbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgTGltZVxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtbGltZS1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmNGZjZTMsXFxuICBcXFwiMVxcXCI6ICNlOWZhYzgsXFxuICBcXFwiMlxcXCI6ICNkOGY1YTIsXFxuICBcXFwiM1xcXCI6ICNjMGViNzUsXFxuICBcXFwiNFxcXCI6ICNhOWUzNGIsXFxuICBcXFwiNVxcXCI6ICM5NGQ4MmQsXFxuICBcXFwiNlxcXCI6ICM4MmM5MWUsXFxuICBcXFwiN1xcXCI6ICM3NGI4MTYsXFxuICBcXFwiOFxcXCI6ICM2NmE4MGYsXFxuICBcXFwiOVxcXCI6ICM1Yzk0MGRcXG4pO1xcblxcbiRvYy1saW1lLTA6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtbGltZS0xOiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLWxpbWUtMjogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1saW1lLTM6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtbGltZS00OiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLWxpbWUtNTogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1saW1lLTY6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtbGltZS03OiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLWxpbWUtODogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1saW1lLTk6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgWWVsbG93XFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy15ZWxsb3ctbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZmZmOWRiLFxcbiAgXFxcIjFcXFwiOiAjZmZmM2JmLFxcbiAgXFxcIjJcXFwiOiAjZmZlYzk5LFxcbiAgXFxcIjNcXFwiOiAjZmZlMDY2LFxcbiAgXFxcIjRcXFwiOiAjZmZkNDNiLFxcbiAgXFxcIjVcXFwiOiAjZmNjNDE5LFxcbiAgXFxcIjZcXFwiOiAjZmFiMDA1LFxcbiAgXFxcIjdcXFwiOiAjZjU5ZjAwLFxcbiAgXFxcIjhcXFwiOiAjZjA4YzAwLFxcbiAgXFxcIjlcXFwiOiAjZTY3NzAwXFxuKTtcXG5cXG4kb2MteWVsbG93LTA6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy15ZWxsb3ctMTogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLXllbGxvdy0yOiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MteWVsbG93LTM6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy15ZWxsb3ctNDogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLXllbGxvdy01OiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MteWVsbG93LTY6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy15ZWxsb3ctNzogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLXllbGxvdy04OiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MteWVsbG93LTk6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBPcmFuZ2VcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLW9yYW5nZS1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmZmY0ZTYsXFxuICBcXFwiMVxcXCI6ICNmZmU4Y2MsXFxuICBcXFwiMlxcXCI6ICNmZmQ4YTgsXFxuICBcXFwiM1xcXCI6ICNmZmMwNzgsXFxuICBcXFwiNFxcXCI6ICNmZmE5NGQsXFxuICBcXFwiNVxcXCI6ICNmZjkyMmIsXFxuICBcXFwiNlxcXCI6ICNmZDdlMTQsXFxuICBcXFwiN1xcXCI6ICNmNzY3MDcsXFxuICBcXFwiOFxcXCI6ICNlODU5MGMsXFxuICBcXFwiOVxcXCI6ICNkOTQ4MGZcXG4pO1xcblxcbiRvYy1vcmFuZ2UtMDogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLW9yYW5nZS0xOiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2Mtb3JhbmdlLTI6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1vcmFuZ2UtMzogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLW9yYW5nZS00OiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2Mtb3JhbmdlLTU6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1vcmFuZ2UtNjogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLW9yYW5nZS03OiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2Mtb3JhbmdlLTg6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1vcmFuZ2UtOTogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIENvbG9yIGxpc3RcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWNvbG9yLXNwZWN0cnVtOiAgIDk7XFxuXFxuJG9jLWNvbG9yLWxpc3Q6IChcXG4gICRvYy1ncmF5LWxpc3Q6ICAgICAgXFxcImdyYXlcXFwiLFxcbiAgJG9jLXJlZC1saXN0OiAgICAgIFxcXCJyZWRcXFwiLFxcbiAgJG9jLXBpbmstbGlzdDogICAgICBcXFwicGlua1xcXCIsXFxuICAkb2MtZ3JhcGUtbGlzdDogICAgICBcXFwiZ3JhcGVcXFwiLFxcbiAgJG9jLXZpb2xldC1saXN0OiAgICAgIFxcXCJ2aW9sZXRcXFwiLFxcbiAgJG9jLWluZGlnby1saXN0OiAgICAgIFxcXCJpbmRpZ29cXFwiLFxcbiAgJG9jLWJsdWUtbGlzdDogICAgICBcXFwiYmx1ZVxcXCIsXFxuICAkb2MtY3lhbi1saXN0OiAgICAgIFxcXCJjeWFuXFxcIixcXG4gICRvYy10ZWFsLWxpc3Q6ICAgICAgXFxcInRlYWxcXFwiLFxcbiAgJG9jLWdyZWVuLWxpc3Q6ICAgICAgXFxcImdyZWVuXFxcIixcXG4gICRvYy1saW1lLWxpc3Q6ICAgICAgXFxcImxpbWVcXFwiLFxcbiAgJG9jLXllbGxvdy1saXN0OiAgICAgIFxcXCJ5ZWxsb3dcXFwiLFxcbiAgJG9jLW9yYW5nZS1saXN0OiAgICAgIFxcXCJvcmFuZ2VcXFwiXFxuKTtcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../components/IconPicker.scss\n");
|
|
893
903
|
|
|
894
904
|
/***/ }),
|
|
895
905
|
|
|
@@ -900,7 +910,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
900
910
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
901
911
|
|
|
902
912
|
"use strict";
|
|
903
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".excalidraw .Island {\\n --padding: 0;\\n background-color: var(--island-bg-color);\\n box-shadow: var(--shadow-island);\\n border-radius: 4px;\\n padding: calc(var(--padding) * var(--space-factor));\\n position: relative;\\n}\\n.excalidraw .Island.zen-mode {\\n box-shadow: none;\\n}\\n.excalidraw .Island::-webkit-scrollbar {\\n width: 10px;\\n}\\n.excalidraw .Island::-webkit-scrollbar-track {\\n background-color: transparent;\\n}\\n.excalidraw .Island::-webkit-scrollbar-thumb {\\n background-color: var(--color-scrollbar-thumb);\\n}\\n.excalidraw .Island::-webkit-scrollbar-thumb:hover {\\n background-color: var(--color-scrollbar-thumb-hover);\\n}\\n.excalidraw .Island::-webkit-scrollbar-thumb:active {\\n background-color: var(--color-scrollbar-thumb-active);\\n}\\n.excalidraw .App-menu_top .Stack_vertical .Island {\\n min-width: 216px;\\n}\\n.excalidraw .App-menu_top .Stack_vertical .Stack_horizontal {\\n justify-content: center !important;\\n}\\n.excalidraw.excalidraw--view-mode .App-menu_top .Stack_vertical .Island {\\n min-width: auto;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../components/Island.scss\"],\"names\":[],\"mappings\":\"AACE;EACE,YAAA;EACA,wCAAA;EACA,gCAAA;EACA,kBAAA;EACA,mDAAA;EACA,kBAAA;AAAJ;AAEI;EACE,gBAAA;AAAN;AAGI;EACE,WAAA;AADN;AAII;EACE,6BAAA;AAFN;AAKI;EACE,8CAAA;AAHN;AAKI;EACE,oDAAA;AAHN;AAMI;EACE,qDAAA;AAJN;AAUM;EACE,gBAAA;AARR;AAUM;EACE,kCAAA;AARR;AAgBQ;EACE,eAAA;AAdV\",\"sourcesContent\":[\".excalidraw {\\n .Island {\\n --padding: 0;\\n background-color: var(--island-bg-color);\\n box-shadow: var(--shadow-island);\\n border-radius: 4px;\\n padding: calc(var(--padding) * var(--space-factor));\\n position: relative;\\n\\n &.zen-mode {\\n box-shadow: none;\\n }\\n\\n &::-webkit-scrollbar {\\n width: 10px;\\n }\\n\\n &::-webkit-scrollbar-track {\\n background-color: transparent;\\n }\\n\\n &::-webkit-scrollbar-thumb {\\n background-color: var(--color-scrollbar-thumb);\\n }\\n &::-webkit-scrollbar-thumb:hover {\\n background-color: var(--color-scrollbar-thumb-hover);\\n }\\n\\n &::-webkit-scrollbar-thumb:active {\\n background-color: var(--color-scrollbar-thumb-active);\\n }\\n }\\n\\n .App-menu_top {\\n .Stack_vertical {\\n .Island {\\n min-width: 216px;\\n }\\n .Stack_horizontal {\\n justify-content: center !important;\\n }\\n }\\n }\\n\\n &.excalidraw--view-mode {\\n .App-menu_top {\\n .Stack_vertical {\\n .Island {\\n min-width: auto;\\n }\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1swXS51c2VbMl0hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vY29tcG9uZW50cy9Jc2xhbmQuc2Nzcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQzhIO0FBQ2pCO0FBQzdHLDhCQUE4Qix1R0FBMkIsQ0FBQyxnSEFBcUM7QUFDL0Y7QUFDQSwrREFBK0QsaUJBQWlCLDZDQUE2QyxxQ0FBcUMsdUJBQXVCLHdEQUF3RCx1QkFBdUIsR0FBRyxnQ0FBZ0MscUJBQXFCLEdBQUcsMENBQTBDLGdCQUFnQixHQUFHLGdEQUFnRCxrQ0FBa0MsR0FBRyxnREFBZ0QsbURBQW1ELEdBQUcsc0RBQXNELHlEQUF5RCxHQUFHLHVEQUF1RCwwREFBMEQsR0FBRyxxREFBcUQscUJBQXFCLEdBQUcsK0RBQStELHVDQUF1QyxHQUFHLDJFQUEyRSxvQkFBb0IsR0FBRyxPQUFPLCtGQUErRixVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLE1BQU0sVUFBVSxzQ0FBc0MsYUFBYSxtQkFBbUIsK0NBQStDLHVDQUF1Qyx5QkFBeUIsMERBQTBELHlCQUF5QixvQkFBb0IseUJBQXlCLE9BQU8sOEJBQThCLG9CQUFvQixPQUFPLG9DQUFvQyxzQ0FBc0MsT0FBTyxvQ0FBb0MsdURBQXVELE9BQU8sd0NBQXdDLDZEQUE2RCxPQUFPLDJDQUEyQyw4REFBOEQsT0FBTyxLQUFLLHFCQUFxQix1QkFBdUIsaUJBQWlCLDJCQUEyQixTQUFTLDJCQUEyQiw2Q0FBNkMsU0FBUyxPQUFPLEtBQUssK0JBQStCLHFCQUFxQix5QkFBeUIsbUJBQW1CLDRCQUE0QixXQUFXLFNBQVMsT0FBTyxLQUFLLEdBQUcscUJBQXFCO0FBQ3ZoRjtBQUNBLGlFQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4uLy4uL2NvbXBvbmVudHMvSXNsYW5kLnNjc3M/ODYyOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vcGFja2FnZXMvZXhjYWxpZHJhdy9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vcGFja2FnZXMvZXhjYWxpZHJhdy9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIuZXhjYWxpZHJhdyAuSXNsYW5kIHtcXG4gIC0tcGFkZGluZzogMDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlzbGFuZC1iZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctaXNsYW5kKTtcXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcXG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGFkZGluZykgKiB2YXIoLS1zcGFjZS1mYWN0b3IpKTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmV4Y2FsaWRyYXcgLklzbGFuZC56ZW4tbW9kZSB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbn1cXG4uZXhjYWxpZHJhdyAuSXNsYW5kOjotd2Via2l0LXNjcm9sbGJhciB7XFxuICB3aWR0aDogMTBweDtcXG59XFxuLmV4Y2FsaWRyYXcgLklzbGFuZDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxufVxcbi5leGNhbGlkcmF3IC5Jc2xhbmQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNjcm9sbGJhci10aHVtYik7XFxufVxcbi5leGNhbGlkcmF3IC5Jc2xhbmQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNjcm9sbGJhci10aHVtYi1ob3Zlcik7XFxufVxcbi5leGNhbGlkcmF3IC5Jc2xhbmQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zY3JvbGxiYXItdGh1bWItYWN0aXZlKTtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC1tZW51X3RvcCAuU3RhY2tfdmVydGljYWwgLklzbGFuZCB7XFxuICBtaW4td2lkdGg6IDIxNnB4O1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLW1lbnVfdG9wIC5TdGFja192ZXJ0aWNhbCAuU3RhY2tfaG9yaXpvbnRhbCB7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xcbn1cXG4uZXhjYWxpZHJhdy5leGNhbGlkcmF3LS12aWV3LW1vZGUgLkFwcC1tZW51X3RvcCAuU3RhY2tfdmVydGljYWwgLklzbGFuZCB7XFxuICBtaW4td2lkdGg6IGF1dG87XFxufVwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uLy4uLy4uL2NvbXBvbmVudHMvSXNsYW5kLnNjc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQ0U7RUFDRSxZQUFBO0VBQ0Esd0NBQUE7RUFDQSxnQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsbURBQUE7RUFDQSxrQkFBQTtBQUFKO0FBRUk7RUFDRSxnQkFBQTtBQUFOO0FBR0k7RUFDRSxXQUFBO0FBRE47QUFJSTtFQUNFLDZCQUFBO0FBRk47QUFLSTtFQUNFLDhDQUFBO0FBSE47QUFLSTtFQUNFLG9EQUFBO0FBSE47QUFNSTtFQUNFLHFEQUFBO0FBSk47QUFVTTtFQUNFLGdCQUFBO0FBUlI7QUFVTTtFQUNFLGtDQUFBO0FBUlI7QUFnQlE7RUFDRSxlQUFBO0FBZFZcIixcInNvdXJjZXNDb250ZW50XCI6W1wiLmV4Y2FsaWRyYXcge1xcbiAgLklzbGFuZCB7XFxuICAgIC0tcGFkZGluZzogMDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taXNsYW5kLWJnLWNvbG9yKTtcXG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWlzbGFuZCk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcXG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wYWRkaW5nKSAqIHZhcigtLXNwYWNlLWZhY3RvcikpO1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuXFxuICAgICYuemVuLW1vZGUge1xcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XFxuICAgIH1cXG5cXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xcbiAgICAgIHdpZHRoOiAxMHB4O1xcbiAgICB9XFxuXFxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgfVxcblxcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Nyb2xsYmFyLXRodW1iKTtcXG4gICAgfVxcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Nyb2xsYmFyLXRodW1iLWhvdmVyKTtcXG4gICAgfVxcblxcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjphY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNjcm9sbGJhci10aHVtYi1hY3RpdmUpO1xcbiAgICB9XFxuICB9XFxuXFxuICAuQXBwLW1lbnVfdG9wIHtcXG4gICAgLlN0YWNrX3ZlcnRpY2FsIHtcXG4gICAgICAuSXNsYW5kIHtcXG4gICAgICAgIG1pbi13aWR0aDogMjE2cHg7XFxuICAgICAgfVxcbiAgICAgIC5TdGFja19ob3Jpem9udGFsIHtcXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICAmLmV4Y2FsaWRyYXctLXZpZXctbW9kZSB7XFxuICAgIC5BcHAtbWVudV90b3Age1xcbiAgICAgIC5TdGFja192ZXJ0aWNhbCB7XFxuICAgICAgICAuSXNsYW5kIHtcXG4gICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../components/Island.scss\n");
|
|
913
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".excalidraw .Island {\\n --padding: 0;\\n background-color: var(--island-bg-color);\\n box-shadow: var(--shadow-island);\\n border-radius: var(--border-radius-lg);\\n padding: calc(var(--padding) * var(--space-factor));\\n position: relative;\\n}\\n.excalidraw .Island.zen-mode {\\n box-shadow: none;\\n}\\n.excalidraw .Island::-webkit-scrollbar {\\n width: 10px;\\n}\\n.excalidraw .Island::-webkit-scrollbar-track {\\n background-color: transparent;\\n}\\n.excalidraw .Island::-webkit-scrollbar-thumb {\\n background-color: var(--color-scrollbar-thumb);\\n}\\n.excalidraw .Island::-webkit-scrollbar-thumb:hover {\\n background-color: var(--color-scrollbar-thumb-hover);\\n}\\n.excalidraw .Island::-webkit-scrollbar-thumb:active {\\n background-color: var(--color-scrollbar-thumb-active);\\n}\\n.excalidraw .App-menu_top .Stack_vertical .Island {\\n min-width: 216px;\\n}\\n.excalidraw .App-menu_top .Stack_vertical .Stack_horizontal {\\n justify-content: center !important;\\n}\\n.excalidraw.excalidraw--view-mode .App-menu_top .Stack_vertical .Island {\\n min-width: auto;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../components/Island.scss\"],\"names\":[],\"mappings\":\"AACE;EACE,YAAA;EACA,wCAAA;EACA,gCAAA;EACA,sCAAA;EACA,mDAAA;EACA,kBAAA;AAAJ;AAEI;EACE,gBAAA;AAAN;AAGI;EACE,WAAA;AADN;AAII;EACE,6BAAA;AAFN;AAKI;EACE,8CAAA;AAHN;AAKI;EACE,oDAAA;AAHN;AAMI;EACE,qDAAA;AAJN;AAUM;EACE,gBAAA;AARR;AAUM;EACE,kCAAA;AARR;AAgBQ;EACE,eAAA;AAdV\",\"sourcesContent\":[\".excalidraw {\\n .Island {\\n --padding: 0;\\n background-color: var(--island-bg-color);\\n box-shadow: var(--shadow-island);\\n border-radius: var(--border-radius-lg);\\n padding: calc(var(--padding) * var(--space-factor));\\n position: relative;\\n\\n &.zen-mode {\\n box-shadow: none;\\n }\\n\\n &::-webkit-scrollbar {\\n width: 10px;\\n }\\n\\n &::-webkit-scrollbar-track {\\n background-color: transparent;\\n }\\n\\n &::-webkit-scrollbar-thumb {\\n background-color: var(--color-scrollbar-thumb);\\n }\\n &::-webkit-scrollbar-thumb:hover {\\n background-color: var(--color-scrollbar-thumb-hover);\\n }\\n\\n &::-webkit-scrollbar-thumb:active {\\n background-color: var(--color-scrollbar-thumb-active);\\n }\\n }\\n\\n .App-menu_top {\\n .Stack_vertical {\\n .Island {\\n min-width: 216px;\\n }\\n .Stack_horizontal {\\n justify-content: center !important;\\n }\\n }\\n }\\n\\n &.excalidraw--view-mode {\\n .App-menu_top {\\n .Stack_vertical {\\n .Island {\\n min-width: auto;\\n }\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1swXS51c2VbMl0hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vY29tcG9uZW50cy9Jc2xhbmQuc2Nzcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQzhIO0FBQ2pCO0FBQzdHLDhCQUE4Qix1R0FBMkIsQ0FBQyxnSEFBcUM7QUFDL0Y7QUFDQSwrREFBK0QsaUJBQWlCLDZDQUE2QyxxQ0FBcUMsMkNBQTJDLHdEQUF3RCx1QkFBdUIsR0FBRyxnQ0FBZ0MscUJBQXFCLEdBQUcsMENBQTBDLGdCQUFnQixHQUFHLGdEQUFnRCxrQ0FBa0MsR0FBRyxnREFBZ0QsbURBQW1ELEdBQUcsc0RBQXNELHlEQUF5RCxHQUFHLHVEQUF1RCwwREFBMEQsR0FBRyxxREFBcUQscUJBQXFCLEdBQUcsK0RBQStELHVDQUF1QyxHQUFHLDJFQUEyRSxvQkFBb0IsR0FBRyxPQUFPLCtGQUErRixVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssVUFBVSxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLE1BQU0sVUFBVSxzQ0FBc0MsYUFBYSxtQkFBbUIsK0NBQStDLHVDQUF1Qyw2Q0FBNkMsMERBQTBELHlCQUF5QixvQkFBb0IseUJBQXlCLE9BQU8sOEJBQThCLG9CQUFvQixPQUFPLG9DQUFvQyxzQ0FBc0MsT0FBTyxvQ0FBb0MsdURBQXVELE9BQU8sd0NBQXdDLDZEQUE2RCxPQUFPLDJDQUEyQyw4REFBOEQsT0FBTyxLQUFLLHFCQUFxQix1QkFBdUIsaUJBQWlCLDJCQUEyQixTQUFTLDJCQUEyQiw2Q0FBNkMsU0FBUyxPQUFPLEtBQUssK0JBQStCLHFCQUFxQix5QkFBeUIsbUJBQW1CLDRCQUE0QixXQUFXLFNBQVMsT0FBTyxLQUFLLEdBQUcscUJBQXFCO0FBQy9qRjtBQUNBLGlFQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4uLy4uL2NvbXBvbmVudHMvSXNsYW5kLnNjc3M/ODYyOCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vcGFja2FnZXMvZXhjYWxpZHJhdy9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vcGFja2FnZXMvZXhjYWxpZHJhdy9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIuZXhjYWxpZHJhdyAuSXNsYW5kIHtcXG4gIC0tcGFkZGluZzogMDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlzbGFuZC1iZy1jb2xvcik7XFxuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctaXNsYW5kKTtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1wYWRkaW5nKSAqIHZhcigtLXNwYWNlLWZhY3RvcikpO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4uZXhjYWxpZHJhdyAuSXNsYW5kLnplbi1tb2RlIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcbi5leGNhbGlkcmF3IC5Jc2xhbmQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcXG4gIHdpZHRoOiAxMHB4O1xcbn1cXG4uZXhjYWxpZHJhdyAuSXNsYW5kOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuLmV4Y2FsaWRyYXcgLklzbGFuZDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Nyb2xsYmFyLXRodW1iKTtcXG59XFxuLmV4Y2FsaWRyYXcgLklzbGFuZDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Nyb2xsYmFyLXRodW1iLWhvdmVyKTtcXG59XFxuLmV4Y2FsaWRyYXcgLklzbGFuZDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNjcm9sbGJhci10aHVtYi1hY3RpdmUpO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLW1lbnVfdG9wIC5TdGFja192ZXJ0aWNhbCAuSXNsYW5kIHtcXG4gIG1pbi13aWR0aDogMjE2cHg7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtbWVudV90b3AgLlN0YWNrX3ZlcnRpY2FsIC5TdGFja19ob3Jpem9udGFsIHtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XFxufVxcbi5leGNhbGlkcmF3LmV4Y2FsaWRyYXctLXZpZXctbW9kZSAuQXBwLW1lbnVfdG9wIC5TdGFja192ZXJ0aWNhbCAuSXNsYW5kIHtcXG4gIG1pbi13aWR0aDogYXV0bztcXG59XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vLi4vLi4vY29tcG9uZW50cy9Jc2xhbmQuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFDRTtFQUNFLFlBQUE7RUFDQSx3Q0FBQTtFQUNBLGdDQUFBO0VBQ0Esc0NBQUE7RUFDQSxtREFBQTtFQUNBLGtCQUFBO0FBQUo7QUFFSTtFQUNFLGdCQUFBO0FBQU47QUFHSTtFQUNFLFdBQUE7QUFETjtBQUlJO0VBQ0UsNkJBQUE7QUFGTjtBQUtJO0VBQ0UsOENBQUE7QUFITjtBQUtJO0VBQ0Usb0RBQUE7QUFITjtBQU1JO0VBQ0UscURBQUE7QUFKTjtBQVVNO0VBQ0UsZ0JBQUE7QUFSUjtBQVVNO0VBQ0Usa0NBQUE7QUFSUjtBQWdCUTtFQUNFLGVBQUE7QUFkVlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIuZXhjYWxpZHJhdyB7XFxuICAuSXNsYW5kIHtcXG4gICAgLS1wYWRkaW5nOiAwO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pc2xhbmQtYmctY29sb3IpO1xcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctaXNsYW5kKTtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XFxuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGFkZGluZykgKiB2YXIoLS1zcGFjZS1mYWN0b3IpKTtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcblxcbiAgICAmLnplbi1tb2RlIHtcXG4gICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICB9XFxuXFxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcXG4gICAgICB3aWR0aDogMTBweDtcXG4gICAgfVxcblxcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIH1cXG5cXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNjcm9sbGJhci10aHVtYik7XFxuICAgIH1cXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNjcm9sbGJhci10aHVtYi1ob3Zlcik7XFxuICAgIH1cXG5cXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6YWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zY3JvbGxiYXItdGh1bWItYWN0aXZlKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLkFwcC1tZW51X3RvcCB7XFxuICAgIC5TdGFja192ZXJ0aWNhbCB7XFxuICAgICAgLklzbGFuZCB7XFxuICAgICAgICBtaW4td2lkdGg6IDIxNnB4O1xcbiAgICAgIH1cXG4gICAgICAuU3RhY2tfaG9yaXpvbnRhbCB7XFxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgJi5leGNhbGlkcmF3LS12aWV3LW1vZGUge1xcbiAgICAuQXBwLW1lbnVfdG9wIHtcXG4gICAgICAuU3RhY2tfdmVydGljYWwge1xcbiAgICAgICAgLklzbGFuZCB7XFxuICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../components/Island.scss\n");
|
|
904
914
|
|
|
905
915
|
/***/ }),
|
|
906
916
|
|
|
@@ -1076,7 +1086,18 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1076
1086
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
1077
1087
|
|
|
1078
1088
|
"use strict";
|
|
1079
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":export {\\n themeFilter: invert(93%) hue-rotate(180deg);\\n}\\n\\n.excalidraw .ToolIcon {\\n display: inline-flex;\\n align-items: center;\\n position: relative;\\n cursor: pointer;\\n -webkit-tap-highlight-color: transparent;\\n border-radius: var(--space-factor);\\n user-select: none;\\n background-color: var(--button-gray-1);\\n}\\n.excalidraw .ToolIcon:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .ToolIcon:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .ToolIcon--plain {\\n background-color: transparent;\\n}\\n.excalidraw .ToolIcon--plain .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n}\\n.excalidraw .ToolIcon__icon {\\n width: 2.5rem;\\n height: 2.5rem;\\n color: var(--icon-fill-color);\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n border-radius: var(--space-factor);\\n}\\n.excalidraw .ToolIcon__icon svg {\\n position: relative;\\n height: 1em;\\n fill: var(--icon-fill-color);\\n color: var(--icon-fill-color);\\n}\\n.excalidraw .ToolIcon__icon + .ToolIcon__label {\\n margin-inline-start: 0;\\n}\\n.excalidraw .ToolIcon__label {\\n display: flex;\\n align-items: center;\\n color: var(--icon-fill-color);\\n font-family: var(--ui-font);\\n margin: 0 0.8em;\\n text-overflow: ellipsis;\\n}\\n.excalidraw .ToolIcon__label .Spinner {\\n margin-left: 0.6em;\\n}\\n.excalidraw .ToolIcon_size_small .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n font-size: 0.8em;\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button,\\n.excalidraw .Modal .ToolIcon_type_button,\\n.excalidraw .ToolIcon_type_button {\\n padding: 0;\\n border: none;\\n margin: 0;\\n font-size: inherit;\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button:focus,\\n.excalidraw .Modal .ToolIcon_type_button:focus,\\n.excalidraw .ToolIcon_type_button:focus {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button.ToolIcon--selected,\\n.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected,\\n.excalidraw .ToolIcon_type_button.ToolIcon--selected {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button.ToolIcon--selected:active,\\n.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected:active,\\n.excalidraw .ToolIcon_type_button.ToolIcon--selected:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button:hover,\\n.excalidraw .Modal .ToolIcon_type_button:hover,\\n.excalidraw .ToolIcon_type_button:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button:active,\\n.excalidraw .Modal .ToolIcon_type_button:active,\\n.excalidraw .ToolIcon_type_button:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button--show,\\n.excalidraw .Modal .ToolIcon_type_button--show,\\n.excalidraw .ToolIcon_type_button--show {\\n visibility: visible;\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button--hide,\\n.excalidraw .Modal .ToolIcon_type_button--hide,\\n.excalidraw .ToolIcon_type_button--hide {\\n visibility: hidden;\\n}\\n.excalidraw .ToolIcon_type_radio,\\n.excalidraw .ToolIcon_type_checkbox {\\n position: absolute;\\n opacity: 0;\\n pointer-events: none;\\n}\\n.excalidraw .ToolIcon_type_radio:not(.ToolIcon_toggle_opaque):checked + .ToolIcon__icon,\\n.excalidraw .ToolIcon_type_checkbox:not(.ToolIcon_toggle_opaque):checked + .ToolIcon__icon {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .ToolIcon_type_radio:not(.ToolIcon_toggle_opaque):checked + .ToolIcon__icon:active,\\n.excalidraw .ToolIcon_type_checkbox:not(.ToolIcon_toggle_opaque):checked + .ToolIcon__icon:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .ToolIcon_type_radio:focus + .ToolIcon__icon,\\n.excalidraw .ToolIcon_type_checkbox:focus + .ToolIcon__icon {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw .ToolIcon_type_radio:active + .ToolIcon__icon,\\n.excalidraw .ToolIcon_type_checkbox:active + .ToolIcon__icon {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .ToolIcon_type_floating {\\n background-color: transparent;\\n}\\n.excalidraw .ToolIcon_type_floating:hover {\\n background-color: transparent;\\n}\\n.excalidraw .ToolIcon_type_floating:active {\\n background-color: transparent;\\n}\\n.excalidraw .ToolIcon_type_floating:focus {\\n box-shadow: none;\\n}\\n.excalidraw .ToolIcon_type_floating .ToolIcon__icon {\\n background-color: var(--button-gray-1);\\n width: 2rem;\\n height: 2em;\\n}\\n.excalidraw .ToolIcon_type_floating .ToolIcon__icon:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .ToolIcon_type_floating .ToolIcon__icon:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .ToolIcon.ToolIcon__lock {\\n margin-inline-end: var(--space-factor);\\n}\\n.excalidraw .ToolIcon.ToolIcon__lock.ToolIcon_type_floating {\\n margin-left: 0.1rem;\\n}\\n.excalidraw .ToolIcon__keybinding {\\n position: absolute;\\n bottom: 2px;\\n right: 3px;\\n font-size: 0.5em;\\n color: var(--keybinding-color);\\n font-family: var(--ui-font);\\n user-select: none;\\n}\\n@media (max-width: 425px) {\\n .excalidraw .Shape .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n }\\n .excalidraw .Shape .ToolIcon__icon svg {\\n height: 0.8em;\\n }\\n}\\n@media (max-width: 760px) {\\n .excalidraw .ToolIcon.ToolIcon_type_floating {\\n display: inline-block;\\n position: absolute;\\n right: calc(-2 * var(--space-factor));\\n margin-left: 0;\\n border-radius: 20px 0 0 20px;\\n z-index: 1;\\n background-color: var(--button-gray-1);\\n }\\n .excalidraw .ToolIcon.ToolIcon_type_floating:hover {\\n background-color: var(--button-gray-1);\\n }\\n .excalidraw .ToolIcon.ToolIcon_type_floating:active {\\n background-color: var(--button-gray-2);\\n }\\n .excalidraw .ToolIcon.ToolIcon_type_floating .ToolIcon__icon {\\n border-radius: inherit;\\n }\\n .excalidraw .ToolIcon.ToolIcon_type_floating svg {\\n position: static;\\n }\\n .excalidraw .ToolIcon.ToolIcon__library {\\n top: 100px;\\n }\\n .excalidraw .ToolIcon.ToolIcon__lock {\\n margin-inline-end: 0;\\n top: 60px;\\n }\\n}\\n:root[dir=ltr] .excalidraw .unlocked-icon {\\n left: 2px;\\n}\\n:root[dir=rtl] .excalidraw .unlocked-icon {\\n right: 2px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../css/variables.module.scss\",\"webpack://./../../components/ToolIcon.scss\"],\"names\":[],\"mappings\":\"AAUA;EACE,2CAAA;ACTF;;AAEE;EACE,oBAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,wCAAA;EACA,kCAAA;EACA,iBAAA;EAEA,sCAAA;AAAJ;AAEI;EACE,sCAAA;AAAN;AAEI;EACE,sCAAA;AAAN;AAIE;EACE,6BAAA;AAFJ;AAGI;EACE,WAAA;EACA,YAAA;AADN;AAKE;EACE,aAAA;EACA,cAAA;EACA,6BAAA;EAEA,aAAA;EACA,uBAAA;EACA,mBAAA;EAEA,kCAAA;AALJ;AAOI;EACE,kBAAA;EACA,WAAA;EACA,4BAAA;EACA,6BAAA;AALN;AAQI;EACE,sBAAA;AANN;AAUE;EACE,aAAA;EACA,mBAAA;EACA,6BAAA;EACA,2BAAA;EACA,eAAA;EACA,uBAAA;AARJ;AAUI;EACE,kBAAA;AARN;AAYE;EACE,WAAA;EACA,YAAA;EACA,gBAAA;AAVJ;AAaE;;;EAGE,UAAA;EACA,YAAA;EACA,SAAA;EACA,kBAAA;AAXJ;AAaI;;;EACE,kDAAA;AATN;AAYI;;;EACE,sCAAA;AARN;AAUM;;;EACE,sCAAA;AANR;AAUI;;;EACE,sCAAA;AANN;AASI;;;EACE,sCAAA;AALN;AAQI;;;EACE,mBAAA;AAJN;AAOI;;;EACE,kBAAA;AAHN;AAOE;;EAEE,kBAAA;EACA,UAAA;EACA,oBAAA;AALJ;AAOI;;EACE,sCAAA;AAJN;AAKM;;EACE,sCAAA;AAFR;AAMI;;EACE,kDAAA;AAHN;AAMI;;EACE,sCAAA;AAHN;AAOE;EACE,6BAAA;AALJ;AAOI;EACE,6BAAA;AALN;AAQI;EACE,6BAAA;AANN;AASI;EACE,gBAAA;AAPN;AAUI;EACE,sCAAA;EAQA,WAAA;EACA,WAAA;AAfN;AAOM;EACE,sCAAA;AALR;AAOM;EACE,sCAAA;AALR;AAaE;EACE,sCAAA;AAXJ;AAYI;EACE,mBAAA;AAVN;AAcE;EACE,kBAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,8BAAA;EACA,2BAAA;EACA,iBAAA;AAZJ;AAgBE;EACE;IACE,WAAA;IACA,YAAA;EAdJ;EAgBI;IACE,aAAA;EAdN;AACF;AAoBE;EACE;IACE,qBAAA;IACA,kBAAA;IACA,qCAAA;IAEA,cAAA;IACA,4BAAA;IACA,UAAA;IAEA,sCAAA;EApBJ;EAsBI;IACE,sCAAA;EApBN;EAuBI;IACE,sCAAA;EArBN;EAwBI;IACE,sBAAA;EAtBN;EAyBI;IACE,gBAAA;EAvBN;EA0BE;IACE,UAAA;EAxBJ;EA2BE;IACE,oBAAA;IACA,SAAA;EAzBJ;AACF;AA6BI;EACE,SAAA;AA3BN;AA8BI;EACE,UAAA;AA5BN\",\"sourcesContent\":[\"@import \\\"open-color/open-color.scss\\\";\\n\\n@mixin isMobile() {\\n @at-root .excalidraw--mobile#{&} {\\n @content;\\n }\\n}\\n\\n$theme-filter: \\\"invert(93%) hue-rotate(180deg)\\\";\\n\\n:export {\\n themeFilter: unquote($theme-filter);\\n}\\n\",\"@import \\\"open-color/open-color.scss\\\";\\n@import \\\"../css/variables.module\\\";\\n\\n.excalidraw {\\n .ToolIcon {\\n display: inline-flex;\\n align-items: center;\\n position: relative;\\n cursor: pointer;\\n -webkit-tap-highlight-color: transparent;\\n border-radius: var(--space-factor);\\n user-select: none;\\n\\n background-color: var(--button-gray-1);\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n }\\n\\n .ToolIcon--plain {\\n background-color: transparent;\\n .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n }\\n }\\n\\n .ToolIcon__icon {\\n width: 2.5rem;\\n height: 2.5rem;\\n color: var(--icon-fill-color);\\n\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\\n border-radius: var(--space-factor);\\n\\n svg {\\n position: relative;\\n height: 1em;\\n fill: var(--icon-fill-color);\\n color: var(--icon-fill-color);\\n }\\n\\n & + .ToolIcon__label {\\n margin-inline-start: 0;\\n }\\n }\\n\\n .ToolIcon__label {\\n display: flex;\\n align-items: center;\\n color: var(--icon-fill-color);\\n font-family: var(--ui-font);\\n margin: 0 0.8em;\\n text-overflow: ellipsis;\\n\\n .Spinner {\\n margin-left: 0.6em;\\n }\\n }\\n\\n .ToolIcon_size_small .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n font-size: 0.8em;\\n }\\n\\n .excalidraw .ToolIcon_type_button,\\n .Modal .ToolIcon_type_button,\\n .ToolIcon_type_button {\\n padding: 0;\\n border: none;\\n margin: 0;\\n font-size: inherit;\\n\\n &:focus {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n &.ToolIcon--selected {\\n background-color: var(--button-gray-2);\\n\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n }\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n\\n &--show {\\n visibility: visible;\\n }\\n\\n &--hide {\\n visibility: hidden;\\n }\\n }\\n\\n .ToolIcon_type_radio,\\n .ToolIcon_type_checkbox {\\n position: absolute;\\n opacity: 0;\\n pointer-events: none;\\n\\n &:not(.ToolIcon_toggle_opaque):checked + .ToolIcon__icon {\\n background-color: var(--button-gray-2);\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n }\\n\\n &:focus + .ToolIcon__icon {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n &:active + .ToolIcon__icon {\\n background-color: var(--button-gray-3);\\n }\\n }\\n\\n .ToolIcon_type_floating {\\n background-color: transparent;\\n\\n &:hover {\\n background-color: transparent;\\n }\\n\\n &:active {\\n background-color: transparent;\\n }\\n\\n &:focus {\\n box-shadow: none;\\n }\\n\\n .ToolIcon__icon {\\n background-color: var(--button-gray-1);\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n\\n width: 2rem;\\n height: 2em;\\n }\\n }\\n\\n .ToolIcon.ToolIcon__lock {\\n margin-inline-end: var(--space-factor);\\n &.ToolIcon_type_floating {\\n margin-left: 0.1rem;\\n }\\n }\\n\\n .ToolIcon__keybinding {\\n position: absolute;\\n bottom: 2px;\\n right: 3px;\\n font-size: 0.5em;\\n color: var(--keybinding-color);\\n font-family: var(--ui-font);\\n user-select: none;\\n }\\n\\n // shrink shape icons on small viewports to make them fit\\n @media (max-width: 425px) {\\n .Shape .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n\\n svg {\\n height: 0.8em;\\n }\\n }\\n }\\n\\n // move the lock button out of the way on small viewports\\n // it begins to collide with the GitHub icon before we switch to mobile mode\\n @media (max-width: 760px) {\\n .ToolIcon.ToolIcon_type_floating {\\n display: inline-block;\\n position: absolute;\\n right: calc(-2 * var(--space-factor));\\n\\n margin-left: 0;\\n border-radius: 20px 0 0 20px;\\n z-index: 1;\\n\\n background-color: var(--button-gray-1);\\n\\n &:hover {\\n background-color: var(--button-gray-1);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-2);\\n }\\n\\n .ToolIcon__icon {\\n border-radius: inherit;\\n }\\n\\n svg {\\n position: static;\\n }\\n }\\n .ToolIcon.ToolIcon__library {\\n top: 100px;\\n }\\n\\n .ToolIcon.ToolIcon__lock {\\n margin-inline-end: 0;\\n top: 60px;\\n }\\n }\\n\\n .unlocked-icon {\\n :root[dir=\\\"ltr\\\"] & {\\n left: 2px;\\n }\\n\\n :root[dir=\\\"rtl\\\"] & {\\n right: 2px;\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1swXS51c2VbMl0hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vY29tcG9uZW50cy9Ub29sSWNvbi5zY3NzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDOEg7QUFDakI7QUFDN0csOEJBQThCLHVHQUEyQixDQUFDLGdIQUFxQztBQUMvRjtBQUNBLG1EQUFtRCxnREFBZ0QsR0FBRywyQkFBMkIseUJBQXlCLHdCQUF3Qix1QkFBdUIsb0JBQW9CLDZDQUE2Qyx1Q0FBdUMsc0JBQXNCLDJDQUEyQyxHQUFHLCtCQUErQiwyQ0FBMkMsR0FBRyxnQ0FBZ0MsMkNBQTJDLEdBQUcsZ0NBQWdDLGtDQUFrQyxHQUFHLGdEQUFnRCxnQkFBZ0IsaUJBQWlCLEdBQUcsK0JBQStCLGtCQUFrQixtQkFBbUIsa0NBQWtDLGtCQUFrQiw0QkFBNEIsd0JBQXdCLHVDQUF1QyxHQUFHLG1DQUFtQyx1QkFBdUIsZ0JBQWdCLGlDQUFpQyxrQ0FBa0MsR0FBRyxrREFBa0QsMkJBQTJCLEdBQUcsZ0NBQWdDLGtCQUFrQix3QkFBd0Isa0NBQWtDLGdDQUFnQyxvQkFBb0IsNEJBQTRCLEdBQUcseUNBQXlDLHVCQUF1QixHQUFHLG9EQUFvRCxnQkFBZ0IsaUJBQWlCLHFCQUFxQixHQUFHLGdJQUFnSSxlQUFlLGlCQUFpQixjQUFjLHVCQUF1QixHQUFHLGtKQUFrSix1REFBdUQsR0FBRyx5TEFBeUwsMkNBQTJDLEdBQUcsOE1BQThNLDJDQUEyQyxHQUFHLGtKQUFrSiwyQ0FBMkMsR0FBRyxxSkFBcUosMkNBQTJDLEdBQUcsa0pBQWtKLHdCQUF3QixHQUFHLGtKQUFrSix1QkFBdUIsR0FBRywwRUFBMEUsdUJBQXVCLGVBQWUseUJBQXlCLEdBQUcsd0xBQXdMLDJDQUEyQyxHQUFHLHNN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T0FBTyxtQ0FBbUMsbUJBQW1CLE9BQU8sa0NBQWtDLDZCQUE2QixrQkFBa0IsT0FBTyxLQUFLLHNCQUFzQiw0QkFBNEIsa0JBQWtCLE9BQU8sOEJBQThCLG1CQUFtQixPQUFPLEtBQUssR0FBRyxxQkFBcUI7QUFDcHBaO0FBQ0EsaUVBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vY29tcG9uZW50cy9Ub29sSWNvbi5zY3NzP2EwZDciXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiOmV4cG9ydCB7XFxuICB0aGVtZUZpbHRlcjogaW52ZXJ0KDkzJSkgaHVlLXJvdGF0ZSgxODBkZWcpO1xcbn1cXG5cXG4uZXhjYWxpZHJhdyAuVG9vbEljb24ge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNlLWZhY3Rvcik7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb246aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbjphY3RpdmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMyk7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbi0tcGxhaW4ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbi0tcGxhaW4gLlRvb2xJY29uX19pY29uIHtcXG4gIHdpZHRoOiAycmVtO1xcbiAgaGVpZ2h0OiAycmVtO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fX2ljb24ge1xcbiAgd2lkdGg6IDIuNXJlbTtcXG4gIGhlaWdodDogMi41cmVtO1xcbiAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2UtZmFjdG9yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX19pY29uIHN2ZyB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBoZWlnaHQ6IDFlbTtcXG4gIGZpbGw6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICBjb2xvcjogdmFyKC0taWNvbi1maWxsLWNvbG9yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX19pY29uICsgLlRvb2xJY29uX19sYWJlbCB7XFxuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fX2xhYmVsIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICBmb250LWZhbWlseTogdmFyKC0tdWktZm9udCk7XFxuICBtYXJnaW46IDAgMC44ZW07XFxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX19sYWJlbCAuU3Bpbm5lciB7XFxuICBtYXJnaW4tbGVmdDogMC42ZW07XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl9zaXplX3NtYWxsIC5Ub29sSWNvbl9faWNvbiB7XFxuICB3aWR0aDogMnJlbTtcXG4gIGhlaWdodDogMnJlbTtcXG4gIGZvbnQtc2l6ZTogMC44ZW07XFxufVxcbi5leGNhbGlkcmF3IC5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbixcXG4uZXhjYWxpZHJhdyAuTW9kYWwgLlRvb2xJY29uX3R5cGVfYnV0dG9uLFxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbiB7XFxuICBwYWRkaW5nOiAwO1xcbiAgYm9yZGVyOiBub25lO1xcbiAgbWFyZ2luOiAwO1xcbiAgZm9udC1zaXplOiBpbmhlcml0O1xcbn1cXG4uZXhjYWxpZHJhdyAuZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9idXR0b246Zm9jdXMsXFxuLmV4Y2FsaWRyYXcgLk1vZGFsIC5Ub29sSWNvbl90eXBlX2J1dHRvbjpmb2N1cyxcXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9idXR0b246Zm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcik7XFxufVxcbi5leGNhbGlkcmF3IC5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbi5Ub29sSWNvbi0tc2VsZWN0ZWQsXFxuLmV4Y2FsaWRyYXcgLk1vZGFsIC5Ub29sSWNvbl90eXBlX2J1dHRvbi5Ub29sSWNvbi0tc2VsZWN0ZWQsXFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfYnV0dG9uLlRvb2xJY29uLS1zZWxlY3RlZCB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfYnV0dG9uLlRvb2xJY29uLS1zZWxlY3RlZDphY3RpdmUsXFxuLmV4Y2FsaWRyYXcgLk1vZGFsIC5Ub29sSWNvbl90eXBlX2J1dHRvbi5Ub29sSWNvbi0tc2VsZWN0ZWQ6YWN0aXZlLFxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbi5Ub29sSWNvbi0tc2VsZWN0ZWQ6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbn1cXG4uZXhjYWxpZHJhdyAuZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9idXR0b246aG92ZXIsXFxuLmV4Y2FsaWRyYXcgLk1vZGFsIC5Ub29sSWNvbl90eXBlX2J1dHRvbjpob3ZlcixcXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9idXR0b246aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IC5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbjphY3RpdmUsXFxuLmV4Y2FsaWRyYXcgLk1vZGFsIC5Ub29sSWNvbl90eXBlX2J1dHRvbjphY3RpdmUsXFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfYnV0dG9uOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0zKTtcXG59XFxuLmV4Y2FsaWRyYXcgLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfYnV0dG9uLS1zaG93LFxcbi5leGNhbGlkcmF3IC5Nb2RhbCAuVG9vbEljb25fdHlwZV9idXR0b24tLXNob3csXFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfYnV0dG9uLS1zaG93IHtcXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XFxufVxcbi5leGNhbGlkcmF3IC5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbi0taGlkZSxcXG4uZXhjYWxpZHJhdyAuTW9kYWwgLlRvb2xJY29uX3R5cGVfYnV0dG9uLS1oaWRlLFxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbi0taGlkZSB7XFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX3JhZGlvLFxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2NoZWNrYm94IHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIG9wYWNpdHk6IDA7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfcmFkaW86bm90KC5Ub29sSWNvbl90b2dnbGVfb3BhcXVlKTpjaGVja2VkICsgLlRvb2xJY29uX19pY29uLFxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2NoZWNrYm94Om5vdCguVG9vbEljb25fdG9nZ2xlX29wYXF1ZSk6Y2hlY2tlZCArIC5Ub29sSWNvbl9faWNvbiB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfcmFkaW86bm90KC5Ub29sSWNvbl90b2dnbGVfb3BhcXVlKTpjaGVja2VkICsgLlRvb2xJY29uX19pY29uOmFjdGl2ZSxcXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9jaGVja2JveDpub3QoLlRvb2xJY29uX3RvZ2dsZV9vcGFxdWUpOmNoZWNrZWQgKyAuVG9vbEljb25fX2ljb246YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9yYWRpbzpmb2N1cyArIC5Ub29sSWNvbl9faWNvbixcXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9jaGVja2JveDpmb2N1cyArIC5Ub29sSWNvbl9faWNvbiB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfcmFkaW86YWN0aXZlICsgLlRvb2xJY29uX19pY29uLFxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2NoZWNrYm94OmFjdGl2ZSArIC5Ub29sSWNvbl9faWNvbiB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0zKTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfZmxvYXRpbmcge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9mbG9hdGluZzphY3RpdmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nOmZvY3VzIHtcXG4gIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIC5Ub29sSWNvbl9faWNvbiB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0xKTtcXG4gIHdpZHRoOiAycmVtO1xcbiAgaGVpZ2h0OiAyZW07XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIC5Ub29sSWNvbl9faWNvbjpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfZmxvYXRpbmcgLlRvb2xJY29uX19pY29uOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0zKTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uLlRvb2xJY29uX19sb2NrIHtcXG4gIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1zcGFjZS1mYWN0b3IpO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb24uVG9vbEljb25fX2xvY2suVG9vbEljb25fdHlwZV9mbG9hdGluZyB7XFxuICBtYXJnaW4tbGVmdDogMC4xcmVtO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fX2tleWJpbmRpbmcge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm90dG9tOiAycHg7XFxuICByaWdodDogM3B4O1xcbiAgZm9udC1zaXplOiAwLjVlbTtcXG4gIGNvbG9yOiB2YXIoLS1rZXliaW5kaW5nLWNvbG9yKTtcXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS11aS1mb250KTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbn1cXG5AbWVkaWEgKG1heC13aWR0aDogNDI1cHgpIHtcXG4gIC5leGNhbGlkcmF3IC5TaGFwZSAuVG9vbEljb25fX2ljb24ge1xcbiAgICB3aWR0aDogMnJlbTtcXG4gICAgaGVpZ2h0OiAycmVtO1xcbiAgfVxcbiAgLmV4Y2FsaWRyYXcgLlNoYXBlIC5Ub29sSWNvbl9faWNvbiBzdmcge1xcbiAgICBoZWlnaHQ6IDAuOGVtO1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHtcXG4gIC5leGNhbGlkcmF3IC5Ub29sSWNvbi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHJpZ2h0OiBjYWxjKC0yICogdmFyKC0tc3BhY2UtZmFjdG9yKSk7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4IDAgMCAyMHB4O1xcbiAgICB6LWluZGV4OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0xKTtcXG4gIH1cXG4gIC5leGNhbGlkcmF3IC5Ub29sSWNvbi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nOmhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMSk7XFxuICB9XFxuICAuZXhjYWxpZHJhdyAuVG9vbEljb24uVG9vbEljb25fdHlwZV9mbG9hdGluZzphY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gIH1cXG4gIC5leGNhbGlkcmF3IC5Ub29sSWNvbi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIC5Ub29sSWNvbl9faWNvbiB7XFxuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICB9XFxuICAuZXhjYWxpZHJhdyAuVG9vbEljb24uVG9vbEljb25fdHlwZV9mbG9hdGluZyBzdmcge1xcbiAgICBwb3NpdGlvbjogc3RhdGljO1xcbiAgfVxcbiAgLmV4Y2FsaWRyYXcgLlRvb2xJY29uLlRvb2xJY29uX19saWJyYXJ5IHtcXG4gICAgdG9wOiAxMDBweDtcXG4gIH1cXG4gIC5leGNhbGlkcmF3IC5Ub29sSWNvbi5Ub29sSWNvbl9fbG9jayB7XFxuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xcbiAgICB0b3A6IDYwcHg7XFxuICB9XFxufVxcbjpyb290W2Rpcj1sdHJdIC5leGNhbGlkcmF3IC51bmxvY2tlZC1pY29uIHtcXG4gIGxlZnQ6IDJweDtcXG59XFxuOnJvb3RbZGlyPXJ0bF0gLmV4Y2FsaWRyYXcgLnVubG9ja2VkLWljb24ge1xcbiAgcmlnaHQ6IDJweDtcXG59XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vLi4vLi4vY3NzL3ZhcmlhYmxlcy5tb2R1bGUuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vY29tcG9uZW50cy9Ub29sSWNvbi5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQVVBO0VBQ0UsMkNBQUE7QUNURjs7QUFFRTtFQUNFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSx3Q0FBQTtFQUNBLGtDQUFBO0VBQ0EsaUJBQUE7RUFFQSxzQ0FBQTtBQUFKO0FBRUk7RUFDRSxzQ0FBQTtBQUFOO0FBRUk7RUFDRSxzQ0FBQTtBQUFOO0FBSUU7RUFDRSw2QkFBQTtBQUZKO0FBR0k7RUFDRSxXQUFBO0VBQ0EsWUFBQTtBQUROO0FBS0U7RUFDRSxhQUFBO0VBQ0EsY0FBQTtFQUNBLDZCQUFBO0VBRUEsYUFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFFQSxrQ0FBQTtBQUxKO0FBT0k7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSw0QkFBQTtFQUNBLDZCQUFBO0FBTE47QUFRSTtFQUNFLHNCQUFBO0FBTk47QUFVRTtFQUNFLGFBQUE7RUFDQSxtQkFBQTtFQUNBLDZCQUFBO0VBQ0EsMkJBQUE7RUFDQSxlQUFBO0VBQ0EsdUJBQUE7QUFSSjtBQVVJO0VBQ0Usa0JBQUE7QUFSTjtBQVlFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtBQVZKO0FBYUU7OztFQUdFLFVBQUE7RUFDQSxZQUFBO0VBQ0EsU0FBQTtFQUNBLGtCQUFBO0FBWEo7QUFhSTs7O0VBQ0Usa0RBQUE7QUFUTjtBQVlJOzs7RUFDRSxzQ0FBQTtBQVJOO0FBVU07OztFQUNFLHNDQUFBO0FBTlI7QUFVSTs7O0VBQ0Usc0NBQUE7QUFOTjtBQVNJOzs7RUFDRSxzQ0FBQTtBQUxOO0FBUUk7OztFQUNFLG1CQUFBO0FBSk47QUFPSTs7O0VBQ0Usa0JBQUE7QUFITjtBQU9FOztFQUVFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLG9CQUFBO0FBTEo7QUFPSTs7RUFDRSxzQ0FBQTtBQUpOO0FBS007O0VBQ0Usc0NBQUE7QUFGUjtBQU1JOztFQUNFLGtEQUFBO0FBSE47QUFNSTs7RUFDRSxzQ0FBQTtBQUhOO0FBT0U7RUFDRSw2QkFBQTtBQUxKO0FBT0k7RUFDRSw2QkFBQTtBQUxOO0FBUUk7RUFDRSw2QkFBQTtBQU5OO0FBU0k7RUFDRSxnQkFBQTtBQVBOO0FBVUk7RUFDRSxzQ0FBQTtFQVFBLFdBQUE7RUFDQSxXQUFBO0FBZk47QUFPTTtFQUNFLHNDQUFBO0FBTFI7QUFPTTtFQUNFLHNDQUFBO0FBTFI7QUFhRTtFQUNFLHNDQUFBO0FBWEo7QUFZSTtFQUNFLG1CQUFBO0FBVk47QUFjRTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLDhCQUFBO0VBQ0EsMkJBQUE7RUFDQSxpQkFBQTtBQVpKO0FBZ0JFO0VBQ0U7SUFDRSxXQUFBO0lBQ0EsWUFBQTtFQWRKO0VBZ0JJO0lBQ0UsYUFBQTtFQWROO0FBQ0Y7QUFvQkU7RUFDRTtJQUNFLHFCQUFBO0lBQ0Esa0JBQUE7SUFDQSxxQ0FBQTtJQUVBLGNBQUE7SUFDQSw0QkFBQTtJQUNBLFVBQUE7SUFFQSxzQ0FBQTtFQXBCSjtFQXNCSTtJQUNFLHNDQUFBO0VBcEJOO0VBdUJJO0lBQ0Usc0NBQUE7RUFyQk47RUF3Qkk7SUFDRSxzQkFBQTtFQXRCTjtFQXlCSTtJQUNFLGdCQUFBO0VBdkJOO0VBMEJFO0lBQ0UsVUFBQTtFQXhCSjtFQTJCRTtJQUNFLG9CQUFBO0lBQ0EsU0FBQTtFQXpCSjtBQUNGO0FBNkJJO0VBQ0UsU0FBQTtBQTNCTjtBQThCSTtFQUNFLFVBQUE7QUE1Qk5cIixcInNvdXJjZXNDb250ZW50XCI6W1wiQGltcG9ydCBcXFwib3Blbi1jb2xvci9vcGVuLWNvbG9yLnNjc3NcXFwiO1xcblxcbkBtaXhpbiBpc01vYmlsZSgpIHtcXG4gIEBhdC1yb290IC5leGNhbGlkcmF3LS1tb2JpbGUjeyZ9IHtcXG4gICAgQGNvbnRlbnQ7XFxuICB9XFxufVxcblxcbiR0aGVtZS1maWx0ZXI6IFxcXCJpbnZlcnQoOTMlKSBodWUtcm90YXRlKDE4MGRlZylcXFwiO1xcblxcbjpleHBvcnQge1xcbiAgdGhlbWVGaWx0ZXI6IHVucXVvdGUoJHRoZW1lLWZpbHRlcik7XFxufVxcblwiLFwiQGltcG9ydCBcXFwib3Blbi1jb2xvci9vcGVuLWNvbG9yLnNjc3NcXFwiO1xcbkBpbXBvcnQgXFxcIi4uL2Nzcy92YXJpYWJsZXMubW9kdWxlXFxcIjtcXG5cXG4uZXhjYWxpZHJhdyB7XFxuICAuVG9vbEljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNlLWZhY3Rvcik7XFxuICAgIHVzZXItc2VsZWN0OiBub25lO1xcblxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0xKTtcXG5cXG4gICAgJjpob3ZlciB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuICAgIH1cXG4gICAgJjphY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbiAgICB9XFxuICB9XFxuXFxuICAuVG9vbEljb24tLXBsYWluIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIC5Ub29sSWNvbl9faWNvbiB7XFxuICAgICAgd2lkdGg6IDJyZW07XFxuICAgICAgaGVpZ2h0OiAycmVtO1xcbiAgICB9XFxuICB9XFxuXFxuICAuVG9vbEljb25fX2ljb24ge1xcbiAgICB3aWR0aDogMi41cmVtO1xcbiAgICBoZWlnaHQ6IDIuNXJlbTtcXG4gICAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuXFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcblxcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zcGFjZS1mYWN0b3IpO1xcblxcbiAgICBzdmcge1xcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgICBoZWlnaHQ6IDFlbTtcXG4gICAgICBmaWxsOiB2YXIoLS1pY29uLWZpbGwtY29sb3IpO1xcbiAgICAgIGNvbG9yOiB2YXIoLS1pY29uLWZpbGwtY29sb3IpO1xcbiAgICB9XFxuXFxuICAgICYgKyAuVG9vbEljb25fX2xhYmVsIHtcXG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xcbiAgICB9XFxuICB9XFxuXFxuICAuVG9vbEljb25fX2xhYmVsIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS11aS1mb250KTtcXG4gICAgbWFyZ2luOiAwIDAuOGVtO1xcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcXG5cXG4gICAgLlNwaW5uZXIge1xcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjZlbTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLlRvb2xJY29uX3NpemVfc21hbGwgLlRvb2xJY29uX19pY29uIHtcXG4gICAgd2lkdGg6IDJyZW07XFxuICAgIGhlaWdodDogMnJlbTtcXG4gICAgZm9udC1zaXplOiAwLjhlbTtcXG4gIH1cXG5cXG4gIC5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbixcXG4gIC5Nb2RhbCAuVG9vbEljb25fdHlwZV9idXR0b24sXFxuICAuVG9vbEljb25fdHlwZV9idXR0b24ge1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBib3JkZXI6IG5vbmU7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xcblxcbiAgICAmOmZvY3VzIHtcXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG4gICAgfVxcblxcbiAgICAmLlRvb2xJY29uLS1zZWxlY3RlZCB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuXFxuICAgICAgJjphY3RpdmUge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMyk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgICY6aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbiAgICB9XFxuXFxuICAgICY6YWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0zKTtcXG4gICAgfVxcblxcbiAgICAmLS1zaG93IHtcXG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xcbiAgICB9XFxuXFxuICAgICYtLWhpZGUge1xcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcXG4gICAgfVxcbiAgfVxcblxcbiAgLlRvb2xJY29uX3R5cGVfcmFkaW8sXFxuICAuVG9vbEljb25fdHlwZV9jaGVja2JveCB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgb3BhY2l0eTogMDtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxuXFxuICAgICY6bm90KC5Ub29sSWNvbl90b2dnbGVfb3BhcXVlKTpjaGVja2VkICsgLlRvb2xJY29uX19pY29uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gICAgICAmOmFjdGl2ZSB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0zKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgJjpmb2N1cyArIC5Ub29sSWNvbl9faWNvbiB7XFxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcik7XFxuICAgIH1cXG5cXG4gICAgJjphY3RpdmUgKyAuVG9vbEljb25fX2ljb24ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbiAgICB9XFxuICB9XFxuXFxuICAuVG9vbEljb25fdHlwZV9mbG9hdGluZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgfVxcblxcbiAgICAmOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIH1cXG5cXG4gICAgJjpmb2N1cyB7XFxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgfVxcblxcbiAgICAuVG9vbEljb25fX2ljb24ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbiAgICAgICY6aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuICAgICAgfVxcbiAgICAgICY6YWN0aXZlIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbiAgICAgIH1cXG5cXG4gICAgICB3aWR0aDogMnJlbTtcXG4gICAgICBoZWlnaHQ6IDJlbTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLlRvb2xJY29uLlRvb2xJY29uX19sb2NrIHtcXG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNwYWNlLWZhY3Rvcik7XFxuICAgICYuVG9vbEljb25fdHlwZV9mbG9hdGluZyB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDAuMXJlbTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLlRvb2xJY29uX19rZXliaW5kaW5nIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBib3R0b206IDJweDtcXG4gICAgcmlnaHQ6IDNweDtcXG4gICAgZm9udC1zaXplOiAwLjVlbTtcXG4gICAgY29sb3I6IHZhcigtLWtleWJpbmRpbmctY29sb3IpO1xcbiAgICBmb250LWZhbWlseTogdmFyKC0tdWktZm9udCk7XFxuICAgIHVzZXItc2VsZWN0OiBub25lO1xcbiAgfVxcblxcbiAgLy8gc2hyaW5rIHNoYXBlIGljb25zIG9uIHNtYWxsIHZpZXdwb3J0cyB0byBtYWtlIHRoZW0gZml0XFxuICBAbWVkaWEgKG1heC13aWR0aDogNDI1cHgpIHtcXG4gICAgLlNoYXBlIC5Ub29sSWNvbl9faWNvbiB7XFxuICAgICAgd2lkdGg6IDJyZW07XFxuICAgICAgaGVpZ2h0OiAycmVtO1xcblxcbiAgICAgIHN2ZyB7XFxuICAgICAgICBoZWlnaHQ6IDAuOGVtO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gbW92ZSB0aGUgbG9jayBidXR0b24gb3V0IG9mIHRoZSB3YXkgb24gc21hbGwgdmlld3BvcnRzXFxuICAvLyBpdCBiZWdpbnMgdG8gY29sbGlkZSB3aXRoIHRoZSBHaXRIdWIgaWNvbiBiZWZvcmUgd2Ugc3dpdGNoIHRvIG1vYmlsZSBtb2RlXFxuICBAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHtcXG4gICAgLlRvb2xJY29uLlRvb2xJY29uX3R5cGVfZmxvYXRpbmcge1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgICAgcmlnaHQ6IGNhbGMoLTIgKiB2YXIoLS1zcGFjZS1mYWN0b3IpKTtcXG5cXG4gICAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDAgMCAyMHB4O1xcbiAgICAgIHotaW5kZXg6IDE7XFxuXFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMSk7XFxuXFxuICAgICAgJjpob3ZlciB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0xKTtcXG4gICAgICB9XFxuXFxuICAgICAgJjphY3RpdmUge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuICAgICAgfVxcblxcbiAgICAgIC5Ub29sSWNvbl9faWNvbiB7XFxuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgICAgIH1cXG5cXG4gICAgICBzdmcge1xcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgLlRvb2xJY29uLlRvb2xJY29uX19saWJyYXJ5IHtcXG4gICAgICB0b3A6IDEwMHB4O1xcbiAgICB9XFxuXFxuICAgIC5Ub29sSWNvbi5Ub29sSWNvbl9fbG9jayB7XFxuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XFxuICAgICAgdG9wOiA2MHB4O1xcbiAgICB9XFxuICB9XFxuXFxuICAudW5sb2NrZWQtaWNvbiB7XFxuICAgIDpyb290W2Rpcj1cXFwibHRyXFxcIl0gJiB7XFxuICAgICAgbGVmdDogMnB4O1xcbiAgICB9XFxuXFxuICAgIDpyb290W2Rpcj1cXFwicnRsXFxcIl0gJiB7XFxuICAgICAgcmlnaHQ6IDJweDtcXG4gICAgfVxcbiAgfVxcbn1cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../components/ToolIcon.scss\n");
|
|
1089
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":export {\\n themeFilter: invert(93%) hue-rotate(180deg);\\n}\\n\\n.excalidraw .ToolIcon {\\n display: inline-flex;\\n align-items: center;\\n position: relative;\\n cursor: pointer;\\n -webkit-tap-highlight-color: transparent;\\n user-select: none;\\n}\\n.excalidraw .ToolIcon--plain {\\n background-color: transparent;\\n}\\n.excalidraw .ToolIcon--plain .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n}\\n.excalidraw .ToolIcon_type_radio + .ToolIcon__icon,\\n.excalidraw .ToolIcon_type_checkbox + .ToolIcon__icon {\\n background-color: var(--button-gray-1);\\n}\\n.excalidraw .ToolIcon_type_radio + .ToolIcon__icon:hover,\\n.excalidraw .ToolIcon_type_checkbox + .ToolIcon__icon:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .ToolIcon_type_radio + .ToolIcon__icon:active,\\n.excalidraw .ToolIcon_type_checkbox + .ToolIcon__icon:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .ToolIcon__icon {\\n width: 2.5rem;\\n height: 2.5rem;\\n color: var(--icon-fill-color);\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n border-radius: var(--border-radius-lg);\\n}\\n.excalidraw .ToolIcon__icon + .ToolIcon__label {\\n margin-inline-start: 0;\\n}\\n.excalidraw .ToolIcon__icon svg {\\n position: relative;\\n height: 1em;\\n fill: var(--icon-fill-color);\\n color: var(--icon-fill-color);\\n}\\n.excalidraw .ToolIcon__label {\\n display: flex;\\n align-items: center;\\n color: var(--icon-fill-color);\\n font-family: var(--ui-font);\\n margin: 0 0.8em;\\n text-overflow: ellipsis;\\n}\\n.excalidraw .ToolIcon__label .Spinner {\\n margin-left: 0.6em;\\n}\\n.excalidraw .ToolIcon_size_small .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n font-size: 0.8em;\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button,\\n.excalidraw .Modal .ToolIcon_type_button,\\n.excalidraw .ToolIcon_type_button {\\n padding: 0;\\n border: none;\\n margin: 0;\\n font-size: inherit;\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button:focus-visible,\\n.excalidraw .Modal .ToolIcon_type_button:focus-visible,\\n.excalidraw .ToolIcon_type_button:focus-visible {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button.ToolIcon--selected,\\n.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected,\\n.excalidraw .ToolIcon_type_button.ToolIcon--selected {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button.ToolIcon--selected:active,\\n.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected:active,\\n.excalidraw .ToolIcon_type_button.ToolIcon--selected:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button:hover,\\n.excalidraw .Modal .ToolIcon_type_button:hover,\\n.excalidraw .ToolIcon_type_button:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button:active,\\n.excalidraw .Modal .ToolIcon_type_button:active,\\n.excalidraw .ToolIcon_type_button:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button--show,\\n.excalidraw .Modal .ToolIcon_type_button--show,\\n.excalidraw .ToolIcon_type_button--show {\\n visibility: visible;\\n}\\n.excalidraw .excalidraw .ToolIcon_type_button--hide,\\n.excalidraw .Modal .ToolIcon_type_button--hide,\\n.excalidraw .ToolIcon_type_button--hide {\\n visibility: hidden;\\n}\\n.excalidraw .ToolIcon_type_radio,\\n.excalidraw .ToolIcon_type_checkbox {\\n position: absolute;\\n opacity: 0;\\n pointer-events: none;\\n}\\n.excalidraw .ToolIcon_type_radio:not(.ToolIcon_toggle_opaque):checked + .ToolIcon__icon,\\n.excalidraw .ToolIcon_type_checkbox:not(.ToolIcon_toggle_opaque):checked + .ToolIcon__icon {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .ToolIcon_type_radio:not(.ToolIcon_toggle_opaque):checked + .ToolIcon__icon:active,\\n.excalidraw .ToolIcon_type_checkbox:not(.ToolIcon_toggle_opaque):checked + .ToolIcon__icon:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .ToolIcon_type_radio:focus-visible + .ToolIcon__icon,\\n.excalidraw .ToolIcon_type_checkbox:focus-visible + .ToolIcon__icon {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw .ToolIcon_type_radio:active + .ToolIcon__icon,\\n.excalidraw .ToolIcon_type_checkbox:active + .ToolIcon__icon {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .ToolIcon_type_floating {\\n background-color: transparent;\\n}\\n.excalidraw .ToolIcon_type_floating:hover {\\n background-color: transparent;\\n}\\n.excalidraw .ToolIcon_type_floating:active {\\n background-color: transparent;\\n}\\n.excalidraw .ToolIcon_type_floating .ToolIcon__icon {\\n background-color: var(--button-gray-1);\\n width: 2rem;\\n height: 2em;\\n}\\n.excalidraw .ToolIcon_type_floating .ToolIcon__icon:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .ToolIcon_type_floating .ToolIcon__icon:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .ToolIcon__keybinding {\\n position: absolute;\\n bottom: 2px;\\n right: 3px;\\n font-size: 0.5em;\\n color: var(--keybinding-color);\\n font-family: var(--ui-font);\\n user-select: none;\\n}\\n@media (max-width: 425px) {\\n .excalidraw .Shape .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n }\\n .excalidraw .Shape .ToolIcon__icon svg {\\n height: 0.8em;\\n }\\n}\\n@media (max-width: 760px) {\\n .excalidraw .ToolIcon.ToolIcon_type_floating {\\n display: inline-block;\\n position: absolute;\\n right: calc(-2 * var(--space-factor));\\n margin-left: 0;\\n border-radius: 20px 0 0 20px;\\n z-index: 1;\\n background-color: var(--button-gray-1);\\n }\\n .excalidraw .ToolIcon.ToolIcon_type_floating:hover {\\n background-color: var(--button-gray-1);\\n }\\n .excalidraw .ToolIcon.ToolIcon_type_floating:active {\\n background-color: var(--button-gray-2);\\n }\\n .excalidraw .ToolIcon.ToolIcon_type_floating .ToolIcon__icon {\\n border-radius: inherit;\\n }\\n .excalidraw .ToolIcon.ToolIcon_type_floating svg {\\n position: static;\\n }\\n .excalidraw .ToolIcon.ToolIcon__library {\\n top: 100px;\\n }\\n .excalidraw .ToolIcon.ToolIcon__lock {\\n margin-inline-end: 0;\\n top: 60px;\\n }\\n}\\n:root[dir=ltr] .excalidraw .unlocked-icon {\\n left: 2px;\\n}\\n:root[dir=rtl] .excalidraw .unlocked-icon {\\n right: 2px;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../css/variables.module.scss\",\"webpack://./../../components/ToolIcon.scss\"],\"names\":[],\"mappings\":\"AAUA;EACE,2CAAA;ACTF;;AAEE;EACE,oBAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,wCAAA;EACA,iBAAA;AACJ;AAEE;EACE,6BAAA;AAAJ;AACI;EACE,WAAA;EACA,YAAA;AACN;AAKI;;EACE,sCAAA;AAFN;AAIM;;EACE,sCAAA;AADR;AAGM;;EACE,sCAAA;AAAR;AAKE;EACE,aAAA;EACA,cAAA;EACA,6BAAA;EAEA,aAAA;EACA,uBAAA;EACA,mBAAA;EAEA,sCAAA;AALJ;AAOI;EACE,sBAAA;AALN;AAQI;EACE,kBAAA;EACA,WAAA;EACA,4BAAA;EACA,6BAAA;AANN;AAUE;EACE,aAAA;EACA,mBAAA;EACA,6BAAA;EACA,2BAAA;EACA,eAAA;EACA,uBAAA;AARJ;AAUI;EACE,kBAAA;AARN;AAYE;EACE,WAAA;EACA,YAAA;EACA,gBAAA;AAVJ;AAaE;;;EAGE,UAAA;EACA,YAAA;EACA,SAAA;EACA,kBAAA;AAXJ;AAaI;;;EACE,kDAAA;AATN;AAYI;;;EACE,sCAAA;AARN;AAUM;;;EACE,sCAAA;AANR;AAUI;;;EACE,sCAAA;AANN;AASI;;;EACE,sCAAA;AALN;AAQI;;;EACE,mBAAA;AAJN;AAOI;;;EACE,kBAAA;AAHN;AAOE;;EAEE,kBAAA;EACA,UAAA;EACA,oBAAA;AALJ;AAOI;;EACE,sCAAA;AAJN;AAKM;;EACE,sCAAA;AAFR;AAMI;;EACE,kDAAA;AAHN;AAMI;;EACE,sCAAA;AAHN;AAOE;EACE,6BAAA;AALJ;AAOI;EACE,6BAAA;AALN;AAQI;EACE,6BAAA;AANN;AASI;EACE,sCAAA;EAQA,WAAA;EACA,WAAA;AAdN;AAMM;EACE,sCAAA;AAJR;AAMM;EACE,sCAAA;AAJR;AAYE;EACE,kBAAA;EACA,WAAA;EACA,UAAA;EACA,gBAAA;EACA,8BAAA;EACA,2BAAA;EACA,iBAAA;AAVJ;AAcE;EACE;IACE,WAAA;IACA,YAAA;EAZJ;EAcI;IACE,aAAA;EAZN;AACF;AAkBE;EACE;IACE,qBAAA;IACA,kBAAA;IACA,qCAAA;IAEA,cAAA;IACA,4BAAA;IACA,UAAA;IAEA,sCAAA;EAlBJ;EAoBI;IACE,sCAAA;EAlBN;EAqBI;IACE,sCAAA;EAnBN;EAsBI;IACE,sBAAA;EApBN;EAuBI;IACE,gBAAA;EArBN;EAwBE;IACE,UAAA;EAtBJ;EAyBE;IACE,oBAAA;IACA,SAAA;EAvBJ;AACF;AA2BI;EACE,SAAA;AAzBN;AA4BI;EACE,UAAA;AA1BN\",\"sourcesContent\":[\"@import \\\"open-color/open-color.scss\\\";\\n\\n@mixin isMobile() {\\n @at-root .excalidraw--mobile#{&} {\\n @content;\\n }\\n}\\n\\n$theme-filter: \\\"invert(93%) hue-rotate(180deg)\\\";\\n\\n:export {\\n themeFilter: unquote($theme-filter);\\n}\\n\",\"@import \\\"open-color/open-color.scss\\\";\\n@import \\\"../css/variables.module\\\";\\n\\n.excalidraw {\\n .ToolIcon {\\n display: inline-flex;\\n align-items: center;\\n position: relative;\\n cursor: pointer;\\n -webkit-tap-highlight-color: transparent;\\n user-select: none;\\n }\\n\\n .ToolIcon--plain {\\n background-color: transparent;\\n .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n }\\n }\\n\\n .ToolIcon_type_radio,\\n .ToolIcon_type_checkbox {\\n & + .ToolIcon__icon {\\n background-color: var(--button-gray-1);\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n }\\n }\\n\\n .ToolIcon__icon {\\n width: 2.5rem;\\n height: 2.5rem;\\n color: var(--icon-fill-color);\\n\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\\n border-radius: var(--border-radius-lg);\\n\\n & + .ToolIcon__label {\\n margin-inline-start: 0;\\n }\\n\\n svg {\\n position: relative;\\n height: 1em;\\n fill: var(--icon-fill-color);\\n color: var(--icon-fill-color);\\n }\\n }\\n\\n .ToolIcon__label {\\n display: flex;\\n align-items: center;\\n color: var(--icon-fill-color);\\n font-family: var(--ui-font);\\n margin: 0 0.8em;\\n text-overflow: ellipsis;\\n\\n .Spinner {\\n margin-left: 0.6em;\\n }\\n }\\n\\n .ToolIcon_size_small .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n font-size: 0.8em;\\n }\\n\\n .excalidraw .ToolIcon_type_button,\\n .Modal .ToolIcon_type_button,\\n .ToolIcon_type_button {\\n padding: 0;\\n border: none;\\n margin: 0;\\n font-size: inherit;\\n\\n &:focus-visible {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n &.ToolIcon--selected {\\n background-color: var(--button-gray-2);\\n\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n }\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n\\n &--show {\\n visibility: visible;\\n }\\n\\n &--hide {\\n visibility: hidden;\\n }\\n }\\n\\n .ToolIcon_type_radio,\\n .ToolIcon_type_checkbox {\\n position: absolute;\\n opacity: 0;\\n pointer-events: none;\\n\\n &:not(.ToolIcon_toggle_opaque):checked + .ToolIcon__icon {\\n background-color: var(--button-gray-2);\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n }\\n\\n &:focus-visible + .ToolIcon__icon {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n &:active + .ToolIcon__icon {\\n background-color: var(--button-gray-3);\\n }\\n }\\n\\n .ToolIcon_type_floating {\\n background-color: transparent;\\n\\n &:hover {\\n background-color: transparent;\\n }\\n\\n &:active {\\n background-color: transparent;\\n }\\n\\n .ToolIcon__icon {\\n background-color: var(--button-gray-1);\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n\\n width: 2rem;\\n height: 2em;\\n }\\n }\\n\\n .ToolIcon__keybinding {\\n position: absolute;\\n bottom: 2px;\\n right: 3px;\\n font-size: 0.5em;\\n color: var(--keybinding-color);\\n font-family: var(--ui-font);\\n user-select: none;\\n }\\n\\n // shrink shape icons on small viewports to make them fit\\n @media (max-width: 425px) {\\n .Shape .ToolIcon__icon {\\n width: 2rem;\\n height: 2rem;\\n\\n svg {\\n height: 0.8em;\\n }\\n }\\n }\\n\\n // move the lock button out of the way on small viewports\\n // it begins to collide with the GitHub icon before we switch to mobile mode\\n @media (max-width: 760px) {\\n .ToolIcon.ToolIcon_type_floating {\\n display: inline-block;\\n position: absolute;\\n right: calc(-2 * var(--space-factor));\\n\\n margin-left: 0;\\n border-radius: 20px 0 0 20px;\\n z-index: 1;\\n\\n background-color: var(--button-gray-1);\\n\\n &:hover {\\n background-color: var(--button-gray-1);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-2);\\n }\\n\\n .ToolIcon__icon {\\n border-radius: inherit;\\n }\\n\\n svg {\\n position: static;\\n }\\n }\\n .ToolIcon.ToolIcon__library {\\n top: 100px;\\n }\\n\\n .ToolIcon.ToolIcon__lock {\\n margin-inline-end: 0;\\n top: 60px;\\n }\\n }\\n\\n .unlocked-icon {\\n :root[dir=\\\"ltr\\\"] & {\\n left: 2px;\\n }\\n\\n :root[dir=\\\"rtl\\\"] & {\\n right: 2px;\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1swXS51c2VbMl0hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vY29tcG9uZW50cy9Ub29sSWNvbi5zY3NzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDOEg7QUFDakI7QUFDN0csOEJBQThCLHVHQUEyQixDQUFDLGdIQUFxQztBQUMvRjtBQUNBLG1EQUFtRCxnREFBZ0QsR0FBRywyQkFBMkIseUJBQXlCLHdCQUF3Qix1QkFBdUIsb0JBQW9CLDZDQUE2QyxzQkFBc0IsR0FBRyxnQ0FBZ0Msa0NBQWtDLEdBQUcsZ0RBQWdELGdCQUFnQixpQkFBaUIsR0FBRyw4R0FBOEcsMkNBQTJDLEdBQUcsMEhBQTBILDJDQUEyQyxHQUFHLDRIQUE0SCwyQ0FBMkMsR0FBRywrQkFBK0Isa0JBQWtCLG1CQUFtQixrQ0FBa0Msa0JBQWtCLDRCQUE0Qix3QkFBd0IsMkNBQTJDLEdBQUcsa0RBQWtELDJCQUEyQixHQUFHLG1DQUFtQyx1QkFBdUIsZ0JBQWdCLGlDQUFpQyxrQ0FBa0MsR0FBRyxnQ0FBZ0Msa0JBQWtCLHdCQUF3QixrQ0FBa0MsZ0NBQWdDLG9CQUFvQiw0QkFBNEIsR0FBRyx5Q0FBeUMsdUJBQXVCLEdBQUcsb0RBQW9ELGdCQUFnQixpQkFBaUIscUJBQXFCLEdBQUcsZ0lBQWdJLGVBQWUsaUJBQWlCLGNBQWMsdUJBQXVCLEdBQUcsMEtBQTBLLHVEQUF1RCxHQUFHLHlMQUF5TCwyQ0FBMkMsR0FBRyw4TUFBOE0sMkNBQTJDLEdBQUcsa0pBQWtKLDJDQUEyQyxHQUFHLHFKQUFxSiwyQ0FBMkMsR0FBRyxrSkFBa0osd0JBQXdCLEdBQUcsa0pBQWtKLHVCQUF1QixHQUFHLDBFQUEwRSx1QkFBdUIsZUFBZSx5QkFBeUIsR0FBRyx3TEFBd0wsMkNBQTJDLEdB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QWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vY29tcG9uZW50cy9Ub29sSWNvbi5zY3NzP2EwZDciXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiOmV4cG9ydCB7XFxuICB0aGVtZUZpbHRlcjogaW52ZXJ0KDkzJSkgaHVlLXJvdGF0ZSgxODBkZWcpO1xcbn1cXG5cXG4uZXhjYWxpZHJhdyAuVG9vbEljb24ge1xcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb24tLXBsYWluIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb24tLXBsYWluIC5Ub29sSWNvbl9faWNvbiB7XFxuICB3aWR0aDogMnJlbTtcXG4gIGhlaWdodDogMnJlbTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfcmFkaW8gKyAuVG9vbEljb25fX2ljb24sXFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfY2hlY2tib3ggKyAuVG9vbEljb25fX2ljb24ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMSk7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX3JhZGlvICsgLlRvb2xJY29uX19pY29uOmhvdmVyLFxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2NoZWNrYm94ICsgLlRvb2xJY29uX19pY29uOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9yYWRpbyArIC5Ub29sSWNvbl9faWNvbjphY3RpdmUsXFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfY2hlY2tib3ggKyAuVG9vbEljb25fX2ljb246YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fX2ljb24ge1xcbiAgd2lkdGg6IDIuNXJlbTtcXG4gIGhlaWdodDogMi41cmVtO1xcbiAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl9faWNvbiArIC5Ub29sSWNvbl9fbGFiZWwge1xcbiAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX19pY29uIHN2ZyB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBoZWlnaHQ6IDFlbTtcXG4gIGZpbGw6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICBjb2xvcjogdmFyKC0taWNvbi1maWxsLWNvbG9yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX19sYWJlbCB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGNvbG9yOiB2YXIoLS1pY29uLWZpbGwtY29sb3IpO1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLXVpLWZvbnQpO1xcbiAgbWFyZ2luOiAwIDAuOGVtO1xcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl9fbGFiZWwgLlNwaW5uZXIge1xcbiAgbWFyZ2luLWxlZnQ6IDAuNmVtO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fc2l6ZV9zbWFsbCAuVG9vbEljb25fX2ljb24ge1xcbiAgd2lkdGg6IDJyZW07XFxuICBoZWlnaHQ6IDJyZW07XFxuICBmb250LXNpemU6IDAuOGVtO1xcbn1cXG4uZXhjYWxpZHJhdyAuZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9idXR0b24sXFxuLmV4Y2FsaWRyYXcgLk1vZGFsIC5Ub29sSWNvbl90eXBlX2J1dHRvbixcXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9idXR0b24ge1xcbiAgcGFkZGluZzogMDtcXG4gIGJvcmRlcjogbm9uZTtcXG4gIG1hcmdpbjogMDtcXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG59XFxuLmV4Y2FsaWRyYXcgLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfYnV0dG9uOmZvY3VzLXZpc2libGUsXFxuLmV4Y2FsaWRyYXcgLk1vZGFsIC5Ub29sSWNvbl90eXBlX2J1dHRvbjpmb2N1cy12aXNpYmxlLFxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbjpmb2N1cy12aXNpYmxlIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb2N1cy1oaWdobGlnaHQtY29sb3IpO1xcbn1cXG4uZXhjYWxpZHJhdyAuZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9idXR0b24uVG9vbEljb24tLXNlbGVjdGVkLFxcbi5leGNhbGlkcmF3IC5Nb2RhbCAuVG9vbEljb25fdHlwZV9idXR0b24uVG9vbEljb24tLXNlbGVjdGVkLFxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbi5Ub29sSWNvbi0tc2VsZWN0ZWQge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IC5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbi5Ub29sSWNvbi0tc2VsZWN0ZWQ6YWN0aXZlLFxcbi5leGNhbGlkcmF3IC5Nb2RhbCAuVG9vbEljb25fdHlwZV9idXR0b24uVG9vbEljb24tLXNlbGVjdGVkOmFjdGl2ZSxcXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9idXR0b24uVG9vbEljb24tLXNlbGVjdGVkOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0zKTtcXG59XFxuLmV4Y2FsaWRyYXcgLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfYnV0dG9uOmhvdmVyLFxcbi5leGNhbGlkcmF3IC5Nb2RhbCAuVG9vbEljb25fdHlwZV9idXR0b246aG92ZXIsXFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfYnV0dG9uOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbn1cXG4uZXhjYWxpZHJhdyAuZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9idXR0b246YWN0aXZlLFxcbi5leGNhbGlkcmF3IC5Nb2RhbCAuVG9vbEljb25fdHlwZV9idXR0b246YWN0aXZlLFxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbjphY3RpdmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMyk7XFxufVxcbi5leGNhbGlkcmF3IC5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbi0tc2hvdyxcXG4uZXhjYWxpZHJhdyAuTW9kYWwgLlRvb2xJY29uX3R5cGVfYnV0dG9uLS1zaG93LFxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2J1dHRvbi0tc2hvdyB7XFxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xcbn1cXG4uZXhjYWxpZHJhdyAuZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9idXR0b24tLWhpZGUsXFxuLmV4Y2FsaWRyYXcgLk1vZGFsIC5Ub29sSWNvbl90eXBlX2J1dHRvbi0taGlkZSxcXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9idXR0b24tLWhpZGUge1xcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9yYWRpbyxcXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9jaGVja2JveCB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBvcGFjaXR5OiAwO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX3JhZGlvOm5vdCguVG9vbEljb25fdG9nZ2xlX29wYXF1ZSk6Y2hlY2tlZCArIC5Ub29sSWNvbl9faWNvbixcXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9jaGVja2JveDpub3QoLlRvb2xJY29uX3RvZ2dsZV9vcGFxdWUpOmNoZWNrZWQgKyAuVG9vbEljb25fX2ljb24ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX3JhZGlvOm5vdCguVG9vbEljb25fdG9nZ2xlX29wYXF1ZSk6Y2hlY2tlZCArIC5Ub29sSWNvbl9faWNvbjphY3RpdmUsXFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfY2hlY2tib3g6bm90KC5Ub29sSWNvbl90b2dnbGVfb3BhcXVlKTpjaGVja2VkICsgLlRvb2xJY29uX19pY29uOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0zKTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfcmFkaW86Zm9jdXMtdmlzaWJsZSArIC5Ub29sSWNvbl9faWNvbixcXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9jaGVja2JveDpmb2N1cy12aXNpYmxlICsgLlRvb2xJY29uX19pY29uIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb2N1cy1oaWdobGlnaHQtY29sb3IpO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9yYWRpbzphY3RpdmUgKyAuVG9vbEljb25fX2ljb24sXFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfY2hlY2tib3g6YWN0aXZlICsgLlRvb2xJY29uX19pY29uIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9mbG9hdGluZyB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfZmxvYXRpbmc6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxufVxcbi5leGNhbGlkcmF3IC5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfZmxvYXRpbmcgLlRvb2xJY29uX19pY29uIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbiAgd2lkdGg6IDJyZW07XFxuICBoZWlnaHQ6IDJlbTtcXG59XFxuLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfZmxvYXRpbmcgLlRvb2xJY29uX19pY29uOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fdHlwZV9mbG9hdGluZyAuVG9vbEljb25fX2ljb246YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbn1cXG4uZXhjYWxpZHJhdyAuVG9vbEljb25fX2tleWJpbmRpbmcge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgYm90dG9tOiAycHg7XFxuICByaWdodDogM3B4O1xcbiAgZm9udC1zaXplOiAwLjVlbTtcXG4gIGNvbG9yOiB2YXIoLS1rZXliaW5kaW5nLWNvbG9yKTtcXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS11aS1mb250KTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbn1cXG5AbWVkaWEgKG1heC13aWR0aDogNDI1cHgpIHtcXG4gIC5leGNhbGlkcmF3IC5TaGFwZSAuVG9vbEljb25fX2ljb24ge1xcbiAgICB3aWR0aDogMnJlbTtcXG4gICAgaGVpZ2h0OiAycmVtO1xcbiAgfVxcbiAgLmV4Y2FsaWRyYXcgLlNoYXBlIC5Ub29sSWNvbl9faWNvbiBzdmcge1xcbiAgICBoZWlnaHQ6IDAuOGVtO1xcbiAgfVxcbn1cXG5AbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHtcXG4gIC5leGNhbGlkcmF3IC5Ub29sSWNvbi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIHJpZ2h0OiBjYWxjKC0yICogdmFyKC0tc3BhY2UtZmFjdG9yKSk7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4IDAgMCAyMHB4O1xcbiAgICB6LWluZGV4OiAxO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0xKTtcXG4gIH1cXG4gIC5leGNhbGlkcmF3IC5Ub29sSWNvbi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nOmhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMSk7XFxuICB9XFxuICAuZXhjYWxpZHJhdyAuVG9vbEljb24uVG9vbEljb25fdHlwZV9mbG9hdGluZzphY3RpdmUge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gIH1cXG4gIC5leGNhbGlkcmF3IC5Ub29sSWNvbi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIC5Ub29sSWNvbl9faWNvbiB7XFxuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XFxuICB9XFxuICAuZXhjYWxpZHJhdyAuVG9vbEljb24uVG9vbEljb25fdHlwZV9mbG9hdGluZyBzdmcge1xcbiAgICBwb3NpdGlvbjogc3RhdGljO1xcbiAgfVxcbiAgLmV4Y2FsaWRyYXcgLlRvb2xJY29uLlRvb2xJY29uX19saWJyYXJ5IHtcXG4gICAgdG9wOiAxMDBweDtcXG4gIH1cXG4gIC5leGNhbGlkcmF3IC5Ub29sSWNvbi5Ub29sSWNvbl9fbG9jayB7XFxuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xcbiAgICB0b3A6IDYwcHg7XFxuICB9XFxufVxcbjpyb290W2Rpcj1sdHJdIC5leGNhbGlkcmF3IC51bmxvY2tlZC1pY29uIHtcXG4gIGxlZnQ6IDJweDtcXG59XFxuOnJvb3RbZGlyPXJ0bF0gLmV4Y2FsaWRyYXcgLnVubG9ja2VkLWljb24ge1xcbiAgcmlnaHQ6IDJweDtcXG59XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vLi4vLi4vY3NzL3ZhcmlhYmxlcy5tb2R1bGUuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vY29tcG9uZW50cy9Ub29sSWNvbi5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQVVBO0VBQ0UsMkNBQUE7QUNURjs7QUFFRTtFQUNFLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSx3Q0FBQTtFQUNBLGlCQUFBO0FBQ0o7QUFFRTtFQUNFLDZCQUFBO0FBQUo7QUFDSTtFQUNFLFdBQUE7RUFDQSxZQUFBO0FBQ047QUFLSTs7RUFDRSxzQ0FBQTtBQUZOO0FBSU07O0VBQ0Usc0NBQUE7QUFEUjtBQUdNOztFQUNFLHNDQUFBO0FBQVI7QUFLRTtFQUNFLGFBQUE7RUFDQSxjQUFBO0VBQ0EsNkJBQUE7RUFFQSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUVBLHNDQUFBO0FBTEo7QUFPSTtFQUNFLHNCQUFBO0FBTE47QUFRSTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLDRCQUFBO0VBQ0EsNkJBQUE7QUFOTjtBQVVFO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsNkJBQUE7RUFDQSwyQkFBQTtFQUNBLGVBQUE7RUFDQSx1QkFBQTtBQVJKO0FBVUk7RUFDRSxrQkFBQTtBQVJOO0FBWUU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0FBVko7QUFhRTs7O0VBR0UsVUFBQTtFQUNBLFlBQUE7RUFDQSxTQUFBO0VBQ0Esa0JBQUE7QUFYSjtBQWFJOzs7RUFDRSxrREFBQTtBQVROO0FBWUk7OztFQUNFLHNDQUFBO0FBUk47QUFVTTs7O0VBQ0Usc0NBQUE7QUFOUjtBQVVJOzs7RUFDRSxzQ0FBQTtBQU5OO0FBU0k7OztFQUNFLHNDQUFBO0FBTE47QUFRSTs7O0VBQ0UsbUJBQUE7QUFKTjtBQU9JOzs7RUFDRSxrQkFBQTtBQUhOO0FBT0U7O0VBRUUsa0JBQUE7RUFDQSxVQUFBO0VBQ0Esb0JBQUE7QUFMSjtBQU9JOztFQUNFLHNDQUFBO0FBSk47QUFLTTs7RUFDRSxzQ0FBQTtBQUZSO0FBTUk7O0VBQ0Usa0RBQUE7QUFITjtBQU1JOztFQUNFLHNDQUFBO0FBSE47QUFPRTtFQUNFLDZCQUFBO0FBTEo7QUFPSTtFQUNFLDZCQUFBO0FBTE47QUFRSTtFQUNFLDZCQUFBO0FBTk47QUFTSTtFQUNFLHNDQUFBO0VBUUEsV0FBQTtFQUNBLFdBQUE7QUFkTjtBQU1NO0VBQ0Usc0NBQUE7QUFKUjtBQU1NO0VBQ0Usc0NBQUE7QUFKUjtBQVlFO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBO0VBQ0EsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLGlCQUFBO0FBVko7QUFjRTtFQUNFO0lBQ0UsV0FBQTtJQUNBLFlBQUE7RUFaSjtFQWNJO0lBQ0UsYUFBQTtFQVpOO0FBQ0Y7QUFrQkU7RUFDRTtJQUNFLHFCQUFBO0lBQ0Esa0JBQUE7SUFDQSxxQ0FBQTtJQUVBLGNBQUE7SUFDQSw0QkFBQTtJQUNBLFVBQUE7SUFFQSxzQ0FBQTtFQWxCSjtFQW9CSTtJQUNFLHNDQUFBO0VBbEJOO0VBcUJJO0lBQ0Usc0NBQUE7RUFuQk47RUFzQkk7SUFDRSxzQkFBQTtFQXBCTjtFQXVCSTtJQUNFLGdCQUFBO0VBckJOO0VBd0JFO0lBQ0UsVUFBQTtFQXRCSjtFQXlCRTtJQUNFLG9CQUFBO0lBQ0EsU0FBQTtFQXZCSjtBQUNGO0FBMkJJO0VBQ0UsU0FBQTtBQXpCTjtBQTRCSTtFQUNFLFVBQUE7QUExQk5cIixcInNvdXJjZXNDb250ZW50XCI6W1wiQGltcG9ydCBcXFwib3Blbi1jb2xvci9vcGVuLWNvbG9yLnNjc3NcXFwiO1xcblxcbkBtaXhpbiBpc01vYmlsZSgpIHtcXG4gIEBhdC1yb290IC5leGNhbGlkcmF3LS1tb2JpbGUjeyZ9IHtcXG4gICAgQGNvbnRlbnQ7XFxuICB9XFxufVxcblxcbiR0aGVtZS1maWx0ZXI6IFxcXCJpbnZlcnQoOTMlKSBodWUtcm90YXRlKDE4MGRlZylcXFwiO1xcblxcbjpleHBvcnQge1xcbiAgdGhlbWVGaWx0ZXI6IHVucXVvdGUoJHRoZW1lLWZpbHRlcik7XFxufVxcblwiLFwiQGltcG9ydCBcXFwib3Blbi1jb2xvci9vcGVuLWNvbG9yLnNjc3NcXFwiO1xcbkBpbXBvcnQgXFxcIi4uL2Nzcy92YXJpYWJsZXMubW9kdWxlXFxcIjtcXG5cXG4uZXhjYWxpZHJhdyB7XFxuICAuVG9vbEljb24ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIHVzZXItc2VsZWN0OiBub25lO1xcbiAgfVxcblxcbiAgLlRvb2xJY29uLS1wbGFpbiB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICAuVG9vbEljb25fX2ljb24ge1xcbiAgICAgIHdpZHRoOiAycmVtO1xcbiAgICAgIGhlaWdodDogMnJlbTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLlRvb2xJY29uX3R5cGVfcmFkaW8sXFxuICAuVG9vbEljb25fdHlwZV9jaGVja2JveCB7XFxuICAgICYgKyAuVG9vbEljb25fX2ljb24ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcblxcbiAgICAgICY6aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuICAgICAgfVxcbiAgICAgICY6YWN0aXZlIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgLlRvb2xJY29uX19pY29uIHtcXG4gICAgd2lkdGg6IDIuNXJlbTtcXG4gICAgaGVpZ2h0OiAyLjVyZW07XFxuICAgIGNvbG9yOiB2YXIoLS1pY29uLWZpbGwtY29sb3IpO1xcblxcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG5cXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XFxuXFxuICAgICYgKyAuVG9vbEljb25fX2xhYmVsIHtcXG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xcbiAgICB9XFxuXFxuICAgIHN2ZyB7XFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgICAgIGhlaWdodDogMWVtO1xcbiAgICAgIGZpbGw6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICAgICAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5Ub29sSWNvbl9fbGFiZWwge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBjb2xvcjogdmFyKC0taWNvbi1maWxsLWNvbG9yKTtcXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXVpLWZvbnQpO1xcbiAgICBtYXJnaW46IDAgMC44ZW07XFxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xcblxcbiAgICAuU3Bpbm5lciB7XFxuICAgICAgbWFyZ2luLWxlZnQ6IDAuNmVtO1xcbiAgICB9XFxuICB9XFxuXFxuICAuVG9vbEljb25fc2l6ZV9zbWFsbCAuVG9vbEljb25fX2ljb24ge1xcbiAgICB3aWR0aDogMnJlbTtcXG4gICAgaGVpZ2h0OiAycmVtO1xcbiAgICBmb250LXNpemU6IDAuOGVtO1xcbiAgfVxcblxcbiAgLmV4Y2FsaWRyYXcgLlRvb2xJY29uX3R5cGVfYnV0dG9uLFxcbiAgLk1vZGFsIC5Ub29sSWNvbl90eXBlX2J1dHRvbixcXG4gIC5Ub29sSWNvbl90eXBlX2J1dHRvbiB7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIGJvcmRlcjogbm9uZTtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XFxuXFxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XFxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcik7XFxuICAgIH1cXG5cXG4gICAgJi5Ub29sSWNvbi0tc2VsZWN0ZWQge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcblxcbiAgICAgICY6YWN0aXZlIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gICAgfVxcblxcbiAgICAmOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMyk7XFxuICAgIH1cXG5cXG4gICAgJi0tc2hvdyB7XFxuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcXG4gICAgfVxcblxcbiAgICAmLS1oaWRlIHtcXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5Ub29sSWNvbl90eXBlX3JhZGlvLFxcbiAgLlRvb2xJY29uX3R5cGVfY2hlY2tib3gge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICAgIG9wYWNpdHk6IDA7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcbiAgICAmOm5vdCguVG9vbEljb25fdG9nZ2xlX29wYXF1ZSk6Y2hlY2tlZCArIC5Ub29sSWNvbl9faWNvbiB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuICAgICAgJjphY3RpdmUge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMyk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgICY6Zm9jdXMtdmlzaWJsZSArIC5Ub29sSWNvbl9faWNvbiB7XFxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcik7XFxuICAgIH1cXG5cXG4gICAgJjphY3RpdmUgKyAuVG9vbEljb25fX2ljb24ge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbiAgICB9XFxuICB9XFxuXFxuICAuVG9vbEljb25fdHlwZV9mbG9hdGluZyB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgfVxcblxcbiAgICAmOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIH1cXG5cXG4gICAgLlRvb2xJY29uX19pY29uIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0xKTtcXG4gICAgICAmOmhvdmVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbiAgICAgIH1cXG4gICAgICAmOmFjdGl2ZSB7XFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0zKTtcXG4gICAgICB9XFxuXFxuICAgICAgd2lkdGg6IDJyZW07XFxuICAgICAgaGVpZ2h0OiAyZW07XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5Ub29sSWNvbl9fa2V5YmluZGluZyB7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgYm90dG9tOiAycHg7XFxuICAgIHJpZ2h0OiAzcHg7XFxuICAgIGZvbnQtc2l6ZTogMC41ZW07XFxuICAgIGNvbG9yOiB2YXIoLS1rZXliaW5kaW5nLWNvbG9yKTtcXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXVpLWZvbnQpO1xcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIH1cXG5cXG4gIC8vIHNocmluayBzaGFwZSBpY29ucyBvbiBzbWFsbCB2aWV3cG9ydHMgdG8gbWFrZSB0aGVtIGZpdFxcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNXB4KSB7XFxuICAgIC5TaGFwZSAuVG9vbEljb25fX2ljb24ge1xcbiAgICAgIHdpZHRoOiAycmVtO1xcbiAgICAgIGhlaWdodDogMnJlbTtcXG5cXG4gICAgICBzdmcge1xcbiAgICAgICAgaGVpZ2h0OiAwLjhlbTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIC8vIG1vdmUgdGhlIGxvY2sgYnV0dG9uIG91dCBvZiB0aGUgd2F5IG9uIHNtYWxsIHZpZXdwb3J0c1xcbiAgLy8gaXQgYmVnaW5zIHRvIGNvbGxpZGUgd2l0aCB0aGUgR2l0SHViIGljb24gYmVmb3JlIHdlIHN3aXRjaCB0byBtb2JpbGUgbW9kZVxcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7XFxuICAgIC5Ub29sSWNvbi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIHtcXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgIHJpZ2h0OiBjYWxjKC0yICogdmFyKC0tc3BhY2UtZmFjdG9yKSk7XFxuXFxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgICAgYm9yZGVyLXJhZGl1czogMjBweCAwIDAgMjBweDtcXG4gICAgICB6LWluZGV4OiAxO1xcblxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcblxcbiAgICAgICY6aG92ZXIge1xcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMSk7XFxuICAgICAgfVxcblxcbiAgICAgICY6YWN0aXZlIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbiAgICAgIH1cXG5cXG4gICAgICAuVG9vbEljb25fX2ljb24ge1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG4gICAgICB9XFxuXFxuICAgICAgc3ZnIHtcXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIC5Ub29sSWNvbi5Ub29sSWNvbl9fbGlicmFyeSB7XFxuICAgICAgdG9wOiAxMDBweDtcXG4gICAgfVxcblxcbiAgICAuVG9vbEljb24uVG9vbEljb25fX2xvY2sge1xcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xcbiAgICAgIHRvcDogNjBweDtcXG4gICAgfVxcbiAgfVxcblxcbiAgLnVubG9ja2VkLWljb24ge1xcbiAgICA6cm9vdFtkaXI9XFxcImx0clxcXCJdICYge1xcbiAgICAgIGxlZnQ6IDJweDtcXG4gICAgfVxcblxcbiAgICA6cm9vdFtkaXI9XFxcInJ0bFxcXCJdICYge1xcbiAgICAgIHJpZ2h0OiAycHg7XFxuICAgIH1cXG4gIH1cXG59XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../components/ToolIcon.scss\n");
|
|
1090
|
+
|
|
1091
|
+
/***/ }),
|
|
1092
|
+
|
|
1093
|
+
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../components/Toolbar.scss":
|
|
1094
|
+
/*!****************************************************************************************************************************************************************************************!*\
|
|
1095
|
+
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../components/Toolbar.scss ***!
|
|
1096
|
+
\****************************************************************************************************************************************************************************************/
|
|
1097
|
+
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
1098
|
+
|
|
1099
|
+
"use strict";
|
|
1100
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n// Imports\n\n\nvar ___CSS_LOADER_EXPORT___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".excalidraw .App-toolbar-container .ToolIcon_type_floating .ToolIcon_type_radio + .ToolIcon__icon:active,\\n.excalidraw .App-toolbar-container .ToolIcon_type_floating .ToolIcon_type_checkbox + .ToolIcon__icon:active {\\n background: var(--color-primary-light);\\n}\\n.excalidraw .App-toolbar-container .ToolIcon_type_floating .ToolIcon_type_radio:checked + .ToolIcon__icon,\\n.excalidraw .App-toolbar-container .ToolIcon_type_floating .ToolIcon_type_checkbox:checked + .ToolIcon__icon {\\n background: var(--color-primary);\\n --icon-fill-color: #ffffff;\\n --keybinding-color: #ffffff;\\n}\\n.excalidraw .App-toolbar-container .ToolIcon_type_floating .ToolIcon_type_radio:checked + .ToolIcon__icon:active,\\n.excalidraw .App-toolbar-container .ToolIcon_type_floating .ToolIcon_type_checkbox:checked + .ToolIcon__icon:active {\\n background: var(--color-primary-darker);\\n}\\n.excalidraw .App-toolbar-container .ToolIcon_type_floating .ToolIcon__keybinding {\\n bottom: 4px;\\n right: 4px;\\n}\\n.excalidraw .App-toolbar-container .ToolIcon_type_floating:not(.is-mobile) .ToolIcon__icon {\\n padding: 1px;\\n background-color: var(--island-bg-color);\\n box-shadow: 1px 3px 4px 0px rgba(0, 0, 0, 0.15);\\n border-radius: 50%;\\n transition: box-shadow 0.5s ease, transform 0.5s ease;\\n}\\n.excalidraw .App-toolbar-container .ToolIcon_type_floating .ToolIcon_type_radio:focus-within + .ToolIcon__icon,\\n.excalidraw .App-toolbar-container .ToolIcon_type_floating .ToolIcon_type_checkbox:focus-within + .ToolIcon__icon {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw .App-toolbar-container .ToolIcon.ToolIcon__lock {\\n margin-inline-end: var(--space-factor);\\n}\\n.excalidraw .App-toolbar-container .ToolIcon.ToolIcon__lock.ToolIcon_type_floating {\\n margin-left: 0.1rem;\\n}\\n.excalidraw .App-toolbar-container .ToolIcon__library {\\n margin-inline-start: var(--space-factor);\\n}\\n.excalidraw .App-toolbar-container.zen-mode .ToolIcon_type_floating .ToolIcon__icon {\\n box-shadow: none;\\n transform: scale(0.9);\\n}\\n.excalidraw .App-toolbar-container.zen-mode .ToolIcon_type_floating .ToolIcon_type_checkbox:not(:checked):not(:hover):not(:active) + .ToolIcon__icon svg {\\n fill: #adb5bd;\\n color: #adb5bd;\\n}\\n.excalidraw .App-toolbar {\\n border-radius: var(--border-radius-lg);\\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.01), 1px 1px 5px rgba(0, 0, 0, 0.15);\\n}\\n.excalidraw .App-toolbar .ToolIcon:hover {\\n --icon-fill-color: var(--color-primary-chubb);\\n --keybinding-color: var(--color-primary-chubb);\\n}\\n.excalidraw .App-toolbar .ToolIcon:active {\\n --icon-fill-color: #212529;\\n --keybinding-color: #212529;\\n}\\n.excalidraw .App-toolbar .ToolIcon .ToolIcon__icon {\\n background: transparent;\\n border-radius: var(--border-radius-lg);\\n}\\n.excalidraw .App-toolbar .ToolIcon .ToolIcon_type_radio + .ToolIcon__icon:active,\\n.excalidraw .App-toolbar .ToolIcon .ToolIcon_type_checkbox + .ToolIcon__icon:active {\\n background: var(--color-primary-light);\\n}\\n.excalidraw .App-toolbar .ToolIcon .ToolIcon_type_radio:checked + .ToolIcon__icon,\\n.excalidraw .App-toolbar .ToolIcon .ToolIcon_type_checkbox:checked + .ToolIcon__icon {\\n background: var(--color-primary);\\n --icon-fill-color: #ffffff;\\n --keybinding-color: #ffffff;\\n}\\n.excalidraw .App-toolbar .ToolIcon .ToolIcon_type_radio:checked + .ToolIcon__icon:active,\\n.excalidraw .App-toolbar .ToolIcon .ToolIcon_type_checkbox:checked + .ToolIcon__icon:active {\\n background: var(--color-primary-darker);\\n}\\n.excalidraw .App-toolbar .ToolIcon .ToolIcon__keybinding {\\n bottom: 4px;\\n right: 4px;\\n}\\n.excalidraw .App-toolbar.zen-mode .ToolIcon__keybinding,\\n.excalidraw .App-toolbar.zen-mode .HintViewer {\\n display: none;\\n}\\n.excalidraw.theme--dark .App-toolbar .ToolIcon:active {\\n --icon-fill-color: #dee2e6;\\n --keybinding-color: #dee2e6;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../components/Toolbar.scss\",\"webpack://./../../../node_modules/open-color/open-color.scss\"],\"names\":[],\"mappings\":\"AAKI;;EACE,sCAAA;AAHN;AAKI;;EACE,gCAAA;EACA,0BAAA;EACA,2BAAA;AAFN;AAII;;EACE,uCAAA;AADN;AAKE;EACE,WAAA;EACA,UAAA;AAHJ;AAaQ;EACE,YAAA;EACA,wCAAA;EACA,+CAAA;EACA,kBAAA;EACA,qDAAA;AAXV;AAiBQ;;EAEE,kDAAA;AAfV;AAoBI;EACE,sCAAA;AAlBN;AAmBM;EACE,mBAAA;AAjBR;AAqBI;EACE,wCAAA;AAnBN;AAwBQ;EACE,gBAAA;EACA,qBAAA;AAtBV;AA0BY;EACE,aChCF;EDiCE,cCjCF;ADSZ;AAgCE;EACE,sCAAA;EACA,0EAAA;AA9BJ;AAiCM;EACE,6CAAA;EACA,8CAAA;AA/BR;AAiCM;EACE,0BAAA;EACA,2BAAA;AA/BR;AAkCM;EACE,uBAAA;EACA,sCAAA;AAhCR;AAxDI;;EACE,sCAAA;AA2DN;AAzDI;;EACE,gCAAA;EACA,0BAAA;EACA,2BAAA;AA4DN;AA1DI;;EACE,uCAAA;AA6DN;AAzDE;EACE,WAAA;EACA,UAAA;AA2DJ;AAqBM;;EAEE,aAAA;AAnBR;AAwBE;EACE,0BAAA;EACA,2BAAA;AAtBJ\",\"sourcesContent\":[\"@import \\\"open-color/open-color.scss\\\";\\n\\n@mixin toolbarButtonColorStates {\\n .ToolIcon_type_radio,\\n .ToolIcon_type_checkbox {\\n & + .ToolIcon__icon:active {\\n background: var(--color-primary-light);\\n }\\n &:checked + .ToolIcon__icon {\\n background: var(--color-primary);\\n --icon-fill-color: #{$oc-white};\\n --keybinding-color: #{$oc-white};\\n }\\n &:checked + .ToolIcon__icon:active {\\n background: var(--color-primary-darker);\\n }\\n }\\n\\n .ToolIcon__keybinding {\\n bottom: 4px;\\n right: 4px;\\n }\\n}\\n\\n.excalidraw {\\n .App-toolbar-container {\\n .ToolIcon_type_floating {\\n @include toolbarButtonColorStates;\\n\\n &:not(.is-mobile) {\\n .ToolIcon__icon {\\n padding: 1px;\\n background-color: var(--island-bg-color);\\n box-shadow: 1px 3px 4px 0px rgb(0 0 0 / 15%);\\n border-radius: 50%;\\n transition: box-shadow 0.5s ease, transform 0.5s ease;\\n }\\n }\\n\\n .ToolIcon_type_radio,\\n .ToolIcon_type_checkbox {\\n &:focus-within + .ToolIcon__icon {\\n // override for custom floating button shadow\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n }\\n }\\n\\n .ToolIcon.ToolIcon__lock {\\n margin-inline-end: var(--space-factor);\\n &.ToolIcon_type_floating {\\n margin-left: 0.1rem;\\n }\\n }\\n\\n .ToolIcon__library {\\n margin-inline-start: var(--space-factor);\\n }\\n\\n &.zen-mode {\\n .ToolIcon_type_floating {\\n .ToolIcon__icon {\\n box-shadow: none;\\n transform: scale(0.9);\\n }\\n .ToolIcon_type_checkbox:not(:checked):not(:hover):not(:active) {\\n & + .ToolIcon__icon {\\n svg {\\n fill: $oc-gray-5;\\n color: $oc-gray-5;\\n }\\n }\\n }\\n }\\n }\\n }\\n\\n .App-toolbar {\\n border-radius: var(--border-radius-lg);\\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.01), 1px 1px 5px rgb(0 0 0 / 15%);\\n\\n .ToolIcon {\\n &:hover {\\n --icon-fill-color: var(--color-primary-chubb);\\n --keybinding-color: var(--color-primary-chubb);\\n }\\n &:active {\\n --icon-fill-color: #{$oc-gray-9};\\n --keybinding-color: #{$oc-gray-9};\\n }\\n\\n .ToolIcon__icon {\\n background: transparent;\\n border-radius: var(--border-radius-lg);\\n }\\n\\n @include toolbarButtonColorStates;\\n }\\n\\n &.zen-mode {\\n .ToolIcon__keybinding,\\n .HintViewer {\\n display: none;\\n }\\n }\\n }\\n\\n &.theme--dark .App-toolbar .ToolIcon:active {\\n --icon-fill-color: #{$oc-gray-3};\\n --keybinding-color: #{$oc-gray-3};\\n }\\n}\\n\",\"//\\n//\\n// 𝗖 𝗢 𝗟 𝗢 𝗥\\n// v 1.9.1\\n//\\n// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n\\n\\n// General\\n// ───────────────────────────────────\\n\\n$oc-white: #ffffff;\\n$oc-black: #000000;\\n\\n\\n// Gray\\n// ───────────────────────────────────\\n\\n$oc-gray-list: (\\n \\\"0\\\": #f8f9fa,\\n \\\"1\\\": #f1f3f5,\\n \\\"2\\\": #e9ecef,\\n \\\"3\\\": #dee2e6,\\n \\\"4\\\": #ced4da,\\n \\\"5\\\": #adb5bd,\\n \\\"6\\\": #868e96,\\n \\\"7\\\": #495057,\\n \\\"8\\\": #343a40,\\n \\\"9\\\": #212529\\n);\\n\\n$oc-gray-0: map-get($oc-gray-list, \\\"0\\\");\\n$oc-gray-1: map-get($oc-gray-list, \\\"1\\\");\\n$oc-gray-2: map-get($oc-gray-list, \\\"2\\\");\\n$oc-gray-3: map-get($oc-gray-list, \\\"3\\\");\\n$oc-gray-4: map-get($oc-gray-list, \\\"4\\\");\\n$oc-gray-5: map-get($oc-gray-list, \\\"5\\\");\\n$oc-gray-6: map-get($oc-gray-list, \\\"6\\\");\\n$oc-gray-7: map-get($oc-gray-list, \\\"7\\\");\\n$oc-gray-8: map-get($oc-gray-list, \\\"8\\\");\\n$oc-gray-9: map-get($oc-gray-list, \\\"9\\\");\\n\\n\\n// Red\\n// ───────────────────────────────────\\n\\n$oc-red-list: (\\n \\\"0\\\": #fff5f5,\\n \\\"1\\\": #ffe3e3,\\n \\\"2\\\": #ffc9c9,\\n \\\"3\\\": #ffa8a8,\\n \\\"4\\\": #ff8787,\\n \\\"5\\\": #ff6b6b,\\n \\\"6\\\": #fa5252,\\n \\\"7\\\": #f03e3e,\\n \\\"8\\\": #e03131,\\n \\\"9\\\": #c92a2a\\n);\\n\\n$oc-red-0: map-get($oc-red-list, \\\"0\\\");\\n$oc-red-1: map-get($oc-red-list, \\\"1\\\");\\n$oc-red-2: map-get($oc-red-list, \\\"2\\\");\\n$oc-red-3: map-get($oc-red-list, \\\"3\\\");\\n$oc-red-4: map-get($oc-red-list, \\\"4\\\");\\n$oc-red-5: map-get($oc-red-list, \\\"5\\\");\\n$oc-red-6: map-get($oc-red-list, \\\"6\\\");\\n$oc-red-7: map-get($oc-red-list, \\\"7\\\");\\n$oc-red-8: map-get($oc-red-list, \\\"8\\\");\\n$oc-red-9: map-get($oc-red-list, \\\"9\\\");\\n\\n\\n// Pink\\n// ───────────────────────────────────\\n\\n$oc-pink-list: (\\n \\\"0\\\": #fff0f6,\\n \\\"1\\\": #ffdeeb,\\n \\\"2\\\": #fcc2d7,\\n \\\"3\\\": #faa2c1,\\n \\\"4\\\": #f783ac,\\n \\\"5\\\": #f06595,\\n \\\"6\\\": #e64980,\\n \\\"7\\\": #d6336c,\\n \\\"8\\\": #c2255c,\\n \\\"9\\\": #a61e4d\\n);\\n\\n$oc-pink-0: map-get($oc-pink-list, \\\"0\\\");\\n$oc-pink-1: map-get($oc-pink-list, \\\"1\\\");\\n$oc-pink-2: map-get($oc-pink-list, \\\"2\\\");\\n$oc-pink-3: map-get($oc-pink-list, \\\"3\\\");\\n$oc-pink-4: map-get($oc-pink-list, \\\"4\\\");\\n$oc-pink-5: map-get($oc-pink-list, \\\"5\\\");\\n$oc-pink-6: map-get($oc-pink-list, \\\"6\\\");\\n$oc-pink-7: map-get($oc-pink-list, \\\"7\\\");\\n$oc-pink-8: map-get($oc-pink-list, \\\"8\\\");\\n$oc-pink-9: map-get($oc-pink-list, \\\"9\\\");\\n\\n\\n// Grape\\n// ───────────────────────────────────\\n\\n$oc-grape-list: (\\n \\\"0\\\": #f8f0fc,\\n \\\"1\\\": #f3d9fa,\\n \\\"2\\\": #eebefa,\\n \\\"3\\\": #e599f7,\\n \\\"4\\\": #da77f2,\\n \\\"5\\\": #cc5de8,\\n \\\"6\\\": #be4bdb,\\n \\\"7\\\": #ae3ec9,\\n \\\"8\\\": #9c36b5,\\n \\\"9\\\": #862e9c\\n);\\n\\n$oc-grape-0: map-get($oc-grape-list, \\\"0\\\");\\n$oc-grape-1: map-get($oc-grape-list, \\\"1\\\");\\n$oc-grape-2: map-get($oc-grape-list, \\\"2\\\");\\n$oc-grape-3: map-get($oc-grape-list, \\\"3\\\");\\n$oc-grape-4: map-get($oc-grape-list, \\\"4\\\");\\n$oc-grape-5: map-get($oc-grape-list, \\\"5\\\");\\n$oc-grape-6: map-get($oc-grape-list, \\\"6\\\");\\n$oc-grape-7: map-get($oc-grape-list, \\\"7\\\");\\n$oc-grape-8: map-get($oc-grape-list, \\\"8\\\");\\n$oc-grape-9: map-get($oc-grape-list, \\\"9\\\");\\n\\n\\n// Violet\\n// ───────────────────────────────────\\n\\n$oc-violet-list: (\\n \\\"0\\\": #f3f0ff,\\n \\\"1\\\": #e5dbff,\\n \\\"2\\\": #d0bfff,\\n \\\"3\\\": #b197fc,\\n \\\"4\\\": #9775fa,\\n \\\"5\\\": #845ef7,\\n \\\"6\\\": #7950f2,\\n \\\"7\\\": #7048e8,\\n \\\"8\\\": #6741d9,\\n \\\"9\\\": #5f3dc4\\n);\\n\\n$oc-violet-0: map-get($oc-violet-list, \\\"0\\\");\\n$oc-violet-1: map-get($oc-violet-list, \\\"1\\\");\\n$oc-violet-2: map-get($oc-violet-list, \\\"2\\\");\\n$oc-violet-3: map-get($oc-violet-list, \\\"3\\\");\\n$oc-violet-4: map-get($oc-violet-list, \\\"4\\\");\\n$oc-violet-5: map-get($oc-violet-list, \\\"5\\\");\\n$oc-violet-6: map-get($oc-violet-list, \\\"6\\\");\\n$oc-violet-7: map-get($oc-violet-list, \\\"7\\\");\\n$oc-violet-8: map-get($oc-violet-list, \\\"8\\\");\\n$oc-violet-9: map-get($oc-violet-list, \\\"9\\\");\\n\\n\\n// Indigo\\n// ───────────────────────────────────\\n\\n$oc-indigo-list: (\\n \\\"0\\\": #edf2ff,\\n \\\"1\\\": #dbe4ff,\\n \\\"2\\\": #bac8ff,\\n \\\"3\\\": #91a7ff,\\n \\\"4\\\": #748ffc,\\n \\\"5\\\": #5c7cfa,\\n \\\"6\\\": #4c6ef5,\\n \\\"7\\\": #4263eb,\\n \\\"8\\\": #3b5bdb,\\n \\\"9\\\": #364fc7\\n);\\n\\n$oc-indigo-0: map-get($oc-indigo-list, \\\"0\\\");\\n$oc-indigo-1: map-get($oc-indigo-list, \\\"1\\\");\\n$oc-indigo-2: map-get($oc-indigo-list, \\\"2\\\");\\n$oc-indigo-3: map-get($oc-indigo-list, \\\"3\\\");\\n$oc-indigo-4: map-get($oc-indigo-list, \\\"4\\\");\\n$oc-indigo-5: map-get($oc-indigo-list, \\\"5\\\");\\n$oc-indigo-6: map-get($oc-indigo-list, \\\"6\\\");\\n$oc-indigo-7: map-get($oc-indigo-list, \\\"7\\\");\\n$oc-indigo-8: map-get($oc-indigo-list, \\\"8\\\");\\n$oc-indigo-9: map-get($oc-indigo-list, \\\"9\\\");\\n\\n\\n// Blue\\n// ───────────────────────────────────\\n\\n$oc-blue-list: (\\n \\\"0\\\": #e7f5ff,\\n \\\"1\\\": #d0ebff,\\n \\\"2\\\": #a5d8ff,\\n \\\"3\\\": #74c0fc,\\n \\\"4\\\": #4dabf7,\\n \\\"5\\\": #339af0,\\n \\\"6\\\": #228be6,\\n \\\"7\\\": #1c7ed6,\\n \\\"8\\\": #1971c2,\\n \\\"9\\\": #1864ab\\n);\\n\\n$oc-blue-0: map-get($oc-blue-list, \\\"0\\\");\\n$oc-blue-1: map-get($oc-blue-list, \\\"1\\\");\\n$oc-blue-2: map-get($oc-blue-list, \\\"2\\\");\\n$oc-blue-3: map-get($oc-blue-list, \\\"3\\\");\\n$oc-blue-4: map-get($oc-blue-list, \\\"4\\\");\\n$oc-blue-5: map-get($oc-blue-list, \\\"5\\\");\\n$oc-blue-6: map-get($oc-blue-list, \\\"6\\\");\\n$oc-blue-7: map-get($oc-blue-list, \\\"7\\\");\\n$oc-blue-8: map-get($oc-blue-list, \\\"8\\\");\\n$oc-blue-9: map-get($oc-blue-list, \\\"9\\\");\\n\\n\\n// Cyan\\n// ───────────────────────────────────\\n\\n$oc-cyan-list: (\\n \\\"0\\\": #e3fafc,\\n \\\"1\\\": #c5f6fa,\\n \\\"2\\\": #99e9f2,\\n \\\"3\\\": #66d9e8,\\n \\\"4\\\": #3bc9db,\\n \\\"5\\\": #22b8cf,\\n \\\"6\\\": #15aabf,\\n \\\"7\\\": #1098ad,\\n \\\"8\\\": #0c8599,\\n \\\"9\\\": #0b7285\\n);\\n\\n$oc-cyan-0: map-get($oc-cyan-list, \\\"0\\\");\\n$oc-cyan-1: map-get($oc-cyan-list, \\\"1\\\");\\n$oc-cyan-2: map-get($oc-cyan-list, \\\"2\\\");\\n$oc-cyan-3: map-get($oc-cyan-list, \\\"3\\\");\\n$oc-cyan-4: map-get($oc-cyan-list, \\\"4\\\");\\n$oc-cyan-5: map-get($oc-cyan-list, \\\"5\\\");\\n$oc-cyan-6: map-get($oc-cyan-list, \\\"6\\\");\\n$oc-cyan-7: map-get($oc-cyan-list, \\\"7\\\");\\n$oc-cyan-8: map-get($oc-cyan-list, \\\"8\\\");\\n$oc-cyan-9: map-get($oc-cyan-list, \\\"9\\\");\\n\\n\\n// Teal\\n// ───────────────────────────────────\\n\\n$oc-teal-list: (\\n \\\"0\\\": #e6fcf5,\\n \\\"1\\\": #c3fae8,\\n \\\"2\\\": #96f2d7,\\n \\\"3\\\": #63e6be,\\n \\\"4\\\": #38d9a9,\\n \\\"5\\\": #20c997,\\n \\\"6\\\": #12b886,\\n \\\"7\\\": #0ca678,\\n \\\"8\\\": #099268,\\n \\\"9\\\": #087f5b\\n);\\n\\n$oc-teal-0: map-get($oc-teal-list, \\\"0\\\");\\n$oc-teal-1: map-get($oc-teal-list, \\\"1\\\");\\n$oc-teal-2: map-get($oc-teal-list, \\\"2\\\");\\n$oc-teal-3: map-get($oc-teal-list, \\\"3\\\");\\n$oc-teal-4: map-get($oc-teal-list, \\\"4\\\");\\n$oc-teal-5: map-get($oc-teal-list, \\\"5\\\");\\n$oc-teal-6: map-get($oc-teal-list, \\\"6\\\");\\n$oc-teal-7: map-get($oc-teal-list, \\\"7\\\");\\n$oc-teal-8: map-get($oc-teal-list, \\\"8\\\");\\n$oc-teal-9: map-get($oc-teal-list, \\\"9\\\");\\n\\n\\n// Green\\n// ───────────────────────────────────\\n\\n$oc-green-list: (\\n \\\"0\\\": #ebfbee,\\n \\\"1\\\": #d3f9d8,\\n \\\"2\\\": #b2f2bb,\\n \\\"3\\\": #8ce99a,\\n \\\"4\\\": #69db7c,\\n \\\"5\\\": #51cf66,\\n \\\"6\\\": #40c057,\\n \\\"7\\\": #37b24d,\\n \\\"8\\\": #2f9e44,\\n \\\"9\\\": #2b8a3e\\n);\\n\\n$oc-green-0: map-get($oc-green-list, \\\"0\\\");\\n$oc-green-1: map-get($oc-green-list, \\\"1\\\");\\n$oc-green-2: map-get($oc-green-list, \\\"2\\\");\\n$oc-green-3: map-get($oc-green-list, \\\"3\\\");\\n$oc-green-4: map-get($oc-green-list, \\\"4\\\");\\n$oc-green-5: map-get($oc-green-list, \\\"5\\\");\\n$oc-green-6: map-get($oc-green-list, \\\"6\\\");\\n$oc-green-7: map-get($oc-green-list, \\\"7\\\");\\n$oc-green-8: map-get($oc-green-list, \\\"8\\\");\\n$oc-green-9: map-get($oc-green-list, \\\"9\\\");\\n\\n\\n// Lime\\n// ───────────────────────────────────\\n\\n$oc-lime-list: (\\n \\\"0\\\": #f4fce3,\\n \\\"1\\\": #e9fac8,\\n \\\"2\\\": #d8f5a2,\\n \\\"3\\\": #c0eb75,\\n \\\"4\\\": #a9e34b,\\n \\\"5\\\": #94d82d,\\n \\\"6\\\": #82c91e,\\n \\\"7\\\": #74b816,\\n \\\"8\\\": #66a80f,\\n \\\"9\\\": #5c940d\\n);\\n\\n$oc-lime-0: map-get($oc-lime-list, \\\"0\\\");\\n$oc-lime-1: map-get($oc-lime-list, \\\"1\\\");\\n$oc-lime-2: map-get($oc-lime-list, \\\"2\\\");\\n$oc-lime-3: map-get($oc-lime-list, \\\"3\\\");\\n$oc-lime-4: map-get($oc-lime-list, \\\"4\\\");\\n$oc-lime-5: map-get($oc-lime-list, \\\"5\\\");\\n$oc-lime-6: map-get($oc-lime-list, \\\"6\\\");\\n$oc-lime-7: map-get($oc-lime-list, \\\"7\\\");\\n$oc-lime-8: map-get($oc-lime-list, \\\"8\\\");\\n$oc-lime-9: map-get($oc-lime-list, \\\"9\\\");\\n\\n\\n// Yellow\\n// ───────────────────────────────────\\n\\n$oc-yellow-list: (\\n \\\"0\\\": #fff9db,\\n \\\"1\\\": #fff3bf,\\n \\\"2\\\": #ffec99,\\n \\\"3\\\": #ffe066,\\n \\\"4\\\": #ffd43b,\\n \\\"5\\\": #fcc419,\\n \\\"6\\\": #fab005,\\n \\\"7\\\": #f59f00,\\n \\\"8\\\": #f08c00,\\n \\\"9\\\": #e67700\\n);\\n\\n$oc-yellow-0: map-get($oc-yellow-list, \\\"0\\\");\\n$oc-yellow-1: map-get($oc-yellow-list, \\\"1\\\");\\n$oc-yellow-2: map-get($oc-yellow-list, \\\"2\\\");\\n$oc-yellow-3: map-get($oc-yellow-list, \\\"3\\\");\\n$oc-yellow-4: map-get($oc-yellow-list, \\\"4\\\");\\n$oc-yellow-5: map-get($oc-yellow-list, \\\"5\\\");\\n$oc-yellow-6: map-get($oc-yellow-list, \\\"6\\\");\\n$oc-yellow-7: map-get($oc-yellow-list, \\\"7\\\");\\n$oc-yellow-8: map-get($oc-yellow-list, \\\"8\\\");\\n$oc-yellow-9: map-get($oc-yellow-list, \\\"9\\\");\\n\\n\\n// Orange\\n// ───────────────────────────────────\\n\\n$oc-orange-list: (\\n \\\"0\\\": #fff4e6,\\n \\\"1\\\": #ffe8cc,\\n \\\"2\\\": #ffd8a8,\\n \\\"3\\\": #ffc078,\\n \\\"4\\\": #ffa94d,\\n \\\"5\\\": #ff922b,\\n \\\"6\\\": #fd7e14,\\n \\\"7\\\": #f76707,\\n \\\"8\\\": #e8590c,\\n \\\"9\\\": #d9480f\\n);\\n\\n$oc-orange-0: map-get($oc-orange-list, \\\"0\\\");\\n$oc-orange-1: map-get($oc-orange-list, \\\"1\\\");\\n$oc-orange-2: map-get($oc-orange-list, \\\"2\\\");\\n$oc-orange-3: map-get($oc-orange-list, \\\"3\\\");\\n$oc-orange-4: map-get($oc-orange-list, \\\"4\\\");\\n$oc-orange-5: map-get($oc-orange-list, \\\"5\\\");\\n$oc-orange-6: map-get($oc-orange-list, \\\"6\\\");\\n$oc-orange-7: map-get($oc-orange-list, \\\"7\\\");\\n$oc-orange-8: map-get($oc-orange-list, \\\"8\\\");\\n$oc-orange-9: map-get($oc-orange-list, \\\"9\\\");\\n\\n\\n// Color list\\n// ───────────────────────────────────\\n\\n$oc-color-spectrum: 9;\\n\\n$oc-color-list: (\\n $oc-gray-list: \\\"gray\\\",\\n $oc-red-list: \\\"red\\\",\\n $oc-pink-list: \\\"pink\\\",\\n $oc-grape-list: \\\"grape\\\",\\n $oc-violet-list: \\\"violet\\\",\\n $oc-indigo-list: \\\"indigo\\\",\\n $oc-blue-list: \\\"blue\\\",\\n $oc-cyan-list: \\\"cyan\\\",\\n $oc-teal-list: \\\"teal\\\",\\n $oc-green-list: \\\"green\\\",\\n $oc-lime-list: \\\"lime\\\",\\n $oc-yellow-list: \\\"yellow\\\",\\n $oc-orange-list: \\\"orange\\\"\\n);\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1swXS51c2VbMl0hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vY29tcG9uZW50cy9Ub29sYmFyLnNjc3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUM4SDtBQUNqQjtBQUM3Ryw4QkFBOEIsdUdBQTJCLENBQUMsZ0hBQXFDO0FBQy9GO0FBQ0Esa1FBQWtRLDJDQUEyQyxHQUFHLDROQUE0TixxQ0FBcUMsK0JBQStCLGdDQUFnQyxHQUFHLDBPQUEwTyw0Q0FBNEMsR0FBRyxvRkFBb0YsZ0JBQWdCLGVBQWUsR0FBRyw4RkFBOEYsaUJBQWlCLDZDQUE2QyxvREFBb0QsdUJBQXVCLDBEQUEwRCxHQUFHLHNPQUFzTyx1REFBdUQsR0FBRywrREFBK0QsMkNBQTJDLEdBQUcsc0ZBQXNGLHdCQUF3QixHQUFHLHlEQUF5RCw2Q0FBNkMsR0FBRyx1RkFBdUYscUJBQXFCLDBCQUEwQixHQUFHLDRKQUE0SixrQkFBa0IsbUJBQW1CLEdBQUcsNEJBQTRCLDJDQUEyQywrRUFBK0UsR0FBRyw0Q0FBNEMsa0RBQWtELG1EQUFtRCxHQUFHLDZDQUE2QywrQkFBK0IsZ0NBQWdDLEdBQUcsc0RBQXNELDRCQUE0QiwyQ0FBMkMsR0FBRywwS0FBMEssMkNBQTJDLEdBQUcsNEtBQTRLLHFDQUFxQywrQkFBK0IsZ0NBQWdDLEdBQUcsMExBQTBMLDRDQUE0QyxHQUFHLDREQUE0RCxnQkFBZ0IsZUFBZSxHQUFHLDJHQUEyRyxrQkFBa0IsR0FBRyx5REFBeUQsK0JBQStCLGdDQUFnQyxHQUFHLE9BQU8sZ0tBQWdLLFdBQVcsS0FBSyxNQUFNLFdBQVcsV0FBVyxXQUFXLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxVQUFVLFVBQVUsS0FBSyxLQUFLLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLE9BQU8sV0FBVyxLQUFLLE1BQU0sV0FBVyxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sV0FBVyxXQUFXLE1BQU0sTUFBTSxXQUFXLFlBQVksS0FBSyxNQUFNLFdBQVcsV0FBVyxNQUFNLE1BQU0sV0FBVyxXQUFXLE1BQU0sTUFBTSxXQUFXLFdBQVcsTUFBTSxNQUFNLFdBQVcsV0FBVyxNQUFNLE9BQU8sV0FBVyxNQUFNLE9BQU8sV0FBVyxXQUFXLFdBQVcsTUFBTSxPQUFPLFdBQVcsTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLE9BQU8sVUFBVSxNQUFNLE1BQU0sV0FBVyxXQUFXLGlFQUFpRSxxQ0FBcUMsc0RBQXNELGtDQUFrQywrQ0FBK0MsT0FBTyxtQ0FBbUMseUNBQXlDLDZCQUE2QixXQUFXLDhCQUE4QixXQUFXLE9BQU8sMENBQTBDLGdEQUFnRCxPQUFPLEtBQUssNkJBQTZCLGtCQUFrQixpQkFBaUIsS0FBSyxHQUFHLGlCQUFpQiw0QkFBNEIsK0JBQStCLDBDQUEwQyw2QkFBNkIsMkJBQTJCLHlCQUF5QixxREFBcUQseURBQXlELCtCQUErQixrRUFBa0UsV0FBVyxTQUFTLGdFQUFnRSw0Q0FBNEMsd0hBQXdILFdBQVcsU0FBUyxPQUFPLGtDQUFrQywrQ0FBK0Msa0NBQWtDLDhCQUE4QixTQUFTLE9BQU8sNEJBQTRCLGlEQUFpRCxPQUFPLG9CQUFvQixpQ0FBaUMsMkJBQTJCLDZCQUE2QixrQ0FBa0MsV0FBVywwRUFBMEUsaUNBQWlDLG1CQUFtQixpQ0FBaUMsa0NBQWtDLGVBQWUsYUFBYSxXQUFXLFNBQVMsT0FBTyxLQUFLLG9CQUFvQiw2Q0FBNkMsOEVBQThFLG1CQUFtQixpQkFBaUIsd0RBQXdELHlEQUF5RCxTQUFTLGtCQUFrQiwrQkFBK0IsWUFBWSxnQ0FBZ0MsWUFBWSxTQUFTLDJCQUEyQixrQ0FBa0MsaURBQWlELFNBQVMsNENBQTRDLE9BQU8sb0JBQW9CLG1EQUFtRCx3QkFBd0IsU0FBUyxPQUFPLEtBQUssbURBQW1ELDJCQUEyQixZQUFZLDRCQUE0QixZQUFZLEtBQUssR0FBRyxrTEFBa0wsNkJBQTZCLDRRQUE0USw4Q0FBOEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsMFFBQTBRLDRDQUE0QywwQ0FBMEMsMENBQTBDLDBDQUEwQywwQ0FBMEMsMENBQTBDLDBDQUEwQywwQ0FBMEMsMENBQTBDLDBDQUEwQyw0UUFBNFEsOENBQThDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDhRQUE4USxnREFBZ0QsOENBQThDLDhDQUE4Qyw4Q0FBOEMsOENBQThDLDhDQUE4Qyw4Q0FBOEMsOENBQThDLDhDQUE4Qyw4Q0FBOEMsZ1JBQWdSLGtEQUFrRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnUkFBZ1Isa0RBQWtELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELDRRQUE0USw4Q0FBOEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNFFBQTRRLDhDQUE4Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0UUFBNFEsOENBQThDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDhRQUE4USxnREFBZ0QsOENBQThDLDhDQUE4Qyw4Q0FBOEMsOENBQThDLDhDQUE4Qyw4Q0FBOEMsOENBQThDLDhDQUE4Qyw4Q0FBOEMsNFFBQTRRLDhDQUE4Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0QyxnUkFBZ1Isa0RBQWtELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdSQUFnUixrREFBa0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QseUZBQXlGLHVkQUF1ZCxxQkFBcUI7QUFDN3ZpQjtBQUNBLGlFQUFlLHVCQUF1QixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4uLy4uL2NvbXBvbmVudHMvVG9vbGJhci5zY3NzPzlhZGIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xuLy8gTW9kdWxlXG5fX19DU1NfTE9BREVSX0VYUE9SVF9fXy5wdXNoKFttb2R1bGUuaWQsIFwiLmV4Y2FsaWRyYXcgLkFwcC10b29sYmFyLWNvbnRhaW5lciAuVG9vbEljb25fdHlwZV9mbG9hdGluZyAuVG9vbEljb25fdHlwZV9yYWRpbyArIC5Ub29sSWNvbl9faWNvbjphY3RpdmUsXFxuLmV4Y2FsaWRyYXcgLkFwcC10b29sYmFyLWNvbnRhaW5lciAuVG9vbEljb25fdHlwZV9mbG9hdGluZyAuVG9vbEljb25fdHlwZV9jaGVja2JveCArIC5Ub29sSWNvbl9faWNvbjphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtdG9vbGJhci1jb250YWluZXIgLlRvb2xJY29uX3R5cGVfZmxvYXRpbmcgLlRvb2xJY29uX3R5cGVfcmFkaW86Y2hlY2tlZCArIC5Ub29sSWNvbl9faWNvbixcXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXItY29udGFpbmVyIC5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIC5Ub29sSWNvbl90eXBlX2NoZWNrYm94OmNoZWNrZWQgKyAuVG9vbEljb25fX2ljb24ge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XFxuICAtLWljb24tZmlsbC1jb2xvcjogI2ZmZmZmZjtcXG4gIC0ta2V5YmluZGluZy1jb2xvcjogI2ZmZmZmZjtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC10b29sYmFyLWNvbnRhaW5lciAuVG9vbEljb25fdHlwZV9mbG9hdGluZyAuVG9vbEljb25fdHlwZV9yYWRpbzpjaGVja2VkICsgLlRvb2xJY29uX19pY29uOmFjdGl2ZSxcXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXItY29udGFpbmVyIC5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIC5Ub29sSWNvbl90eXBlX2NoZWNrYm94OmNoZWNrZWQgKyAuVG9vbEljb25fX2ljb246YWN0aXZlIHtcXG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VyKTtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC10b29sYmFyLWNvbnRhaW5lciAuVG9vbEljb25fdHlwZV9mbG9hdGluZyAuVG9vbEljb25fX2tleWJpbmRpbmcge1xcbiAgYm90dG9tOiA0cHg7XFxuICByaWdodDogNHB4O1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXItY29udGFpbmVyIC5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nOm5vdCguaXMtbW9iaWxlKSAuVG9vbEljb25fX2ljb24ge1xcbiAgcGFkZGluZzogMXB4O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taXNsYW5kLWJnLWNvbG9yKTtcXG4gIGJveC1zaGFkb3c6IDFweCAzcHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzIGVhc2UsIHRyYW5zZm9ybSAwLjVzIGVhc2U7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtdG9vbGJhci1jb250YWluZXIgLlRvb2xJY29uX3R5cGVfZmxvYXRpbmcgLlRvb2xJY29uX3R5cGVfcmFkaW86Zm9jdXMtd2l0aGluICsgLlRvb2xJY29uX19pY29uLFxcbi5leGNhbGlkcmF3IC5BcHAtdG9vbGJhci1jb250YWluZXIgLlRvb2xJY29uX3R5cGVfZmxvYXRpbmcgLlRvb2xJY29uX3R5cGVfY2hlY2tib3g6Zm9jdXMtd2l0aGluICsgLlRvb2xJY29uX19pY29uIHtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb2N1cy1oaWdobGlnaHQtY29sb3IpO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXItY29udGFpbmVyIC5Ub29sSWNvbi5Ub29sSWNvbl9fbG9jayB7XFxuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tc3BhY2UtZmFjdG9yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC10b29sYmFyLWNvbnRhaW5lciAuVG9vbEljb24uVG9vbEljb25fX2xvY2suVG9vbEljb25fdHlwZV9mbG9hdGluZyB7XFxuICBtYXJnaW4tbGVmdDogMC4xcmVtO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXItY29udGFpbmVyIC5Ub29sSWNvbl9fbGlicmFyeSB7XFxuICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zcGFjZS1mYWN0b3IpO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXItY29udGFpbmVyLnplbi1tb2RlIC5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIC5Ub29sSWNvbl9faWNvbiB7XFxuICBib3gtc2hhZG93OiBub25lO1xcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXItY29udGFpbmVyLnplbi1tb2RlIC5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIC5Ub29sSWNvbl90eXBlX2NoZWNrYm94Om5vdCg6Y2hlY2tlZCk6bm90KDpob3Zlcik6bm90KDphY3RpdmUpICsgLlRvb2xJY29uX19pY29uIHN2ZyB7XFxuICBmaWxsOiAjYWRiNWJkO1xcbiAgY29sb3I6ICNhZGI1YmQ7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtdG9vbGJhciB7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMDEpLCAxcHggMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXIgLlRvb2xJY29uOmhvdmVyIHtcXG4gIC0taWNvbi1maWxsLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWNodWJiKTtcXG4gIC0ta2V5YmluZGluZy1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jaHViYik7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtdG9vbGJhciAuVG9vbEljb246YWN0aXZlIHtcXG4gIC0taWNvbi1maWxsLWNvbG9yOiAjMjEyNTI5O1xcbiAgLS1rZXliaW5kaW5nLWNvbG9yOiAjMjEyNTI5O1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXIgLlRvb2xJY29uIC5Ub29sSWNvbl9faWNvbiB7XFxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXIgLlRvb2xJY29uIC5Ub29sSWNvbl90eXBlX3JhZGlvICsgLlRvb2xJY29uX19pY29uOmFjdGl2ZSxcXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXIgLlRvb2xJY29uIC5Ub29sSWNvbl90eXBlX2NoZWNrYm94ICsgLlRvb2xJY29uX19pY29uOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC10b29sYmFyIC5Ub29sSWNvbiAuVG9vbEljb25fdHlwZV9yYWRpbzpjaGVja2VkICsgLlRvb2xJY29uX19pY29uLFxcbi5leGNhbGlkcmF3IC5BcHAtdG9vbGJhciAuVG9vbEljb24gLlRvb2xJY29uX3R5cGVfY2hlY2tib3g6Y2hlY2tlZCArIC5Ub29sSWNvbl9faWNvbiB7XFxuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcXG4gIC0taWNvbi1maWxsLWNvbG9yOiAjZmZmZmZmO1xcbiAgLS1rZXliaW5kaW5nLWNvbG9yOiAjZmZmZmZmO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXIgLlRvb2xJY29uIC5Ub29sSWNvbl90eXBlX3JhZGlvOmNoZWNrZWQgKyAuVG9vbEljb25fX2ljb246YWN0aXZlLFxcbi5leGNhbGlkcmF3IC5BcHAtdG9vbGJhciAuVG9vbEljb24gLlRvb2xJY29uX3R5cGVfY2hlY2tib3g6Y2hlY2tlZCArIC5Ub29sSWNvbl9faWNvbjphY3RpdmUge1xcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXIpO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLXRvb2xiYXIgLlRvb2xJY29uIC5Ub29sSWNvbl9fa2V5YmluZGluZyB7XFxuICBib3R0b206IDRweDtcXG4gIHJpZ2h0OiA0cHg7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtdG9vbGJhci56ZW4tbW9kZSAuVG9vbEljb25fX2tleWJpbmRpbmcsXFxuLmV4Y2FsaWRyYXcgLkFwcC10b29sYmFyLnplbi1tb2RlIC5IaW50Vmlld2VyIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcbi5leGNhbGlkcmF3LnRoZW1lLS1kYXJrIC5BcHAtdG9vbGJhciAuVG9vbEljb246YWN0aXZlIHtcXG4gIC0taWNvbi1maWxsLWNvbG9yOiAjZGVlMmU2O1xcbiAgLS1rZXliaW5kaW5nLWNvbG9yOiAjZGVlMmU2O1xcbn1cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi8uLi8uLi9jb21wb25lbnRzL1Rvb2xiYXIuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL29wZW4tY29sb3Ivb3Blbi1jb2xvci5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUtJOztFQUNFLHNDQUFBO0FBSE47QUFLSTs7RUFDRSxnQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsMkJBQUE7QUFGTjtBQUlJOztFQUNFLHVDQUFBO0FBRE47QUFLRTtFQUNFLFdBQUE7RUFDQSxVQUFBO0FBSEo7QUFhUTtFQUNFLFlBQUE7RUFDQSx3Q0FBQTtFQUNBLCtDQUFBO0VBQ0Esa0JBQUE7RUFDQSxxREFBQTtBQVhWO0FBaUJROztFQUVFLGtEQUFBO0FBZlY7QUFvQkk7RUFDRSxzQ0FBQTtBQWxCTjtBQW1CTTtFQUNFLG1CQUFBO0FBakJSO0FBcUJJO0VBQ0Usd0NBQUE7QUFuQk47QUF3QlE7RUFDRSxnQkFBQTtFQUNBLHFCQUFBO0FBdEJWO0FBMEJZO0VBQ0UsYUNoQ0Y7RURpQ0UsY0NqQ0Y7QURTWjtBQWdDRTtFQUNFLHNDQUFBO0VBQ0EsMEVBQUE7QUE5Qko7QUFpQ007RUFDRSw2Q0FBQTtFQUNBLDhDQUFBO0FBL0JSO0FBaUNNO0VBQ0UsMEJBQUE7RUFDQSwyQkFBQTtBQS9CUjtBQWtDTTtFQUNFLHVCQUFBO0VBQ0Esc0NBQUE7QUFoQ1I7QUF4REk7O0VBQ0Usc0NBQUE7QUEyRE47QUF6REk7O0VBQ0UsZ0NBQUE7RUFDQSwwQkFBQTtFQUNBLDJCQUFBO0FBNEROO0FBMURJOztFQUNFLHVDQUFBO0FBNkROO0FBekRFO0VBQ0UsV0FBQTtFQUNBLFVBQUE7QUEyREo7QUFxQk07O0VBRUUsYUFBQTtBQW5CUjtBQXdCRTtFQUNFLDBCQUFBO0VBQ0EsMkJBQUE7QUF0QkpcIixcInNvdXJjZXNDb250ZW50XCI6W1wiQGltcG9ydCBcXFwib3Blbi1jb2xvci9vcGVuLWNvbG9yLnNjc3NcXFwiO1xcblxcbkBtaXhpbiB0b29sYmFyQnV0dG9uQ29sb3JTdGF0ZXMge1xcbiAgLlRvb2xJY29uX3R5cGVfcmFkaW8sXFxuICAuVG9vbEljb25fdHlwZV9jaGVja2JveCB7XFxuICAgICYgKyAuVG9vbEljb25fX2ljb246YWN0aXZlIHtcXG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcXG4gICAgfVxcbiAgICAmOmNoZWNrZWQgKyAuVG9vbEljb25fX2ljb24ge1xcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xcbiAgICAgIC0taWNvbi1maWxsLWNvbG9yOiAjeyRvYy13aGl0ZX07XFxuICAgICAgLS1rZXliaW5kaW5nLWNvbG9yOiAjeyRvYy13aGl0ZX07XFxuICAgIH1cXG4gICAgJjpjaGVja2VkICsgLlRvb2xJY29uX19pY29uOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXIpO1xcbiAgICB9XFxuICB9XFxuXFxuICAuVG9vbEljb25fX2tleWJpbmRpbmcge1xcbiAgICBib3R0b206IDRweDtcXG4gICAgcmlnaHQ6IDRweDtcXG4gIH1cXG59XFxuXFxuLmV4Y2FsaWRyYXcge1xcbiAgLkFwcC10b29sYmFyLWNvbnRhaW5lciB7XFxuICAgIC5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIHtcXG4gICAgICBAaW5jbHVkZSB0b29sYmFyQnV0dG9uQ29sb3JTdGF0ZXM7XFxuXFxuICAgICAgJjpub3QoLmlzLW1vYmlsZSkge1xcbiAgICAgICAgLlRvb2xJY29uX19pY29uIHtcXG4gICAgICAgICAgcGFkZGluZzogMXB4O1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pc2xhbmQtYmctY29sb3IpO1xcbiAgICAgICAgICBib3gtc2hhZG93OiAxcHggM3B4IDRweCAwcHggcmdiKDAgMCAwIC8gMTUlKTtcXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMgZWFzZSwgdHJhbnNmb3JtIDAuNXMgZWFzZTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgLlRvb2xJY29uX3R5cGVfcmFkaW8sXFxuICAgICAgLlRvb2xJY29uX3R5cGVfY2hlY2tib3gge1xcbiAgICAgICAgJjpmb2N1cy13aXRoaW4gKyAuVG9vbEljb25fX2ljb24ge1xcbiAgICAgICAgICAvLyBvdmVycmlkZSBmb3IgY3VzdG9tIGZsb2F0aW5nIGJ1dHRvbiBzaGFkb3dcXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcik7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIC5Ub29sSWNvbi5Ub29sSWNvbl9fbG9jayB7XFxuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNwYWNlLWZhY3Rvcik7XFxuICAgICAgJi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIHtcXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjFyZW07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIC5Ub29sSWNvbl9fbGlicmFyeSB7XFxuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tc3BhY2UtZmFjdG9yKTtcXG4gICAgfVxcblxcbiAgICAmLnplbi1tb2RlIHtcXG4gICAgICAuVG9vbEljb25fdHlwZV9mbG9hdGluZyB7XFxuICAgICAgICAuVG9vbEljb25fX2ljb24ge1xcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XFxuICAgICAgICB9XFxuICAgICAgICAuVG9vbEljb25fdHlwZV9jaGVja2JveDpub3QoOmNoZWNrZWQpOm5vdCg6aG92ZXIpOm5vdCg6YWN0aXZlKSB7XFxuICAgICAgICAgICYgKyAuVG9vbEljb25fX2ljb24ge1xcbiAgICAgICAgICAgIHN2ZyB7XFxuICAgICAgICAgICAgICBmaWxsOiAkb2MtZ3JheS01O1xcbiAgICAgICAgICAgICAgY29sb3I6ICRvYy1ncmF5LTU7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICAuQXBwLXRvb2xiYXIge1xcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4wMSksIDFweCAxcHggNXB4IHJnYigwIDAgMCAvIDE1JSk7XFxuXFxuICAgIC5Ub29sSWNvbiB7XFxuICAgICAgJjpob3ZlciB7XFxuICAgICAgICAtLWljb24tZmlsbC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1jaHViYik7XFxuICAgICAgICAtLWtleWJpbmRpbmctY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktY2h1YmIpO1xcbiAgICAgIH1cXG4gICAgICAmOmFjdGl2ZSB7XFxuICAgICAgICAtLWljb24tZmlsbC1jb2xvcjogI3skb2MtZ3JheS05fTtcXG4gICAgICAgIC0ta2V5YmluZGluZy1jb2xvcjogI3skb2MtZ3JheS05fTtcXG4gICAgICB9XFxuXFxuICAgICAgLlRvb2xJY29uX19pY29uIHtcXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XFxuICAgICAgfVxcblxcbiAgICAgIEBpbmNsdWRlIHRvb2xiYXJCdXR0b25Db2xvclN0YXRlcztcXG4gICAgfVxcblxcbiAgICAmLnplbi1tb2RlIHtcXG4gICAgICAuVG9vbEljb25fX2tleWJpbmRpbmcsXFxuICAgICAgLkhpbnRWaWV3ZXIge1xcbiAgICAgICAgZGlzcGxheTogbm9uZTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gICYudGhlbWUtLWRhcmsgLkFwcC10b29sYmFyIC5Ub29sSWNvbjphY3RpdmUge1xcbiAgICAtLWljb24tZmlsbC1jb2xvcjogI3skb2MtZ3JheS0zfTtcXG4gICAgLS1rZXliaW5kaW5nLWNvbG9yOiAjeyRvYy1ncmF5LTN9O1xcbiAgfVxcbn1cXG5cIixcIi8vXFxuLy9cXG4vLyAg8J2XliDwnZeiIPCdl58g8J2XoiDwnZelXFxuLy8gIHYgMS45LjFcXG4vL1xcbi8vICDilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIHilIFcXG5cXG5cXG4vLyAgR2VuZXJhbFxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2Mtd2hpdGU6ICAgICAgICAgI2ZmZmZmZjtcXG4kb2MtYmxhY2s6ICAgICAgICAgIzAwMDAwMDtcXG5cXG5cXG4vLyAgR3JheVxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtZ3JheS1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmOGY5ZmEsXFxuICBcXFwiMVxcXCI6ICNmMWYzZjUsXFxuICBcXFwiMlxcXCI6ICNlOWVjZWYsXFxuICBcXFwiM1xcXCI6ICNkZWUyZTYsXFxuICBcXFwiNFxcXCI6ICNjZWQ0ZGEsXFxuICBcXFwiNVxcXCI6ICNhZGI1YmQsXFxuICBcXFwiNlxcXCI6ICM4NjhlOTYsXFxuICBcXFwiN1xcXCI6ICM0OTUwNTcsXFxuICBcXFwiOFxcXCI6ICMzNDNhNDAsXFxuICBcXFwiOVxcXCI6ICMyMTI1MjlcXG4pO1xcblxcbiRvYy1ncmF5LTA6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtZ3JheS0xOiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLWdyYXktMjogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1ncmF5LTM6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtZ3JheS00OiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLWdyYXktNTogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1ncmF5LTY6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtZ3JheS03OiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLWdyYXktODogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1ncmF5LTk6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgUmVkXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1yZWQtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZmZmNWY1LFxcbiAgXFxcIjFcXFwiOiAjZmZlM2UzLFxcbiAgXFxcIjJcXFwiOiAjZmZjOWM5LFxcbiAgXFxcIjNcXFwiOiAjZmZhOGE4LFxcbiAgXFxcIjRcXFwiOiAjZmY4Nzg3LFxcbiAgXFxcIjVcXFwiOiAjZmY2YjZiLFxcbiAgXFxcIjZcXFwiOiAjZmE1MjUyLFxcbiAgXFxcIjdcXFwiOiAjZjAzZTNlLFxcbiAgXFxcIjhcXFwiOiAjZTAzMTMxLFxcbiAgXFxcIjlcXFwiOiAjYzkyYTJhXFxuKTtcXG5cXG4kb2MtcmVkLTA6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1yZWQtMTogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLXJlZC0yOiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtcmVkLTM6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1yZWQtNDogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLXJlZC01OiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtcmVkLTY6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1yZWQtNzogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLXJlZC04OiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtcmVkLTk6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBQaW5rXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1waW5rLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2ZmZjBmNixcXG4gIFxcXCIxXFxcIjogI2ZmZGVlYixcXG4gIFxcXCIyXFxcIjogI2ZjYzJkNyxcXG4gIFxcXCIzXFxcIjogI2ZhYTJjMSxcXG4gIFxcXCI0XFxcIjogI2Y3ODNhYyxcXG4gIFxcXCI1XFxcIjogI2YwNjU5NSxcXG4gIFxcXCI2XFxcIjogI2U2NDk4MCxcXG4gIFxcXCI3XFxcIjogI2Q2MzM2YyxcXG4gIFxcXCI4XFxcIjogI2MyMjU1YyxcXG4gIFxcXCI5XFxcIjogI2E2MWU0ZFxcbik7XFxuXFxuJG9jLXBpbmstMDogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1waW5rLTE6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtcGluay0yOiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLXBpbmstMzogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1waW5rLTQ6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtcGluay01OiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLXBpbmstNjogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1waW5rLTc6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtcGluay04OiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLXBpbmstOTogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBHcmFwZVxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtZ3JhcGUtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZjhmMGZjLFxcbiAgXFxcIjFcXFwiOiAjZjNkOWZhLFxcbiAgXFxcIjJcXFwiOiAjZWViZWZhLFxcbiAgXFxcIjNcXFwiOiAjZTU5OWY3LFxcbiAgXFxcIjRcXFwiOiAjZGE3N2YyLFxcbiAgXFxcIjVcXFwiOiAjY2M1ZGU4LFxcbiAgXFxcIjZcXFwiOiAjYmU0YmRiLFxcbiAgXFxcIjdcXFwiOiAjYWUzZWM5LFxcbiAgXFxcIjhcXFwiOiAjOWMzNmI1LFxcbiAgXFxcIjlcXFwiOiAjODYyZTljXFxuKTtcXG5cXG4kb2MtZ3JhcGUtMDogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtZ3JhcGUtMTogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtZ3JhcGUtMjogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtZ3JhcGUtMzogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtZ3JhcGUtNDogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtZ3JhcGUtNTogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtZ3JhcGUtNjogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtZ3JhcGUtNzogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtZ3JhcGUtODogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtZ3JhcGUtOTogbWFwLWdldCgkb2MtZ3JhcGUtbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgVmlvbGV0XFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy12aW9sZXQtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZjNmMGZmLFxcbiAgXFxcIjFcXFwiOiAjZTVkYmZmLFxcbiAgXFxcIjJcXFwiOiAjZDBiZmZmLFxcbiAgXFxcIjNcXFwiOiAjYjE5N2ZjLFxcbiAgXFxcIjRcXFwiOiAjOTc3NWZhLFxcbiAgXFxcIjVcXFwiOiAjODQ1ZWY3LFxcbiAgXFxcIjZcXFwiOiAjNzk1MGYyLFxcbiAgXFxcIjdcXFwiOiAjNzA0OGU4LFxcbiAgXFxcIjhcXFwiOiAjNjc0MWQ5LFxcbiAgXFxcIjlcXFwiOiAjNWYzZGM0XFxuKTtcXG5cXG4kb2MtdmlvbGV0LTA6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy12aW9sZXQtMTogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLXZpb2xldC0yOiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtdmlvbGV0LTM6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy12aW9sZXQtNDogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLXZpb2xldC01OiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtdmlvbGV0LTY6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy12aW9sZXQtNzogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLXZpb2xldC04OiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtdmlvbGV0LTk6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBJbmRpZ29cXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWluZGlnby1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNlZGYyZmYsXFxuICBcXFwiMVxcXCI6ICNkYmU0ZmYsXFxuICBcXFwiMlxcXCI6ICNiYWM4ZmYsXFxuICBcXFwiM1xcXCI6ICM5MWE3ZmYsXFxuICBcXFwiNFxcXCI6ICM3NDhmZmMsXFxuICBcXFwiNVxcXCI6ICM1YzdjZmEsXFxuICBcXFwiNlxcXCI6ICM0YzZlZjUsXFxuICBcXFwiN1xcXCI6ICM0MjYzZWIsXFxuICBcXFwiOFxcXCI6ICMzYjViZGIsXFxuICBcXFwiOVxcXCI6ICMzNjRmYzdcXG4pO1xcblxcbiRvYy1pbmRpZ28tMDogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWluZGlnby0xOiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtaW5kaWdvLTI6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1pbmRpZ28tMzogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWluZGlnby00OiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtaW5kaWdvLTU6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1pbmRpZ28tNjogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWluZGlnby03OiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtaW5kaWdvLTg6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1pbmRpZ28tOTogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIEJsdWVcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWJsdWUtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZTdmNWZmLFxcbiAgXFxcIjFcXFwiOiAjZDBlYmZmLFxcbiAgXFxcIjJcXFwiOiAjYTVkOGZmLFxcbiAgXFxcIjNcXFwiOiAjNzRjMGZjLFxcbiAgXFxcIjRcXFwiOiAjNGRhYmY3LFxcbiAgXFxcIjVcXFwiOiAjMzM5YWYwLFxcbiAgXFxcIjZcXFwiOiAjMjI4YmU2LFxcbiAgXFxcIjdcXFwiOiAjMWM3ZWQ2LFxcbiAgXFxcIjhcXFwiOiAjMTk3MWMyLFxcbiAgXFxcIjlcXFwiOiAjMTg2NGFiXFxuKTtcXG5cXG4kb2MtYmx1ZS0wOiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWJsdWUtMTogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1ibHVlLTI6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtYmx1ZS0zOiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWJsdWUtNDogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1ibHVlLTU6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtYmx1ZS02OiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWJsdWUtNzogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1ibHVlLTg6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtYmx1ZS05OiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIEN5YW5cXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWN5YW4tbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZTNmYWZjLFxcbiAgXFxcIjFcXFwiOiAjYzVmNmZhLFxcbiAgXFxcIjJcXFwiOiAjOTllOWYyLFxcbiAgXFxcIjNcXFwiOiAjNjZkOWU4LFxcbiAgXFxcIjRcXFwiOiAjM2JjOWRiLFxcbiAgXFxcIjVcXFwiOiAjMjJiOGNmLFxcbiAgXFxcIjZcXFwiOiAjMTVhYWJmLFxcbiAgXFxcIjdcXFwiOiAjMTA5OGFkLFxcbiAgXFxcIjhcXFwiOiAjMGM4NTk5LFxcbiAgXFxcIjlcXFwiOiAjMGI3Mjg1XFxuKTtcXG5cXG4kb2MtY3lhbi0wOiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWN5YW4tMTogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1jeWFuLTI6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtY3lhbi0zOiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWN5YW4tNDogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1jeWFuLTU6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtY3lhbi02OiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWN5YW4tNzogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1jeWFuLTg6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtY3lhbi05OiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIFRlYWxcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLXRlYWwtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZTZmY2Y1LFxcbiAgXFxcIjFcXFwiOiAjYzNmYWU4LFxcbiAgXFxcIjJcXFwiOiAjOTZmMmQ3LFxcbiAgXFxcIjNcXFwiOiAjNjNlNmJlLFxcbiAgXFxcIjRcXFwiOiAjMzhkOWE5LFxcbiAgXFxcIjVcXFwiOiAjMjBjOTk3LFxcbiAgXFxcIjZcXFwiOiAjMTJiODg2LFxcbiAgXFxcIjdcXFwiOiAjMGNhNjc4LFxcbiAgXFxcIjhcXFwiOiAjMDk5MjY4LFxcbiAgXFxcIjlcXFwiOiAjMDg3ZjViXFxuKTtcXG5cXG4kb2MtdGVhbC0wOiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLXRlYWwtMTogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy10ZWFsLTI6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtdGVhbC0zOiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLXRlYWwtNDogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy10ZWFsLTU6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtdGVhbC02OiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLXRlYWwtNzogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy10ZWFsLTg6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtdGVhbC05OiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIEdyZWVuXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1ncmVlbi1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNlYmZiZWUsXFxuICBcXFwiMVxcXCI6ICNkM2Y5ZDgsXFxuICBcXFwiMlxcXCI6ICNiMmYyYmIsXFxuICBcXFwiM1xcXCI6ICM4Y2U5OWEsXFxuICBcXFwiNFxcXCI6ICM2OWRiN2MsXFxuICBcXFwiNVxcXCI6ICM1MWNmNjYsXFxuICBcXFwiNlxcXCI6ICM0MGMwNTcsXFxuICBcXFwiN1xcXCI6ICMzN2IyNGQsXFxuICBcXFwiOFxcXCI6ICMyZjllNDQsXFxuICBcXFwiOVxcXCI6ICMyYjhhM2VcXG4pO1xcblxcbiRvYy1ncmVlbi0wOiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1ncmVlbi0xOiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1ncmVlbi0yOiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1ncmVlbi0zOiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1ncmVlbi00OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1ncmVlbi01OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1ncmVlbi02OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1ncmVlbi03OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1ncmVlbi04OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1ncmVlbi05OiBtYXAtZ2V0KCRvYy1ncmVlbi1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBMaW1lXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1saW1lLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2Y0ZmNlMyxcXG4gIFxcXCIxXFxcIjogI2U5ZmFjOCxcXG4gIFxcXCIyXFxcIjogI2Q4ZjVhMixcXG4gIFxcXCIzXFxcIjogI2MwZWI3NSxcXG4gIFxcXCI0XFxcIjogI2E5ZTM0YixcXG4gIFxcXCI1XFxcIjogIzk0ZDgyZCxcXG4gIFxcXCI2XFxcIjogIzgyYzkxZSxcXG4gIFxcXCI3XFxcIjogIzc0YjgxNixcXG4gIFxcXCI4XFxcIjogIzY2YTgwZixcXG4gIFxcXCI5XFxcIjogIzVjOTQwZFxcbik7XFxuXFxuJG9jLWxpbWUtMDogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1saW1lLTE6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtbGltZS0yOiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLWxpbWUtMzogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1saW1lLTQ6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtbGltZS01OiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLWxpbWUtNjogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1saW1lLTc6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtbGltZS04OiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLWxpbWUtOTogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBZZWxsb3dcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLXllbGxvdy1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmZmY5ZGIsXFxuICBcXFwiMVxcXCI6ICNmZmYzYmYsXFxuICBcXFwiMlxcXCI6ICNmZmVjOTksXFxuICBcXFwiM1xcXCI6ICNmZmUwNjYsXFxuICBcXFwiNFxcXCI6ICNmZmQ0M2IsXFxuICBcXFwiNVxcXCI6ICNmY2M0MTksXFxuICBcXFwiNlxcXCI6ICNmYWIwMDUsXFxuICBcXFwiN1xcXCI6ICNmNTlmMDAsXFxuICBcXFwiOFxcXCI6ICNmMDhjMDAsXFxuICBcXFwiOVxcXCI6ICNlNjc3MDBcXG4pO1xcblxcbiRvYy15ZWxsb3ctMDogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLXllbGxvdy0xOiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MteWVsbG93LTI6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy15ZWxsb3ctMzogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLXllbGxvdy00OiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MteWVsbG93LTU6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy15ZWxsb3ctNjogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLXllbGxvdy03OiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MteWVsbG93LTg6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy15ZWxsb3ctOTogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIE9yYW5nZVxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2Mtb3JhbmdlLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2ZmZjRlNixcXG4gIFxcXCIxXFxcIjogI2ZmZThjYyxcXG4gIFxcXCIyXFxcIjogI2ZmZDhhOCxcXG4gIFxcXCIzXFxcIjogI2ZmYzA3OCxcXG4gIFxcXCI0XFxcIjogI2ZmYTk0ZCxcXG4gIFxcXCI1XFxcIjogI2ZmOTIyYixcXG4gIFxcXCI2XFxcIjogI2ZkN2UxNCxcXG4gIFxcXCI3XFxcIjogI2Y3NjcwNyxcXG4gIFxcXCI4XFxcIjogI2U4NTkwYyxcXG4gIFxcXCI5XFxcIjogI2Q5NDgwZlxcbik7XFxuXFxuJG9jLW9yYW5nZS0wOiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2Mtb3JhbmdlLTE6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1vcmFuZ2UtMjogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLW9yYW5nZS0zOiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2Mtb3JhbmdlLTQ6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1vcmFuZ2UtNTogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLW9yYW5nZS02OiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2Mtb3JhbmdlLTc6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1vcmFuZ2UtODogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLW9yYW5nZS05OiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgQ29sb3IgbGlzdFxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtY29sb3Itc3BlY3RydW06ICAgOTtcXG5cXG4kb2MtY29sb3ItbGlzdDogKFxcbiAgJG9jLWdyYXktbGlzdDogICAgICBcXFwiZ3JheVxcXCIsXFxuICAkb2MtcmVkLWxpc3Q6ICAgICAgXFxcInJlZFxcXCIsXFxuICAkb2MtcGluay1saXN0OiAgICAgIFxcXCJwaW5rXFxcIixcXG4gICRvYy1ncmFwZS1saXN0OiAgICAgIFxcXCJncmFwZVxcXCIsXFxuICAkb2MtdmlvbGV0LWxpc3Q6ICAgICAgXFxcInZpb2xldFxcXCIsXFxuICAkb2MtaW5kaWdvLWxpc3Q6ICAgICAgXFxcImluZGlnb1xcXCIsXFxuICAkb2MtYmx1ZS1saXN0OiAgICAgIFxcXCJibHVlXFxcIixcXG4gICRvYy1jeWFuLWxpc3Q6ICAgICAgXFxcImN5YW5cXFwiLFxcbiAgJG9jLXRlYWwtbGlzdDogICAgICBcXFwidGVhbFxcXCIsXFxuICAkb2MtZ3JlZW4tbGlzdDogICAgICBcXFwiZ3JlZW5cXFwiLFxcbiAgJG9jLWxpbWUtbGlzdDogICAgICBcXFwibGltZVxcXCIsXFxuICAkb2MteWVsbG93LWxpc3Q6ICAgICAgXFxcInllbGxvd1xcXCIsXFxuICAkb2Mtb3JhbmdlLWxpc3Q6ICAgICAgXFxcIm9yYW5nZVxcXCJcXG4pO1xcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../components/Toolbar.scss\n");
|
|
1080
1101
|
|
|
1081
1102
|
/***/ }),
|
|
1082
1103
|
|
|
@@ -1120,7 +1141,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1120
1141
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
1121
1142
|
|
|
1122
1143
|
"use strict";
|
|
1123
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n// Imports\n\n\n\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"292.4\" height=\"292.4\" viewBox=\"0 0 292 292\"><path d=\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\"/></svg> */ \"data:image/svg+xml,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"292.4\\\" height=\\\"292.4\\\" viewBox=\\\"0 0 292 292\\\"><path d=\\\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\\\"/></svg>\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"292.4\" height=\"292.4\" viewBox=\"0 0 292 292\"><path fill=\"%23ced4da\" d=\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\"/></svg> */ \"data:image/svg+xml,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"292.4\\\" height=\\\"292.4\\\" viewBox=\\\"0 0 292 292\\\"><path fill=\\\"%23ced4da\\\" d=\\\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\\\"/></svg>\"), __webpack_require__.b);\nvar ___CSS_LOADER_EXPORT___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":export {\\n themeFilter: invert(93%) hue-rotate(180deg);\\n}\\n\\n:export {\\n themeFilter: invert(93%) hue-rotate(180deg);\\n}\\n\\n.excalidraw {\\n --theme-filter: none;\\n --button-destructive-bg-color: #ffe3e3;\\n --button-destructive-color: #c92a2a;\\n --button-gray-1: #e9ecef;\\n --button-gray-2: #ced4da;\\n --button-gray-3: #adb5bd;\\n --button-special-active-bg-color: #ebfbee;\\n --dialog-border-color: #868e96;\\n --dropdown-icon: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n --focus-highlight-color: #a5d8ff;\\n --icon-fill-color: #000000;\\n --icon-green-fill-color: #2b8a3e;\\n --default-bg-color: #ffffff;\\n --input-bg-color: #ffffff;\\n --input-border-color: #ced4da;\\n --input-hover-bg-color: #f1f3f5;\\n --input-label-color: #495057;\\n --island-bg-color: rgba(255, 255, 255, 0.96);\\n --keybinding-color: #adb5bd;\\n --link-color: #1c7ed6;\\n --overlay-bg-color: rgba(255, 255, 255, 0.88);\\n --popup-bg-color: #ffffff;\\n --popup-secondary-bg-color: #f1f3f5;\\n --popup-text-color: #000000;\\n --popup-text-inverted-color: #ffffff;\\n --sab: env(safe-area-inset-bottom);\\n --sal: env(safe-area-inset-left);\\n --sar: env(safe-area-inset-right);\\n --sat: env(safe-area-inset-top);\\n --select-highlight-color: #339af0;\\n --shadow-island: 0 1px 5px rgba(0, 0, 0, 0.15);\\n --space-factor: 0.25rem;\\n --text-primary-color: #343a40;\\n}\\n.excalidraw.theme--dark {\\n background: #000000;\\n}\\n.excalidraw.theme--dark.theme--dark-background-none {\\n background: none;\\n}\\n.excalidraw.theme--dark {\\n --theme-filter: invert(93%) hue-rotate(180deg);\\n --button-destructive-bg-color: #5a0000;\\n --button-destructive-color: #ffa8a8;\\n --button-gray-1: #363636;\\n --button-gray-2: #272727;\\n --button-gray-3: #222;\\n --button-special-active-bg-color: #204624;\\n --dialog-border-color: #212529;\\n --dropdown-icon: url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");\\n --focus-highlight-color: #228be6;\\n --icon-fill-color: #ced4da;\\n --icon-green-fill-color: #69db7c;\\n --default-bg-color: #121212;\\n --input-bg-color: #121212;\\n --input-border-color: #2e2e2e;\\n --input-hover-bg-color: #181818;\\n --input-label-color: #e9ecef;\\n --island-bg-color: rgba(30, 30, 30, 0.98);\\n --keybinding-color: #868e96;\\n --link-color: #4dabf7;\\n --overlay-bg-color: rgba(52, 58, 64, 0.12);\\n --popup-bg-color: #2c2c2c;\\n --popup-secondary-bg-color: #222;\\n --popup-text-color: #ced4da;\\n --popup-text-inverted-color: #635c5c;\\n --select-highlight-color: #4dabf7;\\n --shadow-island: 0 1px 5px rgba(0, 0, 0, 0.3);\\n --text-primary-color: #ced4da;\\n}\\n\\n:root {\\n --zIndex-canvas: 1;\\n --zIndex-wysiwyg: 2;\\n --zIndex-layerUI: 3;\\n}\\n\\n.excalidraw {\\n position: relative;\\n overflow: hidden;\\n color: var(--text-primary-color);\\n display: flex;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 100%;\\n width: 100%;\\n user-select: none;\\n}\\n.excalidraw:focus {\\n outline: none;\\n}\\n.excalidraw a {\\n font-weight: 500;\\n text-decoration: none;\\n color: var(--link-color);\\n}\\n.excalidraw a:hover {\\n text-decoration: underline;\\n}\\n.excalidraw canvas {\\n touch-action: none;\\n image-rendering: pixelated;\\n image-rendering: -moz-crisp-edges;\\n z-index: var(--zIndex-canvas);\\n}\\n.excalidraw__canvas {\\n position: absolute;\\n}\\n.excalidraw.theme--dark canvas {\\n filter: var(--theme-filter);\\n}\\n.excalidraw .FixedSideContainer {\\n padding-top: var(--sat, 0);\\n padding-right: var(--sar, 0);\\n padding-bottom: var(--sab, 0);\\n padding-left: var(--sal, 0);\\n}\\n.excalidraw .panelRow {\\n display: flex;\\n justify-content: space-between;\\n}\\n.excalidraw .panelColumn {\\n display: flex;\\n flex-direction: column;\\n}\\n.excalidraw .panelColumn h3,\\n.excalidraw .panelColumn legend,\\n.excalidraw .panelColumn .control-label {\\n margin-top: 0.333rem;\\n margin-bottom: 0.333rem;\\n font-size: 0.75rem;\\n color: var(--text-primary-color);\\n font-weight: bold;\\n display: block;\\n}\\n.excalidraw .panelColumn .control-label input {\\n display: block;\\n width: 100%;\\n}\\n.excalidraw .panelColumn h3:first-child,\\n.excalidraw .panelColumn legend:first-child,\\n.excalidraw .panelColumn .control-label:first-child {\\n margin-top: 0;\\n}\\n.excalidraw .panelColumn legend {\\n padding: 0;\\n}\\n.excalidraw .panelColumn .iconSelectList {\\n flex-wrap: wrap;\\n position: relative;\\n}\\n.excalidraw .panelColumn .buttonList {\\n flex-wrap: wrap;\\n}\\n.excalidraw .panelColumn .buttonList label {\\n margin-right: 0.25rem;\\n font-size: 0.75rem;\\n display: inline-block;\\n}\\n.excalidraw .panelColumn .buttonList input[type=radio],\\n.excalidraw .panelColumn .buttonList input[type=button] {\\n opacity: 0;\\n position: absolute;\\n pointer-events: none;\\n}\\n.excalidraw .panelColumn .buttonList .iconRow {\\n margin-top: 8px;\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon {\\n margin: 0;\\n margin-inline-end: 8px;\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon:focus {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon:disabled {\\n cursor: not-allowed;\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon__icon {\\n width: 28px;\\n height: 28px;\\n}\\n.excalidraw .panelColumn fieldset {\\n margin: 0;\\n margin-top: 0.333rem;\\n padding: 0;\\n border: none;\\n}\\n.excalidraw .divider {\\n width: 1px;\\n background-color: #e9ecef;\\n margin: 1px;\\n}\\n.excalidraw .buttonList label:focus-within,\\n.excalidraw input:focus {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw button,\\n.excalidraw .buttonList label {\\n user-select: none;\\n background-color: var(--button-gray-1);\\n border: 0;\\n border-radius: 4px;\\n margin: 0.125rem 0;\\n padding: 0.25rem;\\n white-space: nowrap;\\n cursor: pointer;\\n}\\n.excalidraw button:focus,\\n.excalidraw .buttonList label:focus {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw button:hover,\\n.excalidraw .buttonList label:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw button:active,\\n.excalidraw .buttonList label:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw button:disabled,\\n.excalidraw .buttonList label:disabled {\\n cursor: not-allowed;\\n}\\n.excalidraw .active,\\n.excalidraw .buttonList label.active {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .active:hover,\\n.excalidraw .buttonList label.active:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .active:active,\\n.excalidraw .buttonList label.active:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .buttonList.buttonListIcon label {\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.excalidraw .buttonList.buttonListIcon label svg {\\n width: 36px;\\n height: 14px;\\n padding: 2px;\\n opacity: 0.6;\\n}\\n.excalidraw .buttonList.buttonListIcon label.active svg {\\n opacity: 1;\\n}\\n.excalidraw .App-top-bar {\\n z-index: var(--zIndex-layerUI);\\n display: grid;\\n grid-template-columns: 1fr max-content 1fr;\\n}\\n.excalidraw .App-bottom-bar {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n --bar-padding: calc(4 * var(--space-factor));\\n padding-top: max(var(--bar-padding), var(--sat,0));\\n padding-right: var(--sar, 0);\\n padding-bottom: var(--sab, 0);\\n padding-left: var(--sal, 0);\\n z-index: 4;\\n display: flex;\\n align-items: flex-end;\\n pointer-events: none;\\n}\\n.excalidraw .App-bottom-bar > .Island {\\n width: 100%;\\n max-width: 100%;\\n min-width: 100%;\\n box-sizing: border-box;\\n max-height: 100%;\\n display: flex;\\n flex-direction: column;\\n pointer-events: initial;\\n}\\n.excalidraw .App-bottom-bar > .Island .panelColumn {\\n padding: 8px 8px 0 8px;\\n}\\n.excalidraw .App-toolbar {\\n width: 100%;\\n box-sizing: border-box;\\n}\\n.excalidraw .App-toolbar-content {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 8px;\\n}\\n.excalidraw .App-mobile-menu {\\n width: 100%;\\n overflow-x: visible;\\n overflow-y: auto;\\n box-sizing: border-box;\\n margin-bottom: var(--bar-padding);\\n}\\n.excalidraw .App-menu {\\n display: grid;\\n color: var(--icon-fill-color);\\n}\\n.excalidraw .App-menu_top {\\n grid-template-columns: auto max-content auto;\\n grid-gap: 4px;\\n align-items: flex-start;\\n cursor: default;\\n pointer-events: none !important;\\n}\\n.excalidraw .layer-ui__wrapper:not(.disable-pointerEvents) .App-menu_top > * {\\n pointer-events: all;\\n}\\n.excalidraw .App-menu_top > *:first-child {\\n justify-self: flex-start;\\n}\\n.excalidraw .App-menu_top > *:last-child {\\n justify-self: flex-end;\\n}\\n.excalidraw .App-menu_bottom {\\n position: absolute;\\n bottom: 0;\\n grid-template-columns: min-content auto min-content;\\n grid-gap: 15px;\\n align-items: flex-start;\\n cursor: default;\\n pointer-events: none !important;\\n z-index: 100;\\n}\\n:root[dir=ltr] .excalidraw .App-menu_bottom {\\n left: 0.25rem;\\n}\\n:root[dir=rtl] .excalidraw .App-menu_bottom {\\n right: 0.25rem;\\n}\\n.excalidraw .App-menu_bottom--transition-left section {\\n width: 185px;\\n}\\n.excalidraw .App-menu_bottom section {\\n display: flex;\\n}\\n.excalidraw .App-menu_bottom > *:first-child {\\n justify-self: flex-start;\\n}\\n.excalidraw .App-menu_bottom > *:last-child {\\n justify-self: flex-end;\\n}\\n.excalidraw .App-menu_left {\\n grid-template-rows: 1fr auto 1fr;\\n height: 100%;\\n}\\n.excalidraw .App-menu_right {\\n grid-template-rows: 1fr;\\n height: 100%;\\n}\\n.excalidraw .App-menu__left {\\n overflow-y: auto;\\n}\\n.excalidraw .dropdown-select {\\n height: 1.5rem;\\n padding: 0;\\n padding-inline-start: 0.5rem;\\n padding-inline-end: 1.5rem;\\n color: var(--icon-fill-color);\\n background-color: var(--button-gray-1);\\n border-radius: var(--space-factor);\\n border: 1px solid var(--button-gray-2);\\n font-size: 0.8rem;\\n outline: none;\\n appearance: none;\\n background-image: var(--dropdown-icon);\\n background-repeat: no-repeat;\\n background-position: right 0.7rem top 50%, 0 0;\\n background-size: 0.65em auto, 100%;\\n}\\n:root[dir=rtl] .excalidraw .dropdown-select {\\n background-position: left 0.7rem top 50%, 0 0;\\n}\\n.excalidraw .dropdown-select:focus {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw .dropdown-select:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .dropdown-select:active {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .zIndexButton {\\n margin: 0;\\n margin-inline-end: 8px;\\n padding: 5px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.excalidraw .zIndexButton svg {\\n width: 18px;\\n height: 18px;\\n}\\n.excalidraw .scroll-back-to-content {\\n color: var(--popup-text-color);\\n position: absolute;\\n left: 50%;\\n bottom: 30px;\\n transform: translateX(-50%);\\n padding: 10px 20px;\\n}\\n.excalidraw .help-icon {\\n display: flex;\\n cursor: pointer;\\n fill: #868e96;\\n padding: 0;\\n margin: 0;\\n background: none;\\n color: var(--icon-fill-color);\\n}\\n.excalidraw .help-icon svg {\\n width: 1.5rem;\\n height: 1.5rem;\\n}\\n.excalidraw .help-icon:hover {\\n background: none;\\n}\\n.excalidraw .reset-zoom-button {\\n padding: 0.2em;\\n background: transparent;\\n color: var(--text-primary-color);\\n font-family: var(--ui-font);\\n}\\n.excalidraw .undo-redo-buttons {\\n display: grid;\\n grid-auto-flow: column;\\n gap: 0.4em;\\n margin-top: auto;\\n margin-bottom: auto;\\n margin-inline-start: 0.6em;\\n}\\n.excalidraw--mobile.excalidraw aside {\\n display: none;\\n}\\n.excalidraw--mobile.excalidraw .scroll-back-to-content {\\n bottom: calc(80px + var(--sab, 0));\\n z-index: -1;\\n}\\n\\n:root[dir=rtl] .excalidraw .rtl-mirror {\\n transform: scaleX(-1);\\n}\\n.excalidraw .zen-mode-visibility {\\n visibility: visible;\\n opacity: 1;\\n height: auto;\\n width: auto;\\n transition: opacity 0.5s;\\n}\\n.excalidraw .zen-mode-visibility.zen-mode-visibility--hidden {\\n visibility: hidden;\\n opacity: 0;\\n height: 0;\\n width: 0;\\n transition: opacity 0.5s;\\n}\\n.excalidraw .disable-pointerEvents {\\n pointer-events: none !important;\\n}\\n.excalidraw.excalidraw--view-mode .App-menu {\\n display: flex;\\n justify-content: space-between;\\n}\\n.excalidraw input[type=text],\\n.excalidraw textarea:not(.excalidraw-wysiwyg) {\\n color: var(--text-primary-color);\\n border: 1.5px solid var(--input-border-color);\\n padding: 0.75rem;\\n white-space: nowrap;\\n border-radius: var(--space-factor);\\n background-color: var(--input-bg-color);\\n}\\n.excalidraw input[type=text]:not(:focus):hover,\\n.excalidraw textarea:not(.excalidraw-wysiwyg):not(:focus):hover {\\n background-color: var(--input-hover-bg-color);\\n}\\n.excalidraw input[type=text]:focus,\\n.excalidraw textarea:not(.excalidraw-wysiwyg):focus {\\n outline: none;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n@media print {\\n .excalidraw .App-bottom-bar,\\n.excalidraw .FixedSideContainer,\\n.excalidraw .layer-ui__wrapper {\\n display: none;\\n }\\n}\\n.excalidraw .HomeButton.ToolIcon.ToolIcon_type_floating {\\n display: inline-block;\\n position: absolute;\\n top: 60px;\\n left: calc(-2 * var(--space-factor));\\n border-radius: 0 20px 20px 0;\\n background-color: var(--button-gray-1);\\n}\\n.excalidraw .HomeButton.ToolIcon.ToolIcon_type_floating:hover {\\n background-color: var(--button-gray-1);\\n}\\n.excalidraw .HomeButton.ToolIcon.ToolIcon_type_floating:active {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .HomeButton.ToolIcon.ToolIcon_type_floating .ToolIcon__icon {\\n border-radius: inherit;\\n}\\n.excalidraw .HomeButton.ToolIcon.ToolIcon_type_floating svg {\\n position: static;\\n}\\n\\n.ErrorSplash.excalidraw {\\n min-height: 100vh;\\n padding: 20px 0;\\n overflow: auto;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n user-select: text;\\n}\\n.ErrorSplash.excalidraw .ErrorSplash-messageContainer {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n padding: 40px;\\n background-color: #ffe3e3;\\n border: 3px solid #c92a2a;\\n}\\n.ErrorSplash.excalidraw .ErrorSplash-paragraph {\\n margin: 15px 0;\\n max-width: 600px;\\n}\\n.ErrorSplash.excalidraw .ErrorSplash-paragraph.align-center {\\n text-align: center;\\n}\\n.ErrorSplash.excalidraw .bigger,\\n.ErrorSplash.excalidraw .bigger button {\\n font-size: 1.1em;\\n}\\n.ErrorSplash.excalidraw .smaller,\\n.ErrorSplash.excalidraw .smaller button {\\n font-size: 0.9em;\\n}\\n.ErrorSplash.excalidraw .ErrorSplash-details {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n}\\n.ErrorSplash.excalidraw .ErrorSplash-details textarea {\\n width: 100%;\\n margin: 10px 0;\\n font-family: \\\"Cascadia\\\";\\n font-size: 0.8em;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../css/variables.module.scss\",\"webpack://./../../css/styles.scss\",\"webpack://./../../css/theme.scss\",\"webpack://./../../../node_modules/open-color/open-color.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import \\\"open-color/open-color.scss\\\";\\n\\n@mixin isMobile() {\\n @at-root .excalidraw--mobile#{&} {\\n @content;\\n }\\n}\\n\\n$theme-filter: \\\"invert(93%) hue-rotate(180deg)\\\";\\n\\n:export {\\n themeFilter: unquote($theme-filter);\\n}\\n\",\"@import \\\"./variables.module\\\";\\n@import \\\"./theme\\\";\\n\\n:root {\\n --zIndex-canvas: 1;\\n --zIndex-wysiwyg: 2;\\n --zIndex-layerUI: 3;\\n}\\n\\n.excalidraw {\\n position: relative;\\n overflow: hidden;\\n color: var(--text-primary-color);\\n display: flex;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 100%;\\n width: 100%;\\n\\n &:focus {\\n outline: none;\\n }\\n\\n // serves 2 purposes:\\n // 1. prevent selecting text outside the component when double-clicking or\\n // dragging inside it (e.g. on canvas)\\n // 2. prevent selecting UI, both from the inside, and from outside the\\n // component (e.g. if you select text in a sidebar)\\n user-select: none;\\n\\n a {\\n font-weight: 500;\\n text-decoration: none;\\n color: var(--link-color);\\n\\n &:hover {\\n text-decoration: underline;\\n }\\n }\\n\\n canvas {\\n touch-action: none;\\n\\n // following props improve blurriness at certain devicePixelRatios.\\n // AFAIK it doesn't affect export (in fact, export seems sharp either way).\\n\\n image-rendering: pixelated; // chromium\\n // NOTE: must be declared *after* the above\\n image-rendering: -moz-crisp-edges; // FF\\n\\n z-index: var(--zIndex-canvas);\\n\\n // Remove the main canvas from document flow to avoid resizeObserver\\n // feedback loop (see https://github.com/excalidraw/excalidraw/pull/3379)\\n }\\n\\n &__canvas {\\n position: absolute;\\n }\\n\\n &.theme--dark {\\n // The percentage is inspired by\\n // https://material.io/design/color/dark-theme.html#properties, which\\n // recommends surface color of #121212, 93% yields #111111 for #FFF\\n\\n canvas {\\n filter: var(--theme-filter);\\n }\\n }\\n\\n .FixedSideContainer {\\n padding-top: var(--sat, 0);\\n padding-right: var(--sar, 0);\\n padding-bottom: var(--sab, 0);\\n padding-left: var(--sal, 0);\\n }\\n\\n .panelRow {\\n display: flex;\\n justify-content: space-between;\\n }\\n\\n .panelColumn {\\n display: flex;\\n flex-direction: column;\\n\\n h3,\\n legend,\\n .control-label {\\n margin-top: 0.333rem;\\n margin-bottom: 0.333rem;\\n font-size: 0.75rem;\\n color: var(--text-primary-color);\\n font-weight: bold;\\n display: block;\\n }\\n\\n .control-label input {\\n display: block;\\n width: 100%;\\n }\\n\\n h3:first-child,\\n legend:first-child,\\n .control-label:first-child {\\n margin-top: 0;\\n }\\n\\n legend {\\n padding: 0;\\n }\\n\\n .iconSelectList {\\n flex-wrap: wrap;\\n position: relative;\\n }\\n\\n .buttonList {\\n flex-wrap: wrap;\\n\\n label {\\n margin-right: 0.25rem;\\n font-size: 0.75rem;\\n display: inline-block;\\n }\\n\\n input[type=\\\"radio\\\"],\\n input[type=\\\"button\\\"] {\\n opacity: 0;\\n position: absolute;\\n pointer-events: none;\\n }\\n\\n .iconRow {\\n margin-top: 8px;\\n }\\n\\n .ToolIcon {\\n margin: 0;\\n margin-inline-end: 8px;\\n\\n &:focus {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n\\n &:disabled {\\n cursor: not-allowed;\\n }\\n }\\n\\n .ToolIcon__icon {\\n width: 28px;\\n height: 28px;\\n }\\n }\\n\\n fieldset {\\n margin: 0;\\n margin-top: 0.333rem;\\n padding: 0;\\n border: none;\\n }\\n }\\n\\n .divider {\\n width: 1px;\\n background-color: $oc-gray-2;\\n margin: 1px;\\n }\\n\\n .buttonList label:focus-within,\\n input:focus {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n button,\\n .buttonList label {\\n user-select: none;\\n background-color: var(--button-gray-1);\\n border: 0;\\n border-radius: 4px;\\n margin: 0.125rem 0;\\n padding: 0.25rem;\\n white-space: nowrap;\\n\\n cursor: pointer;\\n\\n &:focus {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n\\n &:disabled {\\n cursor: not-allowed;\\n }\\n }\\n\\n .active,\\n .buttonList label.active {\\n background-color: var(--button-gray-2);\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n }\\n\\n .buttonList.buttonListIcon {\\n label {\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n svg {\\n width: 36px;\\n height: 14px;\\n padding: 2px;\\n opacity: 0.6;\\n }\\n &.active svg {\\n opacity: 1;\\n }\\n }\\n }\\n\\n .App-top-bar {\\n z-index: var(--zIndex-layerUI);\\n display: grid;\\n grid-template-columns: 1fr max-content 1fr;\\n }\\n\\n .App-bottom-bar {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n --bar-padding: calc(4 * var(--space-factor));\\n padding-top: #{\\\"max(var(--bar-padding), var(--sat,0))\\\"};\\n padding-right: var(--sar, 0);\\n padding-bottom: var(--sab, 0);\\n padding-left: var(--sal, 0);\\n z-index: 4;\\n display: flex;\\n align-items: flex-end;\\n pointer-events: none;\\n\\n > .Island {\\n width: 100%;\\n max-width: 100%;\\n min-width: 100%;\\n box-sizing: border-box;\\n max-height: 100%;\\n display: flex;\\n flex-direction: column;\\n pointer-events: initial;\\n\\n .panelColumn {\\n padding: 8px 8px 0 8px;\\n }\\n }\\n }\\n\\n .App-toolbar {\\n width: 100%;\\n\\n box-sizing: border-box;\\n }\\n\\n .App-toolbar-content {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 8px;\\n }\\n\\n .App-mobile-menu {\\n width: 100%;\\n overflow-x: visible;\\n overflow-y: auto;\\n box-sizing: border-box;\\n margin-bottom: var(--bar-padding);\\n }\\n\\n .App-menu {\\n display: grid;\\n color: var(--icon-fill-color);\\n }\\n\\n .App-menu_top {\\n grid-template-columns: auto max-content auto;\\n grid-gap: 4px;\\n align-items: flex-start;\\n cursor: default;\\n pointer-events: none !important;\\n }\\n\\n .layer-ui__wrapper:not(.disable-pointerEvents) .App-menu_top > * {\\n pointer-events: all;\\n }\\n\\n .App-menu_top > *:first-child {\\n justify-self: flex-start;\\n }\\n\\n .App-menu_top > *:last-child {\\n justify-self: flex-end;\\n }\\n\\n .App-menu_bottom {\\n position: absolute;\\n bottom: 0;\\n grid-template-columns: min-content auto min-content;\\n grid-gap: 15px;\\n align-items: flex-start;\\n cursor: default;\\n pointer-events: none !important;\\n z-index: 100;\\n\\n :root[dir=\\\"ltr\\\"] & {\\n left: 0.25rem;\\n }\\n\\n :root[dir=\\\"rtl\\\"] & {\\n right: 0.25rem;\\n }\\n\\n &--transition-left {\\n section {\\n width: 185px;\\n }\\n }\\n\\n section {\\n display: flex;\\n }\\n }\\n\\n .App-menu_bottom > *:first-child {\\n justify-self: flex-start;\\n }\\n\\n .App-menu_bottom > *:last-child {\\n justify-self: flex-end;\\n }\\n\\n .App-menu_left {\\n grid-template-rows: 1fr auto 1fr;\\n height: 100%;\\n }\\n\\n .App-menu_right {\\n grid-template-rows: 1fr;\\n height: 100%;\\n }\\n\\n .App-menu__left {\\n overflow-y: auto;\\n }\\n\\n .dropdown-select {\\n height: 1.5rem;\\n padding: 0;\\n padding-inline-start: 0.5rem;\\n padding-inline-end: 1.5rem;\\n color: var(--icon-fill-color);\\n background-color: var(--button-gray-1);\\n border-radius: var(--space-factor);\\n border: 1px solid var(--button-gray-2);\\n font-size: 0.8rem;\\n outline: none;\\n appearance: none;\\n background-image: var(--dropdown-icon);\\n background-repeat: no-repeat;\\n background-position: right 0.7rem top 50%, 0 0;\\n\\n :root[dir=\\\"rtl\\\"] & {\\n background-position: left 0.7rem top 50%, 0 0;\\n }\\n\\n background-size: 0.65em auto, 100%;\\n\\n &:focus {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-2);\\n }\\n }\\n\\n .zIndexButton {\\n margin: 0;\\n margin-inline-end: 8px;\\n padding: 5px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n svg {\\n width: 18px;\\n height: 18px;\\n }\\n }\\n\\n .scroll-back-to-content {\\n color: var(--popup-text-color);\\n position: absolute;\\n left: 50%;\\n bottom: 30px;\\n transform: translateX(-50%);\\n padding: 10px 20px;\\n }\\n\\n .help-icon {\\n display: flex;\\n cursor: pointer;\\n fill: $oc-gray-6;\\n padding: 0;\\n margin: 0;\\n background: none;\\n color: var(--icon-fill-color);\\n\\n svg {\\n width: 1.5rem;\\n height: 1.5rem;\\n }\\n\\n &:hover {\\n background: none;\\n }\\n }\\n\\n .reset-zoom-button {\\n padding: 0.2em;\\n background: transparent;\\n color: var(--text-primary-color);\\n font-family: var(--ui-font);\\n }\\n\\n .undo-redo-buttons {\\n display: grid;\\n grid-auto-flow: column;\\n gap: 0.4em;\\n margin-top: auto;\\n margin-bottom: auto;\\n margin-inline-start: 0.6em;\\n }\\n\\n @include isMobile {\\n aside {\\n display: none;\\n }\\n .scroll-back-to-content {\\n bottom: calc(80px + var(--sab, 0));\\n z-index: -1;\\n }\\n }\\n\\n .rtl-mirror {\\n :root[dir=\\\"rtl\\\"] & {\\n transform: scaleX(-1);\\n }\\n }\\n\\n .zen-mode-visibility {\\n visibility: visible;\\n opacity: 1;\\n height: auto;\\n width: auto;\\n transition: opacity 0.5s;\\n\\n &.zen-mode-visibility--hidden {\\n visibility: hidden;\\n opacity: 0;\\n height: 0;\\n width: 0;\\n transition: opacity 0.5s;\\n }\\n }\\n\\n .disable-pointerEvents {\\n pointer-events: none !important;\\n }\\n\\n &.excalidraw--view-mode {\\n .App-menu {\\n display: flex;\\n justify-content: space-between;\\n }\\n }\\n\\n input[type=\\\"text\\\"],\\n textarea:not(.excalidraw-wysiwyg) {\\n color: var(--text-primary-color);\\n border: 1.5px solid var(--input-border-color);\\n padding: 0.75rem;\\n white-space: nowrap;\\n border-radius: var(--space-factor);\\n background-color: var(--input-bg-color);\\n\\n &:not(:focus) {\\n &:hover {\\n background-color: var(--input-hover-bg-color);\\n }\\n }\\n\\n &:focus {\\n outline: none;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n }\\n\\n @media print {\\n .App-bottom-bar,\\n .FixedSideContainer,\\n .layer-ui__wrapper {\\n display: none;\\n }\\n }\\n\\n .HomeButton.ToolIcon.ToolIcon_type_floating {\\n display: inline-block;\\n position: absolute;\\n top: 60px;\\n left: calc(-2 * var(--space-factor));\\n border-radius: 0 20px 20px 0;\\n\\n background-color: var(--button-gray-1);\\n &:hover {\\n background-color: var(--button-gray-1);\\n }\\n &:active {\\n background-color: var(--button-gray-2);\\n }\\n\\n .ToolIcon__icon {\\n border-radius: inherit;\\n }\\n svg {\\n position: static;\\n }\\n }\\n}\\n\\n.ErrorSplash.excalidraw {\\n min-height: 100vh;\\n padding: 20px 0;\\n overflow: auto;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n user-select: text;\\n\\n .ErrorSplash-messageContainer {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n\\n padding: 40px;\\n background-color: $oc-red-1;\\n border: 3px solid $oc-red-9;\\n }\\n\\n .ErrorSplash-paragraph {\\n margin: 15px 0;\\n max-width: 600px;\\n\\n &.align-center {\\n text-align: center;\\n }\\n }\\n\\n .bigger,\\n .bigger button {\\n font-size: 1.1em;\\n }\\n\\n .smaller,\\n .smaller button {\\n font-size: 0.9em;\\n }\\n\\n .ErrorSplash-details {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n\\n textarea {\\n width: 100%;\\n margin: 10px 0;\\n font-family: \\\"Cascadia\\\";\\n font-size: 0.8em;\\n }\\n }\\n}\\n\",\"@import \\\"open-color/open-color.scss\\\";\\n@import \\\"./variables.module.scss\\\";\\n\\n.excalidraw {\\n --theme-filter: none;\\n --button-destructive-bg-color: #{$oc-red-1};\\n --button-destructive-color: #{$oc-red-9};\\n --button-gray-1: #{$oc-gray-2};\\n --button-gray-2: #{$oc-gray-4};\\n --button-gray-3: #{$oc-gray-5};\\n --button-special-active-bg-color: #{$oc-green-0};\\n --dialog-border-color: #{$oc-gray-6};\\n --dropdown-icon: url('data:image/svg+xml,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"292.4\\\" height=\\\"292.4\\\" viewBox=\\\"0 0 292 292\\\"><path d=\\\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\\\"/></svg>');\\n --focus-highlight-color: #{$oc-blue-2};\\n --icon-fill-color: #{$oc-black};\\n --icon-green-fill-color: #{$oc-green-9};\\n --default-bg-color: #{$oc-white};\\n --input-bg-color: #{$oc-white};\\n --input-border-color: #{$oc-gray-4};\\n --input-hover-bg-color: #{$oc-gray-1};\\n --input-label-color: #{$oc-gray-7};\\n --island-bg-color: rgba(255, 255, 255, 0.96);\\n --keybinding-color: #{$oc-gray-5};\\n --link-color: #{$oc-blue-7};\\n --overlay-bg-color: #{transparentize($oc-white, 0.12)};\\n --popup-bg-color: #{$oc-white};\\n --popup-secondary-bg-color: #{$oc-gray-1};\\n --popup-text-color: #{$oc-black};\\n --popup-text-inverted-color: #{$oc-white};\\n --sab: env(safe-area-inset-bottom);\\n --sal: env(safe-area-inset-left);\\n --sar: env(safe-area-inset-right);\\n --sat: env(safe-area-inset-top);\\n --select-highlight-color: #{$oc-blue-5};\\n --shadow-island: 0 1px 5px #{transparentize($oc-black, 0.85)};\\n --space-factor: 0.25rem;\\n --text-primary-color: #{$oc-gray-8};\\n\\n &.theme--dark {\\n background: $oc-black;\\n\\n &.theme--dark-background-none {\\n background: none;\\n }\\n }\\n\\n &.theme--dark {\\n --theme-filter: #{$theme-filter};\\n --button-destructive-bg-color: #5a0000;\\n --button-destructive-color: #{$oc-red-3};\\n --button-gray-1: #363636;\\n --button-gray-2: #272727;\\n --button-gray-3: #222;\\n --button-special-active-bg-color: #204624;\\n --dialog-border-color: #{$oc-gray-9};\\n --dropdown-icon: url('data:image/svg+xml,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"292.4\\\" height=\\\"292.4\\\" viewBox=\\\"0 0 292 292\\\"><path fill=\\\"%23ced4da\\\" d=\\\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\\\"/></svg>');\\n --focus-highlight-color: #{$oc-blue-6};\\n --icon-fill-color: #{$oc-gray-4};\\n --icon-green-fill-color: #{$oc-green-4};\\n --default-bg-color: #121212;\\n --input-bg-color: #121212;\\n --input-border-color: #2e2e2e;\\n --input-hover-bg-color: #181818;\\n --input-label-color: #{$oc-gray-2};\\n --island-bg-color: rgba(30, 30, 30, 0.98);\\n --keybinding-color: #{$oc-gray-6};\\n --link-color: #{$oc-blue-4};\\n --overlay-bg-color: #{transparentize($oc-gray-8, 0.88)};\\n --popup-bg-color: #2c2c2c;\\n --popup-secondary-bg-color: #222;\\n --popup-text-color: #{$oc-gray-4};\\n --popup-text-inverted-color: #635c5c;\\n --select-highlight-color: #{$oc-blue-4};\\n --shadow-island: 0 1px 5px #{transparentize($oc-black, 0.7)};\\n --text-primary-color: #{$oc-gray-4};\\n }\\n}\\n\",\"//\\n//\\n// 𝗖 𝗢 𝗟 𝗢 𝗥\\n// v 1.9.1\\n//\\n// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n\\n\\n// General\\n// ───────────────────────────────────\\n\\n$oc-white: #ffffff;\\n$oc-black: #000000;\\n\\n\\n// Gray\\n// ───────────────────────────────────\\n\\n$oc-gray-list: (\\n \\\"0\\\": #f8f9fa,\\n \\\"1\\\": #f1f3f5,\\n \\\"2\\\": #e9ecef,\\n \\\"3\\\": #dee2e6,\\n \\\"4\\\": #ced4da,\\n \\\"5\\\": #adb5bd,\\n \\\"6\\\": #868e96,\\n \\\"7\\\": #495057,\\n \\\"8\\\": #343a40,\\n \\\"9\\\": #212529\\n);\\n\\n$oc-gray-0: map-get($oc-gray-list, \\\"0\\\");\\n$oc-gray-1: map-get($oc-gray-list, \\\"1\\\");\\n$oc-gray-2: map-get($oc-gray-list, \\\"2\\\");\\n$oc-gray-3: map-get($oc-gray-list, \\\"3\\\");\\n$oc-gray-4: map-get($oc-gray-list, \\\"4\\\");\\n$oc-gray-5: map-get($oc-gray-list, \\\"5\\\");\\n$oc-gray-6: map-get($oc-gray-list, \\\"6\\\");\\n$oc-gray-7: map-get($oc-gray-list, \\\"7\\\");\\n$oc-gray-8: map-get($oc-gray-list, \\\"8\\\");\\n$oc-gray-9: map-get($oc-gray-list, \\\"9\\\");\\n\\n\\n// Red\\n// ───────────────────────────────────\\n\\n$oc-red-list: (\\n \\\"0\\\": #fff5f5,\\n \\\"1\\\": #ffe3e3,\\n \\\"2\\\": #ffc9c9,\\n \\\"3\\\": #ffa8a8,\\n \\\"4\\\": #ff8787,\\n \\\"5\\\": #ff6b6b,\\n \\\"6\\\": #fa5252,\\n \\\"7\\\": #f03e3e,\\n \\\"8\\\": #e03131,\\n \\\"9\\\": #c92a2a\\n);\\n\\n$oc-red-0: map-get($oc-red-list, \\\"0\\\");\\n$oc-red-1: map-get($oc-red-list, \\\"1\\\");\\n$oc-red-2: map-get($oc-red-list, \\\"2\\\");\\n$oc-red-3: map-get($oc-red-list, \\\"3\\\");\\n$oc-red-4: map-get($oc-red-list, \\\"4\\\");\\n$oc-red-5: map-get($oc-red-list, \\\"5\\\");\\n$oc-red-6: map-get($oc-red-list, \\\"6\\\");\\n$oc-red-7: map-get($oc-red-list, \\\"7\\\");\\n$oc-red-8: map-get($oc-red-list, \\\"8\\\");\\n$oc-red-9: map-get($oc-red-list, \\\"9\\\");\\n\\n\\n// Pink\\n// ───────────────────────────────────\\n\\n$oc-pink-list: (\\n \\\"0\\\": #fff0f6,\\n \\\"1\\\": #ffdeeb,\\n \\\"2\\\": #fcc2d7,\\n \\\"3\\\": #faa2c1,\\n \\\"4\\\": #f783ac,\\n \\\"5\\\": #f06595,\\n \\\"6\\\": #e64980,\\n \\\"7\\\": #d6336c,\\n \\\"8\\\": #c2255c,\\n \\\"9\\\": #a61e4d\\n);\\n\\n$oc-pink-0: map-get($oc-pink-list, \\\"0\\\");\\n$oc-pink-1: map-get($oc-pink-list, \\\"1\\\");\\n$oc-pink-2: map-get($oc-pink-list, \\\"2\\\");\\n$oc-pink-3: map-get($oc-pink-list, \\\"3\\\");\\n$oc-pink-4: map-get($oc-pink-list, \\\"4\\\");\\n$oc-pink-5: map-get($oc-pink-list, \\\"5\\\");\\n$oc-pink-6: map-get($oc-pink-list, \\\"6\\\");\\n$oc-pink-7: map-get($oc-pink-list, \\\"7\\\");\\n$oc-pink-8: map-get($oc-pink-list, \\\"8\\\");\\n$oc-pink-9: map-get($oc-pink-list, \\\"9\\\");\\n\\n\\n// Grape\\n// ───────────────────────────────────\\n\\n$oc-grape-list: (\\n \\\"0\\\": #f8f0fc,\\n \\\"1\\\": #f3d9fa,\\n \\\"2\\\": #eebefa,\\n \\\"3\\\": #e599f7,\\n \\\"4\\\": #da77f2,\\n \\\"5\\\": #cc5de8,\\n \\\"6\\\": #be4bdb,\\n \\\"7\\\": #ae3ec9,\\n \\\"8\\\": #9c36b5,\\n \\\"9\\\": #862e9c\\n);\\n\\n$oc-grape-0: map-get($oc-grape-list, \\\"0\\\");\\n$oc-grape-1: map-get($oc-grape-list, \\\"1\\\");\\n$oc-grape-2: map-get($oc-grape-list, \\\"2\\\");\\n$oc-grape-3: map-get($oc-grape-list, \\\"3\\\");\\n$oc-grape-4: map-get($oc-grape-list, \\\"4\\\");\\n$oc-grape-5: map-get($oc-grape-list, \\\"5\\\");\\n$oc-grape-6: map-get($oc-grape-list, \\\"6\\\");\\n$oc-grape-7: map-get($oc-grape-list, \\\"7\\\");\\n$oc-grape-8: map-get($oc-grape-list, \\\"8\\\");\\n$oc-grape-9: map-get($oc-grape-list, \\\"9\\\");\\n\\n\\n// Violet\\n// ───────────────────────────────────\\n\\n$oc-violet-list: (\\n \\\"0\\\": #f3f0ff,\\n \\\"1\\\": #e5dbff,\\n \\\"2\\\": #d0bfff,\\n \\\"3\\\": #b197fc,\\n \\\"4\\\": #9775fa,\\n \\\"5\\\": #845ef7,\\n \\\"6\\\": #7950f2,\\n \\\"7\\\": #7048e8,\\n \\\"8\\\": #6741d9,\\n \\\"9\\\": #5f3dc4\\n);\\n\\n$oc-violet-0: map-get($oc-violet-list, \\\"0\\\");\\n$oc-violet-1: map-get($oc-violet-list, \\\"1\\\");\\n$oc-violet-2: map-get($oc-violet-list, \\\"2\\\");\\n$oc-violet-3: map-get($oc-violet-list, \\\"3\\\");\\n$oc-violet-4: map-get($oc-violet-list, \\\"4\\\");\\n$oc-violet-5: map-get($oc-violet-list, \\\"5\\\");\\n$oc-violet-6: map-get($oc-violet-list, \\\"6\\\");\\n$oc-violet-7: map-get($oc-violet-list, \\\"7\\\");\\n$oc-violet-8: map-get($oc-violet-list, \\\"8\\\");\\n$oc-violet-9: map-get($oc-violet-list, \\\"9\\\");\\n\\n\\n// Indigo\\n// ───────────────────────────────────\\n\\n$oc-indigo-list: (\\n \\\"0\\\": #edf2ff,\\n \\\"1\\\": #dbe4ff,\\n \\\"2\\\": #bac8ff,\\n \\\"3\\\": #91a7ff,\\n \\\"4\\\": #748ffc,\\n \\\"5\\\": #5c7cfa,\\n \\\"6\\\": #4c6ef5,\\n \\\"7\\\": #4263eb,\\n \\\"8\\\": #3b5bdb,\\n \\\"9\\\": #364fc7\\n);\\n\\n$oc-indigo-0: map-get($oc-indigo-list, \\\"0\\\");\\n$oc-indigo-1: map-get($oc-indigo-list, \\\"1\\\");\\n$oc-indigo-2: map-get($oc-indigo-list, \\\"2\\\");\\n$oc-indigo-3: map-get($oc-indigo-list, \\\"3\\\");\\n$oc-indigo-4: map-get($oc-indigo-list, \\\"4\\\");\\n$oc-indigo-5: map-get($oc-indigo-list, \\\"5\\\");\\n$oc-indigo-6: map-get($oc-indigo-list, \\\"6\\\");\\n$oc-indigo-7: map-get($oc-indigo-list, \\\"7\\\");\\n$oc-indigo-8: map-get($oc-indigo-list, \\\"8\\\");\\n$oc-indigo-9: map-get($oc-indigo-list, \\\"9\\\");\\n\\n\\n// Blue\\n// ───────────────────────────────────\\n\\n$oc-blue-list: (\\n \\\"0\\\": #e7f5ff,\\n \\\"1\\\": #d0ebff,\\n \\\"2\\\": #a5d8ff,\\n \\\"3\\\": #74c0fc,\\n \\\"4\\\": #4dabf7,\\n \\\"5\\\": #339af0,\\n \\\"6\\\": #228be6,\\n \\\"7\\\": #1c7ed6,\\n \\\"8\\\": #1971c2,\\n \\\"9\\\": #1864ab\\n);\\n\\n$oc-blue-0: map-get($oc-blue-list, \\\"0\\\");\\n$oc-blue-1: map-get($oc-blue-list, \\\"1\\\");\\n$oc-blue-2: map-get($oc-blue-list, \\\"2\\\");\\n$oc-blue-3: map-get($oc-blue-list, \\\"3\\\");\\n$oc-blue-4: map-get($oc-blue-list, \\\"4\\\");\\n$oc-blue-5: map-get($oc-blue-list, \\\"5\\\");\\n$oc-blue-6: map-get($oc-blue-list, \\\"6\\\");\\n$oc-blue-7: map-get($oc-blue-list, \\\"7\\\");\\n$oc-blue-8: map-get($oc-blue-list, \\\"8\\\");\\n$oc-blue-9: map-get($oc-blue-list, \\\"9\\\");\\n\\n\\n// Cyan\\n// ───────────────────────────────────\\n\\n$oc-cyan-list: (\\n \\\"0\\\": #e3fafc,\\n \\\"1\\\": #c5f6fa,\\n \\\"2\\\": #99e9f2,\\n \\\"3\\\": #66d9e8,\\n \\\"4\\\": #3bc9db,\\n \\\"5\\\": #22b8cf,\\n \\\"6\\\": #15aabf,\\n \\\"7\\\": #1098ad,\\n \\\"8\\\": #0c8599,\\n \\\"9\\\": #0b7285\\n);\\n\\n$oc-cyan-0: map-get($oc-cyan-list, \\\"0\\\");\\n$oc-cyan-1: map-get($oc-cyan-list, \\\"1\\\");\\n$oc-cyan-2: map-get($oc-cyan-list, \\\"2\\\");\\n$oc-cyan-3: map-get($oc-cyan-list, \\\"3\\\");\\n$oc-cyan-4: map-get($oc-cyan-list, \\\"4\\\");\\n$oc-cyan-5: map-get($oc-cyan-list, \\\"5\\\");\\n$oc-cyan-6: map-get($oc-cyan-list, \\\"6\\\");\\n$oc-cyan-7: map-get($oc-cyan-list, \\\"7\\\");\\n$oc-cyan-8: map-get($oc-cyan-list, \\\"8\\\");\\n$oc-cyan-9: map-get($oc-cyan-list, \\\"9\\\");\\n\\n\\n// Teal\\n// ───────────────────────────────────\\n\\n$oc-teal-list: (\\n \\\"0\\\": #e6fcf5,\\n \\\"1\\\": #c3fae8,\\n \\\"2\\\": #96f2d7,\\n \\\"3\\\": #63e6be,\\n \\\"4\\\": #38d9a9,\\n \\\"5\\\": #20c997,\\n \\\"6\\\": #12b886,\\n \\\"7\\\": #0ca678,\\n \\\"8\\\": #099268,\\n \\\"9\\\": #087f5b\\n);\\n\\n$oc-teal-0: map-get($oc-teal-list, \\\"0\\\");\\n$oc-teal-1: map-get($oc-teal-list, \\\"1\\\");\\n$oc-teal-2: map-get($oc-teal-list, \\\"2\\\");\\n$oc-teal-3: map-get($oc-teal-list, \\\"3\\\");\\n$oc-teal-4: map-get($oc-teal-list, \\\"4\\\");\\n$oc-teal-5: map-get($oc-teal-list, \\\"5\\\");\\n$oc-teal-6: map-get($oc-teal-list, \\\"6\\\");\\n$oc-teal-7: map-get($oc-teal-list, \\\"7\\\");\\n$oc-teal-8: map-get($oc-teal-list, \\\"8\\\");\\n$oc-teal-9: map-get($oc-teal-list, \\\"9\\\");\\n\\n\\n// Green\\n// ───────────────────────────────────\\n\\n$oc-green-list: (\\n \\\"0\\\": #ebfbee,\\n \\\"1\\\": #d3f9d8,\\n \\\"2\\\": #b2f2bb,\\n \\\"3\\\": #8ce99a,\\n \\\"4\\\": #69db7c,\\n \\\"5\\\": #51cf66,\\n \\\"6\\\": #40c057,\\n \\\"7\\\": #37b24d,\\n \\\"8\\\": #2f9e44,\\n \\\"9\\\": #2b8a3e\\n);\\n\\n$oc-green-0: map-get($oc-green-list, \\\"0\\\");\\n$oc-green-1: map-get($oc-green-list, \\\"1\\\");\\n$oc-green-2: map-get($oc-green-list, \\\"2\\\");\\n$oc-green-3: map-get($oc-green-list, \\\"3\\\");\\n$oc-green-4: map-get($oc-green-list, \\\"4\\\");\\n$oc-green-5: map-get($oc-green-list, \\\"5\\\");\\n$oc-green-6: map-get($oc-green-list, \\\"6\\\");\\n$oc-green-7: map-get($oc-green-list, \\\"7\\\");\\n$oc-green-8: map-get($oc-green-list, \\\"8\\\");\\n$oc-green-9: map-get($oc-green-list, \\\"9\\\");\\n\\n\\n// Lime\\n// ───────────────────────────────────\\n\\n$oc-lime-list: (\\n \\\"0\\\": #f4fce3,\\n \\\"1\\\": #e9fac8,\\n \\\"2\\\": #d8f5a2,\\n \\\"3\\\": #c0eb75,\\n \\\"4\\\": #a9e34b,\\n \\\"5\\\": #94d82d,\\n \\\"6\\\": #82c91e,\\n \\\"7\\\": #74b816,\\n \\\"8\\\": #66a80f,\\n \\\"9\\\": #5c940d\\n);\\n\\n$oc-lime-0: map-get($oc-lime-list, \\\"0\\\");\\n$oc-lime-1: map-get($oc-lime-list, \\\"1\\\");\\n$oc-lime-2: map-get($oc-lime-list, \\\"2\\\");\\n$oc-lime-3: map-get($oc-lime-list, \\\"3\\\");\\n$oc-lime-4: map-get($oc-lime-list, \\\"4\\\");\\n$oc-lime-5: map-get($oc-lime-list, \\\"5\\\");\\n$oc-lime-6: map-get($oc-lime-list, \\\"6\\\");\\n$oc-lime-7: map-get($oc-lime-list, \\\"7\\\");\\n$oc-lime-8: map-get($oc-lime-list, \\\"8\\\");\\n$oc-lime-9: map-get($oc-lime-list, \\\"9\\\");\\n\\n\\n// Yellow\\n// ───────────────────────────────────\\n\\n$oc-yellow-list: (\\n \\\"0\\\": #fff9db,\\n \\\"1\\\": #fff3bf,\\n \\\"2\\\": #ffec99,\\n \\\"3\\\": #ffe066,\\n \\\"4\\\": #ffd43b,\\n \\\"5\\\": #fcc419,\\n \\\"6\\\": #fab005,\\n \\\"7\\\": #f59f00,\\n \\\"8\\\": #f08c00,\\n \\\"9\\\": #e67700\\n);\\n\\n$oc-yellow-0: map-get($oc-yellow-list, \\\"0\\\");\\n$oc-yellow-1: map-get($oc-yellow-list, \\\"1\\\");\\n$oc-yellow-2: map-get($oc-yellow-list, \\\"2\\\");\\n$oc-yellow-3: map-get($oc-yellow-list, \\\"3\\\");\\n$oc-yellow-4: map-get($oc-yellow-list, \\\"4\\\");\\n$oc-yellow-5: map-get($oc-yellow-list, \\\"5\\\");\\n$oc-yellow-6: map-get($oc-yellow-list, \\\"6\\\");\\n$oc-yellow-7: map-get($oc-yellow-list, \\\"7\\\");\\n$oc-yellow-8: map-get($oc-yellow-list, \\\"8\\\");\\n$oc-yellow-9: map-get($oc-yellow-list, \\\"9\\\");\\n\\n\\n// Orange\\n// ───────────────────────────────────\\n\\n$oc-orange-list: (\\n \\\"0\\\": #fff4e6,\\n \\\"1\\\": #ffe8cc,\\n \\\"2\\\": #ffd8a8,\\n \\\"3\\\": #ffc078,\\n \\\"4\\\": #ffa94d,\\n \\\"5\\\": #ff922b,\\n \\\"6\\\": #fd7e14,\\n \\\"7\\\": #f76707,\\n \\\"8\\\": #e8590c,\\n \\\"9\\\": #d9480f\\n);\\n\\n$oc-orange-0: map-get($oc-orange-list, \\\"0\\\");\\n$oc-orange-1: map-get($oc-orange-list, \\\"1\\\");\\n$oc-orange-2: map-get($oc-orange-list, \\\"2\\\");\\n$oc-orange-3: map-get($oc-orange-list, \\\"3\\\");\\n$oc-orange-4: map-get($oc-orange-list, \\\"4\\\");\\n$oc-orange-5: map-get($oc-orange-list, \\\"5\\\");\\n$oc-orange-6: map-get($oc-orange-list, \\\"6\\\");\\n$oc-orange-7: map-get($oc-orange-list, \\\"7\\\");\\n$oc-orange-8: map-get($oc-orange-list, \\\"8\\\");\\n$oc-orange-9: map-get($oc-orange-list, \\\"9\\\");\\n\\n\\n// Color list\\n// ───────────────────────────────────\\n\\n$oc-color-spectrum: 9;\\n\\n$oc-color-list: (\\n $oc-gray-list: \\\"gray\\\",\\n $oc-red-list: \\\"red\\\",\\n $oc-pink-list: \\\"pink\\\",\\n $oc-grape-list: \\\"grape\\\",\\n $oc-violet-list: \\\"violet\\\",\\n $oc-indigo-list: \\\"indigo\\\",\\n $oc-blue-list: \\\"blue\\\",\\n $oc-cyan-list: \\\"cyan\\\",\\n $oc-teal-list: \\\"teal\\\",\\n $oc-green-list: \\\"green\\\",\\n $oc-lime-list: \\\"lime\\\",\\n $oc-yellow-list: \\\"yellow\\\",\\n $oc-orange-list: \\\"orange\\\"\\n);\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1swXS51c2VbMl0hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vY3NzL3N0eWxlcy5zY3NzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtBQUM4SDtBQUNqQjtBQUNPO0FBQ3BILDRDQUE0Qyw2akJBQWtSO0FBQzlULDRDQUE0QyxpbUJBQXFTO0FBQ2pWLDhCQUE4Qix1R0FBMkIsQ0FBQyxnSEFBcUM7QUFDL0YseUNBQXlDLDBHQUErQjtBQUN4RSx5Q0FBeUMsMEdBQStCO0FBQ3hFO0FBQ0EsbURBQW1ELGdEQUFnRCxHQUFHLGFBQWEsZ0RBQWdELEdBQUcsaUJBQWlCLHlCQUF5QiwyQ0FBMkMsd0NBQXdDLDZCQUE2Qiw2QkFBNkIsNkJBQTZCLDhDQUE4QyxtQ0FBbUMscUVBQXFFLHFDQUFxQywrQkFBK0IscUNBQXFDLGdDQUFnQyw4QkFBOEIsa0NBQWtDLG9DQUFvQyxpQ0FBaUMsaURBQWlELGdDQUFnQywwQkFBMEIsa0RBQWtELDhCQUE4Qix3Q0FBd0MsZ0NBQWdDLHlDQUF5Qyx1Q0FBdUMscUNBQXFDLHNDQUFzQyxvQ0FBb0Msc0NBQXNDLG1EQUFtRCw0QkFBNEIsa0NBQWtDLEdBQUcsMkJBQTJCLHdCQUF3QixHQUFHLHVEQUF1RCxxQkFBcUIsR0FBRywyQkFBMkIsbURBQW1ELDJDQUEyQyx3Q0FBd0MsNkJBQTZCLDZCQUE2QiwwQkFBMEIsOENBQThDLG1DQUFtQyxxRUFBcUUscUNBQXFDLCtCQUErQixxQ0FBcUMsZ0NBQWdDLDhCQUE4QixrQ0FBa0Msb0NBQW9DLGlDQUFpQyw4Q0FBOEMsZ0NBQWdDLDBCQUEwQiwrQ0FBK0MsOEJBQThCLHFDQUFxQyxnQ0FBZ0MseUNBQXlDLHNDQUFzQyxrREFBa0Qsa0NBQWtDLEdBQUcsV0FBVyx1QkFBdUIs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QUFNLE1BQU0sV0FBVyxXQUFXLFdBQVcsV0FBVyxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sV0FBVyxXQUFXLFdBQVcsV0FBVyxNQUFNLE1BQU0sVUFBVSxXQUFXLE1BQU0sTUFBTSxVQUFVLFdBQVcsTUFBTSxRQUFRLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLE1BQU0sTUFBTSxVQUFVLFVBQVUsTUFBTSxRQUFRLFVBQVUsTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLFVBQVUsV0FBVyxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sV0FBVyxXQUFXLFdBQVcsTUFBTSxPQUFPLFVBQVUsV0FBVyxXQUFXLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxVQUFVLFdBQVcsTUFBTSxNQUFNLFdBQVcsV0FBVyxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sTUFBTSxVQUFVLFdBQVcsVUFBVSxVQUFVLE1BQU0sTUFBTSxVQUFVLFlBQVksV0FBVyxNQUFNLE9BQU8sV0FBVyxXQUFXLE1BQU0sT0FBTyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsTUFBTSxPQUFPLFdBQVcsV0FBVyxNQUFNLE9BQU8sV0FBVyxNQUFNLE9BQU8sV0FBVyxNQUFNLE9BQU8sV0FBVyxNQUFNLE9BQU8sV0FBVyxNQUFNLE9BQU8sV0FBVyxNQUFNLE9BQU8sV0FBVyxNQUFNLE1BQU0sV0FBVyxXQUFXLFdBQVcsTUFBTSxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLFdBQVcsVUFBVSxXQUFXLE1BQU0sTUFBTSxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxXQUFXLFdBQVcsTUFBTSxNQUFNLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sVUFBVSxXQUFXLE1BQU0sTUFBTSxVQUFVLFdBQVcsV0FBVyxVQUFVLE1BQU0sS0FBSyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsTUFBTSxLQUFLLFVBQVUsV0FBVyxNQUFNLEtBQUssV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFVBQVUsS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLFdBQVcsVUFBVSxLQUFLLEtBQUssV0FBVyxVQUFVLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssV0FBVyxXQUFXLFVBQVUsVUFBVSxXQUFXLFdBQVcsS0FBSyxLQUFLLFVBQVUsVUFBVSxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssVUFBVSxXQUFXLFdBQVcsV0FBVyxLQUFLLE1BQU0sVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsS0FBSyxNQUFNLFVBQVUsTUFBTSxNQUFNLFdBQVcsVUFBVSxPQUFPLE1BQU0sV0FBVyxNQUFNLE1BQU0sV0FBVyxVQUFVLFVBQVUsVUFBVSxXQUFXLE1BQU0sTUFBTSxXQUFXLFVBQVUsVUFBVSxVQUFVLFdBQVcsTUFBTSxN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QTRDLDRDQUE0QywwUUFBMFEsNENBQTRDLDBDQUEwQywwQ0FBMEMsMENBQTBDLDBDQUEwQywwQ0FBMEMsMENBQTBDLDBDQUEwQywwQ0FBMEMsMENBQTBDLDRRQUE0USw4Q0FBOEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsOFFBQThRLGdEQUFnRCw4Q0FBOEMsOENBQThDLDhDQUE4Qyw4Q0FBOEMsOENBQThDLDhDQUE4Qyw4Q0FBOEMsOENBQThDLDhDQUE4QyxnUkFBZ1Isa0RBQWtELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdSQUFnUixrREFBa0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsNFFBQTRRLDhDQUE4Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0UUFBNFEsOENBQThDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRRQUE0USw4Q0FBOEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsOFFBQThRLGdEQUFnRCw4Q0FBOEMsOENBQThDLDhDQUE4Qyw4Q0FBOEMsOENBQThDLDhDQUE4Qyw4Q0FBOEMsOENBQThDLDhDQUE4Qyw0UUFBNFEsOENBQThDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLGdSQUFnUixrREFBa0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ1JBQWdSLGtEQUFrRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCx5RkFBeUYsdWRBQXVkLHFCQUFxQjtBQUM3aDZDO0FBQ0EsaUVBQWUsdUJBQXVCLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vY3NzL3N0eWxlcy5zY3NzPzBkNTUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18gZnJvbSBcIi4uL3BhY2thZ2VzL2V4Y2FsaWRyYXcvbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2dldFVybC5qc1wiO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fID0gbmV3IFVSTChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgd2lkdGg9XFxcIjI5Mi40XFxcIiBoZWlnaHQ9XFxcIjI5Mi40XFxcIiB2aWV3Qm94PVxcXCIwIDAgMjkyIDI5MlxcXCI+PHBhdGggZD1cXFwiTTI4NyAxOTdMMTU5IDY5Yy00LTMtOC01LTEzLTVzLTkgMi0xMyA1TDUgMTk3Yy0zIDQtNSA4LTUgMTNzMiA5IDUgMTNjNCA0IDggNSAxMyA1aDI1NmM1IDAgOS0xIDEzLTVzNS04IDUtMTMtMS05LTUtMTN6XFxcIi8+PC9zdmc+XCIsIGltcG9ydC5tZXRhLnVybCk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzFfX18gPSBuZXcgVVJMKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB3aWR0aD1cXFwiMjkyLjRcXFwiIGhlaWdodD1cXFwiMjkyLjRcXFwiIHZpZXdCb3g9XFxcIjAgMCAyOTIgMjkyXFxcIj48cGF0aCBmaWxsPVxcXCIlMjNjZWQ0ZGFcXFwiIGQ9XFxcIk0yODcgMTk3TDE1OSA2OWMtNC0zLTgtNS0xMy01cy05IDItMTMgNUw1IDE5N2MtMyA0LTUgOC01IDEzczIgOSA1IDEzYzQgNCA4IDUgMTMgNWgyNTZjNSAwIDktMSAxMy01czUtOCA1LTEzLTEtOS01LTEzelxcXCIvPjwvc3ZnPlwiLCBpbXBvcnQubWV0YS51cmwpO1xudmFyIF9fX0NTU19MT0FERVJfRVhQT1JUX19fID0gX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8wX19fKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8xX19fID0gX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCI6ZXhwb3J0IHtcXG4gIHRoZW1lRmlsdGVyOiBpbnZlcnQoOTMlKSBodWUtcm90YXRlKDE4MGRlZyk7XFxufVxcblxcbjpleHBvcnQge1xcbiAgdGhlbWVGaWx0ZXI6IGludmVydCg5MyUpIGh1ZS1yb3RhdGUoMTgwZGVnKTtcXG59XFxuXFxuLmV4Y2FsaWRyYXcge1xcbiAgLS10aGVtZS1maWx0ZXI6IG5vbmU7XFxuICAtLWJ1dHRvbi1kZXN0cnVjdGl2ZS1iZy1jb2xvcjogI2ZmZTNlMztcXG4gIC0tYnV0dG9uLWRlc3RydWN0aXZlLWNvbG9yOiAjYzkyYTJhO1xcbiAgLS1idXR0b24tZ3JheS0xOiAjZTllY2VmO1xcbiAgLS1idXR0b24tZ3JheS0yOiAjY2VkNGRhO1xcbiAgLS1idXR0b24tZ3JheS0zOiAjYWRiNWJkO1xcbiAgLS1idXR0b24tc3BlY2lhbC1hY3RpdmUtYmctY29sb3I6ICNlYmZiZWU7XFxuICAtLWRpYWxvZy1ib3JkZXItY29sb3I6ICM4NjhlOTY7XFxuICAtLWRyb3Bkb3duLWljb246IHVybChcIiArIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzBfX18gKyBcIik7XFxuICAtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcjogI2E1ZDhmZjtcXG4gIC0taWNvbi1maWxsLWNvbG9yOiAjMDAwMDAwO1xcbiAgLS1pY29uLWdyZWVuLWZpbGwtY29sb3I6ICMyYjhhM2U7XFxuICAtLWRlZmF1bHQtYmctY29sb3I6ICNmZmZmZmY7XFxuICAtLWlucHV0LWJnLWNvbG9yOiAjZmZmZmZmO1xcbiAgLS1pbnB1dC1ib3JkZXItY29sb3I6ICNjZWQ0ZGE7XFxuICAtLWlucHV0LWhvdmVyLWJnLWNvbG9yOiAjZjFmM2Y1O1xcbiAgLS1pbnB1dC1sYWJlbC1jb2xvcjogIzQ5NTA1NztcXG4gIC0taXNsYW5kLWJnLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTYpO1xcbiAgLS1rZXliaW5kaW5nLWNvbG9yOiAjYWRiNWJkO1xcbiAgLS1saW5rLWNvbG9yOiAjMWM3ZWQ2O1xcbiAgLS1vdmVybGF5LWJnLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODgpO1xcbiAgLS1wb3B1cC1iZy1jb2xvcjogI2ZmZmZmZjtcXG4gIC0tcG9wdXAtc2Vjb25kYXJ5LWJnLWNvbG9yOiAjZjFmM2Y1O1xcbiAgLS1wb3B1cC10ZXh0LWNvbG9yOiAjMDAwMDAwO1xcbiAgLS1wb3B1cC10ZXh0LWludmVydGVkLWNvbG9yOiAjZmZmZmZmO1xcbiAgLS1zYWI6IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcXG4gIC0tc2FsOiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xcbiAgLS1zYXI6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xcbiAgLS1zYXQ6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcXG4gIC0tc2VsZWN0LWhpZ2hsaWdodC1jb2xvcjogIzMzOWFmMDtcXG4gIC0tc2hhZG93LWlzbGFuZDogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XFxuICAtLXNwYWNlLWZhY3RvcjogMC4yNXJlbTtcXG4gIC0tdGV4dC1wcmltYXJ5LWNvbG9yOiAjMzQzYTQwO1xcbn1cXG4uZXhjYWxpZHJhdy50aGVtZS0tZGFyayB7XFxuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xcbn1cXG4uZXhjYWxpZHJhdy50aGVtZS0tZGFyay50aGVtZS0tZGFyay1iYWNrZ3JvdW5kLW5vbmUge1xcbiAgYmFja2dyb3VuZDogbm9uZTtcXG59XFxuLmV4Y2FsaWRyYXcudGhlbWUtLWRhcmsge1xcbiAgLS10aGVtZS1maWx0ZXI6IGludmVydCg5MyUpIGh1ZS1yb3RhdGUoMTgwZGVnKTtcXG4gIC0tYnV0dG9uLWRlc3RydWN0aXZlLWJnLWNvbG9yOiAjNWEwMDAwO1xcbiAgLS1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3I6ICNmZmE4YTg7XFxuICAtLWJ1dHRvbi1ncmF5LTE6ICMzNjM2MzY7XFxuICAtLWJ1dHRvbi1ncmF5LTI6ICMyNzI3Mjc7XFxuICAtLWJ1dHRvbi1ncmF5LTM6ICMyMjI7XFxuICAtLWJ1dHRvbi1zcGVjaWFsLWFjdGl2ZS1iZy1jb2xvcjogIzIwNDYyNDtcXG4gIC0tZGlhbG9nLWJvcmRlci1jb2xvcjogIzIxMjUyOTtcXG4gIC0tZHJvcGRvd24taWNvbjogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMV9fXyArIFwiKTtcXG4gIC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yOiAjMjI4YmU2O1xcbiAgLS1pY29uLWZpbGwtY29sb3I6ICNjZWQ0ZGE7XFxuICAtLWljb24tZ3JlZW4tZmlsbC1jb2xvcjogIzY5ZGI3YztcXG4gIC0tZGVmYXVsdC1iZy1jb2xvcjogIzEyMTIxMjtcXG4gIC0taW5wdXQtYmctY29sb3I6ICMxMjEyMTI7XFxuICAtLWlucHV0LWJvcmRlci1jb2xvcjogIzJlMmUyZTtcXG4gIC0taW5wdXQtaG92ZXItYmctY29sb3I6ICMxODE4MTg7XFxuICAtLWlucHV0LWxhYmVsLWNvbG9yOiAjZTllY2VmO1xcbiAgLS1pc2xhbmQtYmctY29sb3I6IHJnYmEoMzAsIDMwLCAzMCwgMC45OCk7XFxuICAtLWtleWJpbmRpbmctY29sb3I6ICM4NjhlOTY7XFxuICAtLWxpbmstY29sb3I6ICM0ZGFiZjc7XFxuICAtLW92ZXJsYXktYmctY29sb3I6IHJnYmEoNTIsIDU4LCA2NCwgMC4xMik7XFxuICAtLXBvcHVwLWJnLWNvbG9yOiAjMmMyYzJjO1xcbiAgLS1wb3B1cC1zZWNvbmRhcnktYmctY29sb3I6ICMyMjI7XFxuICAtLXBvcHVwLXRleHQtY29sb3I6ICNjZWQ0ZGE7XFxuICAtLXBvcHVwLXRleHQtaW52ZXJ0ZWQtY29sb3I6ICM2MzVjNWM7XFxuICAtLXNlbGVjdC1oaWdobGlnaHQtY29sb3I6ICM0ZGFiZjc7XFxuICAtLXNoYWRvdy1pc2xhbmQ6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XFxuICAtLXRleHQtcHJpbWFyeS1jb2xvcjogI2NlZDRkYTtcXG59XFxuXFxuOnJvb3Qge1xcbiAgLS16SW5kZXgtY2FudmFzOiAxO1xcbiAgLS16SW5kZXgtd3lzaXd5ZzogMjtcXG4gIC0tekluZGV4LWxheWVyVUk6IDM7XFxufVxcblxcbi5leGNhbGlkcmF3IHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIG92ZXJmbG93OiBoaWRkZW47XFxuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICB0b3A6IDA7XFxuICBib3R0b206IDA7XFxuICBsZWZ0OiAwO1xcbiAgcmlnaHQ6IDA7XFxuICBoZWlnaHQ6IDEwMCU7XFxuICB3aWR0aDogMTAwJTtcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcbn1cXG4uZXhjYWxpZHJhdzpmb2N1cyB7XFxuICBvdXRsaW5lOiBub25lO1xcbn1cXG4uZXhjYWxpZHJhdyBhIHtcXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICBjb2xvcjogdmFyKC0tbGluay1jb2xvcik7XFxufVxcbi5leGNhbGlkcmF3IGE6aG92ZXIge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XFxufVxcbi5leGNhbGlkcmF3IGNhbnZhcyB7XFxuICB0b3VjaC1hY3Rpb246IG5vbmU7XFxuICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDtcXG4gIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcXG4gIHotaW5kZXg6IHZhcigtLXpJbmRleC1jYW52YXMpO1xcbn1cXG4uZXhjYWxpZHJhd19fY2FudmFzIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG59XFxuLmV4Y2FsaWRyYXcudGhlbWUtLWRhcmsgY2FudmFzIHtcXG4gIGZpbHRlcjogdmFyKC0tdGhlbWUtZmlsdGVyKTtcXG59XFxuLmV4Y2FsaWRyYXcgLkZpeGVkU2lkZUNvbnRhaW5lciB7XFxuICBwYWRkaW5nLXRvcDogdmFyKC0tc2F0LCAwKTtcXG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNhciwgMCk7XFxuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2FiLCAwKTtcXG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc2FsLCAwKTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsUm93IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIGgzLFxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiBsZWdlbmQsXFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIC5jb250cm9sLWxhYmVsIHtcXG4gIG1hcmdpbi10b3A6IDAuMzMzcmVtO1xcbiAgbWFyZ2luLWJvdHRvbTogMC4zMzNyZW07XFxuICBmb250LXNpemU6IDAuNzVyZW07XFxuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LWNvbG9yKTtcXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiAuY29udHJvbC1sYWJlbCBpbnB1dCB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4uZXhjYWxpZHJhdyAucGFuZWxDb2x1bW4gaDM6Zmlyc3QtY2hpbGQsXFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIGxlZ2VuZDpmaXJzdC1jaGlsZCxcXG4uZXhjYWxpZHJhdyAucGFuZWxDb2x1bW4gLmNvbnRyb2wtbGFiZWw6Zmlyc3QtY2hpbGQge1xcbiAgbWFyZ2luLXRvcDogMDtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIGxlZ2VuZCB7XFxuICBwYWRkaW5nOiAwO1xcbn1cXG4uZXhjYWxpZHJhdyAucGFuZWxDb2x1bW4gLmljb25TZWxlY3RMaXN0IHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIC5idXR0b25MaXN0IHtcXG4gIGZsZXgtd3JhcDogd3JhcDtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIC5idXR0b25MaXN0IGxhYmVsIHtcXG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIC5idXR0b25MaXN0IGlucHV0W3R5cGU9cmFkaW9dLFxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiAuYnV0dG9uTGlzdCBpbnB1dFt0eXBlPWJ1dHRvbl0ge1xcbiAgb3BhY2l0eTogMDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbn1cXG4uZXhjYWxpZHJhdyAucGFuZWxDb2x1bW4gLmJ1dHRvbkxpc3QgLmljb25Sb3cge1xcbiAgbWFyZ2luLXRvcDogOHB4O1xcbn1cXG4uZXhjYWxpZHJhdyAucGFuZWxDb2x1bW4gLmJ1dHRvbkxpc3QgLlRvb2xJY29uIHtcXG4gIG1hcmdpbjogMDtcXG4gIG1hcmdpbi1pbmxpbmUtZW5kOiA4cHg7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiAuYnV0dG9uTGlzdCAuVG9vbEljb246Zm9jdXMge1xcbiAgb3V0bGluZTogdHJhbnNwYXJlbnQ7XFxuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIC5idXR0b25MaXN0IC5Ub29sSWNvbjpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIC5idXR0b25MaXN0IC5Ub29sSWNvbjphY3RpdmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMyk7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiAuYnV0dG9uTGlzdCAuVG9vbEljb246ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIC5idXR0b25MaXN0IC5Ub29sSWNvbl9faWNvbiB7XFxuICB3aWR0aDogMjhweDtcXG4gIGhlaWdodDogMjhweDtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIGZpZWxkc2V0IHtcXG4gIG1hcmdpbjogMDtcXG4gIG1hcmdpbi10b3A6IDAuMzMzcmVtO1xcbiAgcGFkZGluZzogMDtcXG4gIGJvcmRlcjogbm9uZTtcXG59XFxuLmV4Y2FsaWRyYXcgLmRpdmlkZXIge1xcbiAgd2lkdGg6IDFweDtcXG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWY7XFxuICBtYXJnaW46IDFweDtcXG59XFxuLmV4Y2FsaWRyYXcgLmJ1dHRvbkxpc3QgbGFiZWw6Zm9jdXMtd2l0aGluLFxcbi5leGNhbGlkcmF3IGlucHV0OmZvY3VzIHtcXG4gIG91dGxpbmU6IHRyYW5zcGFyZW50O1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcik7XFxufVxcbi5leGNhbGlkcmF3IGJ1dHRvbixcXG4uZXhjYWxpZHJhdyAuYnV0dG9uTGlzdCBsYWJlbCB7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbiAgYm9yZGVyOiAwO1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbiAgbWFyZ2luOiAwLjEyNXJlbSAwO1xcbiAgcGFkZGluZzogMC4yNXJlbTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbi5leGNhbGlkcmF3IGJ1dHRvbjpmb2N1cyxcXG4uZXhjYWxpZHJhdyAuYnV0dG9uTGlzdCBsYWJlbDpmb2N1cyB7XFxuICBvdXRsaW5lOiB0cmFuc3BhcmVudDtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb2N1cy1oaWdobGlnaHQtY29sb3IpO1xcbn1cXG4uZXhjYWxpZHJhdyBidXR0b246aG92ZXIsXFxuLmV4Y2FsaWRyYXcgLmJ1dHRvbkxpc3QgbGFiZWw6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IGJ1dHRvbjphY3RpdmUsXFxuLmV4Y2FsaWRyYXcgLmJ1dHRvbkxpc3QgbGFiZWw6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbn1cXG4uZXhjYWxpZHJhdyBidXR0b246ZGlzYWJsZWQsXFxuLmV4Y2FsaWRyYXcgLmJ1dHRvbkxpc3QgbGFiZWw6ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG59XFxuLmV4Y2FsaWRyYXcgLmFjdGl2ZSxcXG4uZXhjYWxpZHJhdyAuYnV0dG9uTGlzdCBsYWJlbC5hY3RpdmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IC5hY3RpdmU6aG92ZXIsXFxuLmV4Y2FsaWRyYXcgLmJ1dHRvbkxpc3QgbGFiZWwuYWN0aXZlOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbn1cXG4uZXhjYWxpZHJhdyAuYWN0aXZlOmFjdGl2ZSxcXG4uZXhjYWxpZHJhdyAuYnV0dG9uTGlzdCBsYWJlbC5hY3RpdmU6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbn1cXG4uZXhjYWxpZHJhdyAuYnV0dG9uTGlzdC5idXR0b25MaXN0SWNvbiBsYWJlbCB7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG59XFxuLmV4Y2FsaWRyYXcgLmJ1dHRvbkxpc3QuYnV0dG9uTGlzdEljb24gbGFiZWwgc3ZnIHtcXG4gIHdpZHRoOiAzNnB4O1xcbiAgaGVpZ2h0OiAxNHB4O1xcbiAgcGFkZGluZzogMnB4O1xcbiAgb3BhY2l0eTogMC42O1xcbn1cXG4uZXhjYWxpZHJhdyAuYnV0dG9uTGlzdC5idXR0b25MaXN0SWNvbiBsYWJlbC5hY3RpdmUgc3ZnIHtcXG4gIG9wYWNpdHk6IDE7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtdG9wLWJhciB7XFxuICB6LWluZGV4OiB2YXIoLS16SW5kZXgtbGF5ZXJVSSk7XFxuICBkaXNwbGF5OiBncmlkO1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgbWF4LWNvbnRlbnQgMWZyO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLWJvdHRvbS1iYXIge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIHJpZ2h0OiAwO1xcbiAgLS1iYXItcGFkZGluZzogY2FsYyg0ICogdmFyKC0tc3BhY2UtZmFjdG9yKSk7XFxuICBwYWRkaW5nLXRvcDogbWF4KHZhcigtLWJhci1wYWRkaW5nKSwgdmFyKC0tc2F0LDApKTtcXG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNhciwgMCk7XFxuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2FiLCAwKTtcXG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc2FsLCAwKTtcXG4gIHotaW5kZXg6IDQ7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtYm90dG9tLWJhciA+IC5Jc2xhbmQge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxuICBtaW4td2lkdGg6IDEwMCU7XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgbWF4LWhlaWdodDogMTAwJTtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtYm90dG9tLWJhciA+IC5Jc2xhbmQgLnBhbmVsQ29sdW1uIHtcXG4gIHBhZGRpbmc6IDhweCA4cHggMCA4cHg7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtdG9vbGJhciB7XFxuICB3aWR0aDogMTAwJTtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtdG9vbGJhci1jb250ZW50IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgcGFkZGluZzogOHB4O1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLW1vYmlsZS1tZW51IHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYmFyLXBhZGRpbmcpO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLW1lbnUge1xcbiAgZGlzcGxheTogZ3JpZDtcXG4gIGNvbG9yOiB2YXIoLS1pY29uLWZpbGwtY29sb3IpO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLW1lbnVfdG9wIHtcXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtYXgtY29udGVudCBhdXRvO1xcbiAgZ3JpZC1nYXA6IDRweDtcXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcXG59XFxuLmV4Y2FsaWRyYXcgLmxheWVyLXVpX193cmFwcGVyOm5vdCguZGlzYWJsZS1wb2ludGVyRXZlbnRzKSAuQXBwLW1lbnVfdG9wID4gKiB7XFxuICBwb2ludGVyLWV2ZW50czogYWxsO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLW1lbnVfdG9wID4gKjpmaXJzdC1jaGlsZCB7XFxuICBqdXN0aWZ5LXNlbGY6IGZsZXgtc3RhcnQ7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtbWVudV90b3AgPiAqOmxhc3QtY2hpbGQge1xcbiAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC1tZW51X2JvdHRvbSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBib3R0b206IDA7XFxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbi1jb250ZW50IGF1dG8gbWluLWNvbnRlbnQ7XFxuICBncmlkLWdhcDogMTVweDtcXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgY3Vyc29yOiBkZWZhdWx0O1xcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcXG4gIHotaW5kZXg6IDEwMDtcXG59XFxuOnJvb3RbZGlyPWx0cl0gLmV4Y2FsaWRyYXcgLkFwcC1tZW51X2JvdHRvbSB7XFxuICBsZWZ0OiAwLjI1cmVtO1xcbn1cXG46cm9vdFtkaXI9cnRsXSAuZXhjYWxpZHJhdyAuQXBwLW1lbnVfYm90dG9tIHtcXG4gIHJpZ2h0OiAwLjI1cmVtO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLW1lbnVfYm90dG9tLS10cmFuc2l0aW9uLWxlZnQgc2VjdGlvbiB7XFxuICB3aWR0aDogMTg1cHg7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtbWVudV9ib3R0b20gc2VjdGlvbiB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLW1lbnVfYm90dG9tID4gKjpmaXJzdC1jaGlsZCB7XFxuICBqdXN0aWZ5LXNlbGY6IGZsZXgtc3RhcnQ7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtbWVudV9ib3R0b20gPiAqOmxhc3QtY2hpbGQge1xcbiAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC1tZW51X2xlZnQge1xcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgYXV0byAxZnI7XFxuICBoZWlnaHQ6IDEwMCU7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtbWVudV9yaWdodCB7XFxuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcXG4gIGhlaWdodDogMTAwJTtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC1tZW51X19sZWZ0IHtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxufVxcbi5leGNhbGlkcmF3IC5kcm9wZG93bi1zZWxlY3Qge1xcbiAgaGVpZ2h0OiAxLjVyZW07XFxuICBwYWRkaW5nOiAwO1xcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDAuNXJlbTtcXG4gIHBhZGRpbmctaW5saW5lLWVuZDogMS41cmVtO1xcbiAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0xKTtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNlLWZhY3Rvcik7XFxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gIGZvbnQtc2l6ZTogMC44cmVtO1xcbiAgb3V0bGluZTogbm9uZTtcXG4gIGFwcGVhcmFuY2U6IG5vbmU7XFxuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1kcm9wZG93bi1pY29uKTtcXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjdyZW0gdG9wIDUwJSwgMCAwO1xcbiAgYmFja2dyb3VuZC1zaXplOiAwLjY1ZW0gYXV0bywgMTAwJTtcXG59XFxuOnJvb3RbZGlyPXJ0bF0gLmV4Y2FsaWRyYXcgLmRyb3Bkb3duLXNlbGVjdCB7XFxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDAuN3JlbSB0b3AgNTAlLCAwIDA7XFxufVxcbi5leGNhbGlkcmF3IC5kcm9wZG93bi1zZWxlY3Q6Zm9jdXMge1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcik7XFxufVxcbi5leGNhbGlkcmF3IC5kcm9wZG93bi1zZWxlY3Q6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IC5kcm9wZG93bi1zZWxlY3Q6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbn1cXG4uZXhjYWxpZHJhdyAuekluZGV4QnV0dG9uIHtcXG4gIG1hcmdpbjogMDtcXG4gIG1hcmdpbi1pbmxpbmUtZW5kOiA4cHg7XFxuICBwYWRkaW5nOiA1cHg7XFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG59XFxuLmV4Y2FsaWRyYXcgLnpJbmRleEJ1dHRvbiBzdmcge1xcbiAgd2lkdGg6IDE4cHg7XFxuICBoZWlnaHQ6IDE4cHg7XFxufVxcbi5leGNhbGlkcmF3IC5zY3JvbGwtYmFjay10by1jb250ZW50IHtcXG4gIGNvbG9yOiB2YXIoLS1wb3B1cC10ZXh0LWNvbG9yKTtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGxlZnQ6IDUwJTtcXG4gIGJvdHRvbTogMzBweDtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcXG4gIHBhZGRpbmc6IDEwcHggMjBweDtcXG59XFxuLmV4Y2FsaWRyYXcgLmhlbHAtaWNvbiB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbiAgZmlsbDogIzg2OGU5NjtcXG4gIHBhZGRpbmc6IDA7XFxuICBtYXJnaW46IDA7XFxuICBiYWNrZ3JvdW5kOiBub25lO1xcbiAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxufVxcbi5leGNhbGlkcmF3IC5oZWxwLWljb24gc3ZnIHtcXG4gIHdpZHRoOiAxLjVyZW07XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG59XFxuLmV4Y2FsaWRyYXcgLmhlbHAtaWNvbjpob3ZlciB7XFxuICBiYWNrZ3JvdW5kOiBub25lO1xcbn1cXG4uZXhjYWxpZHJhdyAucmVzZXQtem9vbS1idXR0b24ge1xcbiAgcGFkZGluZzogMC4yZW07XFxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xcbiAgZm9udC1mYW1pbHk6IHZhcigtLXVpLWZvbnQpO1xcbn1cXG4uZXhjYWxpZHJhdyAudW5kby1yZWRvLWJ1dHRvbnMge1xcbiAgZGlzcGxheTogZ3JpZDtcXG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XFxuICBnYXA6IDAuNGVtO1xcbiAgbWFyZ2luLXRvcDogYXV0bztcXG4gIG1hcmdpbi1ib3R0b206IGF1dG87XFxuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwLjZlbTtcXG59XFxuLmV4Y2FsaWRyYXctLW1vYmlsZS5leGNhbGlkcmF3IGFzaWRlIHtcXG4gIGRpc3BsYXk6IG5vbmU7XFxufVxcbi5leGNhbGlkcmF3LS1tb2JpbGUuZXhjYWxpZHJhdyAuc2Nyb2xsLWJhY2stdG8tY29udGVudCB7XFxuICBib3R0b206IGNhbGMoODBweCArIHZhcigtLXNhYiwgMCkpO1xcbiAgei1pbmRleDogLTE7XFxufVxcblxcbjpyb290W2Rpcj1ydGxdIC5leGNhbGlkcmF3IC5ydGwtbWlycm9yIHtcXG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcXG59XFxuLmV4Y2FsaWRyYXcgLnplbi1tb2RlLXZpc2liaWxpdHkge1xcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcXG4gIG9wYWNpdHk6IDE7XFxuICBoZWlnaHQ6IGF1dG87XFxuICB3aWR0aDogYXV0bztcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcXG59XFxuLmV4Y2FsaWRyYXcgLnplbi1tb2RlLXZpc2liaWxpdHkuemVuLW1vZGUtdmlzaWJpbGl0eS0taGlkZGVuIHtcXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcXG4gIG9wYWNpdHk6IDA7XFxuICBoZWlnaHQ6IDA7XFxuICB3aWR0aDogMDtcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcXG59XFxuLmV4Y2FsaWRyYXcgLmRpc2FibGUtcG9pbnRlckV2ZW50cyB7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG4uZXhjYWxpZHJhdy5leGNhbGlkcmF3LS12aWV3LW1vZGUgLkFwcC1tZW51IHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxufVxcbi5leGNhbGlkcmF3IGlucHV0W3R5cGU9dGV4dF0sXFxuLmV4Y2FsaWRyYXcgdGV4dGFyZWE6bm90KC5leGNhbGlkcmF3LXd5c2l3eWcpIHtcXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnktY29sb3IpO1xcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXItY29sb3IpO1xcbiAgcGFkZGluZzogMC43NXJlbTtcXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zcGFjZS1mYWN0b3IpO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5wdXQtYmctY29sb3IpO1xcbn1cXG4uZXhjYWxpZHJhdyBpbnB1dFt0eXBlPXRleHRdOm5vdCg6Zm9jdXMpOmhvdmVyLFxcbi5leGNhbGlkcmF3IHRleHRhcmVhOm5vdCguZXhjYWxpZHJhdy13eXNpd3lnKTpub3QoOmZvY3VzKTpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnB1dC1ob3Zlci1iZy1jb2xvcik7XFxufVxcbi5leGNhbGlkcmF3IGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsXFxuLmV4Y2FsaWRyYXcgdGV4dGFyZWE6bm90KC5leGNhbGlkcmF3LXd5c2l3eWcpOmZvY3VzIHtcXG4gIG91dGxpbmU6IG5vbmU7XFxuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG59XFxuQG1lZGlhIHByaW50IHtcXG4gIC5leGNhbGlkcmF3IC5BcHAtYm90dG9tLWJhcixcXG4uZXhjYWxpZHJhdyAuRml4ZWRTaWRlQ29udGFpbmVyLFxcbi5leGNhbGlkcmF3IC5sYXllci11aV9fd3JhcHBlciB7XFxuICAgIGRpc3BsYXk6IG5vbmU7XFxuICB9XFxufVxcbi5leGNhbGlkcmF3IC5Ib21lQnV0dG9uLlRvb2xJY29uLlRvb2xJY29uX3R5cGVfZmxvYXRpbmcge1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgdG9wOiA2MHB4O1xcbiAgbGVmdDogY2FsYygtMiAqIHZhcigtLXNwYWNlLWZhY3RvcikpO1xcbiAgYm9yZGVyLXJhZGl1czogMCAyMHB4IDIwcHggMDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbn1cXG4uZXhjYWxpZHJhdyAuSG9tZUJ1dHRvbi5Ub29sSWNvbi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbn1cXG4uZXhjYWxpZHJhdyAuSG9tZUJ1dHRvbi5Ub29sSWNvbi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nOmFjdGl2ZSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLkhvbWVCdXR0b24uVG9vbEljb24uVG9vbEljb25fdHlwZV9mbG9hdGluZyAuVG9vbEljb25fX2ljb24ge1xcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcXG59XFxuLmV4Y2FsaWRyYXcgLkhvbWVCdXR0b24uVG9vbEljb24uVG9vbEljb25fdHlwZV9mbG9hdGluZyBzdmcge1xcbiAgcG9zaXRpb246IHN0YXRpYztcXG59XFxuXFxuLkVycm9yU3BsYXNoLmV4Y2FsaWRyYXcge1xcbiAgbWluLWhlaWdodDogMTAwdmg7XFxuICBwYWRkaW5nOiAyMHB4IDA7XFxuICBvdmVyZmxvdzogYXV0bztcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICB1c2VyLXNlbGVjdDogdGV4dDtcXG59XFxuLkVycm9yU3BsYXNoLmV4Y2FsaWRyYXcgLkVycm9yU3BsYXNoLW1lc3NhZ2VDb250YWluZXIge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBwYWRkaW5nOiA0MHB4O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTNlMztcXG4gIGJvcmRlcjogM3B4IHNvbGlkICNjOTJhMmE7XFxufVxcbi5FcnJvclNwbGFzaC5leGNhbGlkcmF3IC5FcnJvclNwbGFzaC1wYXJhZ3JhcGgge1xcbiAgbWFyZ2luOiAxNXB4IDA7XFxuICBtYXgtd2lkdGg6IDYwMHB4O1xcbn1cXG4uRXJyb3JTcGxhc2guZXhjYWxpZHJhdyAuRXJyb3JTcGxhc2gtcGFyYWdyYXBoLmFsaWduLWNlbnRlciB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi5FcnJvclNwbGFzaC5leGNhbGlkcmF3IC5iaWdnZXIsXFxuLkVycm9yU3BsYXNoLmV4Y2FsaWRyYXcgLmJpZ2dlciBidXR0b24ge1xcbiAgZm9udC1zaXplOiAxLjFlbTtcXG59XFxuLkVycm9yU3BsYXNoLmV4Y2FsaWRyYXcgLnNtYWxsZXIsXFxuLkVycm9yU3BsYXNoLmV4Y2FsaWRyYXcgLnNtYWxsZXIgYnV0dG9uIHtcXG4gIGZvbnQtc2l6ZTogMC45ZW07XFxufVxcbi5FcnJvclNwbGFzaC5leGNhbGlkcmF3IC5FcnJvclNwbGFzaC1kZXRhaWxzIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxufVxcbi5FcnJvclNwbGFzaC5leGNhbGlkcmF3IC5FcnJvclNwbGFzaC1kZXRhaWxzIHRleHRhcmVhIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgbWFyZ2luOiAxMHB4IDA7XFxuICBmb250LWZhbWlseTogXFxcIkNhc2NhZGlhXFxcIjtcXG4gIGZvbnQtc2l6ZTogMC44ZW07XFxufVwiLCBcIlwiLHtcInZlcnNpb25cIjozLFwic291cmNlc1wiOltcIndlYnBhY2s6Ly8uLy4uLy4uL2Nzcy92YXJpYWJsZXMubW9kdWxlLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uL2Nzcy9zdHlsZXMuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vY3NzL3RoZW1lLnNjc3NcIixcIndlYnBhY2s6Ly8uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9vcGVuLWNvbG9yL29wZW4tY29sb3Iuc2Nzc1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUFVQTtFQUNFLDJDQUFBO0FDVEY7O0FEUUE7RUFDRSwyQ0FBQTtBQ0xGOztBQ0hBO0VBQ0Usb0JBQUE7RUFDQSxzQ0FBQTtFQUNBLG1DQUFBO0VBQ0Esd0JBQUE7RUFDQSx3QkFBQTtFQUNBLHdCQUFBO0VBQ0EseUNBQUE7RUFDQSw4QkFBQTtFQUNBLHdEQUFBO0VBQ0EsZ0NBQUE7RUFDQSwwQkFBQTtFQUNBLGdDQUFBO0VBQ0EsMkJBQUE7RUFDQSx5QkFBQTtFQUNBLDZCQUFBO0VBQ0EsK0JBQUE7RUFDQSw0QkFBQTtFQUNBLDRDQUFBO0VBQ0EsMkJBQUE7RUFDQSxxQkFBQTtFQUNBLDZDQUFBO0VBQ0EseUJBQUE7RUFDQSxtQ0FBQTtFQUNBLDJCQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsaUNBQUE7RUFDQSwrQkFBQTtFQUNBLGlDQUFBO0VBQ0EsOENBQUE7RUFDQSx1QkFBQTtFQUNBLDZCQUFBO0FETUY7QUNKRTtFQUNFLG1CQzNCZTtBRmlDbkI7QUNKSTtFQUNFLGdCQUFBO0FETU47QUNGRTtFQUNFLDhDQUFBO0VBQ0Esc0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHdCQUFBO0VBQ0Esd0JBQUE7RUFDQSxxQkFBQTtFQUNBLHlDQUFBO0VBQ0EsOEJBQUE7RUFDQSx3REFBQTtFQUNBLGdDQUFBO0VBQ0EsMEJBQUE7RUFDQSxnQ0FBQTtFQUNBLDJCQUFBO0VBQ0EseUJBQUE7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RUFDQSxtQkFBQTtFQUNBLGtDQUFBO0VBQ0EsdUNBQUE7QUExQko7QUE2Qk07O0VBQ0UsNkNBQUE7QUExQlI7QUE4Qkk7O0VBQ0UsYUFBQTtFQUNBLGtEQUFBO0FBM0JOO0FBK0JFO0VBQ0U7OztJQUdFLGFBQUE7RUE3Qko7QUFDRjtBQWdDRTtFQUNFLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0Esb0NBQUE7RUFDQSw0QkFBQTtFQUVBLHNDQUFBO0FBL0JKO0FBZ0NJO0VBQ0Usc0NBQUE7QUE5Qk47QUFnQ0k7RUFDRSxzQ0FBQTtBQTlCTjtBQWlDSTtFQUNFLHNCQUFBO0FBL0JOO0FBaUNJO0VBQ0UsZ0JBQUE7QUEvQk47O0FBb0NBO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7QUFqQ0Y7QUFtQ0U7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBRUEsYUFBQTtFQUNBLHlCRS9nQk87RUZnaEJQLHlCQUFBO0FBbENKO0FBcUNFO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FBbkNKO0FBcUNJO0VBQ0Usa0JBQUE7QUFuQ047QUF1Q0U7O0VBRUUsZ0JBQUE7QUFyQ0o7QUF3Q0U7O0VBRUUsZ0JBQUE7QUF0Q0o7QUF5Q0U7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtBQXZDSjtBQXlDSTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsdUJBQUE7RUFDQSxnQkFBQTtBQXZDTlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAaW1wb3J0IFxcXCJvcGVuLWNvbG9yL29wZW4tY29sb3Iuc2Nzc1xcXCI7XFxuXFxuQG1peGluIGlzTW9iaWxlKCkge1xcbiAgQGF0LXJvb3QgLmV4Y2FsaWRyYXctLW1vYmlsZSN7Jn0ge1xcbiAgICBAY29udGVudDtcXG4gIH1cXG59XFxuXFxuJHRoZW1lLWZpbHRlcjogXFxcImludmVydCg5MyUpIGh1ZS1yb3RhdGUoMTgwZGVnKVxcXCI7XFxuXFxuOmV4cG9ydCB7XFxuICB0aGVtZUZpbHRlcjogdW5xdW90ZSgkdGhlbWUtZmlsdGVyKTtcXG59XFxuXCIsXCJAaW1wb3J0IFxcXCIuL3ZhcmlhYmxlcy5tb2R1bGVcXFwiO1xcbkBpbXBvcnQgXFxcIi4vdGhlbWVcXFwiO1xcblxcbjpyb290IHtcXG4gIC0tekluZGV4LWNhbnZhczogMTtcXG4gIC0tekluZGV4LXd5c2l3eWc6IDI7XFxuICAtLXpJbmRleC1sYXllclVJOiAzO1xcbn1cXG5cXG4uZXhjYWxpZHJhdyB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgdG9wOiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIHJpZ2h0OiAwO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7XFxuXFxuICAmOmZvY3VzIHtcXG4gICAgb3V0bGluZTogbm9uZTtcXG4gIH1cXG5cXG4gIC8vIHNlcnZlcyAyIHB1cnBvc2VzOlxcbiAgLy8gMS4gcHJldmVudCBzZWxlY3RpbmcgdGV4dCBvdXRzaWRlIHRoZSBjb21wb25lbnQgd2hlbiBkb3VibGUtY2xpY2tpbmcgb3JcXG4gIC8vICAgIGRyYWdnaW5nIGluc2lkZSBpdCAoZS5nLiBvbiBjYW52YXMpXFxuICAvLyAyLiBwcmV2ZW50IHNlbGVjdGluZyBVSSwgYm90aCBmcm9tIHRoZSBpbnNpZGUsIGFuZCBmcm9tIG91dHNpZGUgdGhlXFxuICAvLyAgICBjb21wb25lbnQgKGUuZy4gaWYgeW91IHNlbGVjdCB0ZXh0IGluIGEgc2lkZWJhcilcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcblxcbiAgYSB7XFxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgY29sb3I6IHZhcigtLWxpbmstY29sb3IpO1xcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgY2FudmFzIHtcXG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xcblxcbiAgICAvLyBmb2xsb3dpbmcgcHJvcHMgaW1wcm92ZSBibHVycmluZXNzIGF0IGNlcnRhaW4gZGV2aWNlUGl4ZWxSYXRpb3MuXFxuICAgIC8vIEFGQUlLIGl0IGRvZXNuJ3QgYWZmZWN0IGV4cG9ydCAoaW4gZmFjdCwgZXhwb3J0IHNlZW1zIHNoYXJwIGVpdGhlciB3YXkpLlxcblxcbiAgICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDsgLy8gY2hyb21pdW1cXG4gICAgLy8gTk9URTogbXVzdCBiZSBkZWNsYXJlZCAqYWZ0ZXIqIHRoZSBhYm92ZVxcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7IC8vIEZGXFxuXFxuICAgIHotaW5kZXg6IHZhcigtLXpJbmRleC1jYW52YXMpO1xcblxcbiAgICAvLyBSZW1vdmUgdGhlIG1haW4gY2FudmFzIGZyb20gZG9jdW1lbnQgZmxvdyB0byBhdm9pZCByZXNpemVPYnNlcnZlclxcbiAgICAvLyBmZWVkYmFjayBsb29wIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2V4Y2FsaWRyYXcvZXhjYWxpZHJhdy9wdWxsLzMzNzkpXFxuICB9XFxuXFxuICAmX19jYW52YXMge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB9XFxuXFxuICAmLnRoZW1lLS1kYXJrIHtcXG4gICAgLy8gVGhlIHBlcmNlbnRhZ2UgaXMgaW5zcGlyZWQgYnlcXG4gICAgLy8gaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29sb3IvZGFyay10aGVtZS5odG1sI3Byb3BlcnRpZXMsIHdoaWNoXFxuICAgIC8vIHJlY29tbWVuZHMgc3VyZmFjZSBjb2xvciBvZiAjMTIxMjEyLCA5MyUgeWllbGRzICMxMTExMTEgZm9yICNGRkZcXG5cXG4gICAgY2FudmFzIHtcXG4gICAgICBmaWx0ZXI6IHZhcigtLXRoZW1lLWZpbHRlcik7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5GaXhlZFNpZGVDb250YWluZXIge1xcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc2F0LCAwKTtcXG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc2FyLCAwKTtcXG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNhYiwgMCk7XFxuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc2FsLCAwKTtcXG4gIH1cXG5cXG4gIC5wYW5lbFJvdyB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIH1cXG5cXG4gIC5wYW5lbENvbHVtbiB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuXFxuICAgIGgzLFxcbiAgICBsZWdlbmQsXFxuICAgIC5jb250cm9sLWxhYmVsIHtcXG4gICAgICBtYXJnaW4tdG9wOiAwLjMzM3JlbTtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjMzM3JlbTtcXG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XFxuICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgIH1cXG5cXG4gICAgLmNvbnRyb2wtbGFiZWwgaW5wdXQge1xcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICB9XFxuXFxuICAgIGgzOmZpcnN0LWNoaWxkLFxcbiAgICBsZWdlbmQ6Zmlyc3QtY2hpbGQsXFxuICAgIC5jb250cm9sLWxhYmVsOmZpcnN0LWNoaWxkIHtcXG4gICAgICBtYXJnaW4tdG9wOiAwO1xcbiAgICB9XFxuXFxuICAgIGxlZ2VuZCB7XFxuICAgICAgcGFkZGluZzogMDtcXG4gICAgfVxcblxcbiAgICAuaWNvblNlbGVjdExpc3Qge1xcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIH1cXG5cXG4gICAgLmJ1dHRvbkxpc3Qge1xcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcXG5cXG4gICAgICBsYWJlbCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XFxuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgICAgfVxcblxcbiAgICAgIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0sXFxuICAgICAgaW5wdXRbdHlwZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgICAgICAgb3BhY2l0eTogMDtcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgICAgIH1cXG5cXG4gICAgICAuaWNvblJvdyB7XFxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XFxuICAgICAgfVxcblxcbiAgICAgIC5Ub29sSWNvbiB7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogOHB4O1xcblxcbiAgICAgICAgJjpmb2N1cyB7XFxuICAgICAgICAgIG91dGxpbmU6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICY6aG92ZXIge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICY6YWN0aXZlIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmOmRpc2FibGVkIHtcXG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgLlRvb2xJY29uX19pY29uIHtcXG4gICAgICAgIHdpZHRoOiAyOHB4O1xcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmaWVsZHNldCB7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDAuMzMzcmVtO1xcbiAgICAgIHBhZGRpbmc6IDA7XFxuICAgICAgYm9yZGVyOiBub25lO1xcbiAgICB9XFxuICB9XFxuXFxuICAuZGl2aWRlciB7XFxuICAgIHdpZHRoOiAxcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvYy1ncmF5LTI7XFxuICAgIG1hcmdpbjogMXB4O1xcbiAgfVxcblxcbiAgLmJ1dHRvbkxpc3QgbGFiZWw6Zm9jdXMtd2l0aGluLFxcbiAgaW5wdXQ6Zm9jdXMge1xcbiAgICBvdXRsaW5lOiB0cmFuc3BhcmVudDtcXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcik7XFxuICB9XFxuXFxuICBidXR0b24sXFxuICAuYnV0dG9uTGlzdCBsYWJlbCB7XFxuICAgIHVzZXItc2VsZWN0OiBub25lO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0xKTtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XFxuICAgIG1hcmdpbjogMC4xMjVyZW0gMDtcXG4gICAgcGFkZGluZzogMC4yNXJlbTtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG5cXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcblxcbiAgICAmOmZvY3VzIHtcXG4gICAgICBvdXRsaW5lOiB0cmFuc3BhcmVudDtcXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG4gICAgfVxcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gICAgfVxcblxcbiAgICAmOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMyk7XFxuICAgIH1cXG5cXG4gICAgJjpkaXNhYmxlZCB7XFxuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG4gICAgfVxcbiAgfVxcblxcbiAgLmFjdGl2ZSxcXG4gIC5idXR0b25MaXN0IGxhYmVsLmFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gICAgfVxcblxcbiAgICAmOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5idXR0b25MaXN0LmJ1dHRvbkxpc3RJY29uIHtcXG4gICAgbGFiZWwge1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgc3ZnIHtcXG4gICAgICAgIHdpZHRoOiAzNnB4O1xcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xcbiAgICAgICAgcGFkZGluZzogMnB4O1xcbiAgICAgICAgb3BhY2l0eTogMC42O1xcbiAgICAgIH1cXG4gICAgICAmLmFjdGl2ZSBzdmcge1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5BcHAtdG9wLWJhciB7XFxuICAgIHotaW5kZXg6IHZhcigtLXpJbmRleC1sYXllclVJKTtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgbWF4LWNvbnRlbnQgMWZyO1xcbiAgfVxcblxcbiAgLkFwcC1ib3R0b20tYmFyIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIGJvdHRvbTogMDtcXG4gICAgbGVmdDogMDtcXG4gICAgcmlnaHQ6IDA7XFxuICAgIC0tYmFyLXBhZGRpbmc6IGNhbGMoNCAqIHZhcigtLXNwYWNlLWZhY3RvcikpO1xcbiAgICBwYWRkaW5nLXRvcDogI3tcXFwibWF4KHZhcigtLWJhci1wYWRkaW5nKSwgdmFyKC0tc2F0LDApKVxcXCJ9O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zYXIsIDApO1xcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2FiLCAwKTtcXG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zYWwsIDApO1xcbiAgICB6LWluZGV4OiA0O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcbiAgICA+IC5Jc2xhbmQge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIG1heC13aWR0aDogMTAwJTtcXG4gICAgICBtaW4td2lkdGg6IDEwMCU7XFxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcXG5cXG4gICAgICAucGFuZWxDb2x1bW4ge1xcbiAgICAgICAgcGFkZGluZzogOHB4IDhweCAwIDhweDtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5BcHAtdG9vbGJhciB7XFxuICAgIHdpZHRoOiAxMDAlO1xcblxcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgfVxcblxcbiAgLkFwcC10b29sYmFyLWNvbnRlbnQge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gIH1cXG5cXG4gIC5BcHAtbW9iaWxlLW1lbnUge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcXG4gICAgb3ZlcmZsb3cteTogYXV0bztcXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYmFyLXBhZGRpbmcpO1xcbiAgfVxcblxcbiAgLkFwcC1tZW51IHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gICAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICB9XFxuXFxuICAuQXBwLW1lbnVfdG9wIHtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1heC1jb250ZW50IGF1dG87XFxuICAgIGdyaWQtZ2FwOiA0cHg7XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XFxuICB9XFxuXFxuICAubGF5ZXItdWlfX3dyYXBwZXI6bm90KC5kaXNhYmxlLXBvaW50ZXJFdmVudHMpIC5BcHAtbWVudV90b3AgPiAqIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcXG4gIH1cXG5cXG4gIC5BcHAtbWVudV90b3AgPiAqOmZpcnN0LWNoaWxkIHtcXG4gICAganVzdGlmeS1zZWxmOiBmbGV4LXN0YXJ0O1xcbiAgfVxcblxcbiAgLkFwcC1tZW51X3RvcCA+ICo6bGFzdC1jaGlsZCB7XFxuICAgIGp1c3RpZnktc2VsZjogZmxleC1lbmQ7XFxuICB9XFxuXFxuICAuQXBwLW1lbnVfYm90dG9tIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBib3R0b206IDA7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgYXV0byBtaW4tY29udGVudDtcXG4gICAgZ3JpZC1nYXA6IDE1cHg7XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XFxuICAgIHotaW5kZXg6IDEwMDtcXG5cXG4gICAgOnJvb3RbZGlyPVxcXCJsdHJcXFwiXSAmIHtcXG4gICAgICBsZWZ0OiAwLjI1cmVtO1xcbiAgICB9XFxuXFxuICAgIDpyb290W2Rpcj1cXFwicnRsXFxcIl0gJiB7XFxuICAgICAgcmlnaHQ6IDAuMjVyZW07XFxuICAgIH1cXG5cXG4gICAgJi0tdHJhbnNpdGlvbi1sZWZ0IHtcXG4gICAgICBzZWN0aW9uIHtcXG4gICAgICAgIHdpZHRoOiAxODVweDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgc2VjdGlvbiB7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgfVxcbiAgfVxcblxcbiAgLkFwcC1tZW51X2JvdHRvbSA+ICo6Zmlyc3QtY2hpbGQge1xcbiAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtc3RhcnQ7XFxuICB9XFxuXFxuICAuQXBwLW1lbnVfYm90dG9tID4gKjpsYXN0LWNoaWxkIHtcXG4gICAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcXG4gIH1cXG5cXG4gIC5BcHAtbWVudV9sZWZ0IHtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgYXV0byAxZnI7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gIH1cXG5cXG4gIC5BcHAtbWVudV9yaWdodCB7XFxuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICB9XFxuXFxuICAuQXBwLW1lbnVfX2xlZnQge1xcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgfVxcblxcbiAgLmRyb3Bkb3duLXNlbGVjdCB7XFxuICAgIGhlaWdodDogMS41cmVtO1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMC41cmVtO1xcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDEuNXJlbTtcXG4gICAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zcGFjZS1mYWN0b3IpO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gICAgZm9udC1zaXplOiAwLjhyZW07XFxuICAgIG91dGxpbmU6IG5vbmU7XFxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRyb3Bkb3duLWljb24pO1xcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjdyZW0gdG9wIDUwJSwgMCAwO1xcblxcbiAgICA6cm9vdFtkaXI9XFxcInJ0bFxcXCJdICYge1xcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMC43cmVtIHRvcCA1MCUsIDAgMDtcXG4gICAgfVxcblxcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNjVlbSBhdXRvLCAxMDAlO1xcblxcbiAgICAmOmZvY3VzIHtcXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG4gICAgfVxcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gICAgfVxcblxcbiAgICAmOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC56SW5kZXhCdXR0b24ge1xcbiAgICBtYXJnaW46IDA7XFxuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA4cHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcbiAgICBzdmcge1xcbiAgICAgIHdpZHRoOiAxOHB4O1xcbiAgICAgIGhlaWdodDogMThweDtcXG4gICAgfVxcbiAgfVxcblxcbiAgLnNjcm9sbC1iYWNrLXRvLWNvbnRlbnQge1xcbiAgICBjb2xvcjogdmFyKC0tcG9wdXAtdGV4dC1jb2xvcik7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgbGVmdDogNTAlO1xcbiAgICBib3R0b206IDMwcHg7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xcbiAgfVxcblxcbiAgLmhlbHAtaWNvbiB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgZmlsbDogJG9jLWdyYXktNjtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xcbiAgICBjb2xvcjogdmFyKC0taWNvbi1maWxsLWNvbG9yKTtcXG5cXG4gICAgc3ZnIHtcXG4gICAgICB3aWR0aDogMS41cmVtO1xcbiAgICAgIGhlaWdodDogMS41cmVtO1xcbiAgICB9XFxuXFxuICAgICY6aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5yZXNldC16b29tLWJ1dHRvbiB7XFxuICAgIHBhZGRpbmc6IDAuMmVtO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS11aS1mb250KTtcXG4gIH1cXG5cXG4gIC51bmRvLXJlZG8tYnV0dG9ucyB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XFxuICAgIGdhcDogMC40ZW07XFxuICAgIG1hcmdpbi10b3A6IGF1dG87XFxuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XFxuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAuNmVtO1xcbiAgfVxcblxcbiAgQGluY2x1ZGUgaXNNb2JpbGUge1xcbiAgICBhc2lkZSB7XFxuICAgICAgZGlzcGxheTogbm9uZTtcXG4gICAgfVxcbiAgICAuc2Nyb2xsLWJhY2stdG8tY29udGVudCB7XFxuICAgICAgYm90dG9tOiBjYWxjKDgwcHggKyB2YXIoLS1zYWIsIDApKTtcXG4gICAgICB6LWluZGV4OiAtMTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLnJ0bC1taXJyb3Ige1xcbiAgICA6cm9vdFtkaXI9XFxcInJ0bFxcXCJdICYge1xcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLnplbi1tb2RlLXZpc2liaWxpdHkge1xcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgICBoZWlnaHQ6IGF1dG87XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XFxuXFxuICAgICYuemVuLW1vZGUtdmlzaWJpbGl0eS0taGlkZGVuIHtcXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XFxuICAgICAgb3BhY2l0eTogMDtcXG4gICAgICBoZWlnaHQ6IDA7XFxuICAgICAgd2lkdGg6IDA7XFxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xcbiAgICB9XFxuICB9XFxuXFxuICAuZGlzYWJsZS1wb2ludGVyRXZlbnRzIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcXG4gIH1cXG5cXG4gICYuZXhjYWxpZHJhdy0tdmlldy1tb2RlIHtcXG4gICAgLkFwcC1tZW51IHtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gICAgfVxcbiAgfVxcblxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgdGV4dGFyZWE6bm90KC5leGNhbGlkcmF3LXd5c2l3eWcpIHtcXG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yKTtcXG4gICAgcGFkZGluZzogMC43NXJlbTtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2UtZmFjdG9yKTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5wdXQtYmctY29sb3IpO1xcblxcbiAgICAmOm5vdCg6Zm9jdXMpIHtcXG4gICAgICAmOmhvdmVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWhvdmVyLWJnLWNvbG9yKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgJjpmb2N1cyB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgQG1lZGlhIHByaW50IHtcXG4gICAgLkFwcC1ib3R0b20tYmFyLFxcbiAgICAuRml4ZWRTaWRlQ29udGFpbmVyLFxcbiAgICAubGF5ZXItdWlfX3dyYXBwZXIge1xcbiAgICAgIGRpc3BsYXk6IG5vbmU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5Ib21lQnV0dG9uLlRvb2xJY29uLlRvb2xJY29uX3R5cGVfZmxvYXRpbmcge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiA2MHB4O1xcbiAgICBsZWZ0OiBjYWxjKC0yICogdmFyKC0tc3BhY2UtZmFjdG9yKSk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7XFxuXFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0xKTtcXG4gICAgfVxcbiAgICAmOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuICAgIH1cXG5cXG4gICAgLlRvb2xJY29uX19pY29uIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgICB9XFxuICAgIHN2ZyB7XFxuICAgICAgcG9zaXRpb246IHN0YXRpYztcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4uRXJyb3JTcGxhc2guZXhjYWxpZHJhdyB7XFxuICBtaW4taGVpZ2h0OiAxMDB2aDtcXG4gIHBhZGRpbmc6IDIwcHggMDtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xcblxcbiAgLkVycm9yU3BsYXNoLW1lc3NhZ2VDb250YWluZXIge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG5cXG4gICAgcGFkZGluZzogNDBweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9jLXJlZC0xO1xcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkb2MtcmVkLTk7XFxuICB9XFxuXFxuICAuRXJyb3JTcGxhc2gtcGFyYWdyYXBoIHtcXG4gICAgbWFyZ2luOiAxNXB4IDA7XFxuICAgIG1heC13aWR0aDogNjAwcHg7XFxuXFxuICAgICYuYWxpZ24tY2VudGVyIHtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5iaWdnZXIsXFxuICAuYmlnZ2VyIGJ1dHRvbiB7XFxuICAgIGZvbnQtc2l6ZTogMS4xZW07XFxuICB9XFxuXFxuICAuc21hbGxlcixcXG4gIC5zbWFsbGVyIGJ1dHRvbiB7XFxuICAgIGZvbnQtc2l6ZTogMC45ZW07XFxuICB9XFxuXFxuICAuRXJyb3JTcGxhc2gtZGV0YWlscyB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcblxcbiAgICB0ZXh0YXJlYSB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAxMHB4IDA7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJDYXNjYWRpYVxcXCI7XFxuICAgICAgZm9udC1zaXplOiAwLjhlbTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cIixcIkBpbXBvcnQgXFxcIm9wZW4tY29sb3Ivb3Blbi1jb2xvci5zY3NzXFxcIjtcXG5AaW1wb3J0IFxcXCIuL3ZhcmlhYmxlcy5tb2R1bGUuc2Nzc1xcXCI7XFxuXFxuLmV4Y2FsaWRyYXcge1xcbiAgLS10aGVtZS1maWx0ZXI6IG5vbmU7XFxuICAtLWJ1dHRvbi1kZXN0cnVjdGl2ZS1iZy1jb2xvcjogI3skb2MtcmVkLTF9O1xcbiAgLS1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3I6ICN7JG9jLXJlZC05fTtcXG4gIC0tYnV0dG9uLWdyYXktMTogI3skb2MtZ3JheS0yfTtcXG4gIC0tYnV0dG9uLWdyYXktMjogI3skb2MtZ3JheS00fTtcXG4gIC0tYnV0dG9uLWdyYXktMzogI3skb2MtZ3JheS01fTtcXG4gIC0tYnV0dG9uLXNwZWNpYWwtYWN0aXZlLWJnLWNvbG9yOiAjeyRvYy1ncmVlbi0wfTtcXG4gIC0tZGlhbG9nLWJvcmRlci1jb2xvcjogI3skb2MtZ3JheS02fTtcXG4gIC0tZHJvcGRvd24taWNvbjogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHdpZHRoPVxcXCIyOTIuNFxcXCIgaGVpZ2h0PVxcXCIyOTIuNFxcXCIgdmlld0JveD1cXFwiMCAwIDI5MiAyOTJcXFwiPjxwYXRoIGQ9XFxcIk0yODcgMTk3TDE1OSA2OWMtNC0zLTgtNS0xMy01cy05IDItMTMgNUw1IDE5N2MtMyA0LTUgOC01IDEzczIgOSA1IDEzYzQgNCA4IDUgMTMgNWgyNTZjNSAwIDktMSAxMy01czUtOCA1LTEzLTEtOS01LTEzelxcXCIvPjwvc3ZnPicpO1xcbiAgLS1mb2N1cy1oaWdobGlnaHQtY29sb3I6ICN7JG9jLWJsdWUtMn07XFxuICAtLWljb24tZmlsbC1jb2xvcjogI3skb2MtYmxhY2t9O1xcbiAgLS1pY29uLWdyZWVuLWZpbGwtY29sb3I6ICN7JG9jLWdyZWVuLTl9O1xcbiAgLS1kZWZhdWx0LWJnLWNvbG9yOiAjeyRvYy13aGl0ZX07XFxuICAtLWlucHV0LWJnLWNvbG9yOiAjeyRvYy13aGl0ZX07XFxuICAtLWlucHV0LWJvcmRlci1jb2xvcjogI3skb2MtZ3JheS00fTtcXG4gIC0taW5wdXQtaG92ZXItYmctY29sb3I6ICN7JG9jLWdyYXktMX07XFxuICAtLWlucHV0LWxhYmVsLWNvbG9yOiAjeyRvYy1ncmF5LTd9O1xcbiAgLS1pc2xhbmQtYmctY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nik7XFxuICAtLWtleWJpbmRpbmctY29sb3I6ICN7JG9jLWdyYXktNX07XFxuICAtLWxpbmstY29sb3I6ICN7JG9jLWJsdWUtN307XFxuICAtLW92ZXJsYXktYmctY29sb3I6ICN7dHJhbnNwYXJlbnRpemUoJG9jLXdoaXRlLCAwLjEyKX07XFxuICAtLXBvcHVwLWJnLWNvbG9yOiAjeyRvYy13aGl0ZX07XFxuICAtLXBvcHVwLXNlY29uZGFyeS1iZy1jb2xvcjogI3skb2MtZ3JheS0xfTtcXG4gIC0tcG9wdXAtdGV4dC1jb2xvcjogI3skb2MtYmxhY2t9O1xcbiAgLS1wb3B1cC10ZXh0LWludmVydGVkLWNvbG9yOiAjeyRvYy13aGl0ZX07XFxuICAtLXNhYjogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xcbiAgLS1zYWw6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XFxuICAtLXNhcjogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XFxuICAtLXNhdDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApO1xcbiAgLS1zZWxlY3QtaGlnaGxpZ2h0LWNvbG9yOiAjeyRvYy1ibHVlLTV9O1xcbiAgLS1zaGFkb3ctaXNsYW5kOiAwIDFweCA1cHggI3t0cmFuc3BhcmVudGl6ZSgkb2MtYmxhY2ssIDAuODUpfTtcXG4gIC0tc3BhY2UtZmFjdG9yOiAwLjI1cmVtO1xcbiAgLS10ZXh0LXByaW1hcnktY29sb3I6ICN7JG9jLWdyYXktOH07XFxuXFxuICAmLnRoZW1lLS1kYXJrIHtcXG4gICAgYmFja2dyb3VuZDogJG9jLWJsYWNrO1xcblxcbiAgICAmLnRoZW1lLS1kYXJrLWJhY2tncm91bmQtbm9uZSB7XFxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgJi50aGVtZS0tZGFyayB7XFxuICAgIC0tdGhlbWUtZmlsdGVyOiAjeyR0aGVtZS1maWx0ZXJ9O1xcbiAgICAtLWJ1dHRvbi1kZXN0cnVjdGl2ZS1iZy1jb2xvcjogIzVhMDAwMDtcXG4gICAgLS1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3I6ICN7JG9jLXJlZC0zfTtcXG4gICAgLS1idXR0b24tZ3JheS0xOiAjMzYzNjM2O1xcbiAgICAtLWJ1dHRvbi1ncmF5LTI6ICMyNzI3Mjc7XFxuICAgIC0tYnV0dG9uLWdyYXktMzogIzIyMjtcXG4gICAgLS1idXR0b24tc3BlY2lhbC1hY3RpdmUtYmctY29sb3I6ICMyMDQ2MjQ7XFxuICAgIC0tZGlhbG9nLWJvcmRlci1jb2xvcjogI3skb2MtZ3JheS05fTtcXG4gICAgLS1kcm9wZG93bi1pY29uOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgd2lkdGg9XFxcIjI5Mi40XFxcIiBoZWlnaHQ9XFxcIjI5Mi40XFxcIiB2aWV3Qm94PVxcXCIwIDAgMjkyIDI5MlxcXCI+PHBhdGggZmlsbD1cXFwiJTIzY2VkNGRhXFxcIiBkPVxcXCJNMjg3IDE5N0wxNTkgNjljLTQtMy04LTUtMTMtNXMtOSAyLTEzIDVMNSAxOTdjLTMgNC01IDgtNSAxM3MyIDkgNSAxM2M0IDQgOCA1IDEzIDVoMjU2YzUgMCA5LTEgMTMtNXM1LTggNS0xMy0xLTktNS0xM3pcXFwiLz48L3N2Zz4nKTtcXG4gICAgLS1mb2N1cy1oaWdobGlnaHQtY29sb3I6ICN7JG9jLWJsdWUtNn07XFxuICAgIC0taWNvbi1maWxsLWNvbG9yOiAjeyRvYy1ncmF5LTR9O1xcbiAgICAtLWljb24tZ3JlZW4tZmlsbC1jb2xvcjogI3skb2MtZ3JlZW4tNH07XFxuICAgIC0tZGVmYXVsdC1iZy1jb2xvcjogIzEyMTIxMjtcXG4gICAgLS1pbnB1dC1iZy1jb2xvcjogIzEyMTIxMjtcXG4gICAgLS1pbnB1dC1ib3JkZXItY29sb3I6ICMyZTJlMmU7XFxuICAgIC0taW5wdXQtaG92ZXItYmctY29sb3I6ICMxODE4MTg7XFxuICAgIC0taW5wdXQtbGFiZWwtY29sb3I6ICN7JG9jLWdyYXktMn07XFxuICAgIC0taXNsYW5kLWJnLWNvbG9yOiByZ2JhKDMwLCAzMCwgMzAsIDAuOTgpO1xcbiAgICAtLWtleWJpbmRpbmctY29sb3I6ICN7JG9jLWdyYXktNn07XFxuICAgIC0tbGluay1jb2xvcjogI3skb2MtYmx1ZS00fTtcXG4gICAgLS1vdmVybGF5LWJnLWNvbG9yOiAje3RyYW5zcGFyZW50aXplKCRvYy1ncmF5LTgsIDAuODgpfTtcXG4gICAgLS1wb3B1cC1iZy1jb2xvcjogIzJjMmMyYztcXG4gICAgLS1wb3B1cC1zZWNvbmRhcnktYmctY29sb3I6ICMyMjI7XFxuICAgIC0tcG9wdXAtdGV4dC1jb2xvcjogI3skb2MtZ3JheS00fTtcXG4gICAgLS1wb3B1cC10ZXh0LWludmVydGVkLWNvbG9yOiAjNjM1YzVjO1xcbiAgICAtLXNlbGVjdC1oaWdobGlnaHQtY29sb3I6ICN7JG9jLWJsdWUtNH07XFxuICAgIC0tc2hhZG93LWlzbGFuZDogMCAxcHggNXB4ICN7dHJhbnNwYXJlbnRpemUoJG9jLWJsYWNrLCAwLjcpfTtcXG4gICAgLS10ZXh0LXByaW1hcnktY29sb3I6ICN7JG9jLWdyYXktNH07XFxuICB9XFxufVxcblwiLFwiLy9cXG4vL1xcbi8vICDwnZeWIPCdl6Ig8J2XnyDwnZeiIPCdl6VcXG4vLyAgdiAxLjkuMVxcbi8vXFxuLy8gIOKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgVxcblxcblxcbi8vICBHZW5lcmFsXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy13aGl0ZTogICAgICAgICAjZmZmZmZmO1xcbiRvYy1ibGFjazogICAgICAgICAjMDAwMDAwO1xcblxcblxcbi8vICBHcmF5XFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1ncmF5LWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2Y4ZjlmYSxcXG4gIFxcXCIxXFxcIjogI2YxZjNmNSxcXG4gIFxcXCIyXFxcIjogI2U5ZWNlZixcXG4gIFxcXCIzXFxcIjogI2RlZTJlNixcXG4gIFxcXCI0XFxcIjogI2NlZDRkYSxcXG4gIFxcXCI1XFxcIjogI2FkYjViZCxcXG4gIFxcXCI2XFxcIjogIzg2OGU5NixcXG4gIFxcXCI3XFxcIjogIzQ5NTA1NyxcXG4gIFxcXCI4XFxcIjogIzM0M2E0MCxcXG4gIFxcXCI5XFxcIjogIzIxMjUyOVxcbik7XFxuXFxuJG9jLWdyYXktMDogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1ncmF5LTE6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtZ3JheS0yOiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLWdyYXktMzogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1ncmF5LTQ6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtZ3JheS01OiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLWdyYXktNjogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1ncmF5LTc6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtZ3JheS04OiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLWdyYXktOTogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBSZWRcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLXJlZC1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmZmY1ZjUsXFxuICBcXFwiMVxcXCI6ICNmZmUzZTMsXFxuICBcXFwiMlxcXCI6ICNmZmM5YzksXFxuICBcXFwiM1xcXCI6ICNmZmE4YTgsXFxuICBcXFwiNFxcXCI6ICNmZjg3ODcsXFxuICBcXFwiNVxcXCI6ICNmZjZiNmIsXFxuICBcXFwiNlxcXCI6ICNmYTUyNTIsXFxuICBcXFwiN1xcXCI6ICNmMDNlM2UsXFxuICBcXFwiOFxcXCI6ICNlMDMxMzEsXFxuICBcXFwiOVxcXCI6ICNjOTJhMmFcXG4pO1xcblxcbiRvYy1yZWQtMDogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLXJlZC0xOiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtcmVkLTI6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1yZWQtMzogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLXJlZC00OiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtcmVkLTU6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1yZWQtNjogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLXJlZC03OiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtcmVkLTg6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1yZWQtOTogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIFBpbmtcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLXBpbmstbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZmZmMGY2LFxcbiAgXFxcIjFcXFwiOiAjZmZkZWViLFxcbiAgXFxcIjJcXFwiOiAjZmNjMmQ3LFxcbiAgXFxcIjNcXFwiOiAjZmFhMmMxLFxcbiAgXFxcIjRcXFwiOiAjZjc4M2FjLFxcbiAgXFxcIjVcXFwiOiAjZjA2NTk1LFxcbiAgXFxcIjZcXFwiOiAjZTY0OTgwLFxcbiAgXFxcIjdcXFwiOiAjZDYzMzZjLFxcbiAgXFxcIjhcXFwiOiAjYzIyNTVjLFxcbiAgXFxcIjlcXFwiOiAjYTYxZTRkXFxuKTtcXG5cXG4kb2MtcGluay0wOiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLXBpbmstMTogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1waW5rLTI6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtcGluay0zOiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLXBpbmstNDogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1waW5rLTU6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtcGluay02OiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLXBpbmstNzogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1waW5rLTg6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtcGluay05OiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIEdyYXBlXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1ncmFwZS1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmOGYwZmMsXFxuICBcXFwiMVxcXCI6ICNmM2Q5ZmEsXFxuICBcXFwiMlxcXCI6ICNlZWJlZmEsXFxuICBcXFwiM1xcXCI6ICNlNTk5ZjcsXFxuICBcXFwiNFxcXCI6ICNkYTc3ZjIsXFxuICBcXFwiNVxcXCI6ICNjYzVkZTgsXFxuICBcXFwiNlxcXCI6ICNiZTRiZGIsXFxuICBcXFwiN1xcXCI6ICNhZTNlYzksXFxuICBcXFwiOFxcXCI6ICM5YzM2YjUsXFxuICBcXFwiOVxcXCI6ICM4NjJlOWNcXG4pO1xcblxcbiRvYy1ncmFwZS0wOiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1ncmFwZS0xOiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1ncmFwZS0yOiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1ncmFwZS0zOiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1ncmFwZS00OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1ncmFwZS01OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1ncmFwZS02OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1ncmFwZS03OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1ncmFwZS04OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1ncmFwZS05OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBWaW9sZXRcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLXZpb2xldC1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmM2YwZmYsXFxuICBcXFwiMVxcXCI6ICNlNWRiZmYsXFxuICBcXFwiMlxcXCI6ICNkMGJmZmYsXFxuICBcXFwiM1xcXCI6ICNiMTk3ZmMsXFxuICBcXFwiNFxcXCI6ICM5Nzc1ZmEsXFxuICBcXFwiNVxcXCI6ICM4NDVlZjcsXFxuICBcXFwiNlxcXCI6ICM3OTUwZjIsXFxuICBcXFwiN1xcXCI6ICM3MDQ4ZTgsXFxuICBcXFwiOFxcXCI6ICM2NzQxZDksXFxuICBcXFwiOVxcXCI6ICM1ZjNkYzRcXG4pO1xcblxcbiRvYy12aW9sZXQtMDogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLXZpb2xldC0xOiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtdmlvbGV0LTI6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy12aW9sZXQtMzogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLXZpb2xldC00OiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtdmlvbGV0LTU6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy12aW9sZXQtNjogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLXZpb2xldC03OiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtdmlvbGV0LTg6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy12aW9sZXQtOTogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIEluZGlnb1xcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtaW5kaWdvLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2VkZjJmZixcXG4gIFxcXCIxXFxcIjogI2RiZTRmZixcXG4gIFxcXCIyXFxcIjogI2JhYzhmZixcXG4gIFxcXCIzXFxcIjogIzkxYTdmZixcXG4gIFxcXCI0XFxcIjogIzc0OGZmYyxcXG4gIFxcXCI1XFxcIjogIzVjN2NmYSxcXG4gIFxcXCI2XFxcIjogIzRjNmVmNSxcXG4gIFxcXCI3XFxcIjogIzQyNjNlYixcXG4gIFxcXCI4XFxcIjogIzNiNWJkYixcXG4gIFxcXCI5XFxcIjogIzM2NGZjN1xcbik7XFxuXFxuJG9jLWluZGlnby0wOiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtaW5kaWdvLTE6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1pbmRpZ28tMjogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLWluZGlnby0zOiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtaW5kaWdvLTQ6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1pbmRpZ28tNTogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLWluZGlnby02OiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtaW5kaWdvLTc6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1pbmRpZ28tODogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLWluZGlnby05OiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgQmx1ZVxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtYmx1ZS1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNlN2Y1ZmYsXFxuICBcXFwiMVxcXCI6ICNkMGViZmYsXFxuICBcXFwiMlxcXCI6ICNhNWQ4ZmYsXFxuICBcXFwiM1xcXCI6ICM3NGMwZmMsXFxuICBcXFwiNFxcXCI6ICM0ZGFiZjcsXFxuICBcXFwiNVxcXCI6ICMzMzlhZjAsXFxuICBcXFwiNlxcXCI6ICMyMjhiZTYsXFxuICBcXFwiN1xcXCI6ICMxYzdlZDYsXFxuICBcXFwiOFxcXCI6ICMxOTcxYzIsXFxuICBcXFwiOVxcXCI6ICMxODY0YWJcXG4pO1xcblxcbiRvYy1ibHVlLTA6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtYmx1ZS0xOiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLWJsdWUtMjogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1ibHVlLTM6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtYmx1ZS00OiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLWJsdWUtNTogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1ibHVlLTY6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtYmx1ZS03OiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLWJsdWUtODogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1ibHVlLTk6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgQ3lhblxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtY3lhbi1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNlM2ZhZmMsXFxuICBcXFwiMVxcXCI6ICNjNWY2ZmEsXFxuICBcXFwiMlxcXCI6ICM5OWU5ZjIsXFxuICBcXFwiM1xcXCI6ICM2NmQ5ZTgsXFxuICBcXFwiNFxcXCI6ICMzYmM5ZGIsXFxuICBcXFwiNVxcXCI6ICMyMmI4Y2YsXFxuICBcXFwiNlxcXCI6ICMxNWFhYmYsXFxuICBcXFwiN1xcXCI6ICMxMDk4YWQsXFxuICBcXFwiOFxcXCI6ICMwYzg1OTksXFxuICBcXFwiOVxcXCI6ICMwYjcyODVcXG4pO1xcblxcbiRvYy1jeWFuLTA6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtY3lhbi0xOiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLWN5YW4tMjogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1jeWFuLTM6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtY3lhbi00OiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLWN5YW4tNTogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1jeWFuLTY6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtY3lhbi03OiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLWN5YW4tODogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1jeWFuLTk6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgVGVhbFxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtdGVhbC1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNlNmZjZjUsXFxuICBcXFwiMVxcXCI6ICNjM2ZhZTgsXFxuICBcXFwiMlxcXCI6ICM5NmYyZDcsXFxuICBcXFwiM1xcXCI6ICM2M2U2YmUsXFxuICBcXFwiNFxcXCI6ICMzOGQ5YTksXFxuICBcXFwiNVxcXCI6ICMyMGM5OTcsXFxuICBcXFwiNlxcXCI6ICMxMmI4ODYsXFxuICBcXFwiN1xcXCI6ICMwY2E2NzgsXFxuICBcXFwiOFxcXCI6ICMwOTkyNjgsXFxuICBcXFwiOVxcXCI6ICMwODdmNWJcXG4pO1xcblxcbiRvYy10ZWFsLTA6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtdGVhbC0xOiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLXRlYWwtMjogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy10ZWFsLTM6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtdGVhbC00OiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLXRlYWwtNTogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy10ZWFsLTY6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtdGVhbC03OiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLXRlYWwtODogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy10ZWFsLTk6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgR3JlZW5cXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWdyZWVuLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2ViZmJlZSxcXG4gIFxcXCIxXFxcIjogI2QzZjlkOCxcXG4gIFxcXCIyXFxcIjogI2IyZjJiYixcXG4gIFxcXCIzXFxcIjogIzhjZTk5YSxcXG4gIFxcXCI0XFxcIjogIzY5ZGI3YyxcXG4gIFxcXCI1XFxcIjogIzUxY2Y2NixcXG4gIFxcXCI2XFxcIjogIzQwYzA1NyxcXG4gIFxcXCI3XFxcIjogIzM3YjI0ZCxcXG4gIFxcXCI4XFxcIjogIzJmOWU0NCxcXG4gIFxcXCI5XFxcIjogIzJiOGEzZVxcbik7XFxuXFxuJG9jLWdyZWVuLTA6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWdyZWVuLTE6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLWdyZWVuLTI6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLWdyZWVuLTM6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWdyZWVuLTQ6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLWdyZWVuLTU6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLWdyZWVuLTY6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWdyZWVuLTc6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLWdyZWVuLTg6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLWdyZWVuLTk6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIExpbWVcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWxpbWUtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZjRmY2UzLFxcbiAgXFxcIjFcXFwiOiAjZTlmYWM4LFxcbiAgXFxcIjJcXFwiOiAjZDhmNWEyLFxcbiAgXFxcIjNcXFwiOiAjYzBlYjc1LFxcbiAgXFxcIjRcXFwiOiAjYTllMzRiLFxcbiAgXFxcIjVcXFwiOiAjOTRkODJkLFxcbiAgXFxcIjZcXFwiOiAjODJjOTFlLFxcbiAgXFxcIjdcXFwiOiAjNzRiODE2LFxcbiAgXFxcIjhcXFwiOiAjNjZhODBmLFxcbiAgXFxcIjlcXFwiOiAjNWM5NDBkXFxuKTtcXG5cXG4kb2MtbGltZS0wOiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWxpbWUtMTogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1saW1lLTI6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtbGltZS0zOiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWxpbWUtNDogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1saW1lLTU6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtbGltZS02OiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWxpbWUtNzogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1saW1lLTg6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtbGltZS05OiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIFllbGxvd1xcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MteWVsbG93LWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2ZmZjlkYixcXG4gIFxcXCIxXFxcIjogI2ZmZjNiZixcXG4gIFxcXCIyXFxcIjogI2ZmZWM5OSxcXG4gIFxcXCIzXFxcIjogI2ZmZTA2NixcXG4gIFxcXCI0XFxcIjogI2ZmZDQzYixcXG4gIFxcXCI1XFxcIjogI2ZjYzQxOSxcXG4gIFxcXCI2XFxcIjogI2ZhYjAwNSxcXG4gIFxcXCI3XFxcIjogI2Y1OWYwMCxcXG4gIFxcXCI4XFxcIjogI2YwOGMwMCxcXG4gIFxcXCI5XFxcIjogI2U2NzcwMFxcbik7XFxuXFxuJG9jLXllbGxvdy0wOiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MteWVsbG93LTE6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy15ZWxsb3ctMjogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLXllbGxvdy0zOiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MteWVsbG93LTQ6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy15ZWxsb3ctNTogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLXllbGxvdy02OiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MteWVsbG93LTc6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy15ZWxsb3ctODogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLXllbGxvdy05OiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgT3JhbmdlXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1vcmFuZ2UtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZmZmNGU2LFxcbiAgXFxcIjFcXFwiOiAjZmZlOGNjLFxcbiAgXFxcIjJcXFwiOiAjZmZkOGE4LFxcbiAgXFxcIjNcXFwiOiAjZmZjMDc4LFxcbiAgXFxcIjRcXFwiOiAjZmZhOTRkLFxcbiAgXFxcIjVcXFwiOiAjZmY5MjJiLFxcbiAgXFxcIjZcXFwiOiAjZmQ3ZTE0LFxcbiAgXFxcIjdcXFwiOiAjZjc2NzA3LFxcbiAgXFxcIjhcXFwiOiAjZTg1OTBjLFxcbiAgXFxcIjlcXFwiOiAjZDk0ODBmXFxuKTtcXG5cXG4kb2Mtb3JhbmdlLTA6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1vcmFuZ2UtMTogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLW9yYW5nZS0yOiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2Mtb3JhbmdlLTM6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1vcmFuZ2UtNDogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLW9yYW5nZS01OiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2Mtb3JhbmdlLTY6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1vcmFuZ2UtNzogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLW9yYW5nZS04OiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2Mtb3JhbmdlLTk6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBDb2xvciBsaXN0XFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1jb2xvci1zcGVjdHJ1bTogICA5O1xcblxcbiRvYy1jb2xvci1saXN0OiAoXFxuICAkb2MtZ3JheS1saXN0OiAgICAgIFxcXCJncmF5XFxcIixcXG4gICRvYy1yZWQtbGlzdDogICAgICBcXFwicmVkXFxcIixcXG4gICRvYy1waW5rLWxpc3Q6ICAgICAgXFxcInBpbmtcXFwiLFxcbiAgJG9jLWdyYXBlLWxpc3Q6ICAgICAgXFxcImdyYXBlXFxcIixcXG4gICRvYy12aW9sZXQtbGlzdDogICAgICBcXFwidmlvbGV0XFxcIixcXG4gICRvYy1pbmRpZ28tbGlzdDogICAgICBcXFwiaW5kaWdvXFxcIixcXG4gICRvYy1ibHVlLWxpc3Q6ICAgICAgXFxcImJsdWVcXFwiLFxcbiAgJG9jLWN5YW4tbGlzdDogICAgICBcXFwiY3lhblxcXCIsXFxuICAkb2MtdGVhbC1saXN0OiAgICAgIFxcXCJ0ZWFsXFxcIixcXG4gICRvYy1ncmVlbi1saXN0OiAgICAgIFxcXCJncmVlblxcXCIsXFxuICAkb2MtbGltZS1saXN0OiAgICAgIFxcXCJsaW1lXFxcIixcXG4gICRvYy15ZWxsb3ctbGlzdDogICAgICBcXFwieWVsbG93XFxcIixcXG4gICRvYy1vcmFuZ2UtbGlzdDogICAgICBcXFwib3JhbmdlXFxcIlxcbik7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../css/styles.scss\n");
|
|
1144
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/sourceMaps.js */ \"./node_modules/css-loader/dist/runtime/sourceMaps.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../packages/excalidraw/node_modules/css-loader/dist/runtime/getUrl.js */ \"./node_modules/css-loader/dist/runtime/getUrl.js\");\n/* harmony import */ var _packages_excalidraw_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_packages_excalidraw_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__);\n// Imports\n\n\n\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"292.4\" height=\"292.4\" viewBox=\"0 0 292 292\"><path d=\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\"/></svg> */ \"data:image/svg+xml,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"292.4\\\" height=\\\"292.4\\\" viewBox=\\\"0 0 292 292\\\"><path d=\\\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\\\"/></svg>\"), __webpack_require__.b);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"292.4\" height=\"292.4\" viewBox=\"0 0 292 292\"><path fill=\"%23ced4da\" d=\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\"/></svg> */ \"data:image/svg+xml,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"292.4\\\" height=\\\"292.4\\\" viewBox=\\\"0 0 292 292\\\"><path fill=\\\"%23ced4da\\\" d=\\\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\\\"/></svg>\"), __webpack_require__.b);\nvar ___CSS_LOADER_EXPORT___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_packages_excalidraw_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = _packages_excalidraw_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \":export {\\n themeFilter: invert(93%) hue-rotate(180deg);\\n}\\n\\n:export {\\n themeFilter: invert(93%) hue-rotate(180deg);\\n}\\n\\n.excalidraw {\\n --theme-filter: none;\\n --button-destructive-bg-color: #ffe3e3;\\n --button-destructive-color: #c92a2a;\\n --button-gray-1: #e9ecef;\\n --button-gray-2: #ced4da;\\n --button-gray-3: #adb5bd;\\n --button-special-active-bg-color: #ebfbee;\\n --dialog-border-color: #868e96;\\n --dropdown-icon: url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");\\n --focus-highlight-color: #a5d8ff;\\n --icon-fill-color: #212529;\\n --icon-green-fill-color: #2b8a3e;\\n --default-bg-color: #ffffff;\\n --input-bg-color: #ffffff;\\n --input-border-color: #ced4da;\\n --input-hover-bg-color: #f1f3f5;\\n --input-label-color: #495057;\\n --island-bg-color: rgba(255, 255, 255, 0.96);\\n --keybinding-color: #adb5bd;\\n --link-color: #1c7ed6;\\n --overlay-bg-color: rgba(255, 255, 255, 0.88);\\n --popup-bg-color: #ffffff;\\n --popup-secondary-bg-color: #f1f3f5;\\n --popup-text-color: #000000;\\n --popup-text-inverted-color: #ffffff;\\n --sab: env(safe-area-inset-bottom);\\n --sal: env(safe-area-inset-left);\\n --sar: env(safe-area-inset-right);\\n --sat: env(safe-area-inset-top);\\n --select-highlight-color: #339af0;\\n --shadow-island: 0 0 0 1px rgba(0, 0, 0, 0.01), 1px 1px 5px rgb(0 0 0 / 12%);\\n --space-factor: 0.25rem;\\n --text-primary-color: #343a40;\\n --color-primary: #6965db;\\n --color-primary-chubb: #625ee0;\\n --color-primary-darker: #5b57d1;\\n --color-primary-darkest: #4a47b1;\\n --color-primary-light: #e2e1fc;\\n --border-radius-md: 0.375rem;\\n --border-radius-lg: 0.5rem;\\n}\\n.excalidraw.theme--dark {\\n background: #000000;\\n}\\n.excalidraw.theme--dark.theme--dark-background-none {\\n background: none;\\n}\\n.excalidraw.theme--dark {\\n --theme-filter: invert(93%) hue-rotate(180deg);\\n --button-destructive-bg-color: #5a0000;\\n --button-destructive-color: #ffa8a8;\\n --button-gray-1: #363636;\\n --button-gray-2: #272727;\\n --button-gray-3: #222;\\n --button-special-active-bg-color: #204624;\\n --dialog-border-color: #212529;\\n --dropdown-icon: url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");\\n --focus-highlight-color: #228be6;\\n --icon-fill-color: #ced4da;\\n --icon-green-fill-color: #69db7c;\\n --default-bg-color: #121212;\\n --input-bg-color: #121212;\\n --input-border-color: #2e2e2e;\\n --input-hover-bg-color: #181818;\\n --input-label-color: #e9ecef;\\n --island-bg-color: rgba(30, 30, 30, 0.98);\\n --keybinding-color: #868e96;\\n --link-color: #4dabf7;\\n --overlay-bg-color: rgba(52, 58, 64, 0.12);\\n --popup-bg-color: #2c2c2c;\\n --popup-secondary-bg-color: #222;\\n --popup-text-color: #ced4da;\\n --popup-text-inverted-color: #635c5c;\\n --select-highlight-color: #4dabf7;\\n --shadow-island: 1px 1px 5px rgba(0, 0, 0, 0.3);\\n --text-primary-color: #ced4da;\\n --color-primary: #5650f0;\\n --color-primary-chubb: #726dff;\\n --color-primary-darker: #4b46d8;\\n --color-primary-darkest: #3e39be;\\n --color-primary-light: #3f3d64;\\n}\\n\\n:root {\\n --zIndex-canvas: 1;\\n --zIndex-wysiwyg: 2;\\n --zIndex-layerUI: 3;\\n}\\n\\n.excalidraw {\\n position: relative;\\n overflow: hidden;\\n color: var(--text-primary-color);\\n display: flex;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 100%;\\n width: 100%;\\n user-select: none;\\n}\\n.excalidraw:focus {\\n outline: none;\\n}\\n.excalidraw a {\\n font-weight: 500;\\n text-decoration: none;\\n color: var(--link-color);\\n}\\n.excalidraw a:hover {\\n text-decoration: underline;\\n}\\n.excalidraw canvas {\\n touch-action: none;\\n image-rendering: pixelated;\\n image-rendering: -moz-crisp-edges;\\n z-index: var(--zIndex-canvas);\\n}\\n.excalidraw__canvas {\\n position: absolute;\\n}\\n.excalidraw.theme--dark canvas {\\n filter: var(--theme-filter);\\n}\\n.excalidraw .FixedSideContainer {\\n padding-top: var(--sat, 0);\\n padding-right: var(--sar, 0);\\n padding-bottom: var(--sab, 0);\\n padding-left: var(--sal, 0);\\n}\\n.excalidraw .panelRow {\\n display: flex;\\n justify-content: space-between;\\n}\\n.excalidraw .panelColumn {\\n display: flex;\\n flex-direction: column;\\n}\\n.excalidraw .panelColumn h3,\\n.excalidraw .panelColumn legend,\\n.excalidraw .panelColumn .control-label {\\n margin-top: 0.333rem;\\n margin-bottom: 0.333rem;\\n font-size: 0.75rem;\\n color: var(--text-primary-color);\\n font-weight: bold;\\n display: block;\\n}\\n.excalidraw .panelColumn .control-label input {\\n display: block;\\n width: 100%;\\n}\\n.excalidraw .panelColumn h3:first-child,\\n.excalidraw .panelColumn legend:first-child,\\n.excalidraw .panelColumn .control-label:first-child {\\n margin-top: 0;\\n}\\n.excalidraw .panelColumn legend {\\n padding: 0;\\n}\\n.excalidraw .panelColumn .iconSelectList {\\n flex-wrap: wrap;\\n position: relative;\\n}\\n.excalidraw .panelColumn .buttonList {\\n flex-wrap: wrap;\\n}\\n.excalidraw .panelColumn .buttonList label {\\n margin-right: 0.25rem;\\n font-size: 0.75rem;\\n display: inline-block;\\n}\\n.excalidraw .panelColumn .buttonList input[type=radio],\\n.excalidraw .panelColumn .buttonList input[type=button] {\\n opacity: 0;\\n position: absolute;\\n pointer-events: none;\\n}\\n.excalidraw .panelColumn .buttonList .iconRow {\\n margin-top: 8px;\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon {\\n margin: 0;\\n margin-inline-end: 8px;\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon:focus {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon:disabled {\\n cursor: not-allowed;\\n}\\n.excalidraw .panelColumn .buttonList .ToolIcon__icon {\\n width: 28px;\\n height: 28px;\\n}\\n.excalidraw .panelColumn fieldset {\\n margin: 0;\\n margin-top: 0.333rem;\\n padding: 0;\\n border: none;\\n}\\n.excalidraw .divider {\\n width: 1px;\\n background-color: #e9ecef;\\n margin: 1px;\\n}\\n.excalidraw .buttonList label:focus-within,\\n.excalidraw input:focus-visible {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw button,\\n.excalidraw .buttonList label {\\n user-select: none;\\n background-color: var(--button-gray-1);\\n border: 0;\\n border-radius: var(--border-radius-md);\\n margin: 0.125rem 0;\\n padding: 0.25rem;\\n white-space: nowrap;\\n cursor: pointer;\\n}\\n.excalidraw button:focus-visible,\\n.excalidraw .buttonList label:focus-visible {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw button:hover,\\n.excalidraw .buttonList label:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw button:active,\\n.excalidraw .buttonList label:active {\\n background-color: var(--button-gray-3);\\n}\\n.excalidraw button:disabled,\\n.excalidraw .buttonList label:disabled {\\n cursor: not-allowed;\\n}\\n.excalidraw .active,\\n.excalidraw .buttonList label.active {\\n background-color: var(--color-primary);\\n --icon-fill-color: #ffffff;\\n}\\n.excalidraw .active:hover,\\n.excalidraw .buttonList label.active:hover {\\n background-color: var(--color-primary-darker);\\n}\\n.excalidraw .active:active,\\n.excalidraw .buttonList label.active:active {\\n background-color: var(--color-primary-darkest);\\n}\\n.excalidraw .buttonList.buttonListIcon label {\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.excalidraw .buttonList.buttonListIcon label svg {\\n width: 35px;\\n height: 14px;\\n padding: 2px;\\n opacity: 0.6;\\n}\\n.excalidraw .buttonList.buttonListIcon label.active svg {\\n opacity: 1;\\n}\\n.excalidraw .App-top-bar {\\n z-index: var(--zIndex-layerUI);\\n display: grid;\\n grid-template-columns: 1fr max-content 1fr;\\n}\\n.excalidraw .App-bottom-bar {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n --bar-padding: calc(4 * var(--space-factor));\\n padding-top: max(var(--bar-padding), var(--sat,0));\\n padding-right: var(--sar, 0);\\n padding-bottom: var(--sab, 0);\\n padding-left: var(--sal, 0);\\n z-index: 4;\\n display: flex;\\n align-items: flex-end;\\n pointer-events: none;\\n}\\n.excalidraw .App-bottom-bar > .Island {\\n width: 100%;\\n max-width: 100%;\\n min-width: 100%;\\n box-sizing: border-box;\\n max-height: 100%;\\n display: flex;\\n flex-direction: column;\\n pointer-events: initial;\\n}\\n.excalidraw .App-bottom-bar > .Island .panelColumn {\\n padding: 8px 8px 0 8px;\\n}\\n.excalidraw .App-toolbar {\\n width: 100%;\\n box-sizing: border-box;\\n}\\n.excalidraw .App-toolbar-content {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 8px;\\n}\\n.excalidraw .App-mobile-menu {\\n width: 100%;\\n overflow-x: visible;\\n overflow-y: auto;\\n box-sizing: border-box;\\n margin-bottom: var(--bar-padding);\\n}\\n.excalidraw .App-menu {\\n display: grid;\\n color: var(--icon-fill-color);\\n}\\n.excalidraw .App-menu_top {\\n grid-template-columns: auto max-content auto;\\n grid-gap: 4px;\\n align-items: flex-start;\\n cursor: default;\\n pointer-events: none !important;\\n}\\n.excalidraw .layer-ui__wrapper:not(.disable-pointerEvents) .App-menu_top > * {\\n pointer-events: all;\\n}\\n.excalidraw .App-menu_top > *:first-child {\\n justify-self: flex-start;\\n}\\n.excalidraw .App-menu_top > *:last-child {\\n justify-self: flex-end;\\n}\\n.excalidraw .App-menu_bottom {\\n position: absolute;\\n bottom: 0;\\n grid-template-columns: min-content auto min-content;\\n grid-gap: 15px;\\n align-items: flex-start;\\n cursor: default;\\n pointer-events: none !important;\\n z-index: 100;\\n}\\n:root[dir=ltr] .excalidraw .App-menu_bottom {\\n left: 0.25rem;\\n}\\n:root[dir=rtl] .excalidraw .App-menu_bottom {\\n right: 0.25rem;\\n}\\n.excalidraw .App-menu_bottom--transition-left section {\\n width: 185px;\\n}\\n.excalidraw .App-menu_bottom section {\\n display: flex;\\n}\\n.excalidraw .App-menu_bottom > *:first-child {\\n justify-self: flex-start;\\n}\\n.excalidraw .App-menu_bottom > *:last-child {\\n justify-self: flex-end;\\n}\\n.excalidraw .App-menu_left {\\n grid-template-rows: 1fr auto 1fr;\\n height: 100%;\\n}\\n.excalidraw .App-menu_right {\\n grid-template-rows: 1fr;\\n height: 100%;\\n}\\n.excalidraw .App-menu__left {\\n overflow-y: auto;\\n}\\n.excalidraw .dropdown-select {\\n height: 1.5rem;\\n padding: 0;\\n padding-inline-start: 0.5rem;\\n padding-inline-end: 1.5rem;\\n color: var(--icon-fill-color);\\n background-color: var(--button-gray-1);\\n border-radius: var(--space-factor);\\n border: 1px solid var(--button-gray-2);\\n font-size: 0.8rem;\\n outline: none;\\n appearance: none;\\n background-image: var(--dropdown-icon);\\n background-repeat: no-repeat;\\n background-position: right 0.7rem top 50%, 0 0;\\n background-size: 0.65em auto, 100%;\\n}\\n:root[dir=rtl] .excalidraw .dropdown-select {\\n background-position: left 0.7rem top 50%, 0 0;\\n}\\n.excalidraw .dropdown-select:focus {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n.excalidraw .dropdown-select:hover {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .dropdown-select:active {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .zIndexButton {\\n margin: 0;\\n margin-inline-end: 8px;\\n padding: 5px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.excalidraw .zIndexButton svg {\\n width: 18px;\\n height: 18px;\\n}\\n.excalidraw .scroll-back-to-content {\\n color: var(--popup-text-color);\\n position: absolute;\\n left: 50%;\\n bottom: 30px;\\n transform: translateX(-50%);\\n padding: 10px 20px;\\n}\\n.excalidraw .help-icon {\\n display: flex;\\n cursor: pointer;\\n fill: #868e96;\\n padding: 0;\\n margin: 0;\\n background: none;\\n color: var(--icon-fill-color);\\n}\\n.excalidraw .help-icon svg {\\n width: 1.5rem;\\n height: 1.5rem;\\n}\\n.excalidraw .help-icon:hover {\\n background: none;\\n}\\n.excalidraw .reset-zoom-button {\\n padding: 0.2em;\\n background: transparent;\\n color: var(--text-primary-color);\\n font-family: var(--ui-font);\\n}\\n.excalidraw .undo-redo-buttons {\\n display: grid;\\n grid-auto-flow: column;\\n gap: 0.4em;\\n margin-top: auto;\\n margin-bottom: auto;\\n margin-inline-start: 0.6em;\\n}\\n.excalidraw--mobile.excalidraw aside {\\n display: none;\\n}\\n.excalidraw--mobile.excalidraw .scroll-back-to-content {\\n bottom: calc(80px + var(--sab, 0));\\n z-index: -1;\\n}\\n\\n:root[dir=rtl] .excalidraw .rtl-mirror {\\n transform: scaleX(-1);\\n}\\n.excalidraw .zen-mode-visibility {\\n visibility: visible;\\n opacity: 1;\\n height: auto;\\n width: auto;\\n transition: opacity 0.5s;\\n}\\n.excalidraw .zen-mode-visibility.zen-mode-visibility--hidden {\\n visibility: hidden;\\n opacity: 0;\\n height: 0;\\n width: 0;\\n transition: opacity 0.5s;\\n}\\n.excalidraw .disable-pointerEvents {\\n pointer-events: none !important;\\n}\\n.excalidraw.excalidraw--view-mode .App-menu {\\n display: flex;\\n justify-content: space-between;\\n}\\n.excalidraw input[type=text],\\n.excalidraw textarea:not(.excalidraw-wysiwyg) {\\n color: var(--text-primary-color);\\n border: 1.5px solid var(--input-border-color);\\n padding: 0.75rem;\\n white-space: nowrap;\\n border-radius: var(--space-factor);\\n background-color: var(--input-bg-color);\\n}\\n.excalidraw input[type=text]:not(:focus):hover,\\n.excalidraw textarea:not(.excalidraw-wysiwyg):not(:focus):hover {\\n background-color: var(--input-hover-bg-color);\\n}\\n.excalidraw input[type=text]:focus,\\n.excalidraw textarea:not(.excalidraw-wysiwyg):focus {\\n outline: none;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n}\\n@media print {\\n .excalidraw .App-bottom-bar,\\n.excalidraw .FixedSideContainer,\\n.excalidraw .layer-ui__wrapper {\\n display: none;\\n }\\n}\\n.excalidraw .HomeButton.ToolIcon.ToolIcon_type_floating {\\n display: inline-block;\\n position: absolute;\\n top: 60px;\\n left: calc(-2 * var(--space-factor));\\n border-radius: 0 20px 20px 0;\\n background-color: var(--button-gray-1);\\n}\\n.excalidraw .HomeButton.ToolIcon.ToolIcon_type_floating:hover {\\n background-color: var(--button-gray-1);\\n}\\n.excalidraw .HomeButton.ToolIcon.ToolIcon_type_floating:active {\\n background-color: var(--button-gray-2);\\n}\\n.excalidraw .HomeButton.ToolIcon.ToolIcon_type_floating .ToolIcon__icon {\\n border-radius: inherit;\\n}\\n.excalidraw .HomeButton.ToolIcon.ToolIcon_type_floating svg {\\n position: static;\\n}\\n\\n.ErrorSplash.excalidraw {\\n min-height: 100vh;\\n padding: 20px 0;\\n overflow: auto;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n user-select: text;\\n}\\n.ErrorSplash.excalidraw .ErrorSplash-messageContainer {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n padding: 40px;\\n background-color: #ffe3e3;\\n border: 3px solid #c92a2a;\\n}\\n.ErrorSplash.excalidraw .ErrorSplash-paragraph {\\n margin: 15px 0;\\n max-width: 600px;\\n}\\n.ErrorSplash.excalidraw .ErrorSplash-paragraph.align-center {\\n text-align: center;\\n}\\n.ErrorSplash.excalidraw .bigger,\\n.ErrorSplash.excalidraw .bigger button {\\n font-size: 1.1em;\\n}\\n.ErrorSplash.excalidraw .smaller,\\n.ErrorSplash.excalidraw .smaller button {\\n font-size: 0.9em;\\n}\\n.ErrorSplash.excalidraw .ErrorSplash-details {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n}\\n.ErrorSplash.excalidraw .ErrorSplash-details textarea {\\n width: 100%;\\n margin: 10px 0;\\n font-family: \\\"Cascadia\\\";\\n font-size: 0.8em;\\n}\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../css/variables.module.scss\",\"webpack://./../../css/styles.scss\",\"webpack://./../../css/theme.scss\",\"webpack://./../../../node_modules/open-color/open-color.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"@import \\\"open-color/open-color.scss\\\";\\n\\n@mixin isMobile() {\\n @at-root .excalidraw--mobile#{&} {\\n @content;\\n }\\n}\\n\\n$theme-filter: \\\"invert(93%) hue-rotate(180deg)\\\";\\n\\n:export {\\n themeFilter: unquote($theme-filter);\\n}\\n\",\"@import \\\"./variables.module\\\";\\n@import \\\"./theme\\\";\\n\\n:root {\\n --zIndex-canvas: 1;\\n --zIndex-wysiwyg: 2;\\n --zIndex-layerUI: 3;\\n}\\n\\n.excalidraw {\\n position: relative;\\n overflow: hidden;\\n color: var(--text-primary-color);\\n display: flex;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 100%;\\n width: 100%;\\n\\n &:focus {\\n outline: none;\\n }\\n\\n // serves 2 purposes:\\n // 1. prevent selecting text outside the component when double-clicking or\\n // dragging inside it (e.g. on canvas)\\n // 2. prevent selecting UI, both from the inside, and from outside the\\n // component (e.g. if you select text in a sidebar)\\n user-select: none;\\n\\n a {\\n font-weight: 500;\\n text-decoration: none;\\n color: var(--link-color);\\n\\n &:hover {\\n text-decoration: underline;\\n }\\n }\\n\\n canvas {\\n touch-action: none;\\n\\n // following props improve blurriness at certain devicePixelRatios.\\n // AFAIK it doesn't affect export (in fact, export seems sharp either way).\\n\\n image-rendering: pixelated; // chromium\\n // NOTE: must be declared *after* the above\\n image-rendering: -moz-crisp-edges; // FF\\n\\n z-index: var(--zIndex-canvas);\\n\\n // Remove the main canvas from document flow to avoid resizeObserver\\n // feedback loop (see https://github.com/excalidraw/excalidraw/pull/3379)\\n }\\n\\n &__canvas {\\n position: absolute;\\n }\\n\\n &.theme--dark {\\n // The percentage is inspired by\\n // https://material.io/design/color/dark-theme.html#properties, which\\n // recommends surface color of #121212, 93% yields #111111 for #FFF\\n\\n canvas {\\n filter: var(--theme-filter);\\n }\\n }\\n\\n .FixedSideContainer {\\n padding-top: var(--sat, 0);\\n padding-right: var(--sar, 0);\\n padding-bottom: var(--sab, 0);\\n padding-left: var(--sal, 0);\\n }\\n\\n .panelRow {\\n display: flex;\\n justify-content: space-between;\\n }\\n\\n .panelColumn {\\n display: flex;\\n flex-direction: column;\\n\\n h3,\\n legend,\\n .control-label {\\n margin-top: 0.333rem;\\n margin-bottom: 0.333rem;\\n font-size: 0.75rem;\\n color: var(--text-primary-color);\\n font-weight: bold;\\n display: block;\\n }\\n\\n .control-label input {\\n display: block;\\n width: 100%;\\n }\\n\\n h3:first-child,\\n legend:first-child,\\n .control-label:first-child {\\n margin-top: 0;\\n }\\n\\n legend {\\n padding: 0;\\n }\\n\\n .iconSelectList {\\n flex-wrap: wrap;\\n position: relative;\\n }\\n\\n .buttonList {\\n flex-wrap: wrap;\\n\\n label {\\n margin-right: 0.25rem;\\n font-size: 0.75rem;\\n display: inline-block;\\n }\\n\\n input[type=\\\"radio\\\"],\\n input[type=\\\"button\\\"] {\\n opacity: 0;\\n position: absolute;\\n pointer-events: none;\\n }\\n\\n .iconRow {\\n margin-top: 8px;\\n }\\n\\n .ToolIcon {\\n margin: 0;\\n margin-inline-end: 8px;\\n\\n &:focus {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n\\n &:disabled {\\n cursor: not-allowed;\\n }\\n }\\n\\n .ToolIcon__icon {\\n width: 28px;\\n height: 28px;\\n }\\n }\\n\\n fieldset {\\n margin: 0;\\n margin-top: 0.333rem;\\n padding: 0;\\n border: none;\\n }\\n }\\n\\n .divider {\\n width: 1px;\\n background-color: $oc-gray-2;\\n margin: 1px;\\n }\\n\\n .buttonList label:focus-within,\\n input:focus-visible {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n button,\\n .buttonList label {\\n user-select: none;\\n background-color: var(--button-gray-1);\\n border: 0;\\n border-radius: var(--border-radius-md);\\n margin: 0.125rem 0;\\n padding: 0.25rem;\\n white-space: nowrap;\\n\\n cursor: pointer;\\n\\n &:focus-visible {\\n outline: transparent;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-3);\\n }\\n\\n &:disabled {\\n cursor: not-allowed;\\n }\\n }\\n\\n .active,\\n .buttonList label.active {\\n background-color: var(--color-primary);\\n\\n --icon-fill-color: #{$oc-white};\\n\\n &:hover {\\n background-color: var(--color-primary-darker);\\n }\\n\\n &:active {\\n background-color: var(--color-primary-darkest);\\n }\\n }\\n\\n .buttonList.buttonListIcon {\\n label {\\n display: inline-flex;\\n justify-content: center;\\n align-items: center;\\n svg {\\n width: 35px;\\n height: 14px;\\n padding: 2px;\\n opacity: 0.6;\\n }\\n &.active svg {\\n opacity: 1;\\n }\\n }\\n }\\n\\n .App-top-bar {\\n z-index: var(--zIndex-layerUI);\\n display: grid;\\n grid-template-columns: 1fr max-content 1fr;\\n }\\n\\n .App-bottom-bar {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n --bar-padding: calc(4 * var(--space-factor));\\n padding-top: #{\\\"max(var(--bar-padding), var(--sat,0))\\\"};\\n padding-right: var(--sar, 0);\\n padding-bottom: var(--sab, 0);\\n padding-left: var(--sal, 0);\\n z-index: 4;\\n display: flex;\\n align-items: flex-end;\\n pointer-events: none;\\n\\n > .Island {\\n width: 100%;\\n max-width: 100%;\\n min-width: 100%;\\n box-sizing: border-box;\\n max-height: 100%;\\n display: flex;\\n flex-direction: column;\\n pointer-events: initial;\\n\\n .panelColumn {\\n padding: 8px 8px 0 8px;\\n }\\n }\\n }\\n\\n .App-toolbar {\\n width: 100%;\\n\\n box-sizing: border-box;\\n }\\n\\n .App-toolbar-content {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n padding: 8px;\\n }\\n\\n .App-mobile-menu {\\n width: 100%;\\n overflow-x: visible;\\n overflow-y: auto;\\n box-sizing: border-box;\\n margin-bottom: var(--bar-padding);\\n }\\n\\n .App-menu {\\n display: grid;\\n color: var(--icon-fill-color);\\n }\\n\\n .App-menu_top {\\n grid-template-columns: auto max-content auto;\\n grid-gap: 4px;\\n align-items: flex-start;\\n cursor: default;\\n pointer-events: none !important;\\n }\\n\\n .layer-ui__wrapper:not(.disable-pointerEvents) .App-menu_top > * {\\n pointer-events: all;\\n }\\n\\n .App-menu_top > *:first-child {\\n justify-self: flex-start;\\n }\\n\\n .App-menu_top > *:last-child {\\n justify-self: flex-end;\\n }\\n\\n .App-menu_bottom {\\n position: absolute;\\n bottom: 0;\\n grid-template-columns: min-content auto min-content;\\n grid-gap: 15px;\\n align-items: flex-start;\\n cursor: default;\\n pointer-events: none !important;\\n z-index: 100;\\n\\n :root[dir=\\\"ltr\\\"] & {\\n left: 0.25rem;\\n }\\n\\n :root[dir=\\\"rtl\\\"] & {\\n right: 0.25rem;\\n }\\n\\n &--transition-left {\\n section {\\n width: 185px;\\n }\\n }\\n\\n section {\\n display: flex;\\n }\\n }\\n\\n .App-menu_bottom > *:first-child {\\n justify-self: flex-start;\\n }\\n\\n .App-menu_bottom > *:last-child {\\n justify-self: flex-end;\\n }\\n\\n .App-menu_left {\\n grid-template-rows: 1fr auto 1fr;\\n height: 100%;\\n }\\n\\n .App-menu_right {\\n grid-template-rows: 1fr;\\n height: 100%;\\n }\\n\\n .App-menu__left {\\n overflow-y: auto;\\n }\\n\\n .dropdown-select {\\n height: 1.5rem;\\n padding: 0;\\n padding-inline-start: 0.5rem;\\n padding-inline-end: 1.5rem;\\n color: var(--icon-fill-color);\\n background-color: var(--button-gray-1);\\n border-radius: var(--space-factor);\\n border: 1px solid var(--button-gray-2);\\n font-size: 0.8rem;\\n outline: none;\\n appearance: none;\\n background-image: var(--dropdown-icon);\\n background-repeat: no-repeat;\\n background-position: right 0.7rem top 50%, 0 0;\\n\\n :root[dir=\\\"rtl\\\"] & {\\n background-position: left 0.7rem top 50%, 0 0;\\n }\\n\\n background-size: 0.65em auto, 100%;\\n\\n &:focus {\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n\\n &:hover {\\n background-color: var(--button-gray-2);\\n }\\n\\n &:active {\\n background-color: var(--button-gray-2);\\n }\\n }\\n\\n .zIndexButton {\\n margin: 0;\\n margin-inline-end: 8px;\\n padding: 5px;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n svg {\\n width: 18px;\\n height: 18px;\\n }\\n }\\n\\n .scroll-back-to-content {\\n color: var(--popup-text-color);\\n position: absolute;\\n left: 50%;\\n bottom: 30px;\\n transform: translateX(-50%);\\n padding: 10px 20px;\\n }\\n\\n .help-icon {\\n display: flex;\\n cursor: pointer;\\n fill: $oc-gray-6;\\n padding: 0;\\n margin: 0;\\n background: none;\\n color: var(--icon-fill-color);\\n\\n svg {\\n width: 1.5rem;\\n height: 1.5rem;\\n }\\n\\n &:hover {\\n background: none;\\n }\\n }\\n\\n .reset-zoom-button {\\n padding: 0.2em;\\n background: transparent;\\n color: var(--text-primary-color);\\n font-family: var(--ui-font);\\n }\\n\\n .undo-redo-buttons {\\n display: grid;\\n grid-auto-flow: column;\\n gap: 0.4em;\\n margin-top: auto;\\n margin-bottom: auto;\\n margin-inline-start: 0.6em;\\n }\\n\\n @include isMobile {\\n aside {\\n display: none;\\n }\\n .scroll-back-to-content {\\n bottom: calc(80px + var(--sab, 0));\\n z-index: -1;\\n }\\n }\\n\\n .rtl-mirror {\\n :root[dir=\\\"rtl\\\"] & {\\n transform: scaleX(-1);\\n }\\n }\\n\\n .zen-mode-visibility {\\n visibility: visible;\\n opacity: 1;\\n height: auto;\\n width: auto;\\n transition: opacity 0.5s;\\n\\n &.zen-mode-visibility--hidden {\\n visibility: hidden;\\n opacity: 0;\\n height: 0;\\n width: 0;\\n transition: opacity 0.5s;\\n }\\n }\\n\\n .disable-pointerEvents {\\n pointer-events: none !important;\\n }\\n\\n &.excalidraw--view-mode {\\n .App-menu {\\n display: flex;\\n justify-content: space-between;\\n }\\n }\\n\\n input[type=\\\"text\\\"],\\n textarea:not(.excalidraw-wysiwyg) {\\n color: var(--text-primary-color);\\n border: 1.5px solid var(--input-border-color);\\n padding: 0.75rem;\\n white-space: nowrap;\\n border-radius: var(--space-factor);\\n background-color: var(--input-bg-color);\\n\\n &:not(:focus) {\\n &:hover {\\n background-color: var(--input-hover-bg-color);\\n }\\n }\\n\\n &:focus {\\n outline: none;\\n box-shadow: 0 0 0 2px var(--focus-highlight-color);\\n }\\n }\\n\\n @media print {\\n .App-bottom-bar,\\n .FixedSideContainer,\\n .layer-ui__wrapper {\\n display: none;\\n }\\n }\\n\\n .HomeButton.ToolIcon.ToolIcon_type_floating {\\n display: inline-block;\\n position: absolute;\\n top: 60px;\\n left: calc(-2 * var(--space-factor));\\n border-radius: 0 20px 20px 0;\\n\\n background-color: var(--button-gray-1);\\n &:hover {\\n background-color: var(--button-gray-1);\\n }\\n &:active {\\n background-color: var(--button-gray-2);\\n }\\n\\n .ToolIcon__icon {\\n border-radius: inherit;\\n }\\n svg {\\n position: static;\\n }\\n }\\n}\\n\\n.ErrorSplash.excalidraw {\\n min-height: 100vh;\\n padding: 20px 0;\\n overflow: auto;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n user-select: text;\\n\\n .ErrorSplash-messageContainer {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n\\n padding: 40px;\\n background-color: $oc-red-1;\\n border: 3px solid $oc-red-9;\\n }\\n\\n .ErrorSplash-paragraph {\\n margin: 15px 0;\\n max-width: 600px;\\n\\n &.align-center {\\n text-align: center;\\n }\\n }\\n\\n .bigger,\\n .bigger button {\\n font-size: 1.1em;\\n }\\n\\n .smaller,\\n .smaller button {\\n font-size: 0.9em;\\n }\\n\\n .ErrorSplash-details {\\n display: flex;\\n flex-direction: column;\\n align-items: flex-start;\\n\\n textarea {\\n width: 100%;\\n margin: 10px 0;\\n font-family: \\\"Cascadia\\\";\\n font-size: 0.8em;\\n }\\n }\\n}\\n\",\"@import \\\"open-color/open-color.scss\\\";\\n@import \\\"./variables.module.scss\\\";\\n\\n.excalidraw {\\n --theme-filter: none;\\n --button-destructive-bg-color: #{$oc-red-1};\\n --button-destructive-color: #{$oc-red-9};\\n --button-gray-1: #{$oc-gray-2};\\n --button-gray-2: #{$oc-gray-4};\\n --button-gray-3: #{$oc-gray-5};\\n --button-special-active-bg-color: #{$oc-green-0};\\n --dialog-border-color: #{$oc-gray-6};\\n --dropdown-icon: url('data:image/svg+xml,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"292.4\\\" height=\\\"292.4\\\" viewBox=\\\"0 0 292 292\\\"><path d=\\\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\\\"/></svg>');\\n --focus-highlight-color: #{$oc-blue-2};\\n --icon-fill-color: #{$oc-gray-9};\\n --icon-green-fill-color: #{$oc-green-9};\\n --default-bg-color: #{$oc-white};\\n --input-bg-color: #{$oc-white};\\n --input-border-color: #{$oc-gray-4};\\n --input-hover-bg-color: #{$oc-gray-1};\\n --input-label-color: #{$oc-gray-7};\\n --island-bg-color: rgba(255, 255, 255, 0.96);\\n --keybinding-color: #{$oc-gray-5};\\n --link-color: #{$oc-blue-7};\\n --overlay-bg-color: #{transparentize($oc-white, 0.12)};\\n --popup-bg-color: #{$oc-white};\\n --popup-secondary-bg-color: #{$oc-gray-1};\\n --popup-text-color: #{$oc-black};\\n --popup-text-inverted-color: #{$oc-white};\\n --sab: env(safe-area-inset-bottom);\\n --sal: env(safe-area-inset-left);\\n --sar: env(safe-area-inset-right);\\n --sat: env(safe-area-inset-top);\\n --select-highlight-color: #{$oc-blue-5};\\n --shadow-island: 0 0 0 1px rgba(0, 0, 0, 0.01), 1px 1px 5px rgb(0 0 0 / 12%);\\n\\n --space-factor: 0.25rem;\\n --text-primary-color: #{$oc-gray-8};\\n\\n --color-primary: #6965db;\\n --color-primary-chubb: #625ee0; // to offset Chubb illusion\\n --color-primary-darker: #5b57d1;\\n --color-primary-darkest: #4a47b1;\\n --color-primary-light: #e2e1fc;\\n\\n --border-radius-md: 0.375rem;\\n --border-radius-lg: 0.5rem;\\n\\n &.theme--dark {\\n background: $oc-black;\\n\\n &.theme--dark-background-none {\\n background: none;\\n }\\n }\\n\\n &.theme--dark {\\n --theme-filter: #{$theme-filter};\\n --button-destructive-bg-color: #5a0000;\\n --button-destructive-color: #{$oc-red-3};\\n --button-gray-1: #363636;\\n --button-gray-2: #272727;\\n --button-gray-3: #222;\\n --button-special-active-bg-color: #204624;\\n --dialog-border-color: #{$oc-gray-9};\\n --dropdown-icon: url('data:image/svg+xml,<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" width=\\\"292.4\\\" height=\\\"292.4\\\" viewBox=\\\"0 0 292 292\\\"><path fill=\\\"%23ced4da\\\" d=\\\"M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z\\\"/></svg>');\\n --focus-highlight-color: #{$oc-blue-6};\\n --icon-fill-color: #{$oc-gray-4};\\n --icon-green-fill-color: #{$oc-green-4};\\n --default-bg-color: #121212;\\n --input-bg-color: #121212;\\n --input-border-color: #2e2e2e;\\n --input-hover-bg-color: #181818;\\n --input-label-color: #{$oc-gray-2};\\n --island-bg-color: rgba(30, 30, 30, 0.98);\\n --keybinding-color: #{$oc-gray-6};\\n --link-color: #{$oc-blue-4};\\n --overlay-bg-color: #{transparentize($oc-gray-8, 0.88)};\\n --popup-bg-color: #2c2c2c;\\n --popup-secondary-bg-color: #222;\\n --popup-text-color: #{$oc-gray-4};\\n --popup-text-inverted-color: #635c5c;\\n --select-highlight-color: #{$oc-blue-4};\\n --shadow-island: 1px 1px 5px #{transparentize($oc-black, 0.7)};\\n --text-primary-color: #{$oc-gray-4};\\n\\n --color-primary: #5650f0;\\n --color-primary-chubb: #726dff; // to offset Chubb illusion\\n --color-primary-darker: #4b46d8;\\n --color-primary-darkest: #3e39be;\\n --color-primary-light: #3f3d64;\\n }\\n}\\n\",\"//\\n//\\n// 𝗖 𝗢 𝗟 𝗢 𝗥\\n// v 1.9.1\\n//\\n// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\n\\n\\n// General\\n// ───────────────────────────────────\\n\\n$oc-white: #ffffff;\\n$oc-black: #000000;\\n\\n\\n// Gray\\n// ───────────────────────────────────\\n\\n$oc-gray-list: (\\n \\\"0\\\": #f8f9fa,\\n \\\"1\\\": #f1f3f5,\\n \\\"2\\\": #e9ecef,\\n \\\"3\\\": #dee2e6,\\n \\\"4\\\": #ced4da,\\n \\\"5\\\": #adb5bd,\\n \\\"6\\\": #868e96,\\n \\\"7\\\": #495057,\\n \\\"8\\\": #343a40,\\n \\\"9\\\": #212529\\n);\\n\\n$oc-gray-0: map-get($oc-gray-list, \\\"0\\\");\\n$oc-gray-1: map-get($oc-gray-list, \\\"1\\\");\\n$oc-gray-2: map-get($oc-gray-list, \\\"2\\\");\\n$oc-gray-3: map-get($oc-gray-list, \\\"3\\\");\\n$oc-gray-4: map-get($oc-gray-list, \\\"4\\\");\\n$oc-gray-5: map-get($oc-gray-list, \\\"5\\\");\\n$oc-gray-6: map-get($oc-gray-list, \\\"6\\\");\\n$oc-gray-7: map-get($oc-gray-list, \\\"7\\\");\\n$oc-gray-8: map-get($oc-gray-list, \\\"8\\\");\\n$oc-gray-9: map-get($oc-gray-list, \\\"9\\\");\\n\\n\\n// Red\\n// ───────────────────────────────────\\n\\n$oc-red-list: (\\n \\\"0\\\": #fff5f5,\\n \\\"1\\\": #ffe3e3,\\n \\\"2\\\": #ffc9c9,\\n \\\"3\\\": #ffa8a8,\\n \\\"4\\\": #ff8787,\\n \\\"5\\\": #ff6b6b,\\n \\\"6\\\": #fa5252,\\n \\\"7\\\": #f03e3e,\\n \\\"8\\\": #e03131,\\n \\\"9\\\": #c92a2a\\n);\\n\\n$oc-red-0: map-get($oc-red-list, \\\"0\\\");\\n$oc-red-1: map-get($oc-red-list, \\\"1\\\");\\n$oc-red-2: map-get($oc-red-list, \\\"2\\\");\\n$oc-red-3: map-get($oc-red-list, \\\"3\\\");\\n$oc-red-4: map-get($oc-red-list, \\\"4\\\");\\n$oc-red-5: map-get($oc-red-list, \\\"5\\\");\\n$oc-red-6: map-get($oc-red-list, \\\"6\\\");\\n$oc-red-7: map-get($oc-red-list, \\\"7\\\");\\n$oc-red-8: map-get($oc-red-list, \\\"8\\\");\\n$oc-red-9: map-get($oc-red-list, \\\"9\\\");\\n\\n\\n// Pink\\n// ───────────────────────────────────\\n\\n$oc-pink-list: (\\n \\\"0\\\": #fff0f6,\\n \\\"1\\\": #ffdeeb,\\n \\\"2\\\": #fcc2d7,\\n \\\"3\\\": #faa2c1,\\n \\\"4\\\": #f783ac,\\n \\\"5\\\": #f06595,\\n \\\"6\\\": #e64980,\\n \\\"7\\\": #d6336c,\\n \\\"8\\\": #c2255c,\\n \\\"9\\\": #a61e4d\\n);\\n\\n$oc-pink-0: map-get($oc-pink-list, \\\"0\\\");\\n$oc-pink-1: map-get($oc-pink-list, \\\"1\\\");\\n$oc-pink-2: map-get($oc-pink-list, \\\"2\\\");\\n$oc-pink-3: map-get($oc-pink-list, \\\"3\\\");\\n$oc-pink-4: map-get($oc-pink-list, \\\"4\\\");\\n$oc-pink-5: map-get($oc-pink-list, \\\"5\\\");\\n$oc-pink-6: map-get($oc-pink-list, \\\"6\\\");\\n$oc-pink-7: map-get($oc-pink-list, \\\"7\\\");\\n$oc-pink-8: map-get($oc-pink-list, \\\"8\\\");\\n$oc-pink-9: map-get($oc-pink-list, \\\"9\\\");\\n\\n\\n// Grape\\n// ───────────────────────────────────\\n\\n$oc-grape-list: (\\n \\\"0\\\": #f8f0fc,\\n \\\"1\\\": #f3d9fa,\\n \\\"2\\\": #eebefa,\\n \\\"3\\\": #e599f7,\\n \\\"4\\\": #da77f2,\\n \\\"5\\\": #cc5de8,\\n \\\"6\\\": #be4bdb,\\n \\\"7\\\": #ae3ec9,\\n \\\"8\\\": #9c36b5,\\n \\\"9\\\": #862e9c\\n);\\n\\n$oc-grape-0: map-get($oc-grape-list, \\\"0\\\");\\n$oc-grape-1: map-get($oc-grape-list, \\\"1\\\");\\n$oc-grape-2: map-get($oc-grape-list, \\\"2\\\");\\n$oc-grape-3: map-get($oc-grape-list, \\\"3\\\");\\n$oc-grape-4: map-get($oc-grape-list, \\\"4\\\");\\n$oc-grape-5: map-get($oc-grape-list, \\\"5\\\");\\n$oc-grape-6: map-get($oc-grape-list, \\\"6\\\");\\n$oc-grape-7: map-get($oc-grape-list, \\\"7\\\");\\n$oc-grape-8: map-get($oc-grape-list, \\\"8\\\");\\n$oc-grape-9: map-get($oc-grape-list, \\\"9\\\");\\n\\n\\n// Violet\\n// ───────────────────────────────────\\n\\n$oc-violet-list: (\\n \\\"0\\\": #f3f0ff,\\n \\\"1\\\": #e5dbff,\\n \\\"2\\\": #d0bfff,\\n \\\"3\\\": #b197fc,\\n \\\"4\\\": #9775fa,\\n \\\"5\\\": #845ef7,\\n \\\"6\\\": #7950f2,\\n \\\"7\\\": #7048e8,\\n \\\"8\\\": #6741d9,\\n \\\"9\\\": #5f3dc4\\n);\\n\\n$oc-violet-0: map-get($oc-violet-list, \\\"0\\\");\\n$oc-violet-1: map-get($oc-violet-list, \\\"1\\\");\\n$oc-violet-2: map-get($oc-violet-list, \\\"2\\\");\\n$oc-violet-3: map-get($oc-violet-list, \\\"3\\\");\\n$oc-violet-4: map-get($oc-violet-list, \\\"4\\\");\\n$oc-violet-5: map-get($oc-violet-list, \\\"5\\\");\\n$oc-violet-6: map-get($oc-violet-list, \\\"6\\\");\\n$oc-violet-7: map-get($oc-violet-list, \\\"7\\\");\\n$oc-violet-8: map-get($oc-violet-list, \\\"8\\\");\\n$oc-violet-9: map-get($oc-violet-list, \\\"9\\\");\\n\\n\\n// Indigo\\n// ───────────────────────────────────\\n\\n$oc-indigo-list: (\\n \\\"0\\\": #edf2ff,\\n \\\"1\\\": #dbe4ff,\\n \\\"2\\\": #bac8ff,\\n \\\"3\\\": #91a7ff,\\n \\\"4\\\": #748ffc,\\n \\\"5\\\": #5c7cfa,\\n \\\"6\\\": #4c6ef5,\\n \\\"7\\\": #4263eb,\\n \\\"8\\\": #3b5bdb,\\n \\\"9\\\": #364fc7\\n);\\n\\n$oc-indigo-0: map-get($oc-indigo-list, \\\"0\\\");\\n$oc-indigo-1: map-get($oc-indigo-list, \\\"1\\\");\\n$oc-indigo-2: map-get($oc-indigo-list, \\\"2\\\");\\n$oc-indigo-3: map-get($oc-indigo-list, \\\"3\\\");\\n$oc-indigo-4: map-get($oc-indigo-list, \\\"4\\\");\\n$oc-indigo-5: map-get($oc-indigo-list, \\\"5\\\");\\n$oc-indigo-6: map-get($oc-indigo-list, \\\"6\\\");\\n$oc-indigo-7: map-get($oc-indigo-list, \\\"7\\\");\\n$oc-indigo-8: map-get($oc-indigo-list, \\\"8\\\");\\n$oc-indigo-9: map-get($oc-indigo-list, \\\"9\\\");\\n\\n\\n// Blue\\n// ───────────────────────────────────\\n\\n$oc-blue-list: (\\n \\\"0\\\": #e7f5ff,\\n \\\"1\\\": #d0ebff,\\n \\\"2\\\": #a5d8ff,\\n \\\"3\\\": #74c0fc,\\n \\\"4\\\": #4dabf7,\\n \\\"5\\\": #339af0,\\n \\\"6\\\": #228be6,\\n \\\"7\\\": #1c7ed6,\\n \\\"8\\\": #1971c2,\\n \\\"9\\\": #1864ab\\n);\\n\\n$oc-blue-0: map-get($oc-blue-list, \\\"0\\\");\\n$oc-blue-1: map-get($oc-blue-list, \\\"1\\\");\\n$oc-blue-2: map-get($oc-blue-list, \\\"2\\\");\\n$oc-blue-3: map-get($oc-blue-list, \\\"3\\\");\\n$oc-blue-4: map-get($oc-blue-list, \\\"4\\\");\\n$oc-blue-5: map-get($oc-blue-list, \\\"5\\\");\\n$oc-blue-6: map-get($oc-blue-list, \\\"6\\\");\\n$oc-blue-7: map-get($oc-blue-list, \\\"7\\\");\\n$oc-blue-8: map-get($oc-blue-list, \\\"8\\\");\\n$oc-blue-9: map-get($oc-blue-list, \\\"9\\\");\\n\\n\\n// Cyan\\n// ───────────────────────────────────\\n\\n$oc-cyan-list: (\\n \\\"0\\\": #e3fafc,\\n \\\"1\\\": #c5f6fa,\\n \\\"2\\\": #99e9f2,\\n \\\"3\\\": #66d9e8,\\n \\\"4\\\": #3bc9db,\\n \\\"5\\\": #22b8cf,\\n \\\"6\\\": #15aabf,\\n \\\"7\\\": #1098ad,\\n \\\"8\\\": #0c8599,\\n \\\"9\\\": #0b7285\\n);\\n\\n$oc-cyan-0: map-get($oc-cyan-list, \\\"0\\\");\\n$oc-cyan-1: map-get($oc-cyan-list, \\\"1\\\");\\n$oc-cyan-2: map-get($oc-cyan-list, \\\"2\\\");\\n$oc-cyan-3: map-get($oc-cyan-list, \\\"3\\\");\\n$oc-cyan-4: map-get($oc-cyan-list, \\\"4\\\");\\n$oc-cyan-5: map-get($oc-cyan-list, \\\"5\\\");\\n$oc-cyan-6: map-get($oc-cyan-list, \\\"6\\\");\\n$oc-cyan-7: map-get($oc-cyan-list, \\\"7\\\");\\n$oc-cyan-8: map-get($oc-cyan-list, \\\"8\\\");\\n$oc-cyan-9: map-get($oc-cyan-list, \\\"9\\\");\\n\\n\\n// Teal\\n// ───────────────────────────────────\\n\\n$oc-teal-list: (\\n \\\"0\\\": #e6fcf5,\\n \\\"1\\\": #c3fae8,\\n \\\"2\\\": #96f2d7,\\n \\\"3\\\": #63e6be,\\n \\\"4\\\": #38d9a9,\\n \\\"5\\\": #20c997,\\n \\\"6\\\": #12b886,\\n \\\"7\\\": #0ca678,\\n \\\"8\\\": #099268,\\n \\\"9\\\": #087f5b\\n);\\n\\n$oc-teal-0: map-get($oc-teal-list, \\\"0\\\");\\n$oc-teal-1: map-get($oc-teal-list, \\\"1\\\");\\n$oc-teal-2: map-get($oc-teal-list, \\\"2\\\");\\n$oc-teal-3: map-get($oc-teal-list, \\\"3\\\");\\n$oc-teal-4: map-get($oc-teal-list, \\\"4\\\");\\n$oc-teal-5: map-get($oc-teal-list, \\\"5\\\");\\n$oc-teal-6: map-get($oc-teal-list, \\\"6\\\");\\n$oc-teal-7: map-get($oc-teal-list, \\\"7\\\");\\n$oc-teal-8: map-get($oc-teal-list, \\\"8\\\");\\n$oc-teal-9: map-get($oc-teal-list, \\\"9\\\");\\n\\n\\n// Green\\n// ───────────────────────────────────\\n\\n$oc-green-list: (\\n \\\"0\\\": #ebfbee,\\n \\\"1\\\": #d3f9d8,\\n \\\"2\\\": #b2f2bb,\\n \\\"3\\\": #8ce99a,\\n \\\"4\\\": #69db7c,\\n \\\"5\\\": #51cf66,\\n \\\"6\\\": #40c057,\\n \\\"7\\\": #37b24d,\\n \\\"8\\\": #2f9e44,\\n \\\"9\\\": #2b8a3e\\n);\\n\\n$oc-green-0: map-get($oc-green-list, \\\"0\\\");\\n$oc-green-1: map-get($oc-green-list, \\\"1\\\");\\n$oc-green-2: map-get($oc-green-list, \\\"2\\\");\\n$oc-green-3: map-get($oc-green-list, \\\"3\\\");\\n$oc-green-4: map-get($oc-green-list, \\\"4\\\");\\n$oc-green-5: map-get($oc-green-list, \\\"5\\\");\\n$oc-green-6: map-get($oc-green-list, \\\"6\\\");\\n$oc-green-7: map-get($oc-green-list, \\\"7\\\");\\n$oc-green-8: map-get($oc-green-list, \\\"8\\\");\\n$oc-green-9: map-get($oc-green-list, \\\"9\\\");\\n\\n\\n// Lime\\n// ───────────────────────────────────\\n\\n$oc-lime-list: (\\n \\\"0\\\": #f4fce3,\\n \\\"1\\\": #e9fac8,\\n \\\"2\\\": #d8f5a2,\\n \\\"3\\\": #c0eb75,\\n \\\"4\\\": #a9e34b,\\n \\\"5\\\": #94d82d,\\n \\\"6\\\": #82c91e,\\n \\\"7\\\": #74b816,\\n \\\"8\\\": #66a80f,\\n \\\"9\\\": #5c940d\\n);\\n\\n$oc-lime-0: map-get($oc-lime-list, \\\"0\\\");\\n$oc-lime-1: map-get($oc-lime-list, \\\"1\\\");\\n$oc-lime-2: map-get($oc-lime-list, \\\"2\\\");\\n$oc-lime-3: map-get($oc-lime-list, \\\"3\\\");\\n$oc-lime-4: map-get($oc-lime-list, \\\"4\\\");\\n$oc-lime-5: map-get($oc-lime-list, \\\"5\\\");\\n$oc-lime-6: map-get($oc-lime-list, \\\"6\\\");\\n$oc-lime-7: map-get($oc-lime-list, \\\"7\\\");\\n$oc-lime-8: map-get($oc-lime-list, \\\"8\\\");\\n$oc-lime-9: map-get($oc-lime-list, \\\"9\\\");\\n\\n\\n// Yellow\\n// ───────────────────────────────────\\n\\n$oc-yellow-list: (\\n \\\"0\\\": #fff9db,\\n \\\"1\\\": #fff3bf,\\n \\\"2\\\": #ffec99,\\n \\\"3\\\": #ffe066,\\n \\\"4\\\": #ffd43b,\\n \\\"5\\\": #fcc419,\\n \\\"6\\\": #fab005,\\n \\\"7\\\": #f59f00,\\n \\\"8\\\": #f08c00,\\n \\\"9\\\": #e67700\\n);\\n\\n$oc-yellow-0: map-get($oc-yellow-list, \\\"0\\\");\\n$oc-yellow-1: map-get($oc-yellow-list, \\\"1\\\");\\n$oc-yellow-2: map-get($oc-yellow-list, \\\"2\\\");\\n$oc-yellow-3: map-get($oc-yellow-list, \\\"3\\\");\\n$oc-yellow-4: map-get($oc-yellow-list, \\\"4\\\");\\n$oc-yellow-5: map-get($oc-yellow-list, \\\"5\\\");\\n$oc-yellow-6: map-get($oc-yellow-list, \\\"6\\\");\\n$oc-yellow-7: map-get($oc-yellow-list, \\\"7\\\");\\n$oc-yellow-8: map-get($oc-yellow-list, \\\"8\\\");\\n$oc-yellow-9: map-get($oc-yellow-list, \\\"9\\\");\\n\\n\\n// Orange\\n// ───────────────────────────────────\\n\\n$oc-orange-list: (\\n \\\"0\\\": #fff4e6,\\n \\\"1\\\": #ffe8cc,\\n \\\"2\\\": #ffd8a8,\\n \\\"3\\\": #ffc078,\\n \\\"4\\\": #ffa94d,\\n \\\"5\\\": #ff922b,\\n \\\"6\\\": #fd7e14,\\n \\\"7\\\": #f76707,\\n \\\"8\\\": #e8590c,\\n \\\"9\\\": #d9480f\\n);\\n\\n$oc-orange-0: map-get($oc-orange-list, \\\"0\\\");\\n$oc-orange-1: map-get($oc-orange-list, \\\"1\\\");\\n$oc-orange-2: map-get($oc-orange-list, \\\"2\\\");\\n$oc-orange-3: map-get($oc-orange-list, \\\"3\\\");\\n$oc-orange-4: map-get($oc-orange-list, \\\"4\\\");\\n$oc-orange-5: map-get($oc-orange-list, \\\"5\\\");\\n$oc-orange-6: map-get($oc-orange-list, \\\"6\\\");\\n$oc-orange-7: map-get($oc-orange-list, \\\"7\\\");\\n$oc-orange-8: map-get($oc-orange-list, \\\"8\\\");\\n$oc-orange-9: map-get($oc-orange-list, \\\"9\\\");\\n\\n\\n// Color list\\n// ───────────────────────────────────\\n\\n$oc-color-spectrum: 9;\\n\\n$oc-color-list: (\\n $oc-gray-list: \\\"gray\\\",\\n $oc-red-list: \\\"red\\\",\\n $oc-pink-list: \\\"pink\\\",\\n $oc-grape-list: \\\"grape\\\",\\n $oc-violet-list: \\\"violet\\\",\\n $oc-indigo-list: \\\"indigo\\\",\\n $oc-blue-list: \\\"blue\\\",\\n $oc-cyan-list: \\\"cyan\\\",\\n $oc-teal-list: \\\"teal\\\",\\n $oc-green-list: \\\"green\\\",\\n $oc-lime-list: \\\"lime\\\",\\n $oc-yellow-list: \\\"yellow\\\",\\n $oc-orange-list: \\\"orange\\\"\\n);\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cnVsZVNldFsxXS5ydWxlc1swXS51c2VbMl0hLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vY3NzL3N0eWxlcy5zY3NzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtBQUM4SDtBQUNqQjtBQUNPO0FBQ3BILDRDQUE0Qyw2akJBQWtSO0FBQzlULDRDQUE0QyxpbUJBQXFTO0FBQ2pWLDhCQUE4Qix1R0FBMkIsQ0FBQyxnSEFBcUM7QUFDL0YseUNBQXlDLDBHQUErQjtBQUN4RSx5Q0FBeUMsMEdBQStCO0FBQ3hFO0FBQ0EsbURBQW1ELGdEQUFnRCxHQUFHLGFBQWEsZ0RBQWdELEdBQUcsaUJBQWlCLHlCQUF5QiwyQ0FBMkMsd0NBQXdDLDZCQUE2Qiw2QkFBNkIsNkJBQTZCLDhDQUE4QyxtQ0FBbUMscUVBQXFFLHFDQUFxQywrQkFBK0IscUNBQXFDLGdDQUFnQyw4QkFBOEIsa0NBQWtDLG9DQUFvQyxpQ0FBaUMsaURBQWlELGdDQUFnQywwQkFBMEIsa0RBQWtELDhCQUE4Qix3Q0FBd0MsZ0NBQWdDLHlDQUF5Qyx1Q0FBdUMscUNBQXFDLHNDQUFzQyxvQ0FBb0Msc0NBQXNDLGlGQUFpRiw0QkFBNEIsa0NBQWtDLDZCQUE2QixtQ0FBbUMsb0NBQW9DLHFDQUFxQyxtQ0FBbUMsaUNBQWlDLCtCQUErQixHQUFHLDJCQUEyQix3QkFBd0IsR0FBRyx1REFBdUQscUJBQXFCLEdBQUcsMkJBQTJCLG1EQUFtRCwyQ0FBMkMsd0NBQXdDLDZCQUE2Qiw2QkFBNkIsMEJBQTBCLDhDQUE4QyxtQ0FBbUMscUVBQXFFLHFDQUFxQywrQkFBK0IscUNBQXFDLGdDQUFnQyw4QkFBOEIsa0NBQWtDLG9DQUFvQyxpQ0FBaUMsOENBQThDLGdDQUFnQywwQkFBMEIsK0NBQStDLDhCQUE4QixxQ0FBcUMsZ0NBQWdDLHlDQUF5QyxzQ0FBc0Msb0RBQW9ELGtDQUFrQyw2QkFBNkIsbUNBQW1DLG9DQUFvQyxxQ0FBcUMsbUNBQW1DLEdBQUcsV0FBVyx1QkFBdUIsd0JBQXdCLHdCQUF3QixHQUFHLGlCQUFpQix1QkFBdUIscUJBQXFCLHFDQUFxQyxrQkFBa0IsV0FBVyxjQUFjLFlBQVksYUFBYSxpQkFBaUIsZ0JBQWdCLHNCQUFzQixHQUFHLHFCQUFxQixrQkFBa0IsR0FBRyxpQkFBaUIscUJBQXFCLDBCQUEwQiw2QkFBNkIsR0FBRyx1QkFBdUIsK0JBQStCLEdBQUcsc0JBQXNCLHVCQUF1QiwrQkFBK0Isc0NBQXNDLGtDQUFrQyxHQUFHLHVCQUF1Qix1QkFBdUIsR0FBRyxrQ0FBa0MsZ0NBQWdDLEdBQUcsbUNBQW1DLCtCQUErQixpQ0FBaUMsa0NBQWtDLGdDQUFnQyxHQUFHLHlCQUF5QixrQkFBa0IsbUNBQW1DLEdBQUcsNEJBQTRCLGtCQUFrQiwyQkFBMkIsR0FBRywyR0FBMkcseUJBQXlCLDRCQUE0Qix1QkFBdUIscUNBQXFDLHNCQUFzQixtQkFBbUIsR0FBRyxpREFBaUQsbUJBQW1CLGdCQUFnQixHQUFHLCtJQUErSSxrQkFBa0IsR0FBRyxtQ0FBbUMsZUFBZSxHQUFHLDRDQUE0QyxvQkFBb0IsdUJBQXVCLEdBQUcsd0NBQXdDLG9CQUFvQixHQUFHLDhDQUE4QywwQkFBMEIsdUJBQXVCLDBCQUEwQixHQUFHLG9IQUFvSCxlQUFlLHVCQUF1Qix5QkFBeUIsR0FBRyxpREFBaUQsb0JBQW9CLEdBQUcsa0RBQWtELGNBQWMsMkJBQTJCLEdBQUcsd0RBQXdELHlCQUF5Qix1REFBdUQsR0FBRyx3REFBd0QsMkNBQTJDLEdBQUcseURBQXlELDJDQUEyQyxHQUFHLDJEQUEyRCx3QkFBd0IsR0FBRyx3REFBd0QsZ0JBQWdCLGlCQUFpQixHQUFHLHFDQUFxQyxjQUFjLHlCQUF5QixlQUFlLGlCQUFpQixHQUFHLHdCQUF3QixlQUFlLDhCQUE4QixnQkFBZ0IsR0FBRyxnRkFBZ0YseUJBQXlCLHVEQUF1RCxHQUFHLHNEQUFzRCxzQkFBc0IsMkNBQTJDLGNBQWMsMkNBQTJDLHVCQUF1QixxQkFBcUIsd0JBQXdCLG9CQUFvQixHQUFHLGtGQUFrRix5QkFBeUIsdURBQXVELEdBQUcsa0VBQWtFLDJDQUEyQyxHQUFHLG9FQUFvRSwyQ0FBMkMsR0FBRyx3RUFBd0Usd0JBQXdCLEdBQUcsOERBQThELDJDQUEyQywrQkFBK0IsR0FBRywwRUFBMEUsa0RBQWtELEdBQUcsNEVBQTRFLG1EQUFtRCxHQUFHLGdEQUFnRCx5QkFBeUIsNEJBQTRCLHdCQUF3QixHQUFHLG9EQUFvRCxnQkFBZ0IsaUJBQWlCLGlCQUFpQixpQkFBaUIsR0FBRywyREFBMkQsZUFBZSxHQUFHLDRCQUE0QixtQ0FBbUMsa0JBQWtCLCtDQUErQyxHQUFHLCtCQUErQix1QkFBdUIsV0FBVyxjQUFjLFlBQVksYUFBYSxpREFBaUQsdURBQXVELGlDQUFpQyxrQ0FBa0MsZ0NBQWdDLGVBQWUsa0JBQWtCLDBCQUEwQix5QkFBeUIsR0FBRyx5Q0FBeUMsZ0JBQWdCLG9CQUFvQixvQkFBb0IsMkJBQTJCLHFCQUFxQixrQkFBa0IsMkJBQTJCLDRCQUE0QixHQUFHLHNEQUFzRCwyQkFBMkIsR0FBRyw0QkFBNEIsZ0JBQWdCLDJCQUEyQixHQUFHLG9DQUFvQyxrQkFBa0Isd0JBQXdCLG1DQUFtQyxpQkFBaUIsR0FBRyxnQ0FBZ0MsZ0JBQWdCLHdCQUF3QixxQkFBcUIsMkJBQTJCLHNDQUFzQyxHQUFHLHlCQUF5QixrQkFBa0Isa0NBQWtDLEdBQUcsNkJBQTZCLGlEQUFpRCxrQkFBa0IsNEJBQTRCLG9CQUFvQixvQ0FBb0MsR0FBRyxnRkFBZ0Ysd0JBQXdCLEdBQUcsNkNBQTZDLDZCQUE2QixHQUFHLDRDQUE0QywyQkFBMkIsR0FBRyxnQ0FBZ0MsdUJBQXVCLGNBQWMsd0RBQXdELG1CQUFtQiw0QkFBNEIsb0JBQW9CLG9DQUFvQyxpQkFBaUIsR0FBRywrQ0FBK0Msa0JBQWtCLEdBQUcsK0NBQStDLG1CQUFtQixHQUFHLHlEQUF5RCxpQkFBaUIsR0FBRyx3Q0FBd0Msa0JBQWtCLEdBQUcsZ0RBQWdELDZCQUE2QixHQUFHLCtDQUErQywyQkFBMkIsR0FBRyw4QkFBOEIscUNBQXFDLGlCQUFpQixHQUFHLCtCQUErQiw0QkFBNEIsaUJBQWlCLEdBQUcsK0JBQStCLHFCQUFxQixHQUFHLGdDQUFnQyxtQkFBbUIsZUFBZSxpQ0FBaUMsK0JBQStCLGtDQUFrQywyQ0FBMkMsdUNBQXVDLDJDQUEyQyxzQkFBc0Isa0JBQWtCLHFCQUFxQiwyQ0FBMkMsaUNBQWlDLG1EQUFtRCx1Q0FBdUMsR0FBRywrQ0FBK0Msa0RBQWtELEdBQUcsc0NBQXNDLHVEQUF1RCxHQUFHLHNDQUFzQywyQ0FBMkMsR0FBRyx1Q0FBdUMsMkNBQTJDLEdBQUcsNkJBQTZCLGNBQWMsMkJBQTJCLGlCQUFpQix5QkFBeUIsd0JBQXdCLDRCQUE0QixHQUFHLGlDQUFpQyxnQkFBZ0IsaUJBQWlCLEdBQUcsdUNBQXVDLG1DQUFtQyx1QkFBdUIsY0FBYyxpQkFBaUIsZ0NBQWdDLHVCQUF1QixHQUFHLDBCQUEwQixrQkFBa0Isb0JBQW9CLGtCQUFrQixlQUFlLGNBQWMscUJBQXFCLGtDQUFrQyxHQUFHLDhCQUE4QixrQkFBa0IsbUJBQW1CLEdBQUcsZ0NBQWdDLHFCQUFxQixHQUFHLGtDQUFrQyxtQkFBbUIsNEJBQTRCLHFDQUFxQyxnQ0FBZ0MsR0FBRyxrQ0FBa0Msa0JBQWtCLDJCQUEyQixlQUFlLHFCQUFxQix3QkFBd0IsK0JBQStCLEdBQUcsd0NBQXdDLGtCQUFrQixHQUFHLDBEQUEwRCx1Q0FBdUMsZ0JBQWdCLEdBQUcsNENBQTRDLDBCQUEwQixHQUFHLG9DQUFvQyx3QkFBd0IsZUFBZSxpQkFBaUIsZ0JBQWdCLDZCQUE2QixHQUFHLGdFQUFnRSx1QkFBdUIsZUFBZSxjQUFjLGFBQWEsNkJBQTZCLEdBQUcsc0NBQXNDLG9DQUFvQyxHQUFHLCtDQUErQyxrQkFBa0IsbUNBQW1DLEdBQUcsZ0ZBQWdGLHFDQUFxQyxrREFBa0QscUJBQXFCLHdCQUF3Qix1Q0FBdUMsNENBQTRDLEdBQUcsb0hBQW9ILGtEQUFrRCxHQUFHLDRGQUE0RixrQkFBa0IsdURBQXVELEdBQUcsZ0JBQWdCLG9HQUFvRyxvQkFBb0IsS0FBSyxHQUFHLDJEQUEyRCwwQkFBMEIsdUJBQXVCLGNBQWMseUNBQXlDLGlDQUFpQywyQ0FBMkMsR0FBRyxpRUFBaUUsMkNBQTJDLEdBQUcsa0VBQWtFLDJDQUEyQyxHQUFHLDJFQUEyRSwyQkFBMkIsR0FBRywrREFBK0QscUJBQXFCLEdBQUcsNkJBQTZCLHNCQUFzQixvQkFBb0IsbUJBQW1CLGtCQUFrQix3QkFBd0IsNEJBQTRCLHNCQUFzQixHQUFHLHlEQUF5RCxrQkFBa0IsMkJBQTJCLHdCQUF3Qiw0QkFBNEIsa0JBQWtCLDhCQUE4Qiw4QkFBOEIsR0FBRyxrREFBa0QsbUJBQW1CLHFCQUFxQixHQUFHLCtEQUErRCx1QkFBdUIsR0FBRyw0RUFBNEUscUJBQXFCLEdBQUcsOEVBQThFLHFCQUFxQixHQUFHLGdEQUFnRCxrQkFBa0IsMkJBQTJCLDRCQUE0QixHQUFHLHlEQUF5RCxnQkFBZ0IsbUJBQW1CLDhCQUE4QixxQkFBcUIsR0FBRyxPQUFPLHdPQUF3TyxXQUFXLE1BQU0sS0FBSyxXQUFXLE1BQU0sS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxZQUFZLE9BQU8sS0FBSyxXQUFXLEtBQUssS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxNQUFNLE1BQU0sV0FBVyxXQUFXLFdBQVcsT0FBTyxNQUFNLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sV0FBVyxXQUFXLFdBQVcsTUFBTSxNQUFNLFdBQVcsTUFBTSxNQUFNLFdBQVcsV0FBVyxXQUFXLFdBQVcsTUFBTSxNQUFNLFdBQVcsTUFBTSxNQUFNLFdBQVcsTUFBTSxNQUFNLFdBQVcsV0FBVyxXQUFXLFdBQVcsTUFBTSxNQUFNLFVBQVUsV0FBVyxNQUFNLE1BQU0sVUFBVSxXQUFXLE1BQU0sUUFBUSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxNQUFNLE1BQU0sVUFBVSxVQUFVLE1BQU0sUUFBUSxVQUFVLE1BQU0sTUFBTSxVQUFVLE1BQU0sTUFBTSxVQUFVLFdBQVcsTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLFdBQVcsV0FBVyxXQUFXLE1BQU0sT0FBTyxVQUFVLFdBQVcsV0FBVyxNQUFNLE1BQU0sVUFBVSxNQUFNLE1BQU0sVUFBVSxXQUFXLE1BQU0sTUFBTSxXQUFXLFdBQVcsTUFBTSxNQUFNLFdBQVcsTUFBTSxNQUFNLFdBQVcsTUFBTSxNQUFNLFdBQVcsTUFBTSxNQUFNLFVBQVUsVUFBVSxNQUFNLE1BQU0sVUFBVSxXQUFXLFVBQVUsVUFBVSxNQUFNLE1BQU0sVUFBVSxZQUFZLFdBQVcsTUFBTSxPQUFPLFdBQVcsV0FBVyxNQUFNLE9BQU8sV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLE1BQU0sT0FBTyxXQUFXLFdBQVcsTUFBTSxPQUFPLFdBQVcsTUFBTSxPQUFPLFdBQVcsTUFBTSxPQUFPLFdBQVcsTUFBTSxPQUFPLFdBQVcsV0FBVyxNQUFNLE9BQU8sV0FBVyxNQUFNLE9BQU8sV0FBVyxNQUFNLE1BQU0sV0FBVyxXQUFXLFdBQVcsTUFBTSxNQUFNLFVBQVUsVUFBVSxVQUFVLFVBQVUsTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLFdBQVcsVUFBVSxXQUFXLE1BQU0sTUFBTSxXQUFXLFVBQVUsVUFBVSxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxXQUFXLFdBQVcsTUFBTSxNQUFNLFVBQVUsVUFBVSxVQUFVLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxNQUFNLE1BQU0sV0FBVyxNQUFNLE1BQU0sVUFBVSxXQUFXLE1BQU0sTUFBTSxVQUFVLFdBQVcsV0FBVyxVQUFVLE1BQU0sTUFBTSxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsTUFBTSxNQUFNLFVBQVUsV0FBVyxNQUFNLE1BQU0sV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLE1BQU0sTUFBTSxXQUFXLE1BQU0sTUFBTSxXQUFXLE1BQU0sTUFBTSxXQUFXLE1BQU0sTUFBTSxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFVBQVUsTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLFVBQVUsTUFBTSxNQUFNLFVBQVUsTUFBTSxLQUFLLFVBQVUsTUFBTSxLQUFLLFdBQVcsS0FBSyxLQUFLLFdBQVcsS0FBSyxLQUFLLFdBQVcsVUFBVSxLQUFLLEtBQUssV0FBVyxVQUFVLEtBQUssS0FBSyxXQUFXLEtBQUssS0FBSyxVQUFVLFVBQVUsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssVUFBVSxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssV0FBVyxXQUFXLFVBQVUsVUFBVSxXQUFXLFdBQVcsS0FBSyxLQUFLLFVBQVUsVUFBVSxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsS0FBSyxLQUFLLFVBQVUsVUFBVSxLQUFLLEtBQUssV0FBVyxLQUFLLEtBQUssVUFBVSxXQUFXLFdBQVcsV0FBVyxLQUFLLEtBQUss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OENBQThDLDhDQUE4Qyw4Q0FBOEMsOENBQThDLDhDQUE4Qyw4Q0FBOEMsOENBQThDLDRRQUE0USw4Q0FBOEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsNENBQTRDLDRDQUE0Qyw0Q0FBNEMsZ1JBQWdSLGtEQUFrRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnUkFBZ1Isa0RBQWtELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELGdEQUFnRCxnREFBZ0QsZ0RBQWdELHlGQUF5Rix1ZEFBdWQscUJBQXFCO0FBQy93OEM7QUFDQSxpRUFBZSx1QkFBdUIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uLi8uLi9jc3Mvc3R5bGVzLnNjc3M/MGQ1NSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vcGFja2FnZXMvZXhjYWxpZHJhdy9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvc291cmNlTWFwcy5qc1wiO1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyBmcm9tIFwiLi4vcGFja2FnZXMvZXhjYWxpZHJhdy9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9HRVRfVVJMX0lNUE9SVF9fXyBmcm9tIFwiLi4vcGFja2FnZXMvZXhjYWxpZHJhdy9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvZ2V0VXJsLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18gPSBuZXcgVVJMKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB3aWR0aD1cXFwiMjkyLjRcXFwiIGhlaWdodD1cXFwiMjkyLjRcXFwiIHZpZXdCb3g9XFxcIjAgMCAyOTIgMjkyXFxcIj48cGF0aCBkPVxcXCJNMjg3IDE5N0wxNTkgNjljLTQtMy04LTUtMTMtNXMtOSAyLTEzIDVMNSAxOTdjLTMgNC01IDgtNSAxM3MyIDkgNSAxM2M0IDQgOCA1IDEzIDVoMjU2YzUgMCA5LTEgMTMtNXM1LTggNS0xMy0xLTktNS0xM3pcXFwiLz48L3N2Zz5cIiwgaW1wb3J0Lm1ldGEudXJsKTtcbnZhciBfX19DU1NfTE9BREVSX1VSTF9JTVBPUlRfMV9fXyA9IG5ldyBVUkwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHdpZHRoPVxcXCIyOTIuNFxcXCIgaGVpZ2h0PVxcXCIyOTIuNFxcXCIgdmlld0JveD1cXFwiMCAwIDI5MiAyOTJcXFwiPjxwYXRoIGZpbGw9XFxcIiUyM2NlZDRkYVxcXCIgZD1cXFwiTTI4NyAxOTdMMTU5IDY5Yy00LTMtOC01LTEzLTVzLTkgMi0xMyA1TDUgMTk3Yy0zIDQtNSA4LTUgMTNzMiA5IDUgMTNjNCA0IDggNSAxMyA1aDI1NmM1IDAgOS0xIDEzLTVzNS04IDUtMTMtMS05LTUtMTN6XFxcIi8+PC9zdmc+XCIsIGltcG9ydC5tZXRhLnVybCk7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG52YXIgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyA9IF9fX0NTU19MT0FERVJfR0VUX1VSTF9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9VUkxfSU1QT1JUXzBfX18pO1xudmFyIF9fX0NTU19MT0FERVJfVVJMX1JFUExBQ0VNRU5UXzFfX18gPSBfX19DU1NfTE9BREVSX0dFVF9VUkxfSU1QT1JUX19fKF9fX0NTU19MT0FERVJfVVJMX0lNUE9SVF8xX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIjpleHBvcnQge1xcbiAgdGhlbWVGaWx0ZXI6IGludmVydCg5MyUpIGh1ZS1yb3RhdGUoMTgwZGVnKTtcXG59XFxuXFxuOmV4cG9ydCB7XFxuICB0aGVtZUZpbHRlcjogaW52ZXJ0KDkzJSkgaHVlLXJvdGF0ZSgxODBkZWcpO1xcbn1cXG5cXG4uZXhjYWxpZHJhdyB7XFxuICAtLXRoZW1lLWZpbHRlcjogbm9uZTtcXG4gIC0tYnV0dG9uLWRlc3RydWN0aXZlLWJnLWNvbG9yOiAjZmZlM2UzO1xcbiAgLS1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3I6ICNjOTJhMmE7XFxuICAtLWJ1dHRvbi1ncmF5LTE6ICNlOWVjZWY7XFxuICAtLWJ1dHRvbi1ncmF5LTI6ICNjZWQ0ZGE7XFxuICAtLWJ1dHRvbi1ncmF5LTM6ICNhZGI1YmQ7XFxuICAtLWJ1dHRvbi1zcGVjaWFsLWFjdGl2ZS1iZy1jb2xvcjogI2ViZmJlZTtcXG4gIC0tZGlhbG9nLWJvcmRlci1jb2xvcjogIzg2OGU5NjtcXG4gIC0tZHJvcGRvd24taWNvbjogdXJsKFwiICsgX19fQ1NTX0xPQURFUl9VUkxfUkVQTEFDRU1FTlRfMF9fXyArIFwiKTtcXG4gIC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yOiAjYTVkOGZmO1xcbiAgLS1pY29uLWZpbGwtY29sb3I6ICMyMTI1Mjk7XFxuICAtLWljb24tZ3JlZW4tZmlsbC1jb2xvcjogIzJiOGEzZTtcXG4gIC0tZGVmYXVsdC1iZy1jb2xvcjogI2ZmZmZmZjtcXG4gIC0taW5wdXQtYmctY29sb3I6ICNmZmZmZmY7XFxuICAtLWlucHV0LWJvcmRlci1jb2xvcjogI2NlZDRkYTtcXG4gIC0taW5wdXQtaG92ZXItYmctY29sb3I6ICNmMWYzZjU7XFxuICAtLWlucHV0LWxhYmVsLWNvbG9yOiAjNDk1MDU3O1xcbiAgLS1pc2xhbmQtYmctY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nik7XFxuICAtLWtleWJpbmRpbmctY29sb3I6ICNhZGI1YmQ7XFxuICAtLWxpbmstY29sb3I6ICMxYzdlZDY7XFxuICAtLW92ZXJsYXktYmctY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44OCk7XFxuICAtLXBvcHVwLWJnLWNvbG9yOiAjZmZmZmZmO1xcbiAgLS1wb3B1cC1zZWNvbmRhcnktYmctY29sb3I6ICNmMWYzZjU7XFxuICAtLXBvcHVwLXRleHQtY29sb3I6ICMwMDAwMDA7XFxuICAtLXBvcHVwLXRleHQtaW52ZXJ0ZWQtY29sb3I6ICNmZmZmZmY7XFxuICAtLXNhYjogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xcbiAgLS1zYWw6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XFxuICAtLXNhcjogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XFxuICAtLXNhdDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApO1xcbiAgLS1zZWxlY3QtaGlnaGxpZ2h0LWNvbG9yOiAjMzM5YWYwO1xcbiAgLS1zaGFkb3ctaXNsYW5kOiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjAxKSwgMXB4IDFweCA1cHggcmdiKDAgMCAwIC8gMTIlKTtcXG4gIC0tc3BhY2UtZmFjdG9yOiAwLjI1cmVtO1xcbiAgLS10ZXh0LXByaW1hcnktY29sb3I6ICMzNDNhNDA7XFxuICAtLWNvbG9yLXByaW1hcnk6ICM2OTY1ZGI7XFxuICAtLWNvbG9yLXByaW1hcnktY2h1YmI6ICM2MjVlZTA7XFxuICAtLWNvbG9yLXByaW1hcnktZGFya2VyOiAjNWI1N2QxO1xcbiAgLS1jb2xvci1wcmltYXJ5LWRhcmtlc3Q6ICM0YTQ3YjE7XFxuICAtLWNvbG9yLXByaW1hcnktbGlnaHQ6ICNlMmUxZmM7XFxuICAtLWJvcmRlci1yYWRpdXMtbWQ6IDAuMzc1cmVtO1xcbiAgLS1ib3JkZXItcmFkaXVzLWxnOiAwLjVyZW07XFxufVxcbi5leGNhbGlkcmF3LnRoZW1lLS1kYXJrIHtcXG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XFxufVxcbi5leGNhbGlkcmF3LnRoZW1lLS1kYXJrLnRoZW1lLS1kYXJrLWJhY2tncm91bmQtbm9uZSB7XFxuICBiYWNrZ3JvdW5kOiBub25lO1xcbn1cXG4uZXhjYWxpZHJhdy50aGVtZS0tZGFyayB7XFxuICAtLXRoZW1lLWZpbHRlcjogaW52ZXJ0KDkzJSkgaHVlLXJvdGF0ZSgxODBkZWcpO1xcbiAgLS1idXR0b24tZGVzdHJ1Y3RpdmUtYmctY29sb3I6ICM1YTAwMDA7XFxuICAtLWJ1dHRvbi1kZXN0cnVjdGl2ZS1jb2xvcjogI2ZmYThhODtcXG4gIC0tYnV0dG9uLWdyYXktMTogIzM2MzYzNjtcXG4gIC0tYnV0dG9uLWdyYXktMjogIzI3MjcyNztcXG4gIC0tYnV0dG9uLWdyYXktMzogIzIyMjtcXG4gIC0tYnV0dG9uLXNwZWNpYWwtYWN0aXZlLWJnLWNvbG9yOiAjMjA0NjI0O1xcbiAgLS1kaWFsb2ctYm9yZGVyLWNvbG9yOiAjMjEyNTI5O1xcbiAgLS1kcm9wZG93bi1pY29uOiB1cmwoXCIgKyBfX19DU1NfTE9BREVSX1VSTF9SRVBMQUNFTUVOVF8xX19fICsgXCIpO1xcbiAgLS1mb2N1cy1oaWdobGlnaHQtY29sb3I6ICMyMjhiZTY7XFxuICAtLWljb24tZmlsbC1jb2xvcjogI2NlZDRkYTtcXG4gIC0taWNvbi1ncmVlbi1maWxsLWNvbG9yOiAjNjlkYjdjO1xcbiAgLS1kZWZhdWx0LWJnLWNvbG9yOiAjMTIxMjEyO1xcbiAgLS1pbnB1dC1iZy1jb2xvcjogIzEyMTIxMjtcXG4gIC0taW5wdXQtYm9yZGVyLWNvbG9yOiAjMmUyZTJlO1xcbiAgLS1pbnB1dC1ob3Zlci1iZy1jb2xvcjogIzE4MTgxODtcXG4gIC0taW5wdXQtbGFiZWwtY29sb3I6ICNlOWVjZWY7XFxuICAtLWlzbGFuZC1iZy1jb2xvcjogcmdiYSgzMCwgMzAsIDMwLCAwLjk4KTtcXG4gIC0ta2V5YmluZGluZy1jb2xvcjogIzg2OGU5NjtcXG4gIC0tbGluay1jb2xvcjogIzRkYWJmNztcXG4gIC0tb3ZlcmxheS1iZy1jb2xvcjogcmdiYSg1MiwgNTgsIDY0LCAwLjEyKTtcXG4gIC0tcG9wdXAtYmctY29sb3I6ICMyYzJjMmM7XFxuICAtLXBvcHVwLXNlY29uZGFyeS1iZy1jb2xvcjogIzIyMjtcXG4gIC0tcG9wdXAtdGV4dC1jb2xvcjogI2NlZDRkYTtcXG4gIC0tcG9wdXAtdGV4dC1pbnZlcnRlZC1jb2xvcjogIzYzNWM1YztcXG4gIC0tc2VsZWN0LWhpZ2hsaWdodC1jb2xvcjogIzRkYWJmNztcXG4gIC0tc2hhZG93LWlzbGFuZDogMXB4IDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xcbiAgLS10ZXh0LXByaW1hcnktY29sb3I6ICNjZWQ0ZGE7XFxuICAtLWNvbG9yLXByaW1hcnk6ICM1NjUwZjA7XFxuICAtLWNvbG9yLXByaW1hcnktY2h1YmI6ICM3MjZkZmY7XFxuICAtLWNvbG9yLXByaW1hcnktZGFya2VyOiAjNGI0NmQ4O1xcbiAgLS1jb2xvci1wcmltYXJ5LWRhcmtlc3Q6ICMzZTM5YmU7XFxuICAtLWNvbG9yLXByaW1hcnktbGlnaHQ6ICMzZjNkNjQ7XFxufVxcblxcbjpyb290IHtcXG4gIC0tekluZGV4LWNhbnZhczogMTtcXG4gIC0tekluZGV4LXd5c2l3eWc6IDI7XFxuICAtLXpJbmRleC1sYXllclVJOiAzO1xcbn1cXG5cXG4uZXhjYWxpZHJhdyB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgdG9wOiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIHJpZ2h0OiAwO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG59XFxuLmV4Y2FsaWRyYXc6Zm9jdXMge1xcbiAgb3V0bGluZTogbm9uZTtcXG59XFxuLmV4Y2FsaWRyYXcgYSB7XFxuICBmb250LXdlaWdodDogNTAwO1xcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xcbiAgY29sb3I6IHZhcigtLWxpbmstY29sb3IpO1xcbn1cXG4uZXhjYWxpZHJhdyBhOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG4uZXhjYWxpZHJhdyBjYW52YXMge1xcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xcbiAgaW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7XFxuICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XFxuICB6LWluZGV4OiB2YXIoLS16SW5kZXgtY2FudmFzKTtcXG59XFxuLmV4Y2FsaWRyYXdfX2NhbnZhcyB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxufVxcbi5leGNhbGlkcmF3LnRoZW1lLS1kYXJrIGNhbnZhcyB7XFxuICBmaWx0ZXI6IHZhcigtLXRoZW1lLWZpbHRlcik7XFxufVxcbi5leGNhbGlkcmF3IC5GaXhlZFNpZGVDb250YWluZXIge1xcbiAgcGFkZGluZy10b3A6IHZhcigtLXNhdCwgMCk7XFxuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zYXIsIDApO1xcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNhYiwgMCk7XFxuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNhbCwgMCk7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbFJvdyB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uZXhjYWxpZHJhdyAucGFuZWxDb2x1bW4ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiBoMyxcXG4uZXhjYWxpZHJhdyAucGFuZWxDb2x1bW4gbGVnZW5kLFxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiAuY29udHJvbC1sYWJlbCB7XFxuICBtYXJnaW4tdG9wOiAwLjMzM3JlbTtcXG4gIG1hcmdpbi1ib3R0b206IDAuMzMzcmVtO1xcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICBmb250LXdlaWdodDogYm9sZDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZXhjYWxpZHJhdyAucGFuZWxDb2x1bW4gLmNvbnRyb2wtbGFiZWwgaW5wdXQge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB3aWR0aDogMTAwJTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIGgzOmZpcnN0LWNoaWxkLFxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiBsZWdlbmQ6Zmlyc3QtY2hpbGQsXFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIC5jb250cm9sLWxhYmVsOmZpcnN0LWNoaWxkIHtcXG4gIG1hcmdpbi10b3A6IDA7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiBsZWdlbmQge1xcbiAgcGFkZGluZzogMDtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIC5pY29uU2VsZWN0TGlzdCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiAuYnV0dG9uTGlzdCB7XFxuICBmbGV4LXdyYXA6IHdyYXA7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiAuYnV0dG9uTGlzdCBsYWJlbCB7XFxuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XFxuICBmb250LXNpemU6IDAuNzVyZW07XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiAuYnV0dG9uTGlzdCBpbnB1dFt0eXBlPXJhZGlvXSxcXG4uZXhjYWxpZHJhdyAucGFuZWxDb2x1bW4gLmJ1dHRvbkxpc3QgaW5wdXRbdHlwZT1idXR0b25dIHtcXG4gIG9wYWNpdHk6IDA7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIC5idXR0b25MaXN0IC5pY29uUm93IHtcXG4gIG1hcmdpbi10b3A6IDhweDtcXG59XFxuLmV4Y2FsaWRyYXcgLnBhbmVsQ29sdW1uIC5idXR0b25MaXN0IC5Ub29sSWNvbiB7XFxuICBtYXJnaW46IDA7XFxuICBtYXJnaW4taW5saW5lLWVuZDogOHB4O1xcbn1cXG4uZXhjYWxpZHJhdyAucGFuZWxDb2x1bW4gLmJ1dHRvbkxpc3QgLlRvb2xJY29uOmZvY3VzIHtcXG4gIG91dGxpbmU6IHRyYW5zcGFyZW50O1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcik7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiAuYnV0dG9uTGlzdCAuVG9vbEljb246aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiAuYnV0dG9uTGlzdCAuVG9vbEljb246YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbn1cXG4uZXhjYWxpZHJhdyAucGFuZWxDb2x1bW4gLmJ1dHRvbkxpc3QgLlRvb2xJY29uOmRpc2FibGVkIHtcXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiAuYnV0dG9uTGlzdCAuVG9vbEljb25fX2ljb24ge1xcbiAgd2lkdGg6IDI4cHg7XFxuICBoZWlnaHQ6IDI4cHg7XFxufVxcbi5leGNhbGlkcmF3IC5wYW5lbENvbHVtbiBmaWVsZHNldCB7XFxuICBtYXJnaW46IDA7XFxuICBtYXJnaW4tdG9wOiAwLjMzM3JlbTtcXG4gIHBhZGRpbmc6IDA7XFxuICBib3JkZXI6IG5vbmU7XFxufVxcbi5leGNhbGlkcmF3IC5kaXZpZGVyIHtcXG4gIHdpZHRoOiAxcHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xcbiAgbWFyZ2luOiAxcHg7XFxufVxcbi5leGNhbGlkcmF3IC5idXR0b25MaXN0IGxhYmVsOmZvY3VzLXdpdGhpbixcXG4uZXhjYWxpZHJhdyBpbnB1dDpmb2N1cy12aXNpYmxlIHtcXG4gIG91dGxpbmU6IHRyYW5zcGFyZW50O1xcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcik7XFxufVxcbi5leGNhbGlkcmF3IGJ1dHRvbixcXG4uZXhjYWxpZHJhdyAuYnV0dG9uTGlzdCBsYWJlbCB7XFxuICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbiAgYm9yZGVyOiAwO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZCk7XFxuICBtYXJnaW46IDAuMTI1cmVtIDA7XFxuICBwYWRkaW5nOiAwLjI1cmVtO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmV4Y2FsaWRyYXcgYnV0dG9uOmZvY3VzLXZpc2libGUsXFxuLmV4Y2FsaWRyYXcgLmJ1dHRvbkxpc3QgbGFiZWw6Zm9jdXMtdmlzaWJsZSB7XFxuICBvdXRsaW5lOiB0cmFuc3BhcmVudDtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb2N1cy1oaWdobGlnaHQtY29sb3IpO1xcbn1cXG4uZXhjYWxpZHJhdyBidXR0b246aG92ZXIsXFxuLmV4Y2FsaWRyYXcgLmJ1dHRvbkxpc3QgbGFiZWw6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IGJ1dHRvbjphY3RpdmUsXFxuLmV4Y2FsaWRyYXcgLmJ1dHRvbkxpc3QgbGFiZWw6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTMpO1xcbn1cXG4uZXhjYWxpZHJhdyBidXR0b246ZGlzYWJsZWQsXFxuLmV4Y2FsaWRyYXcgLmJ1dHRvbkxpc3QgbGFiZWw6ZGlzYWJsZWQge1xcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG59XFxuLmV4Y2FsaWRyYXcgLmFjdGl2ZSxcXG4uZXhjYWxpZHJhdyAuYnV0dG9uTGlzdCBsYWJlbC5hY3RpdmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XFxuICAtLWljb24tZmlsbC1jb2xvcjogI2ZmZmZmZjtcXG59XFxuLmV4Y2FsaWRyYXcgLmFjdGl2ZTpob3ZlcixcXG4uZXhjYWxpZHJhdyAuYnV0dG9uTGlzdCBsYWJlbC5hY3RpdmU6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXIpO1xcbn1cXG4uZXhjYWxpZHJhdyAuYWN0aXZlOmFjdGl2ZSxcXG4uZXhjYWxpZHJhdyAuYnV0dG9uTGlzdCBsYWJlbC5hY3RpdmU6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCk7XFxufVxcbi5leGNhbGlkcmF3IC5idXR0b25MaXN0LmJ1dHRvbkxpc3RJY29uIGxhYmVsIHtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbn1cXG4uZXhjYWxpZHJhdyAuYnV0dG9uTGlzdC5idXR0b25MaXN0SWNvbiBsYWJlbCBzdmcge1xcbiAgd2lkdGg6IDM1cHg7XFxuICBoZWlnaHQ6IDE0cHg7XFxuICBwYWRkaW5nOiAycHg7XFxuICBvcGFjaXR5OiAwLjY7XFxufVxcbi5leGNhbGlkcmF3IC5idXR0b25MaXN0LmJ1dHRvbkxpc3RJY29uIGxhYmVsLmFjdGl2ZSBzdmcge1xcbiAgb3BhY2l0eTogMTtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC10b3AtYmFyIHtcXG4gIHotaW5kZXg6IHZhcigtLXpJbmRleC1sYXllclVJKTtcXG4gIGRpc3BsYXk6IGdyaWQ7XFxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBtYXgtY29udGVudCAxZnI7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtYm90dG9tLWJhciB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDA7XFxuICBib3R0b206IDA7XFxuICBsZWZ0OiAwO1xcbiAgcmlnaHQ6IDA7XFxuICAtLWJhci1wYWRkaW5nOiBjYWxjKDQgKiB2YXIoLS1zcGFjZS1mYWN0b3IpKTtcXG4gIHBhZGRpbmctdG9wOiBtYXgodmFyKC0tYmFyLXBhZGRpbmcpLCB2YXIoLS1zYXQsMCkpO1xcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc2FyLCAwKTtcXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zYWIsIDApO1xcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zYWwsIDApO1xcbiAgei1pbmRleDogNDtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC1ib3R0b20tYmFyID4gLklzbGFuZCB7XFxuICB3aWR0aDogMTAwJTtcXG4gIG1heC13aWR0aDogMTAwJTtcXG4gIG1pbi13aWR0aDogMTAwJTtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBtYXgtaGVpZ2h0OiAxMDAlO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC1ib3R0b20tYmFyID4gLklzbGFuZCAucGFuZWxDb2x1bW4ge1xcbiAgcGFkZGluZzogOHB4IDhweCAwIDhweDtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC10b29sYmFyIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC10b29sYmFyLWNvbnRlbnQge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBwYWRkaW5nOiA4cHg7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtbW9iaWxlLW1lbnUge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1iYXItcGFkZGluZyk7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtbWVudSB7XFxuICBkaXNwbGF5OiBncmlkO1xcbiAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtbWVudV90b3Age1xcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1heC1jb250ZW50IGF1dG87XFxuICBncmlkLWdhcDogNHB4O1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xcbn1cXG4uZXhjYWxpZHJhdyAubGF5ZXItdWlfX3dyYXBwZXI6bm90KC5kaXNhYmxlLXBvaW50ZXJFdmVudHMpIC5BcHAtbWVudV90b3AgPiAqIHtcXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtbWVudV90b3AgPiAqOmZpcnN0LWNoaWxkIHtcXG4gIGp1c3RpZnktc2VsZjogZmxleC1zdGFydDtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC1tZW51X3RvcCA+ICo6bGFzdC1jaGlsZCB7XFxuICBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLW1lbnVfYm90dG9tIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGJvdHRvbTogMDtcXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgYXV0byBtaW4tY29udGVudDtcXG4gIGdyaWQtZ2FwOiAxNXB4O1xcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XFxuICBjdXJzb3I6IGRlZmF1bHQ7XFxuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xcbiAgei1pbmRleDogMTAwO1xcbn1cXG46cm9vdFtkaXI9bHRyXSAuZXhjYWxpZHJhdyAuQXBwLW1lbnVfYm90dG9tIHtcXG4gIGxlZnQ6IDAuMjVyZW07XFxufVxcbjpyb290W2Rpcj1ydGxdIC5leGNhbGlkcmF3IC5BcHAtbWVudV9ib3R0b20ge1xcbiAgcmlnaHQ6IDAuMjVyZW07XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtbWVudV9ib3R0b20tLXRyYW5zaXRpb24tbGVmdCBzZWN0aW9uIHtcXG4gIHdpZHRoOiAxODVweDtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC1tZW51X2JvdHRvbSBzZWN0aW9uIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5leGNhbGlkcmF3IC5BcHAtbWVudV9ib3R0b20gPiAqOmZpcnN0LWNoaWxkIHtcXG4gIGp1c3RpZnktc2VsZjogZmxleC1zdGFydDtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC1tZW51X2JvdHRvbSA+ICo6bGFzdC1jaGlsZCB7XFxuICBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLW1lbnVfbGVmdCB7XFxuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvIDFmcjtcXG4gIGhlaWdodDogMTAwJTtcXG59XFxuLmV4Y2FsaWRyYXcgLkFwcC1tZW51X3JpZ2h0IHtcXG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbn1cXG4uZXhjYWxpZHJhdyAuQXBwLW1lbnVfX2xlZnQge1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG59XFxuLmV4Y2FsaWRyYXcgLmRyb3Bkb3duLXNlbGVjdCB7XFxuICBoZWlnaHQ6IDEuNXJlbTtcXG4gIHBhZGRpbmc6IDA7XFxuICBwYWRkaW5nLWlubGluZS1zdGFydDogMC41cmVtO1xcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiAxLjVyZW07XFxuICBjb2xvcjogdmFyKC0taWNvbi1maWxsLWNvbG9yKTtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2UtZmFjdG9yKTtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbiAgZm9udC1zaXplOiAwLjhyZW07XFxuICBvdXRsaW5lOiBub25lO1xcbiAgYXBwZWFyYW5jZTogbm9uZTtcXG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRyb3Bkb3duLWljb24pO1xcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuN3JlbSB0b3AgNTAlLCAwIDA7XFxuICBiYWNrZ3JvdW5kLXNpemU6IDAuNjVlbSBhdXRvLCAxMDAlO1xcbn1cXG46cm9vdFtkaXI9cnRsXSAuZXhjYWxpZHJhdyAuZHJvcGRvd24tc2VsZWN0IHtcXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMC43cmVtIHRvcCA1MCUsIDAgMDtcXG59XFxuLmV4Y2FsaWRyYXcgLmRyb3Bkb3duLXNlbGVjdDpmb2N1cyB7XFxuICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLmRyb3Bkb3duLXNlbGVjdDpob3ZlciB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLmRyb3Bkb3duLXNlbGVjdDphY3RpdmUge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxufVxcbi5leGNhbGlkcmF3IC56SW5kZXhCdXR0b24ge1xcbiAgbWFyZ2luOiAwO1xcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDhweDtcXG4gIHBhZGRpbmc6IDVweDtcXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbn1cXG4uZXhjYWxpZHJhdyAuekluZGV4QnV0dG9uIHN2ZyB7XFxuICB3aWR0aDogMThweDtcXG4gIGhlaWdodDogMThweDtcXG59XFxuLmV4Y2FsaWRyYXcgLnNjcm9sbC1iYWNrLXRvLWNvbnRlbnQge1xcbiAgY29sb3I6IHZhcigtLXBvcHVwLXRleHQtY29sb3IpO1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgbGVmdDogNTAlO1xcbiAgYm90dG9tOiAzMHB4O1xcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xcbiAgcGFkZGluZzogMTBweCAyMHB4O1xcbn1cXG4uZXhjYWxpZHJhdyAuaGVscC1pY29uIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBmaWxsOiAjODY4ZTk2O1xcbiAgcGFkZGluZzogMDtcXG4gIG1hcmdpbjogMDtcXG4gIGJhY2tncm91bmQ6IG5vbmU7XFxuICBjb2xvcjogdmFyKC0taWNvbi1maWxsLWNvbG9yKTtcXG59XFxuLmV4Y2FsaWRyYXcgLmhlbHAtaWNvbiBzdmcge1xcbiAgd2lkdGg6IDEuNXJlbTtcXG4gIGhlaWdodDogMS41cmVtO1xcbn1cXG4uZXhjYWxpZHJhdyAuaGVscC1pY29uOmhvdmVyIHtcXG4gIGJhY2tncm91bmQ6IG5vbmU7XFxufVxcbi5leGNhbGlkcmF3IC5yZXNldC16b29tLWJ1dHRvbiB7XFxuICBwYWRkaW5nOiAwLjJlbTtcXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICBmb250LWZhbWlseTogdmFyKC0tdWktZm9udCk7XFxufVxcbi5leGNhbGlkcmF3IC51bmRvLXJlZG8tYnV0dG9ucyB7XFxuICBkaXNwbGF5OiBncmlkO1xcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcXG4gIGdhcDogMC40ZW07XFxuICBtYXJnaW4tdG9wOiBhdXRvO1xcbiAgbWFyZ2luLWJvdHRvbTogYXV0bztcXG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAuNmVtO1xcbn1cXG4uZXhjYWxpZHJhdy0tbW9iaWxlLmV4Y2FsaWRyYXcgYXNpZGUge1xcbiAgZGlzcGxheTogbm9uZTtcXG59XFxuLmV4Y2FsaWRyYXctLW1vYmlsZS5leGNhbGlkcmF3IC5zY3JvbGwtYmFjay10by1jb250ZW50IHtcXG4gIGJvdHRvbTogY2FsYyg4MHB4ICsgdmFyKC0tc2FiLCAwKSk7XFxuICB6LWluZGV4OiAtMTtcXG59XFxuXFxuOnJvb3RbZGlyPXJ0bF0gLmV4Y2FsaWRyYXcgLnJ0bC1taXJyb3Ige1xcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xcbn1cXG4uZXhjYWxpZHJhdyAuemVuLW1vZGUtdmlzaWJpbGl0eSB7XFxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xcbiAgb3BhY2l0eTogMTtcXG4gIGhlaWdodDogYXV0bztcXG4gIHdpZHRoOiBhdXRvO1xcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xcbn1cXG4uZXhjYWxpZHJhdyAuemVuLW1vZGUtdmlzaWJpbGl0eS56ZW4tbW9kZS12aXNpYmlsaXR5LS1oaWRkZW4ge1xcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xcbiAgb3BhY2l0eTogMDtcXG4gIGhlaWdodDogMDtcXG4gIHdpZHRoOiAwO1xcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xcbn1cXG4uZXhjYWxpZHJhdyAuZGlzYWJsZS1wb2ludGVyRXZlbnRzIHtcXG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XFxufVxcbi5leGNhbGlkcmF3LmV4Y2FsaWRyYXctLXZpZXctbW9kZSAuQXBwLW1lbnUge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLmV4Y2FsaWRyYXcgaW5wdXRbdHlwZT10ZXh0XSxcXG4uZXhjYWxpZHJhdyB0ZXh0YXJlYTpub3QoLmV4Y2FsaWRyYXctd3lzaXd5Zykge1xcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWlucHV0LWJvcmRlci1jb2xvcik7XFxuICBwYWRkaW5nOiAwLjc1cmVtO1xcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNlLWZhY3Rvcik7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbnB1dC1iZy1jb2xvcik7XFxufVxcbi5leGNhbGlkcmF3IGlucHV0W3R5cGU9dGV4dF06bm90KDpmb2N1cyk6aG92ZXIsXFxuLmV4Y2FsaWRyYXcgdGV4dGFyZWE6bm90KC5leGNhbGlkcmF3LXd5c2l3eWcpOm5vdCg6Zm9jdXMpOmhvdmVyIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWhvdmVyLWJnLWNvbG9yKTtcXG59XFxuLmV4Y2FsaWRyYXcgaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcXG4uZXhjYWxpZHJhdyB0ZXh0YXJlYTpub3QoLmV4Y2FsaWRyYXctd3lzaXd5Zyk6Zm9jdXMge1xcbiAgb3V0bGluZTogbm9uZTtcXG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb2N1cy1oaWdobGlnaHQtY29sb3IpO1xcbn1cXG5AbWVkaWEgcHJpbnQge1xcbiAgLmV4Y2FsaWRyYXcgLkFwcC1ib3R0b20tYmFyLFxcbi5leGNhbGlkcmF3IC5GaXhlZFNpZGVDb250YWluZXIsXFxuLmV4Y2FsaWRyYXcgLmxheWVyLXVpX193cmFwcGVyIHtcXG4gICAgZGlzcGxheTogbm9uZTtcXG4gIH1cXG59XFxuLmV4Y2FsaWRyYXcgLkhvbWVCdXR0b24uVG9vbEljb24uVG9vbEljb25fdHlwZV9mbG9hdGluZyB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB0b3A6IDYwcHg7XFxuICBsZWZ0OiBjYWxjKC0yICogdmFyKC0tc3BhY2UtZmFjdG9yKSk7XFxuICBib3JkZXItcmFkaXVzOiAwIDIwcHggMjBweCAwO1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMSk7XFxufVxcbi5leGNhbGlkcmF3IC5Ib21lQnV0dG9uLlRvb2xJY29uLlRvb2xJY29uX3R5cGVfZmxvYXRpbmc6aG92ZXIge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMSk7XFxufVxcbi5leGNhbGlkcmF3IC5Ib21lQnV0dG9uLlRvb2xJY29uLlRvb2xJY29uX3R5cGVfZmxvYXRpbmc6YWN0aXZlIHtcXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTIpO1xcbn1cXG4uZXhjYWxpZHJhdyAuSG9tZUJ1dHRvbi5Ub29sSWNvbi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIC5Ub29sSWNvbl9faWNvbiB7XFxuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbn1cXG4uZXhjYWxpZHJhdyAuSG9tZUJ1dHRvbi5Ub29sSWNvbi5Ub29sSWNvbl90eXBlX2Zsb2F0aW5nIHN2ZyB7XFxuICBwb3NpdGlvbjogc3RhdGljO1xcbn1cXG5cXG4uRXJyb3JTcGxhc2guZXhjYWxpZHJhdyB7XFxuICBtaW4taGVpZ2h0OiAxMDB2aDtcXG4gIHBhZGRpbmc6IDIwcHggMDtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xcbn1cXG4uRXJyb3JTcGxhc2guZXhjYWxpZHJhdyAuRXJyb3JTcGxhc2gtbWVzc2FnZUNvbnRhaW5lciB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIHBhZGRpbmc6IDQwcHg7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlM2UzO1xcbiAgYm9yZGVyOiAzcHggc29saWQgI2M5MmEyYTtcXG59XFxuLkVycm9yU3BsYXNoLmV4Y2FsaWRyYXcgLkVycm9yU3BsYXNoLXBhcmFncmFwaCB7XFxuICBtYXJnaW46IDE1cHggMDtcXG4gIG1heC13aWR0aDogNjAwcHg7XFxufVxcbi5FcnJvclNwbGFzaC5leGNhbGlkcmF3IC5FcnJvclNwbGFzaC1wYXJhZ3JhcGguYWxpZ24tY2VudGVyIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG59XFxuLkVycm9yU3BsYXNoLmV4Y2FsaWRyYXcgLmJpZ2dlcixcXG4uRXJyb3JTcGxhc2guZXhjYWxpZHJhdyAuYmlnZ2VyIGJ1dHRvbiB7XFxuICBmb250LXNpemU6IDEuMWVtO1xcbn1cXG4uRXJyb3JTcGxhc2guZXhjYWxpZHJhdyAuc21hbGxlcixcXG4uRXJyb3JTcGxhc2guZXhjYWxpZHJhdyAuc21hbGxlciBidXR0b24ge1xcbiAgZm9udC1zaXplOiAwLjllbTtcXG59XFxuLkVycm9yU3BsYXNoLmV4Y2FsaWRyYXcgLkVycm9yU3BsYXNoLWRldGFpbHMge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcXG59XFxuLkVycm9yU3BsYXNoLmV4Y2FsaWRyYXcgLkVycm9yU3BsYXNoLWRldGFpbHMgdGV4dGFyZWEge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtYXJnaW46IDEwcHggMDtcXG4gIGZvbnQtZmFtaWx5OiBcXFwiQ2FzY2FkaWFcXFwiO1xcbiAgZm9udC1zaXplOiAwLjhlbTtcXG59XCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vLi4vLi4vY3NzL3ZhcmlhYmxlcy5tb2R1bGUuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vY3NzL3N0eWxlcy5zY3NzXCIsXCJ3ZWJwYWNrOi8vLi8uLi8uLi9jc3MvdGhlbWUuc2Nzc1wiLFwid2VicGFjazovLy4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL29wZW4tY29sb3Ivb3Blbi1jb2xvci5zY3NzXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQVVBO0VBQ0UsMkNBQUE7QUNURjs7QURRQTtFQUNFLDJDQUFBO0FDTEY7O0FDSEE7RUFDRSxvQkFBQTtFQUNBLHNDQUFBO0VBQ0EsbUNBQUE7RUFDQSx3QkFBQTtFQUNBLHdCQUFBO0VBQ0Esd0JBQUE7RUFDQSx5Q0FBQTtFQUNBLDhCQUFBO0VBQ0Esd0RBQUE7RUFDQSxnQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsZ0NBQUE7RUFDQSwyQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7RUFDQSwrQkFBQTtFQUNBLDRCQUFBO0VBQ0EsNENBQUE7RUFDQSwyQkFBQTtFQUNBLHFCQUFBO0VBQ0EsNkNBQUE7RUFDQSx5QkFBQTtFQUNBLG1DQUFBO0VBQ0EsMkJBQUE7RUFDQSxvQ0FBQTtFQUNBLGtDQUFBO0VBQ0EsZ0NBQUE7RUFDQSxpQ0FBQTtFQUNBLCtCQUFBO0VBQ0EsaUNBQUE7RUFDQSw0RUFBQTtFQUVBLHVCQUFBO0VBQ0EsNkJBQUE7RUFFQSx3QkFBQTtFQUNBLDhCQUFBO0VBQ0EsK0JBQUE7RUFDQSxnQ0FBQTtFQUNBLDhCQUFBO0VBRUEsNEJBQUE7RUFDQSwwQkFBQTtBREdGO0FDREU7RUFDRSxtQkNyQ2U7QUZ3Q25CO0FDREk7RUFDRSxnQkFBQTtBREdOO0FDQ0U7RUFDRSw4Q0FBQTtFQUNBLHNDQUFBO0VBQ0EsbUNBQUE7RUFDQSx3QkFBQTtFQUNBLHdCQUFBO0VBQ0EscUJBQUE7RUFDQSx5Q0FBQTtFQUNBLDhCQUFBO0VBQ0Esd0RBQUE7RUFDQSxnQ0FBQTtFQUNBLDBCQUFBO0VBQ0EsZ0NBQUE7RUFDQSwyQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7RUFDQSwrQkFBQTtFQUNBLDRCQUFBO0VB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OztFQUVFLGdDQUFBO0VBQ0EsNkNBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0NBQUE7RUFDQSx1Q0FBQTtBQWZKO0FBa0JNOztFQUNFLDZDQUFBO0FBZlI7QUFtQkk7O0VBQ0UsYUFBQTtFQUNBLGtEQUFBO0FBaEJOO0FBb0JFO0VBQ0U7OztJQUdFLGFBQUE7RUFsQko7QUFDRjtBQXFCRTtFQUNFLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0Esb0NBQUE7RUFDQSw0QkFBQTtFQUVBLHNDQUFBO0FBcEJKO0FBcUJJO0VBQ0Usc0NBQUE7QUFuQk47QUFxQkk7RUFDRSxzQ0FBQTtBQW5CTjtBQXNCSTtFQUNFLHNCQUFBO0FBcEJOO0FBc0JJO0VBQ0UsZ0JBQUE7QUFwQk47O0FBeUJBO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsaUJBQUE7QUF0QkY7QUF3QkU7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBRUEsYUFBQTtFQUNBLHlCRWpoQk87RUZraEJQLHlCQUFBO0FBdkJKO0FBMEJFO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FBeEJKO0FBMEJJO0VBQ0Usa0JBQUE7QUF4Qk47QUE0QkU7O0VBRUUsZ0JBQUE7QUExQko7QUE2QkU7O0VBRUUsZ0JBQUE7QUEzQko7QUE4QkU7RUFDRSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSx1QkFBQTtBQTVCSjtBQThCSTtFQUNFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsdUJBQUE7RUFDQSxnQkFBQTtBQTVCTlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJAaW1wb3J0IFxcXCJvcGVuLWNvbG9yL29wZW4tY29sb3Iuc2Nzc1xcXCI7XFxuXFxuQG1peGluIGlzTW9iaWxlKCkge1xcbiAgQGF0LXJvb3QgLmV4Y2FsaWRyYXctLW1vYmlsZSN7Jn0ge1xcbiAgICBAY29udGVudDtcXG4gIH1cXG59XFxuXFxuJHRoZW1lLWZpbHRlcjogXFxcImludmVydCg5MyUpIGh1ZS1yb3RhdGUoMTgwZGVnKVxcXCI7XFxuXFxuOmV4cG9ydCB7XFxuICB0aGVtZUZpbHRlcjogdW5xdW90ZSgkdGhlbWUtZmlsdGVyKTtcXG59XFxuXCIsXCJAaW1wb3J0IFxcXCIuL3ZhcmlhYmxlcy5tb2R1bGVcXFwiO1xcbkBpbXBvcnQgXFxcIi4vdGhlbWVcXFwiO1xcblxcbjpyb290IHtcXG4gIC0tekluZGV4LWNhbnZhczogMTtcXG4gIC0tekluZGV4LXd5c2l3eWc6IDI7XFxuICAtLXpJbmRleC1sYXllclVJOiAzO1xcbn1cXG5cXG4uZXhjYWxpZHJhdyB7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgdG9wOiAwO1xcbiAgYm90dG9tOiAwO1xcbiAgbGVmdDogMDtcXG4gIHJpZ2h0OiAwO1xcbiAgaGVpZ2h0OiAxMDAlO1xcbiAgd2lkdGg6IDEwMCU7XFxuXFxuICAmOmZvY3VzIHtcXG4gICAgb3V0bGluZTogbm9uZTtcXG4gIH1cXG5cXG4gIC8vIHNlcnZlcyAyIHB1cnBvc2VzOlxcbiAgLy8gMS4gcHJldmVudCBzZWxlY3RpbmcgdGV4dCBvdXRzaWRlIHRoZSBjb21wb25lbnQgd2hlbiBkb3VibGUtY2xpY2tpbmcgb3JcXG4gIC8vICAgIGRyYWdnaW5nIGluc2lkZSBpdCAoZS5nLiBvbiBjYW52YXMpXFxuICAvLyAyLiBwcmV2ZW50IHNlbGVjdGluZyBVSSwgYm90aCBmcm9tIHRoZSBpbnNpZGUsIGFuZCBmcm9tIG91dHNpZGUgdGhlXFxuICAvLyAgICBjb21wb25lbnQgKGUuZy4gaWYgeW91IHNlbGVjdCB0ZXh0IGluIGEgc2lkZWJhcilcXG4gIHVzZXItc2VsZWN0OiBub25lO1xcblxcbiAgYSB7XFxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgY29sb3I6IHZhcigtLWxpbmstY29sb3IpO1xcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgY2FudmFzIHtcXG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xcblxcbiAgICAvLyBmb2xsb3dpbmcgcHJvcHMgaW1wcm92ZSBibHVycmluZXNzIGF0IGNlcnRhaW4gZGV2aWNlUGl4ZWxSYXRpb3MuXFxuICAgIC8vIEFGQUlLIGl0IGRvZXNuJ3QgYWZmZWN0IGV4cG9ydCAoaW4gZmFjdCwgZXhwb3J0IHNlZW1zIHNoYXJwIGVpdGhlciB3YXkpLlxcblxcbiAgICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDsgLy8gY2hyb21pdW1cXG4gICAgLy8gTk9URTogbXVzdCBiZSBkZWNsYXJlZCAqYWZ0ZXIqIHRoZSBhYm92ZVxcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7IC8vIEZGXFxuXFxuICAgIHotaW5kZXg6IHZhcigtLXpJbmRleC1jYW52YXMpO1xcblxcbiAgICAvLyBSZW1vdmUgdGhlIG1haW4gY2FudmFzIGZyb20gZG9jdW1lbnQgZmxvdyB0byBhdm9pZCByZXNpemVPYnNlcnZlclxcbiAgICAvLyBmZWVkYmFjayBsb29wIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2V4Y2FsaWRyYXcvZXhjYWxpZHJhdy9wdWxsLzMzNzkpXFxuICB9XFxuXFxuICAmX19jYW52YXMge1xcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICB9XFxuXFxuICAmLnRoZW1lLS1kYXJrIHtcXG4gICAgLy8gVGhlIHBlcmNlbnRhZ2UgaXMgaW5zcGlyZWQgYnlcXG4gICAgLy8gaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29sb3IvZGFyay10aGVtZS5odG1sI3Byb3BlcnRpZXMsIHdoaWNoXFxuICAgIC8vIHJlY29tbWVuZHMgc3VyZmFjZSBjb2xvciBvZiAjMTIxMjEyLCA5MyUgeWllbGRzICMxMTExMTEgZm9yICNGRkZcXG5cXG4gICAgY2FudmFzIHtcXG4gICAgICBmaWx0ZXI6IHZhcigtLXRoZW1lLWZpbHRlcik7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5GaXhlZFNpZGVDb250YWluZXIge1xcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc2F0LCAwKTtcXG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc2FyLCAwKTtcXG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNhYiwgMCk7XFxuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc2FsLCAwKTtcXG4gIH1cXG5cXG4gIC5wYW5lbFJvdyB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIH1cXG5cXG4gIC5wYW5lbENvbHVtbiB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuXFxuICAgIGgzLFxcbiAgICBsZWdlbmQsXFxuICAgIC5jb250cm9sLWxhYmVsIHtcXG4gICAgICBtYXJnaW4tdG9wOiAwLjMzM3JlbTtcXG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjMzM3JlbTtcXG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XFxuICAgICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgIH1cXG5cXG4gICAgLmNvbnRyb2wtbGFiZWwgaW5wdXQge1xcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICB9XFxuXFxuICAgIGgzOmZpcnN0LWNoaWxkLFxcbiAgICBsZWdlbmQ6Zmlyc3QtY2hpbGQsXFxuICAgIC5jb250cm9sLWxhYmVsOmZpcnN0LWNoaWxkIHtcXG4gICAgICBtYXJnaW4tdG9wOiAwO1xcbiAgICB9XFxuXFxuICAgIGxlZ2VuZCB7XFxuICAgICAgcGFkZGluZzogMDtcXG4gICAgfVxcblxcbiAgICAuaWNvblNlbGVjdExpc3Qge1xcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIH1cXG5cXG4gICAgLmJ1dHRvbkxpc3Qge1xcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcXG5cXG4gICAgICBsYWJlbCB7XFxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XFxuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XFxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgICAgfVxcblxcbiAgICAgIGlucHV0W3R5cGU9XFxcInJhZGlvXFxcIl0sXFxuICAgICAgaW5wdXRbdHlwZT1cXFwiYnV0dG9uXFxcIl0ge1xcbiAgICAgICAgb3BhY2l0eTogMDtcXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcbiAgICAgIH1cXG5cXG4gICAgICAuaWNvblJvdyB7XFxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XFxuICAgICAgfVxcblxcbiAgICAgIC5Ub29sSWNvbiB7XFxuICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogOHB4O1xcblxcbiAgICAgICAgJjpmb2N1cyB7XFxuICAgICAgICAgIG91dGxpbmU6IHRyYW5zcGFyZW50O1xcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICY6aG92ZXIge1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICY6YWN0aXZlIHtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICAmOmRpc2FibGVkIHtcXG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgLlRvb2xJY29uX19pY29uIHtcXG4gICAgICAgIHdpZHRoOiAyOHB4O1xcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmaWVsZHNldCB7XFxuICAgICAgbWFyZ2luOiAwO1xcbiAgICAgIG1hcmdpbi10b3A6IDAuMzMzcmVtO1xcbiAgICAgIHBhZGRpbmc6IDA7XFxuICAgICAgYm9yZGVyOiBub25lO1xcbiAgICB9XFxuICB9XFxuXFxuICAuZGl2aWRlciB7XFxuICAgIHdpZHRoOiAxcHg7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvYy1ncmF5LTI7XFxuICAgIG1hcmdpbjogMXB4O1xcbiAgfVxcblxcbiAgLmJ1dHRvbkxpc3QgbGFiZWw6Zm9jdXMtd2l0aGluLFxcbiAgaW5wdXQ6Zm9jdXMtdmlzaWJsZSB7XFxuICAgIG91dGxpbmU6IHRyYW5zcGFyZW50O1xcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG4gIH1cXG5cXG4gIGJ1dHRvbixcXG4gIC5idXR0b25MaXN0IGxhYmVsIHtcXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbiAgICBib3JkZXI6IDA7XFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbWQpO1xcbiAgICBtYXJnaW46IDAuMTI1cmVtIDA7XFxuICAgIHBhZGRpbmc6IDAuMjVyZW07XFxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XFxuXFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG5cXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcXG4gICAgICBvdXRsaW5lOiB0cmFuc3BhcmVudDtcXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG4gICAgfVxcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gICAgfVxcblxcbiAgICAmOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMyk7XFxuICAgIH1cXG5cXG4gICAgJjpkaXNhYmxlZCB7XFxuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG4gICAgfVxcbiAgfVxcblxcbiAgLmFjdGl2ZSxcXG4gIC5idXR0b25MaXN0IGxhYmVsLmFjdGl2ZSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xcblxcbiAgICAtLWljb24tZmlsbC1jb2xvcjogI3skb2Mtd2hpdGV9O1xcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlcik7XFxuICAgIH1cXG5cXG4gICAgJjphY3RpdmUge1xcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5idXR0b25MaXN0LmJ1dHRvbkxpc3RJY29uIHtcXG4gICAgbGFiZWwge1xcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgICAgc3ZnIHtcXG4gICAgICAgIHdpZHRoOiAzNXB4O1xcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xcbiAgICAgICAgcGFkZGluZzogMnB4O1xcbiAgICAgICAgb3BhY2l0eTogMC42O1xcbiAgICAgIH1cXG4gICAgICAmLmFjdGl2ZSBzdmcge1xcbiAgICAgICAgb3BhY2l0eTogMTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5BcHAtdG9wLWJhciB7XFxuICAgIHotaW5kZXg6IHZhcigtLXpJbmRleC1sYXllclVJKTtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgbWF4LWNvbnRlbnQgMWZyO1xcbiAgfVxcblxcbiAgLkFwcC1ib3R0b20tYmFyIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIGJvdHRvbTogMDtcXG4gICAgbGVmdDogMDtcXG4gICAgcmlnaHQ6IDA7XFxuICAgIC0tYmFyLXBhZGRpbmc6IGNhbGMoNCAqIHZhcigtLXNwYWNlLWZhY3RvcikpO1xcbiAgICBwYWRkaW5nLXRvcDogI3tcXFwibWF4KHZhcigtLWJhci1wYWRkaW5nKSwgdmFyKC0tc2F0LDApKVxcXCJ9O1xcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zYXIsIDApO1xcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc2FiLCAwKTtcXG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zYWwsIDApO1xcbiAgICB6LWluZGV4OiA0O1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xcblxcbiAgICA+IC5Jc2xhbmQge1xcbiAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgIG1heC13aWR0aDogMTAwJTtcXG4gICAgICBtaW4td2lkdGg6IDEwMCU7XFxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xcbiAgICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcXG5cXG4gICAgICAucGFuZWxDb2x1bW4ge1xcbiAgICAgICAgcGFkZGluZzogOHB4IDhweCAwIDhweDtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5BcHAtdG9vbGJhciB7XFxuICAgIHdpZHRoOiAxMDAlO1xcblxcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgfVxcblxcbiAgLkFwcC10b29sYmFyLWNvbnRlbnQge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICAgIHBhZGRpbmc6IDhweDtcXG4gIH1cXG5cXG4gIC5BcHAtbW9iaWxlLW1lbnUge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcXG4gICAgb3ZlcmZsb3cteTogYXV0bztcXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYmFyLXBhZGRpbmcpO1xcbiAgfVxcblxcbiAgLkFwcC1tZW51IHtcXG4gICAgZGlzcGxheTogZ3JpZDtcXG4gICAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICB9XFxuXFxuICAuQXBwLW1lbnVfdG9wIHtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1heC1jb250ZW50IGF1dG87XFxuICAgIGdyaWQtZ2FwOiA0cHg7XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XFxuICB9XFxuXFxuICAubGF5ZXItdWlfX3dyYXBwZXI6bm90KC5kaXNhYmxlLXBvaW50ZXJFdmVudHMpIC5BcHAtbWVudV90b3AgPiAqIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcXG4gIH1cXG5cXG4gIC5BcHAtbWVudV90b3AgPiAqOmZpcnN0LWNoaWxkIHtcXG4gICAganVzdGlmeS1zZWxmOiBmbGV4LXN0YXJ0O1xcbiAgfVxcblxcbiAgLkFwcC1tZW51X3RvcCA+ICo6bGFzdC1jaGlsZCB7XFxuICAgIGp1c3RpZnktc2VsZjogZmxleC1lbmQ7XFxuICB9XFxuXFxuICAuQXBwLW1lbnVfYm90dG9tIHtcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICBib3R0b206IDA7XFxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgYXV0byBtaW4tY29udGVudDtcXG4gICAgZ3JpZC1nYXA6IDE1cHg7XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XFxuICAgIHotaW5kZXg6IDEwMDtcXG5cXG4gICAgOnJvb3RbZGlyPVxcXCJsdHJcXFwiXSAmIHtcXG4gICAgICBsZWZ0OiAwLjI1cmVtO1xcbiAgICB9XFxuXFxuICAgIDpyb290W2Rpcj1cXFwicnRsXFxcIl0gJiB7XFxuICAgICAgcmlnaHQ6IDAuMjVyZW07XFxuICAgIH1cXG5cXG4gICAgJi0tdHJhbnNpdGlvbi1sZWZ0IHtcXG4gICAgICBzZWN0aW9uIHtcXG4gICAgICAgIHdpZHRoOiAxODVweDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgc2VjdGlvbiB7XFxuICAgICAgZGlzcGxheTogZmxleDtcXG4gICAgfVxcbiAgfVxcblxcbiAgLkFwcC1tZW51X2JvdHRvbSA+ICo6Zmlyc3QtY2hpbGQge1xcbiAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtc3RhcnQ7XFxuICB9XFxuXFxuICAuQXBwLW1lbnVfYm90dG9tID4gKjpsYXN0LWNoaWxkIHtcXG4gICAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcXG4gIH1cXG5cXG4gIC5BcHAtbWVudV9sZWZ0IHtcXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgYXV0byAxZnI7XFxuICAgIGhlaWdodDogMTAwJTtcXG4gIH1cXG5cXG4gIC5BcHAtbWVudV9yaWdodCB7XFxuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xcbiAgICBoZWlnaHQ6IDEwMCU7XFxuICB9XFxuXFxuICAuQXBwLW1lbnVfX2xlZnQge1xcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgfVxcblxcbiAgLmRyb3Bkb3duLXNlbGVjdCB7XFxuICAgIGhlaWdodDogMS41cmVtO1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMC41cmVtO1xcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDEuNXJlbTtcXG4gICAgY29sb3I6IHZhcigtLWljb24tZmlsbC1jb2xvcik7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zcGFjZS1mYWN0b3IpO1xcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gICAgZm9udC1zaXplOiAwLjhyZW07XFxuICAgIG91dGxpbmU6IG5vbmU7XFxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRyb3Bkb3duLWljb24pO1xcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjdyZW0gdG9wIDUwJSwgMCAwO1xcblxcbiAgICA6cm9vdFtkaXI9XFxcInJ0bFxcXCJdICYge1xcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMC43cmVtIHRvcCA1MCUsIDAgMDtcXG4gICAgfVxcblxcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNjVlbSBhdXRvLCAxMDAlO1xcblxcbiAgICAmOmZvY3VzIHtcXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG4gICAgfVxcblxcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0yKTtcXG4gICAgfVxcblxcbiAgICAmOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC56SW5kZXhCdXR0b24ge1xcbiAgICBtYXJnaW46IDA7XFxuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA4cHg7XFxuICAgIHBhZGRpbmc6IDVweDtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcbiAgICBzdmcge1xcbiAgICAgIHdpZHRoOiAxOHB4O1xcbiAgICAgIGhlaWdodDogMThweDtcXG4gICAgfVxcbiAgfVxcblxcbiAgLnNjcm9sbC1iYWNrLXRvLWNvbnRlbnQge1xcbiAgICBjb2xvcjogdmFyKC0tcG9wdXAtdGV4dC1jb2xvcik7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgbGVmdDogNTAlO1xcbiAgICBib3R0b206IDMwcHg7XFxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xcbiAgfVxcblxcbiAgLmhlbHAtaWNvbiB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgZmlsbDogJG9jLWdyYXktNjtcXG4gICAgcGFkZGluZzogMDtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xcbiAgICBjb2xvcjogdmFyKC0taWNvbi1maWxsLWNvbG9yKTtcXG5cXG4gICAgc3ZnIHtcXG4gICAgICB3aWR0aDogMS41cmVtO1xcbiAgICAgIGhlaWdodDogMS41cmVtO1xcbiAgICB9XFxuXFxuICAgICY6aG92ZXIge1xcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5yZXNldC16b29tLWJ1dHRvbiB7XFxuICAgIHBhZGRpbmc6IDAuMmVtO1xcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcXG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS11aS1mb250KTtcXG4gIH1cXG5cXG4gIC51bmRvLXJlZG8tYnV0dG9ucyB7XFxuICAgIGRpc3BsYXk6IGdyaWQ7XFxuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XFxuICAgIGdhcDogMC40ZW07XFxuICAgIG1hcmdpbi10b3A6IGF1dG87XFxuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XFxuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAuNmVtO1xcbiAgfVxcblxcbiAgQGluY2x1ZGUgaXNNb2JpbGUge1xcbiAgICBhc2lkZSB7XFxuICAgICAgZGlzcGxheTogbm9uZTtcXG4gICAgfVxcbiAgICAuc2Nyb2xsLWJhY2stdG8tY29udGVudCB7XFxuICAgICAgYm90dG9tOiBjYWxjKDgwcHggKyB2YXIoLS1zYWIsIDApKTtcXG4gICAgICB6LWluZGV4OiAtMTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLnJ0bC1taXJyb3Ige1xcbiAgICA6cm9vdFtkaXI9XFxcInJ0bFxcXCJdICYge1xcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLnplbi1tb2RlLXZpc2liaWxpdHkge1xcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xcbiAgICBvcGFjaXR5OiAxO1xcbiAgICBoZWlnaHQ6IGF1dG87XFxuICAgIHdpZHRoOiBhdXRvO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XFxuXFxuICAgICYuemVuLW1vZGUtdmlzaWJpbGl0eS0taGlkZGVuIHtcXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XFxuICAgICAgb3BhY2l0eTogMDtcXG4gICAgICBoZWlnaHQ6IDA7XFxuICAgICAgd2lkdGg6IDA7XFxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xcbiAgICB9XFxuICB9XFxuXFxuICAuZGlzYWJsZS1wb2ludGVyRXZlbnRzIHtcXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcXG4gIH1cXG5cXG4gICYuZXhjYWxpZHJhdy0tdmlldy1tb2RlIHtcXG4gICAgLkFwcC1tZW51IHtcXG4gICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gICAgfVxcbiAgfVxcblxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdLFxcbiAgdGV4dGFyZWE6bm90KC5leGNhbGlkcmF3LXd5c2l3eWcpIHtcXG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeS1jb2xvcik7XFxuICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyLWNvbG9yKTtcXG4gICAgcGFkZGluZzogMC43NXJlbTtcXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2UtZmFjdG9yKTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5wdXQtYmctY29sb3IpO1xcblxcbiAgICAmOm5vdCg6Zm9jdXMpIHtcXG4gICAgICAmOmhvdmVyIHtcXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlucHV0LWhvdmVyLWJnLWNvbG9yKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgJjpmb2N1cyB7XFxuICAgICAgb3V0bGluZTogbm9uZTtcXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZm9jdXMtaGlnaGxpZ2h0LWNvbG9yKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgQG1lZGlhIHByaW50IHtcXG4gICAgLkFwcC1ib3R0b20tYmFyLFxcbiAgICAuRml4ZWRTaWRlQ29udGFpbmVyLFxcbiAgICAubGF5ZXItdWlfX3dyYXBwZXIge1xcbiAgICAgIGRpc3BsYXk6IG5vbmU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5Ib21lQnV0dG9uLlRvb2xJY29uLlRvb2xJY29uX3R5cGVfZmxvYXRpbmcge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gICAgdG9wOiA2MHB4O1xcbiAgICBsZWZ0OiBjYWxjKC0yICogdmFyKC0tc3BhY2UtZmFjdG9yKSk7XFxuICAgIGJvcmRlci1yYWRpdXM6IDAgMjBweCAyMHB4IDA7XFxuXFxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ncmF5LTEpO1xcbiAgICAmOmhvdmVyIHtcXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tZ3JheS0xKTtcXG4gICAgfVxcbiAgICAmOmFjdGl2ZSB7XFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWdyYXktMik7XFxuICAgIH1cXG5cXG4gICAgLlRvb2xJY29uX19pY29uIHtcXG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xcbiAgICB9XFxuICAgIHN2ZyB7XFxuICAgICAgcG9zaXRpb246IHN0YXRpYztcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4uRXJyb3JTcGxhc2guZXhjYWxpZHJhdyB7XFxuICBtaW4taGVpZ2h0OiAxMDB2aDtcXG4gIHBhZGRpbmc6IDIwcHggMDtcXG4gIG92ZXJmbG93OiBhdXRvO1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xcblxcbiAgLkVycm9yU3BsYXNoLW1lc3NhZ2VDb250YWluZXIge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG5cXG4gICAgcGFkZGluZzogNDBweDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9jLXJlZC0xO1xcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkb2MtcmVkLTk7XFxuICB9XFxuXFxuICAuRXJyb3JTcGxhc2gtcGFyYWdyYXBoIHtcXG4gICAgbWFyZ2luOiAxNXB4IDA7XFxuICAgIG1heC13aWR0aDogNjAwcHg7XFxuXFxuICAgICYuYWxpZ24tY2VudGVyIHtcXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC5iaWdnZXIsXFxuICAuYmlnZ2VyIGJ1dHRvbiB7XFxuICAgIGZvbnQtc2l6ZTogMS4xZW07XFxuICB9XFxuXFxuICAuc21hbGxlcixcXG4gIC5zbWFsbGVyIGJ1dHRvbiB7XFxuICAgIGZvbnQtc2l6ZTogMC45ZW07XFxuICB9XFxuXFxuICAuRXJyb3JTcGxhc2gtZGV0YWlscyB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xcblxcbiAgICB0ZXh0YXJlYSB7XFxuICAgICAgd2lkdGg6IDEwMCU7XFxuICAgICAgbWFyZ2luOiAxMHB4IDA7XFxuICAgICAgZm9udC1mYW1pbHk6IFxcXCJDYXNjYWRpYVxcXCI7XFxuICAgICAgZm9udC1zaXplOiAwLjhlbTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cIixcIkBpbXBvcnQgXFxcIm9wZW4tY29sb3Ivb3Blbi1jb2xvci5zY3NzXFxcIjtcXG5AaW1wb3J0IFxcXCIuL3ZhcmlhYmxlcy5tb2R1bGUuc2Nzc1xcXCI7XFxuXFxuLmV4Y2FsaWRyYXcge1xcbiAgLS10aGVtZS1maWx0ZXI6IG5vbmU7XFxuICAtLWJ1dHRvbi1kZXN0cnVjdGl2ZS1iZy1jb2xvcjogI3skb2MtcmVkLTF9O1xcbiAgLS1idXR0b24tZGVzdHJ1Y3RpdmUtY29sb3I6ICN7JG9jLXJlZC05fTtcXG4gIC0tYnV0dG9uLWdyYXktMTogI3skb2MtZ3JheS0yfTtcXG4gIC0tYnV0dG9uLWdyYXktMjogI3skb2MtZ3JheS00fTtcXG4gIC0tYnV0dG9uLWdyYXktMzogI3skb2MtZ3JheS01fTtcXG4gIC0tYnV0dG9uLXNwZWNpYWwtYWN0aXZlLWJnLWNvbG9yOiAjeyRvYy1ncmVlbi0wfTtcXG4gIC0tZGlhbG9nLWJvcmRlci1jb2xvcjogI3skb2MtZ3JheS02fTtcXG4gIC0tZHJvcGRvd24taWNvbjogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHdpZHRoPVxcXCIyOTIuNFxcXCIgaGVpZ2h0PVxcXCIyOTIuNFxcXCIgdmlld0JveD1cXFwiMCAwIDI5MiAyOTJcXFwiPjxwYXRoIGQ9XFxcIk0yODcgMTk3TDE1OSA2OWMtNC0zLTgtNS0xMy01cy05IDItMTMgNUw1IDE5N2MtMyA0LTUgOC01IDEzczIgOSA1IDEzYzQgNCA4IDUgMTMgNWgyNTZjNSAwIDktMSAxMy01czUtOCA1LTEzLTEtOS01LTEzelxcXCIvPjwvc3ZnPicpO1xcbiAgLS1mb2N1cy1oaWdobGlnaHQtY29sb3I6ICN7JG9jLWJsdWUtMn07XFxuICAtLWljb24tZmlsbC1jb2xvcjogI3skb2MtZ3JheS05fTtcXG4gIC0taWNvbi1ncmVlbi1maWxsLWNvbG9yOiAjeyRvYy1ncmVlbi05fTtcXG4gIC0tZGVmYXVsdC1iZy1jb2xvcjogI3skb2Mtd2hpdGV9O1xcbiAgLS1pbnB1dC1iZy1jb2xvcjogI3skb2Mtd2hpdGV9O1xcbiAgLS1pbnB1dC1ib3JkZXItY29sb3I6ICN7JG9jLWdyYXktNH07XFxuICAtLWlucHV0LWhvdmVyLWJnLWNvbG9yOiAjeyRvYy1ncmF5LTF9O1xcbiAgLS1pbnB1dC1sYWJlbC1jb2xvcjogI3skb2MtZ3JheS03fTtcXG4gIC0taXNsYW5kLWJnLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTYpO1xcbiAgLS1rZXliaW5kaW5nLWNvbG9yOiAjeyRvYy1ncmF5LTV9O1xcbiAgLS1saW5rLWNvbG9yOiAjeyRvYy1ibHVlLTd9O1xcbiAgLS1vdmVybGF5LWJnLWNvbG9yOiAje3RyYW5zcGFyZW50aXplKCRvYy13aGl0ZSwgMC4xMil9O1xcbiAgLS1wb3B1cC1iZy1jb2xvcjogI3skb2Mtd2hpdGV9O1xcbiAgLS1wb3B1cC1zZWNvbmRhcnktYmctY29sb3I6ICN7JG9jLWdyYXktMX07XFxuICAtLXBvcHVwLXRleHQtY29sb3I6ICN7JG9jLWJsYWNrfTtcXG4gIC0tcG9wdXAtdGV4dC1pbnZlcnRlZC1jb2xvcjogI3skb2Mtd2hpdGV9O1xcbiAgLS1zYWI6IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcXG4gIC0tc2FsOiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xcbiAgLS1zYXI6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xcbiAgLS1zYXQ6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcXG4gIC0tc2VsZWN0LWhpZ2hsaWdodC1jb2xvcjogI3skb2MtYmx1ZS01fTtcXG4gIC0tc2hhZG93LWlzbGFuZDogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4wMSksIDFweCAxcHggNXB4IHJnYigwIDAgMCAvIDEyJSk7XFxuXFxuICAtLXNwYWNlLWZhY3RvcjogMC4yNXJlbTtcXG4gIC0tdGV4dC1wcmltYXJ5LWNvbG9yOiAjeyRvYy1ncmF5LTh9O1xcblxcbiAgLS1jb2xvci1wcmltYXJ5OiAjNjk2NWRiO1xcbiAgLS1jb2xvci1wcmltYXJ5LWNodWJiOiAjNjI1ZWUwOyAvLyB0byBvZmZzZXQgQ2h1YmIgaWxsdXNpb25cXG4gIC0tY29sb3ItcHJpbWFyeS1kYXJrZXI6ICM1YjU3ZDE7XFxuICAtLWNvbG9yLXByaW1hcnktZGFya2VzdDogIzRhNDdiMTtcXG4gIC0tY29sb3ItcHJpbWFyeS1saWdodDogI2UyZTFmYztcXG5cXG4gIC0tYm9yZGVyLXJhZGl1cy1tZDogMC4zNzVyZW07XFxuICAtLWJvcmRlci1yYWRpdXMtbGc6IDAuNXJlbTtcXG5cXG4gICYudGhlbWUtLWRhcmsge1xcbiAgICBiYWNrZ3JvdW5kOiAkb2MtYmxhY2s7XFxuXFxuICAgICYudGhlbWUtLWRhcmstYmFja2dyb3VuZC1ub25lIHtcXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xcbiAgICB9XFxuICB9XFxuXFxuICAmLnRoZW1lLS1kYXJrIHtcXG4gICAgLS10aGVtZS1maWx0ZXI6ICN7JHRoZW1lLWZpbHRlcn07XFxuICAgIC0tYnV0dG9uLWRlc3RydWN0aXZlLWJnLWNvbG9yOiAjNWEwMDAwO1xcbiAgICAtLWJ1dHRvbi1kZXN0cnVjdGl2ZS1jb2xvcjogI3skb2MtcmVkLTN9O1xcbiAgICAtLWJ1dHRvbi1ncmF5LTE6ICMzNjM2MzY7XFxuICAgIC0tYnV0dG9uLWdyYXktMjogIzI3MjcyNztcXG4gICAgLS1idXR0b24tZ3JheS0zOiAjMjIyO1xcbiAgICAtLWJ1dHRvbi1zcGVjaWFsLWFjdGl2ZS1iZy1jb2xvcjogIzIwNDYyNDtcXG4gICAgLS1kaWFsb2ctYm9yZGVyLWNvbG9yOiAjeyRvYy1ncmF5LTl9O1xcbiAgICAtLWRyb3Bkb3duLWljb246IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB3aWR0aD1cXFwiMjkyLjRcXFwiIGhlaWdodD1cXFwiMjkyLjRcXFwiIHZpZXdCb3g9XFxcIjAgMCAyOTIgMjkyXFxcIj48cGF0aCBmaWxsPVxcXCIlMjNjZWQ0ZGFcXFwiIGQ9XFxcIk0yODcgMTk3TDE1OSA2OWMtNC0zLTgtNS0xMy01cy05IDItMTMgNUw1IDE5N2MtMyA0LTUgOC01IDEzczIgOSA1IDEzYzQgNCA4IDUgMTMgNWgyNTZjNSAwIDktMSAxMy01czUtOCA1LTEzLTEtOS01LTEzelxcXCIvPjwvc3ZnPicpO1xcbiAgICAtLWZvY3VzLWhpZ2hsaWdodC1jb2xvcjogI3skb2MtYmx1ZS02fTtcXG4gICAgLS1pY29uLWZpbGwtY29sb3I6ICN7JG9jLWdyYXktNH07XFxuICAgIC0taWNvbi1ncmVlbi1maWxsLWNvbG9yOiAjeyRvYy1ncmVlbi00fTtcXG4gICAgLS1kZWZhdWx0LWJnLWNvbG9yOiAjMTIxMjEyO1xcbiAgICAtLWlucHV0LWJnLWNvbG9yOiAjMTIxMjEyO1xcbiAgICAtLWlucHV0LWJvcmRlci1jb2xvcjogIzJlMmUyZTtcXG4gICAgLS1pbnB1dC1ob3Zlci1iZy1jb2xvcjogIzE4MTgxODtcXG4gICAgLS1pbnB1dC1sYWJlbC1jb2xvcjogI3skb2MtZ3JheS0yfTtcXG4gICAgLS1pc2xhbmQtYmctY29sb3I6IHJnYmEoMzAsIDMwLCAzMCwgMC45OCk7XFxuICAgIC0ta2V5YmluZGluZy1jb2xvcjogI3skb2MtZ3JheS02fTtcXG4gICAgLS1saW5rLWNvbG9yOiAjeyRvYy1ibHVlLTR9O1xcbiAgICAtLW92ZXJsYXktYmctY29sb3I6ICN7dHJhbnNwYXJlbnRpemUoJG9jLWdyYXktOCwgMC44OCl9O1xcbiAgICAtLXBvcHVwLWJnLWNvbG9yOiAjMmMyYzJjO1xcbiAgICAtLXBvcHVwLXNlY29uZGFyeS1iZy1jb2xvcjogIzIyMjtcXG4gICAgLS1wb3B1cC10ZXh0LWNvbG9yOiAjeyRvYy1ncmF5LTR9O1xcbiAgICAtLXBvcHVwLXRleHQtaW52ZXJ0ZWQtY29sb3I6ICM2MzVjNWM7XFxuICAgIC0tc2VsZWN0LWhpZ2hsaWdodC1jb2xvcjogI3skb2MtYmx1ZS00fTtcXG4gICAgLS1zaGFkb3ctaXNsYW5kOiAxcHggMXB4IDVweCAje3RyYW5zcGFyZW50aXplKCRvYy1ibGFjaywgMC43KX07XFxuICAgIC0tdGV4dC1wcmltYXJ5LWNvbG9yOiAjeyRvYy1ncmF5LTR9O1xcblxcbiAgICAtLWNvbG9yLXByaW1hcnk6ICM1NjUwZjA7XFxuICAgIC0tY29sb3ItcHJpbWFyeS1jaHViYjogIzcyNmRmZjsgLy8gdG8gb2Zmc2V0IENodWJiIGlsbHVzaW9uXFxuICAgIC0tY29sb3ItcHJpbWFyeS1kYXJrZXI6ICM0YjQ2ZDg7XFxuICAgIC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0OiAjM2UzOWJlO1xcbiAgICAtLWNvbG9yLXByaW1hcnktbGlnaHQ6ICMzZjNkNjQ7XFxuICB9XFxufVxcblwiLFwiLy9cXG4vL1xcbi8vICDwnZeWIPCdl6Ig8J2XnyDwnZeiIPCdl6VcXG4vLyAgdiAxLjkuMVxcbi8vXFxuLy8gIOKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgeKUgVxcblxcblxcbi8vICBHZW5lcmFsXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy13aGl0ZTogICAgICAgICAjZmZmZmZmO1xcbiRvYy1ibGFjazogICAgICAgICAjMDAwMDAwO1xcblxcblxcbi8vICBHcmF5XFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1ncmF5LWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2Y4ZjlmYSxcXG4gIFxcXCIxXFxcIjogI2YxZjNmNSxcXG4gIFxcXCIyXFxcIjogI2U5ZWNlZixcXG4gIFxcXCIzXFxcIjogI2RlZTJlNixcXG4gIFxcXCI0XFxcIjogI2NlZDRkYSxcXG4gIFxcXCI1XFxcIjogI2FkYjViZCxcXG4gIFxcXCI2XFxcIjogIzg2OGU5NixcXG4gIFxcXCI3XFxcIjogIzQ5NTA1NyxcXG4gIFxcXCI4XFxcIjogIzM0M2E0MCxcXG4gIFxcXCI5XFxcIjogIzIxMjUyOVxcbik7XFxuXFxuJG9jLWdyYXktMDogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1ncmF5LTE6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtZ3JheS0yOiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLWdyYXktMzogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1ncmF5LTQ6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtZ3JheS01OiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLWdyYXktNjogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1ncmF5LTc6IG1hcC1nZXQoJG9jLWdyYXktbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtZ3JheS04OiBtYXAtZ2V0KCRvYy1ncmF5LWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLWdyYXktOTogbWFwLWdldCgkb2MtZ3JheS1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBSZWRcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLXJlZC1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmZmY1ZjUsXFxuICBcXFwiMVxcXCI6ICNmZmUzZTMsXFxuICBcXFwiMlxcXCI6ICNmZmM5YzksXFxuICBcXFwiM1xcXCI6ICNmZmE4YTgsXFxuICBcXFwiNFxcXCI6ICNmZjg3ODcsXFxuICBcXFwiNVxcXCI6ICNmZjZiNmIsXFxuICBcXFwiNlxcXCI6ICNmYTUyNTIsXFxuICBcXFwiN1xcXCI6ICNmMDNlM2UsXFxuICBcXFwiOFxcXCI6ICNlMDMxMzEsXFxuICBcXFwiOVxcXCI6ICNjOTJhMmFcXG4pO1xcblxcbiRvYy1yZWQtMDogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLXJlZC0xOiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtcmVkLTI6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1yZWQtMzogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLXJlZC00OiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtcmVkLTU6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1yZWQtNjogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLXJlZC03OiBtYXAtZ2V0KCRvYy1yZWQtbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtcmVkLTg6IG1hcC1nZXQoJG9jLXJlZC1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1yZWQtOTogbWFwLWdldCgkb2MtcmVkLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIFBpbmtcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLXBpbmstbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZmZmMGY2LFxcbiAgXFxcIjFcXFwiOiAjZmZkZWViLFxcbiAgXFxcIjJcXFwiOiAjZmNjMmQ3LFxcbiAgXFxcIjNcXFwiOiAjZmFhMmMxLFxcbiAgXFxcIjRcXFwiOiAjZjc4M2FjLFxcbiAgXFxcIjVcXFwiOiAjZjA2NTk1LFxcbiAgXFxcIjZcXFwiOiAjZTY0OTgwLFxcbiAgXFxcIjdcXFwiOiAjZDYzMzZjLFxcbiAgXFxcIjhcXFwiOiAjYzIyNTVjLFxcbiAgXFxcIjlcXFwiOiAjYTYxZTRkXFxuKTtcXG5cXG4kb2MtcGluay0wOiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLXBpbmstMTogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1waW5rLTI6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtcGluay0zOiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLXBpbmstNDogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1waW5rLTU6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtcGluay02OiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLXBpbmstNzogbWFwLWdldCgkb2MtcGluay1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1waW5rLTg6IG1hcC1nZXQoJG9jLXBpbmstbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtcGluay05OiBtYXAtZ2V0KCRvYy1waW5rLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIEdyYXBlXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1ncmFwZS1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmOGYwZmMsXFxuICBcXFwiMVxcXCI6ICNmM2Q5ZmEsXFxuICBcXFwiMlxcXCI6ICNlZWJlZmEsXFxuICBcXFwiM1xcXCI6ICNlNTk5ZjcsXFxuICBcXFwiNFxcXCI6ICNkYTc3ZjIsXFxuICBcXFwiNVxcXCI6ICNjYzVkZTgsXFxuICBcXFwiNlxcXCI6ICNiZTRiZGIsXFxuICBcXFwiN1xcXCI6ICNhZTNlYzksXFxuICBcXFwiOFxcXCI6ICM5YzM2YjUsXFxuICBcXFwiOVxcXCI6ICM4NjJlOWNcXG4pO1xcblxcbiRvYy1ncmFwZS0wOiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1ncmFwZS0xOiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1ncmFwZS0yOiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1ncmFwZS0zOiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1ncmFwZS00OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1ncmFwZS01OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1ncmFwZS02OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1ncmFwZS03OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1ncmFwZS04OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1ncmFwZS05OiBtYXAtZ2V0KCRvYy1ncmFwZS1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBWaW9sZXRcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLXZpb2xldC1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNmM2YwZmYsXFxuICBcXFwiMVxcXCI6ICNlNWRiZmYsXFxuICBcXFwiMlxcXCI6ICNkMGJmZmYsXFxuICBcXFwiM1xcXCI6ICNiMTk3ZmMsXFxuICBcXFwiNFxcXCI6ICM5Nzc1ZmEsXFxuICBcXFwiNVxcXCI6ICM4NDVlZjcsXFxuICBcXFwiNlxcXCI6ICM3OTUwZjIsXFxuICBcXFwiN1xcXCI6ICM3MDQ4ZTgsXFxuICBcXFwiOFxcXCI6ICM2NzQxZDksXFxuICBcXFwiOVxcXCI6ICM1ZjNkYzRcXG4pO1xcblxcbiRvYy12aW9sZXQtMDogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLXZpb2xldC0xOiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjFcXFwiKTtcXG4kb2MtdmlvbGV0LTI6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy12aW9sZXQtMzogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLXZpb2xldC00OiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjRcXFwiKTtcXG4kb2MtdmlvbGV0LTU6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy12aW9sZXQtNjogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLXZpb2xldC03OiBtYXAtZ2V0KCRvYy12aW9sZXQtbGlzdCwgXFxcIjdcXFwiKTtcXG4kb2MtdmlvbGV0LTg6IG1hcC1nZXQoJG9jLXZpb2xldC1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy12aW9sZXQtOTogbWFwLWdldCgkb2MtdmlvbGV0LWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIEluZGlnb1xcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtaW5kaWdvLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2VkZjJmZixcXG4gIFxcXCIxXFxcIjogI2RiZTRmZixcXG4gIFxcXCIyXFxcIjogI2JhYzhmZixcXG4gIFxcXCIzXFxcIjogIzkxYTdmZixcXG4gIFxcXCI0XFxcIjogIzc0OGZmYyxcXG4gIFxcXCI1XFxcIjogIzVjN2NmYSxcXG4gIFxcXCI2XFxcIjogIzRjNmVmNSxcXG4gIFxcXCI3XFxcIjogIzQyNjNlYixcXG4gIFxcXCI4XFxcIjogIzNiNWJkYixcXG4gIFxcXCI5XFxcIjogIzM2NGZjN1xcbik7XFxuXFxuJG9jLWluZGlnby0wOiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtaW5kaWdvLTE6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1pbmRpZ28tMjogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLWluZGlnby0zOiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtaW5kaWdvLTQ6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1pbmRpZ28tNTogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLWluZGlnby02OiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtaW5kaWdvLTc6IG1hcC1nZXQoJG9jLWluZGlnby1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1pbmRpZ28tODogbWFwLWdldCgkb2MtaW5kaWdvLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLWluZGlnby05OiBtYXAtZ2V0KCRvYy1pbmRpZ28tbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgQmx1ZVxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtYmx1ZS1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNlN2Y1ZmYsXFxuICBcXFwiMVxcXCI6ICNkMGViZmYsXFxuICBcXFwiMlxcXCI6ICNhNWQ4ZmYsXFxuICBcXFwiM1xcXCI6ICM3NGMwZmMsXFxuICBcXFwiNFxcXCI6ICM0ZGFiZjcsXFxuICBcXFwiNVxcXCI6ICMzMzlhZjAsXFxuICBcXFwiNlxcXCI6ICMyMjhiZTYsXFxuICBcXFwiN1xcXCI6ICMxYzdlZDYsXFxuICBcXFwiOFxcXCI6ICMxOTcxYzIsXFxuICBcXFwiOVxcXCI6ICMxODY0YWJcXG4pO1xcblxcbiRvYy1ibHVlLTA6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtYmx1ZS0xOiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLWJsdWUtMjogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1ibHVlLTM6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtYmx1ZS00OiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLWJsdWUtNTogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1ibHVlLTY6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtYmx1ZS03OiBtYXAtZ2V0KCRvYy1ibHVlLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLWJsdWUtODogbWFwLWdldCgkb2MtYmx1ZS1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1ibHVlLTk6IG1hcC1nZXQoJG9jLWJsdWUtbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgQ3lhblxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtY3lhbi1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNlM2ZhZmMsXFxuICBcXFwiMVxcXCI6ICNjNWY2ZmEsXFxuICBcXFwiMlxcXCI6ICM5OWU5ZjIsXFxuICBcXFwiM1xcXCI6ICM2NmQ5ZTgsXFxuICBcXFwiNFxcXCI6ICMzYmM5ZGIsXFxuICBcXFwiNVxcXCI6ICMyMmI4Y2YsXFxuICBcXFwiNlxcXCI6ICMxNWFhYmYsXFxuICBcXFwiN1xcXCI6ICMxMDk4YWQsXFxuICBcXFwiOFxcXCI6ICMwYzg1OTksXFxuICBcXFwiOVxcXCI6ICMwYjcyODVcXG4pO1xcblxcbiRvYy1jeWFuLTA6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtY3lhbi0xOiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLWN5YW4tMjogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy1jeWFuLTM6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtY3lhbi00OiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLWN5YW4tNTogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy1jeWFuLTY6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtY3lhbi03OiBtYXAtZ2V0KCRvYy1jeWFuLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLWN5YW4tODogbWFwLWdldCgkb2MtY3lhbi1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy1jeWFuLTk6IG1hcC1nZXQoJG9jLWN5YW4tbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgVGVhbFxcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MtdGVhbC1saXN0OiAoXFxuICBcXFwiMFxcXCI6ICNlNmZjZjUsXFxuICBcXFwiMVxcXCI6ICNjM2ZhZTgsXFxuICBcXFwiMlxcXCI6ICM5NmYyZDcsXFxuICBcXFwiM1xcXCI6ICM2M2U2YmUsXFxuICBcXFwiNFxcXCI6ICMzOGQ5YTksXFxuICBcXFwiNVxcXCI6ICMyMGM5OTcsXFxuICBcXFwiNlxcXCI6ICMxMmI4ODYsXFxuICBcXFwiN1xcXCI6ICMwY2E2NzgsXFxuICBcXFwiOFxcXCI6ICMwOTkyNjgsXFxuICBcXFwiOVxcXCI6ICMwODdmNWJcXG4pO1xcblxcbiRvYy10ZWFsLTA6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MtdGVhbC0xOiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLXRlYWwtMjogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiMlxcXCIpO1xcbiRvYy10ZWFsLTM6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MtdGVhbC00OiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLXRlYWwtNTogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiNVxcXCIpO1xcbiRvYy10ZWFsLTY6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MtdGVhbC03OiBtYXAtZ2V0KCRvYy10ZWFsLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLXRlYWwtODogbWFwLWdldCgkb2MtdGVhbC1saXN0LCBcXFwiOFxcXCIpO1xcbiRvYy10ZWFsLTk6IG1hcC1nZXQoJG9jLXRlYWwtbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgR3JlZW5cXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWdyZWVuLWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2ViZmJlZSxcXG4gIFxcXCIxXFxcIjogI2QzZjlkOCxcXG4gIFxcXCIyXFxcIjogI2IyZjJiYixcXG4gIFxcXCIzXFxcIjogIzhjZTk5YSxcXG4gIFxcXCI0XFxcIjogIzY5ZGI3YyxcXG4gIFxcXCI1XFxcIjogIzUxY2Y2NixcXG4gIFxcXCI2XFxcIjogIzQwYzA1NyxcXG4gIFxcXCI3XFxcIjogIzM3YjI0ZCxcXG4gIFxcXCI4XFxcIjogIzJmOWU0NCxcXG4gIFxcXCI5XFxcIjogIzJiOGEzZVxcbik7XFxuXFxuJG9jLWdyZWVuLTA6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWdyZWVuLTE6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLWdyZWVuLTI6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLWdyZWVuLTM6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWdyZWVuLTQ6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLWdyZWVuLTU6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLWdyZWVuLTY6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWdyZWVuLTc6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLWdyZWVuLTg6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLWdyZWVuLTk6IG1hcC1nZXQoJG9jLWdyZWVuLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIExpbWVcXG4vLyAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXFxuXFxuJG9jLWxpbWUtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZjRmY2UzLFxcbiAgXFxcIjFcXFwiOiAjZTlmYWM4LFxcbiAgXFxcIjJcXFwiOiAjZDhmNWEyLFxcbiAgXFxcIjNcXFwiOiAjYzBlYjc1LFxcbiAgXFxcIjRcXFwiOiAjYTllMzRiLFxcbiAgXFxcIjVcXFwiOiAjOTRkODJkLFxcbiAgXFxcIjZcXFwiOiAjODJjOTFlLFxcbiAgXFxcIjdcXFwiOiAjNzRiODE2LFxcbiAgXFxcIjhcXFwiOiAjNjZhODBmLFxcbiAgXFxcIjlcXFwiOiAjNWM5NDBkXFxuKTtcXG5cXG4kb2MtbGltZS0wOiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCIwXFxcIik7XFxuJG9jLWxpbWUtMTogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy1saW1lLTI6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2MtbGltZS0zOiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCIzXFxcIik7XFxuJG9jLWxpbWUtNDogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy1saW1lLTU6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2MtbGltZS02OiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCI2XFxcIik7XFxuJG9jLWxpbWUtNzogbWFwLWdldCgkb2MtbGltZS1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy1saW1lLTg6IG1hcC1nZXQoJG9jLWxpbWUtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2MtbGltZS05OiBtYXAtZ2V0KCRvYy1saW1lLWxpc3QsIFxcXCI5XFxcIik7XFxuXFxuXFxuLy8gIFllbGxvd1xcbi8vICDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcXG5cXG4kb2MteWVsbG93LWxpc3Q6IChcXG4gIFxcXCIwXFxcIjogI2ZmZjlkYixcXG4gIFxcXCIxXFxcIjogI2ZmZjNiZixcXG4gIFxcXCIyXFxcIjogI2ZmZWM5OSxcXG4gIFxcXCIzXFxcIjogI2ZmZTA2NixcXG4gIFxcXCI0XFxcIjogI2ZmZDQzYixcXG4gIFxcXCI1XFxcIjogI2ZjYzQxOSxcXG4gIFxcXCI2XFxcIjogI2ZhYjAwNSxcXG4gIFxcXCI3XFxcIjogI2Y1OWYwMCxcXG4gIFxcXCI4XFxcIjogI2YwOGMwMCxcXG4gIFxcXCI5XFxcIjogI2U2NzcwMFxcbik7XFxuXFxuJG9jLXllbGxvdy0wOiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjBcXFwiKTtcXG4kb2MteWVsbG93LTE6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiMVxcXCIpO1xcbiRvYy15ZWxsb3ctMjogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCIyXFxcIik7XFxuJG9jLXllbGxvdy0zOiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjNcXFwiKTtcXG4kb2MteWVsbG93LTQ6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiNFxcXCIpO1xcbiRvYy15ZWxsb3ctNTogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCI1XFxcIik7XFxuJG9jLXllbGxvdy02OiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjZcXFwiKTtcXG4kb2MteWVsbG93LTc6IG1hcC1nZXQoJG9jLXllbGxvdy1saXN0LCBcXFwiN1xcXCIpO1xcbiRvYy15ZWxsb3ctODogbWFwLWdldCgkb2MteWVsbG93LWxpc3QsIFxcXCI4XFxcIik7XFxuJG9jLXllbGxvdy05OiBtYXAtZ2V0KCRvYy15ZWxsb3ctbGlzdCwgXFxcIjlcXFwiKTtcXG5cXG5cXG4vLyAgT3JhbmdlXFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1vcmFuZ2UtbGlzdDogKFxcbiAgXFxcIjBcXFwiOiAjZmZmNGU2LFxcbiAgXFxcIjFcXFwiOiAjZmZlOGNjLFxcbiAgXFxcIjJcXFwiOiAjZmZkOGE4LFxcbiAgXFxcIjNcXFwiOiAjZmZjMDc4LFxcbiAgXFxcIjRcXFwiOiAjZmZhOTRkLFxcbiAgXFxcIjVcXFwiOiAjZmY5MjJiLFxcbiAgXFxcIjZcXFwiOiAjZmQ3ZTE0LFxcbiAgXFxcIjdcXFwiOiAjZjc2NzA3LFxcbiAgXFxcIjhcXFwiOiAjZTg1OTBjLFxcbiAgXFxcIjlcXFwiOiAjZDk0ODBmXFxuKTtcXG5cXG4kb2Mtb3JhbmdlLTA6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiMFxcXCIpO1xcbiRvYy1vcmFuZ2UtMTogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCIxXFxcIik7XFxuJG9jLW9yYW5nZS0yOiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjJcXFwiKTtcXG4kb2Mtb3JhbmdlLTM6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiM1xcXCIpO1xcbiRvYy1vcmFuZ2UtNDogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCI0XFxcIik7XFxuJG9jLW9yYW5nZS01OiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjVcXFwiKTtcXG4kb2Mtb3JhbmdlLTY6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiNlxcXCIpO1xcbiRvYy1vcmFuZ2UtNzogbWFwLWdldCgkb2Mtb3JhbmdlLWxpc3QsIFxcXCI3XFxcIik7XFxuJG9jLW9yYW5nZS04OiBtYXAtZ2V0KCRvYy1vcmFuZ2UtbGlzdCwgXFxcIjhcXFwiKTtcXG4kb2Mtb3JhbmdlLTk6IG1hcC1nZXQoJG9jLW9yYW5nZS1saXN0LCBcXFwiOVxcXCIpO1xcblxcblxcbi8vICBDb2xvciBsaXN0XFxuLy8gIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxcblxcbiRvYy1jb2xvci1zcGVjdHJ1bTogICA5O1xcblxcbiRvYy1jb2xvci1saXN0OiAoXFxuICAkb2MtZ3JheS1saXN0OiAgICAgIFxcXCJncmF5XFxcIixcXG4gICRvYy1yZWQtbGlzdDogICAgICBcXFwicmVkXFxcIixcXG4gICRvYy1waW5rLWxpc3Q6ICAgICAgXFxcInBpbmtcXFwiLFxcbiAgJG9jLWdyYXBlLWxpc3Q6ICAgICAgXFxcImdyYXBlXFxcIixcXG4gICRvYy12aW9sZXQtbGlzdDogICAgICBcXFwidmlvbGV0XFxcIixcXG4gICRvYy1pbmRpZ28tbGlzdDogICAgICBcXFwiaW5kaWdvXFxcIixcXG4gICRvYy1ibHVlLWxpc3Q6ICAgICAgXFxcImJsdWVcXFwiLFxcbiAgJG9jLWN5YW4tbGlzdDogICAgICBcXFwiY3lhblxcXCIsXFxuICAkb2MtdGVhbC1saXN0OiAgICAgIFxcXCJ0ZWFsXFxcIixcXG4gICRvYy1ncmVlbi1saXN0OiAgICAgIFxcXCJncmVlblxcXCIsXFxuICAkb2MtbGltZS1saXN0OiAgICAgIFxcXCJsaW1lXFxcIixcXG4gICRvYy15ZWxsb3ctbGlzdDogICAgICBcXFwieWVsbG93XFxcIixcXG4gICRvYy1vcmFuZ2UtbGlzdDogICAgICBcXFwib3JhbmdlXFxcIlxcbik7XFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!../../css/styles.scss\n");
|
|
1124
1145
|
|
|
1125
1146
|
/***/ }),
|
|
1126
1147
|
|
|
@@ -1604,7 +1625,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1604
1625
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1605
1626
|
|
|
1606
1627
|
"use strict";
|
|
1607
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Card\": () => (/* binding */ Card)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var open_color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! open-color */ \"../../../node_modules/open-color/open-color.json\");\n/* harmony import */ var _Card_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Card.scss */ \"../../components/Card.scss\");\n/* harmony import */ var _Card_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Card_scss__WEBPACK_IMPORTED_MODULE_2__);\n\r\n\r\n\r\nconst Card = ({ children, color }) => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: \"Card\", style: {\r\n [\"--card-color\"]: open_color__WEBPACK_IMPORTED_MODULE_1__[color][7],\r\n [\"--card-color-darker\"]: open_color__WEBPACK_IMPORTED_MODULE_1__[color][8],\r\n [\"--card-color-darkest\"]: open_color__WEBPACK_IMPORTED_MODULE_1__[color][9],\r\n } }, { children: children }), void 0));\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
1628
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Card\": () => (/* binding */ Card)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var open_color__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! open-color */ \"../../../node_modules/open-color/open-color.json\");\n/* harmony import */ var _Card_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Card.scss */ \"../../components/Card.scss\");\n/* harmony import */ var _Card_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Card_scss__WEBPACK_IMPORTED_MODULE_2__);\n\r\n\r\n\r\nconst Card = ({ children, color }) => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: \"Card\", style: {\r\n [\"--card-color\"]: color === \"primary\" ? \"var(--color-primary)\" : open_color__WEBPACK_IMPORTED_MODULE_1__[color][7],\r\n [\"--card-color-darker\"]: color === \"primary\"\r\n ? \"var(--color-primary-darker)\"\r\n : open_color__WEBPACK_IMPORTED_MODULE_1__[color][8],\r\n [\"--card-color-darkest\"]: color === \"primary\"\r\n ? \"var(--color-primary-darkest)\"\r\n : open_color__WEBPACK_IMPORTED_MODULE_1__[color][9],\r\n } }, { children: children }), void 0));\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vY29tcG9uZW50cy9DYXJkLnRzeC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBbUM7QUFFZDtBQUVkLE1BQU0sSUFBSSxHQUVaLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtJQUMzQixPQUFPLENBQ0wsOEVBQ0UsU0FBUyxFQUFDLE1BQU0sRUFDaEIsS0FBSyxFQUFFO1lBQ0wsQ0FBQyxjQUFxQixDQUFDLEVBQ3JCLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyx1Q0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRSxDQUFDLHFCQUE0QixDQUFDLEVBQzVCLEtBQUssS0FBSyxTQUFTO2dCQUNqQixDQUFDLENBQUMsNkJBQTZCO2dCQUMvQixDQUFDLENBQUMsdUNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekIsQ0FBQyxzQkFBNkIsQ0FBQyxFQUM3QixLQUFLLEtBQUssU0FBUztnQkFDakIsQ0FBQyxDQUFDLDhCQUE4QjtnQkFDaEMsQ0FBQyxDQUFDLHVDQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzFCLGdCQUVBLFFBQVEsWUFDTCxDQUNQLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vY29tcG9uZW50cy9DYXJkLnRzeD9lMGVjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBPcGVuQ29sb3IgZnJvbSBcIm9wZW4tY29sb3JcIjtcblxuaW1wb3J0IFwiLi9DYXJkLnNjc3NcIjtcblxuZXhwb3J0IGNvbnN0IENhcmQ6IFJlYWN0LkZDPHtcbiAgY29sb3I6IGtleW9mIE9wZW5Db2xvciB8IFwicHJpbWFyeVwiO1xufT4gPSAoeyBjaGlsZHJlbiwgY29sb3IgfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT1cIkNhcmRcIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgW1wiLS1jYXJkLWNvbG9yXCIgYXMgYW55XTpcbiAgICAgICAgICBjb2xvciA9PT0gXCJwcmltYXJ5XCIgPyBcInZhcigtLWNvbG9yLXByaW1hcnkpXCIgOiBPcGVuQ29sb3JbY29sb3JdWzddLFxuICAgICAgICBbXCItLWNhcmQtY29sb3ItZGFya2VyXCIgYXMgYW55XTpcbiAgICAgICAgICBjb2xvciA9PT0gXCJwcmltYXJ5XCJcbiAgICAgICAgICAgID8gXCJ2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlcilcIlxuICAgICAgICAgICAgOiBPcGVuQ29sb3JbY29sb3JdWzhdLFxuICAgICAgICBbXCItLWNhcmQtY29sb3ItZGFya2VzdFwiIGFzIGFueV06XG4gICAgICAgICAgY29sb3IgPT09IFwicHJpbWFyeVwiXG4gICAgICAgICAgICA/IFwidmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KVwiXG4gICAgICAgICAgICA6IE9wZW5Db2xvcltjb2xvcl1bOV0sXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../components/Card.tsx\n");
|
|
1608
1629
|
|
|
1609
1630
|
/***/ }),
|
|
1610
1631
|
|
|
@@ -1813,7 +1834,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1813
1834
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1814
1835
|
|
|
1815
1836
|
"use strict";
|
|
1816
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"../../../node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants */ \"../../constants.ts\");\n/* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../data */ \"../../data/index.ts\");\n/* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../element */ \"../../element/index.ts\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../i18n */ \"../../i18n.ts\");\n/* harmony import */ var _components_App__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/App */ \"../../components/App.tsx\");\n/* harmony import */ var _scene__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../scene */ \"../../scene/index.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils */ \"../../utils.ts\");\n/* harmony import */ var _Actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Actions */ \"../../components/Actions.tsx\");\n/* harmony import */ var _BackgroundPickerAndDarkModeToggle__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./BackgroundPickerAndDarkModeToggle */ \"../../components/BackgroundPickerAndDarkModeToggle.tsx\");\n/* harmony import */ var _CollabButton__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./CollabButton */ \"../../components/CollabButton.tsx\");\n/* harmony import */ var _ErrorDialog__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ErrorDialog */ \"../../components/ErrorDialog.tsx\");\n/* harmony import */ var _ImageExportDialog__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ImageExportDialog */ \"../../components/ImageExportDialog.tsx\");\n/* harmony import */ var _FixedSideContainer__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./FixedSideContainer */ \"../../components/FixedSideContainer.tsx\");\n/* harmony import */ var _HintViewer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./HintViewer */ \"../../components/HintViewer.tsx\");\n/* harmony import */ var _Island__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Island */ \"../../components/Island.tsx\");\n/* harmony import */ var _LayerUI_scss__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./LayerUI.scss */ \"../../components/LayerUI.scss\");\n/* harmony import */ var _LayerUI_scss__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_LayerUI_scss__WEBPACK_IMPORTED_MODULE_18__);\n/* harmony import */ var _LoadingMessage__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./LoadingMessage */ \"../../components/LoadingMessage.tsx\");\n/* harmony import */ var _LockButton__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./LockButton */ \"../../components/LockButton.tsx\");\n/* harmony import */ var _MobileMenu__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./MobileMenu */ \"../../components/MobileMenu.tsx\");\n/* harmony import */ var _PasteChartDialog__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./PasteChartDialog */ \"../../components/PasteChartDialog.tsx\");\n/* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Section */ \"../../components/Section.tsx\");\n/* harmony import */ var _HelpDialog__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./HelpDialog */ \"../../components/HelpDialog.tsx\");\n/* harmony import */ var _Stack__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./Stack */ \"../../components/Stack.tsx\");\n/* harmony import */ var _UserList__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./UserList */ \"../../components/UserList.tsx\");\n/* harmony import */ var _JSONExportDialog__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./JSONExportDialog */ \"../../components/JSONExportDialog.tsx\");\n/* harmony import */ var _LibraryButton__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./LibraryButton */ \"../../components/LibraryButton.tsx\");\n/* harmony import */ var _data_blob__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../data/blob */ \"../../data/blob.ts\");\n/* harmony import */ var _LibraryMenu__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./LibraryMenu */ \"../../components/LibraryMenu.tsx\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst LayerUI = ({ onHomeButtonClick, actionManager, appState, files, setAppState, canvas, elements, onCollabButtonClick, onLockToggle, onInsertElements, zenModeEnabled, showExitZenModeBtn, showThemeBtn, toggleZenMode, isCollaborating, renderTopRightUI, renderCustomFooter, viewModeEnabled, libraryReturnUrl, UIOptions, focusContainer, library, id, onImageAction, }) => {\r\n const isMobile = (0,_components_App__WEBPACK_IMPORTED_MODULE_7__.useIsMobile)();\r\n const renderJSONExportDialog = () => {\r\n if (!UIOptions.canvasActions || !UIOptions.canvasActions.export) {\r\n return null;\r\n }\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_JSONExportDialog__WEBPACK_IMPORTED_MODULE_27__.JSONExportDialog, { elements: elements, appState: appState, files: files, actionManager: actionManager, exportOpts: UIOptions.canvasActions.export, canvas: canvas }, void 0));\r\n };\r\n const renderImageExportDialog = () => {\r\n if (!UIOptions.canvasActions || !UIOptions.canvasActions.saveAsImage) {\r\n return null;\r\n }\r\n const createExporter = (type) => (exportedElements) => __awaiter(void 0, void 0, void 0, function* () {\r\n const fileHandle = yield (0,_data__WEBPACK_IMPORTED_MODULE_4__.exportCanvas)(type, exportedElements, appState, files, {\r\n exportBackground: appState.exportBackground,\r\n name: appState.name,\r\n viewBackgroundColor: appState.viewBackgroundColor,\r\n })\r\n .catch(_utils__WEBPACK_IMPORTED_MODULE_9__.muteFSAbortError)\r\n .catch((error) => {\r\n console.error(error);\r\n setAppState({ errorMessage: error.message });\r\n });\r\n if (appState.exportEmbedScene &&\r\n fileHandle &&\r\n (0,_data_blob__WEBPACK_IMPORTED_MODULE_29__.isImageFileHandle)(fileHandle)) {\r\n setAppState({ fileHandle });\r\n }\r\n });\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ImageExportDialog__WEBPACK_IMPORTED_MODULE_14__.ImageExportDialog, { elements: elements, appState: appState, files: files, actionManager: actionManager, onExportToPng: createExporter(\"png\"), onExportToSvg: createExporter(\"svg\"), onExportToClipboard: createExporter(\"clipboard\") }, void 0));\r\n };\r\n const renderViewModeCanvasActions = () => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_23__.Section, Object.assign({ heading: \"canvasActions\", className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"zen-mode-transition\", {\r\n \"transition-left\": zenModeEnabled,\r\n }) }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Island__WEBPACK_IMPORTED_MODULE_17__.Island, Object.assign({ padding: 2, style: { zIndex: 1 } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Stack__WEBPACK_IMPORTED_MODULE_25__[\"default\"].Col, Object.assign({ gap: 4 }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_25__[\"default\"].Row, Object.assign({ gap: 1, justifyContent: \"space-between\" }, { children: [renderJSONExportDialog(), renderImageExportDialog()] }), void 0) }), void 0) }), void 0) }), void 0));\r\n };\r\n const renderCanvasActions = () => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_23__.Section, Object.assign({ heading: \"canvasActions\", className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"zen-mode-transition\", {\r\n \"transition-left\": zenModeEnabled,\r\n }) }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Island__WEBPACK_IMPORTED_MODULE_17__.Island, Object.assign({ padding: 2, style: { zIndex: 1 } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_25__[\"default\"].Col, Object.assign({ gap: 4 }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_25__[\"default\"].Row, Object.assign({ gap: 3, justifyContent: \"space-between\" }, { children: [actionManager.renderAction(\"clearCanvas\"), actionManager.renderAction(\"loadScene\"), renderJSONExportDialog(), renderImageExportDialog(), onCollabButtonClick && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_CollabButton__WEBPACK_IMPORTED_MODULE_12__[\"default\"], { isCollaborating: isCollaborating, collaboratorCount: appState.collaborators.size, onClick: onCollabButtonClick }, void 0))] }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_BackgroundPickerAndDarkModeToggle__WEBPACK_IMPORTED_MODULE_11__.BackgroundPickerAndDarkModeToggle, { actionManager: actionManager, appState: appState, setAppState: setAppState, showThemeBtn: showThemeBtn }, void 0), appState.fileHandle && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: actionManager.renderAction(\"saveToActiveFile\") }, void 0))] }), void 0) }), void 0) }), void 0));\r\n const renderSelectedShapeActions = () => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_23__.Section, Object.assign({ heading: \"selectedShapeActions\", className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"zen-mode-transition\", {\r\n \"transition-left\": zenModeEnabled,\r\n }) }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Island__WEBPACK_IMPORTED_MODULE_17__.Island, Object.assign({ className: _constants__WEBPACK_IMPORTED_MODULE_3__.CLASSES.SHAPE_ACTIONS_MENU, padding: 2, style: {\r\n // we want to make sure this doesn't overflow so substracting 200\r\n // which is approximately height of zoom footer and top left menu items with some buffer\r\n // if active file name is displayed, subtracting 248 to account for its height\r\n maxHeight: `${appState.height - (appState.fileHandle ? 248 : 200)}px`,\r\n } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Actions__WEBPACK_IMPORTED_MODULE_10__.SelectedShapeActions, { appState: appState, elements: elements, renderAction: actionManager.renderAction, elementType: appState.elementType }, void 0) }), void 0) }), void 0));\r\n const closeLibrary = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(() => {\r\n const isDialogOpen = !!document.querySelector(\".Dialog\");\r\n // Prevent closing if any dialog is open\r\n if (isDialogOpen) {\r\n return;\r\n }\r\n setAppState({ isLibraryOpen: false });\r\n }, [setAppState]);\r\n const deselectItems = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(() => {\r\n setAppState({\r\n selectedElementIds: {},\r\n selectedGroupIds: {},\r\n });\r\n }, [setAppState]);\r\n const libraryMenu = appState.isLibraryOpen ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LibraryMenu__WEBPACK_IMPORTED_MODULE_30__.LibraryMenu, { pendingElements: (0,_scene__WEBPACK_IMPORTED_MODULE_8__.getSelectedElements)(elements, appState), onClose: closeLibrary, onInsertShape: onInsertElements, onAddToLibrary: deselectItems, setAppState: setAppState, libraryReturnUrl: libraryReturnUrl, focusContainer: focusContainer, library: library, theme: appState.theme, files: files, id: id, appState: appState }, void 0)) : null;\r\n const renderFixedSideContainer = () => {\r\n const shouldRenderSelectedShapeActions = (0,_element__WEBPACK_IMPORTED_MODULE_5__.showSelectedShapeActions)(appState, elements);\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FixedSideContainer__WEBPACK_IMPORTED_MODULE_15__.FixedSideContainer, Object.assign({ side: \"top\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", Object.assign({ className: \"App-menu App-menu_top\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_25__[\"default\"].Col, Object.assign({ gap: 4, className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({ \"disable-pointerEvents\": zenModeEnabled }) }, { children: [UIOptions.canvasActions &&\r\n (viewModeEnabled\r\n ? renderViewModeCanvasActions()\r\n : renderCanvasActions()), shouldRenderSelectedShapeActions && renderSelectedShapeActions()] }), void 0), !viewModeEnabled && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_23__.Section, Object.assign({ heading: \"shapes\" }, { children: (heading) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_25__[\"default\"].Col, Object.assign({ gap: 4, align: \"start\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_25__[\"default\"].Row, Object.assign({ gap: 1 }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LockButton__WEBPACK_IMPORTED_MODULE_20__.LockButton, { zenModeEnabled: zenModeEnabled, checked: appState.elementLocked, onChange: onLockToggle, title: (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.t)(\"toolBar.lock\") }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Island__WEBPACK_IMPORTED_MODULE_17__.Island, Object.assign({ padding: 1, className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({ \"zen-mode\": zenModeEnabled }) }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HintViewer__WEBPACK_IMPORTED_MODULE_16__.HintViewer, { appState: appState, elements: elements, isMobile: isMobile }, void 0), heading, (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Stack__WEBPACK_IMPORTED_MODULE_25__[\"default\"].Row, Object.assign({ gap: 1 }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Actions__WEBPACK_IMPORTED_MODULE_10__.ShapesSwitcher, { canvas: canvas, elementType: appState.elementType, setAppState: setAppState, onImageAction: ({ pointerType }) => {\r\n onImageAction({\r\n insertOnCanvasDirectly: pointerType !== \"mouse\",\r\n });\r\n } }, void 0) }), void 0)] }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LibraryButton__WEBPACK_IMPORTED_MODULE_28__.LibraryButton, { appState: appState, setAppState: setAppState }, void 0)] }), void 0), libraryMenu] }), void 0)) }), void 0)), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"layer-ui__wrapper__top-right zen-mode-transition\", {\r\n \"transition-right\": zenModeEnabled,\r\n }) }, { children: renderTopRightUI === null || renderTopRightUI === void 0 ? void 0 : renderTopRightUI(isMobile, appState, canvas) }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UserList__WEBPACK_IMPORTED_MODULE_26__.UserList, { className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"zen-mode-transition\", {\r\n \"transition-right\": zenModeEnabled,\r\n }), layout: \"vertical\", collaborators: appState.collaborators, actionManager: actionManager }, void 0)] }), void 0) }), void 0));\r\n };\r\n const renderBottomAppMenu = () => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"footer\", Object.assign({ role: \"contentinfo\", className: \"layer-ui__wrapper__footer App-menu App-menu_bottom\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"layer-ui__wrapper__footer-left zen-mode-transition\", {\r\n \"layer-ui__wrapper__footer-left--transition-left\": zenModeEnabled,\r\n }) }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Stack__WEBPACK_IMPORTED_MODULE_25__[\"default\"].Col, Object.assign({ gap: 2 }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Section__WEBPACK_IMPORTED_MODULE_23__.Section, Object.assign({ heading: \"canvasActions\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Island__WEBPACK_IMPORTED_MODULE_17__.Island, Object.assign({ padding: 1 }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Actions__WEBPACK_IMPORTED_MODULE_10__.ZoomActions, { renderAction: actionManager.renderAction, zoom: appState.zoom }, void 0) }), void 0), !viewModeEnabled && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"undo-redo-buttons zen-mode-transition\", {\r\n \"layer-ui__wrapper__footer-left--transition-bottom\": zenModeEnabled,\r\n }) }, { children: [actionManager.renderAction(\"undo\", { size: \"small\" }), actionManager.renderAction(\"redo\", { size: \"small\" })] }), void 0))] }), void 0) }), void 0) }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"layer-ui__wrapper__footer-center zen-mode-transition\", {\r\n \"layer-ui__wrapper__footer-left--transition-bottom\": zenModeEnabled,\r\n }) }, { children: renderCustomFooter === null || renderCustomFooter === void 0 ? void 0 : renderCustomFooter(false, appState) }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"layer-ui__wrapper__footer-right zen-mode-transition\", {\r\n \"transition-right disable-pointerEvents\": zenModeEnabled,\r\n }) }, { children: actionManager.renderAction(\"toggleShortcuts\") }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"button\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"disable-zen-mode\", {\r\n \"disable-zen-mode--visible\": showExitZenModeBtn,\r\n }), onClick: toggleZenMode }, { children: (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.t)(\"buttons.exitZenMode\") }), void 0)] }), void 0));\r\n };\r\n const dialogs = ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [appState.isLoading && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LoadingMessage__WEBPACK_IMPORTED_MODULE_19__.LoadingMessage, {}, void 0), appState.errorMessage && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ErrorDialog__WEBPACK_IMPORTED_MODULE_13__.ErrorDialog, { message: appState.errorMessage, onClose: () => setAppState({ errorMessage: null }) }, void 0)), appState.showHelpDialog && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HelpDialog__WEBPACK_IMPORTED_MODULE_24__.HelpDialog, { onClose: () => {\r\n setAppState({ showHelpDialog: false });\r\n } }, void 0)), appState.pasteDialog.shown && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_PasteChartDialog__WEBPACK_IMPORTED_MODULE_22__.PasteChartDialog, { setAppState: setAppState, appState: appState, onInsertChart: onInsertElements, onClose: () => setAppState({\r\n pasteDialog: { shown: false, data: null },\r\n }) }, void 0))] }, void 0));\r\n return isMobile ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [dialogs, (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_MobileMenu__WEBPACK_IMPORTED_MODULE_21__.MobileMenu, { onHomeButtonClick: onHomeButtonClick, appState: appState, elements: elements, actionManager: actionManager, libraryMenu: libraryMenu, renderJSONExportDialog: renderJSONExportDialog, renderImageExportDialog: renderImageExportDialog, setAppState: setAppState, onCollabButtonClick: onCollabButtonClick, onLockToggle: onLockToggle, canvas: canvas, isCollaborating: isCollaborating, renderCustomFooter: renderCustomFooter, viewModeEnabled: viewModeEnabled, showThemeBtn: showThemeBtn, onImageAction: onImageAction, renderTopRightUI: renderTopRightUI, UIOptions: UIOptions }, void 0)] }, void 0)) : ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"layer-ui__wrapper\", {\r\n \"disable-pointerEvents\": appState.draggingElement ||\r\n appState.resizingElement ||\r\n (appState.editingElement && !(0,_element__WEBPACK_IMPORTED_MODULE_5__.isTextElement)(appState.editingElement)),\r\n }) }, { children: [dialogs, renderFixedSideContainer(), renderBottomAppMenu(), appState.scrolledOutside && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"button\", Object.assign({ className: \"scroll-back-to-content\", onClick: () => {\r\n setAppState(Object.assign({}, (0,_scene__WEBPACK_IMPORTED_MODULE_8__.calculateScrollCenter)(elements, appState, canvas)));\r\n } }, { children: (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.t)(\"buttons.scrollBackToContent\") }), void 0))] }), void 0));\r\n};\r\nconst areEqual = (prev, next) => {\r\n const getNecessaryObj = (appState) => {\r\n const { suggestedBindings, startBoundElement: boundElement } = appState, ret = __rest(appState, [\"suggestedBindings\", \"startBoundElement\"]);\r\n return ret;\r\n };\r\n const prevAppState = getNecessaryObj(prev.appState);\r\n const nextAppState = getNecessaryObj(next.appState);\r\n const keys = Object.keys(prevAppState);\r\n return (prev.renderTopRightUI === next.renderTopRightUI &&\r\n prev.renderCustomFooter === next.renderCustomFooter &&\r\n prev.langCode === next.langCode &&\r\n prev.elements === next.elements &&\r\n prev.files === next.files &&\r\n keys.every((key) => prevAppState[key] === nextAppState[key]));\r\n};\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (react__WEBPACK_IMPORTED_MODULE_2___default().memo(LayerUI, areEqual));\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QztJQUNiLENBQUMsQ0FBQztJQUNGLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVwRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBZ0MsQ0FBQztJQUN0RSxPQUFPLENBQ0wsSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxnQkFBZ0I7UUFDL0MsSUFBSSxDQUFDLGtCQUFrQixLQUFLLElBQUksQ0FBQyxrQkFBa0I7UUFDbkQsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUTtRQUMvQixJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRO1FBQy9CLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUs7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM3RCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsaUVBQWUsaURBQVUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vY29tcG9uZW50cy9MYXllclVJLnRzeD8wODc4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbHN4IGZyb20gXCJjbHN4XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEFjdGlvbk1hbmFnZXIgfSBmcm9tIFwiLi4vYWN0aW9ucy9tYW5hZ2VyXCI7XG5pbXBvcnQgeyBDTEFTU0VTIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZXhwb3J0Q2FudmFzIH0gZnJvbSBcIi4uL2RhdGFcIjtcbmltcG9ydCB7IGlzVGV4dEVsZW1lbnQsIHNob3dTZWxlY3RlZFNoYXBlQWN0aW9ucyB9IGZyb20gXCIuLi9lbGVtZW50XCI7XG5pbXBvcnQgeyBOb25EZWxldGVkRXhjYWxpZHJhd0VsZW1lbnQgfSBmcm9tIFwiLi4vZWxlbWVudC90eXBlc1wiO1xuaW1wb3J0IHsgTGFuZ3VhZ2UsIHQgfSBmcm9tIFwiLi4vaTE4blwiO1xuaW1wb3J0IHsgdXNlSXNNb2JpbGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9BcHBcIjtcbmltcG9ydCB7IGNhbGN1bGF0ZVNjcm9sbENlbnRlciwgZ2V0U2VsZWN0ZWRFbGVtZW50cyB9IGZyb20gXCIuLi9zY2VuZVwiO1xuaW1wb3J0IHsgRXhwb3J0VHlwZSB9IGZyb20gXCIuLi9zY2VuZS90eXBlc1wiO1xuaW1wb3J0IHsgQXBwUHJvcHMsIEFwcFN0YXRlLCBFeGNhbGlkcmF3UHJvcHMsIEJpbmFyeUZpbGVzIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBtdXRlRlNBYm9ydEVycm9yIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBTZWxlY3RlZFNoYXBlQWN0aW9ucywgU2hhcGVzU3dpdGNoZXIsIFpvb21BY3Rpb25zIH0gZnJvbSBcIi4vQWN0aW9uc1wiO1xuaW1wb3J0IHsgQmFja2dyb3VuZFBpY2tlckFuZERhcmtNb2RlVG9nZ2xlIH0gZnJvbSBcIi4vQmFja2dyb3VuZFBpY2tlckFuZERhcmtNb2RlVG9nZ2xlXCI7XG5pbXBvcnQgQ29sbGFiQnV0dG9uIGZyb20gXCIuL0NvbGxhYkJ1dHRvblwiO1xuaW1wb3J0IHsgRXJyb3JEaWFsb2cgfSBmcm9tIFwiLi9FcnJvckRpYWxvZ1wiO1xuaW1wb3J0IHsgRXhwb3J0Q0IsIEltYWdlRXhwb3J0RGlhbG9nIH0gZnJvbSBcIi4vSW1hZ2VFeHBvcnREaWFsb2dcIjtcbmltcG9ydCB7IEZpeGVkU2lkZUNvbnRhaW5lciB9IGZyb20gXCIuL0ZpeGVkU2lkZUNvbnRhaW5lclwiO1xuaW1wb3J0IHsgSGludFZpZXdlciB9IGZyb20gXCIuL0hpbnRWaWV3ZXJcIjtcbmltcG9ydCB7IElzbGFuZCB9IGZyb20gXCIuL0lzbGFuZFwiO1xuaW1wb3J0IFwiLi9MYXllclVJLnNjc3NcIjtcbmltcG9ydCB7IExvYWRpbmdNZXNzYWdlIH0gZnJvbSBcIi4vTG9hZGluZ01lc3NhZ2VcIjtcbmltcG9ydCB7IExvY2tCdXR0b24gfSBmcm9tIFwiLi9Mb2NrQnV0dG9uXCI7XG5pbXBvcnQgeyBNb2JpbGVNZW51IH0gZnJvbSBcIi4vTW9iaWxlTWVudVwiO1xuaW1wb3J0IHsgUGFzdGVDaGFydERpYWxvZyB9IGZyb20gXCIuL1Bhc3RlQ2hhcnREaWFsb2dcIjtcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tIFwiLi9TZWN0aW9uXCI7XG5pbXBvcnQgeyBIZWxwRGlhbG9nIH0gZnJvbSBcIi4vSGVscERpYWxvZ1wiO1xuaW1wb3J0IFN0YWNrIGZyb20gXCIuL1N0YWNrXCI7XG5pbXBvcnQgeyBVc2VyTGlzdCB9IGZyb20gXCIuL1VzZXJMaXN0XCI7XG5pbXBvcnQgTGlicmFyeSBmcm9tIFwiLi4vZGF0YS9saWJyYXJ5XCI7XG5pbXBvcnQgeyBKU09ORXhwb3J0RGlhbG9nIH0gZnJvbSBcIi4vSlNPTkV4cG9ydERpYWxvZ1wiO1xuaW1wb3J0IHsgTGlicmFyeUJ1dHRvbiB9IGZyb20gXCIuL0xpYnJhcnlCdXR0b25cIjtcbmltcG9ydCB7IGlzSW1hZ2VGaWxlSGFuZGxlIH0gZnJvbSBcIi4uL2RhdGEvYmxvYlwiO1xuaW1wb3J0IHsgTGlicmFyeU1lbnUgfSBmcm9tIFwiLi9MaWJyYXJ5TWVudVwiO1xuXG5pbnRlcmZhY2UgTGF5ZXJVSVByb3BzIHtcbiAgb25Ib21lQnV0dG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xuICBhY3Rpb25NYW5hZ2VyOiBBY3Rpb25NYW5hZ2VyO1xuICBhcHBTdGF0ZTogQXBwU3RhdGU7XG4gIGZpbGVzOiBCaW5hcnlGaWxlcztcbiAgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCB8IG51bGw7XG4gIHNldEFwcFN0YXRlOiBSZWFjdC5Db21wb25lbnQ8YW55LCBBcHBTdGF0ZT5bXCJzZXRTdGF0ZVwiXTtcbiAgZWxlbWVudHM6IHJlYWRvbmx5IE5vbkRlbGV0ZWRFeGNhbGlkcmF3RWxlbWVudFtdO1xuICBvbkNvbGxhYkJ1dHRvbkNsaWNrPzogKCkgPT4gdm9pZDtcbiAgb25Mb2NrVG9nZ2xlOiAoKSA9PiB2b2lkO1xuICBvbkluc2VydEVsZW1lbnRzOiAoZWxlbWVudHM6IHJlYWRvbmx5IE5vbkRlbGV0ZWRFeGNhbGlkcmF3RWxlbWVudFtdKSA9PiB2b2lkO1xuICB6ZW5Nb2RlRW5hYmxlZDogYm9vbGVhbjtcbiAgc2hvd0V4aXRaZW5Nb2RlQnRuOiBib29sZWFuO1xuICBzaG93VGhlbWVCdG46IGJvb2xlYW47XG4gIHRvZ2dsZVplbk1vZGU6ICgpID0+IHZvaWQ7XG4gIGxhbmdDb2RlOiBMYW5ndWFnZVtcImNvZGVcIl07XG4gIGlzQ29sbGFib3JhdGluZzogYm9vbGVhbjtcbiAgcmVuZGVyVG9wUmlnaHRVST86IChcbiAgICBpc01vYmlsZTogYm9vbGVhbixcbiAgICBhcHBTdGF0ZTogQXBwU3RhdGUsXG4gICAgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCB8IG51bGwsXG4gICkgPT4gSlNYLkVsZW1lbnQgfCBudWxsO1xuICByZW5kZXJDdXN0b21Gb290ZXI/OiAoaXNNb2JpbGU6IGJvb2xlYW4sIGFwcFN0YXRlOiBBcHBTdGF0ZSkgPT4gSlNYLkVsZW1lbnQ7XG4gIHZpZXdNb2RlRW5hYmxlZDogYm9vbGVhbjtcbiAgbGlicmFyeVJldHVyblVybDogRXhjYWxpZHJhd1Byb3BzW1wibGlicmFyeVJldHVyblVybFwiXTtcbiAgVUlPcHRpb25zOiBBcHBQcm9wc1tcIlVJT3B0aW9uc1wiXTtcbiAgZm9jdXNDb250YWluZXI6ICgpID0+IHZvaWQ7XG4gIGxpYnJhcnk6IExpYnJhcnk7XG4gIGlkOiBzdHJpbmc7XG4gIG9uSW1hZ2VBY3Rpb246IChkYXRhOiB7IGluc2VydE9uQ2FudmFzRGlyZWN0bHk6IGJvb2xlYW4gfSkgPT4gdm9pZDtcbn1cblxuY29uc3QgTGF5ZXJVSSA9ICh7XG4gIG9uSG9tZUJ1dHRvbkNsaWNrLFxuICBhY3Rpb25NYW5hZ2VyLFxuICBhcHBTdGF0ZSxcbiAgZmlsZXMsXG4gIHNldEFwcFN0YXRlLFxuICBjYW52YXMsXG4gIGVsZW1lbnRzLFxuICBvbkNvbGxhYkJ1dHRvbkNsaWNrLFxuICBvbkxvY2tUb2dnbGUsXG4gIG9uSW5zZXJ0RWxlbWVudHMsXG4gIHplbk1vZGVFbmFibGVkLFxuICBzaG93RXhpdFplbk1vZGVCdG4sXG4gIHNob3dUaGVtZUJ0bixcbiAgdG9nZ2xlWmVuTW9kZSxcbiAgaXNDb2xsYWJvcmF0aW5nLFxuICByZW5kZXJUb3BSaWdodFVJLFxuICByZW5kZXJDdXN0b21Gb290ZXIsXG4gIHZpZXdNb2RlRW5hYmxlZCxcbiAgbGlicmFyeVJldHVyblVybCxcbiAgVUlPcHRpb25zLFxuICBmb2N1c0NvbnRhaW5lcixcbiAgbGlicmFyeSxcbiAgaWQsXG4gIG9uSW1hZ2VBY3Rpb24sXG59OiBMYXllclVJUHJvcHMpID0+IHtcbiAgY29uc3QgaXNNb2JpbGUgPSB1c2VJc01vYmlsZSgpO1xuXG4gIGNvbnN0IHJlbmRlckpTT05FeHBvcnREaWFsb2cgPSAoKSA9PiB7XG4gICAgaWYgKCFVSU9wdGlvbnMuY2FudmFzQWN0aW9ucyB8fCAhVUlPcHRpb25zLmNhbnZhc0FjdGlvbnMuZXhwb3J0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEpTT05FeHBvcnREaWFsb2dcbiAgICAgICAgZWxlbWVudHM9e2VsZW1lbnRzfVxuICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgIGZpbGVzPXtmaWxlc31cbiAgICAgICAgYWN0aW9uTWFuYWdlcj17YWN0aW9uTWFuYWdlcn1cbiAgICAgICAgZXhwb3J0T3B0cz17VUlPcHRpb25zLmNhbnZhc0FjdGlvbnMuZXhwb3J0fVxuICAgICAgICBjYW52YXM9e2NhbnZhc31cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJJbWFnZUV4cG9ydERpYWxvZyA9ICgpID0+IHtcbiAgICBpZiAoIVVJT3B0aW9ucy5jYW52YXNBY3Rpb25zIHx8ICFVSU9wdGlvbnMuY2FudmFzQWN0aW9ucy5zYXZlQXNJbWFnZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgY3JlYXRlRXhwb3J0ZXIgPVxuICAgICAgKHR5cGU6IEV4cG9ydFR5cGUpOiBFeHBvcnRDQiA9PlxuICAgICAgYXN5bmMgKGV4cG9ydGVkRWxlbWVudHMpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZUhhbmRsZSA9IGF3YWl0IGV4cG9ydENhbnZhcyhcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIGV4cG9ydGVkRWxlbWVudHMsXG4gICAgICAgICAgYXBwU3RhdGUsXG4gICAgICAgICAgZmlsZXMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZXhwb3J0QmFja2dyb3VuZDogYXBwU3RhdGUuZXhwb3J0QmFja2dyb3VuZCxcbiAgICAgICAgICAgIG5hbWU6IGFwcFN0YXRlLm5hbWUsXG4gICAgICAgICAgICB2aWV3QmFja2dyb3VuZENvbG9yOiBhcHBTdGF0ZS52aWV3QmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgIH0sXG4gICAgICAgIClcbiAgICAgICAgICAuY2F0Y2gobXV0ZUZTQWJvcnRFcnJvcilcbiAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIHNldEFwcFN0YXRlKHsgZXJyb3JNZXNzYWdlOiBlcnJvci5tZXNzYWdlIH0pO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBhcHBTdGF0ZS5leHBvcnRFbWJlZFNjZW5lICYmXG4gICAgICAgICAgZmlsZUhhbmRsZSAmJlxuICAgICAgICAgIGlzSW1hZ2VGaWxlSGFuZGxlKGZpbGVIYW5kbGUpXG4gICAgICAgICkge1xuICAgICAgICAgIHNldEFwcFN0YXRlKHsgZmlsZUhhbmRsZSB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8SW1hZ2VFeHBvcnREaWFsb2dcbiAgICAgICAgZWxlbWVudHM9e2VsZW1lbnRzfVxuICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgIGZpbGVzPXtmaWxlc31cbiAgICAgICAgYWN0aW9uTWFuYWdlcj17YWN0aW9uTWFuYWdlcn1cbiAgICAgICAgb25FeHBvcnRUb1BuZz17Y3JlYXRlRXhwb3J0ZXIoXCJwbmdcIil9XG4gICAgICAgIG9uRXhwb3J0VG9Tdmc9e2NyZWF0ZUV4cG9ydGVyKFwic3ZnXCIpfVxuICAgICAgICBvbkV4cG9ydFRvQ2xpcGJvYXJkPXtjcmVhdGVFeHBvcnRlcihcImNsaXBib2FyZFwiKX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJWaWV3TW9kZUNhbnZhc0FjdGlvbnMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTZWN0aW9uXG4gICAgICAgIGhlYWRpbmc9XCJjYW52YXNBY3Rpb25zXCJcbiAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFwiemVuLW1vZGUtdHJhbnNpdGlvblwiLCB7XG4gICAgICAgICAgXCJ0cmFuc2l0aW9uLWxlZnRcIjogemVuTW9kZUVuYWJsZWQsXG4gICAgICAgIH0pfVxuICAgICAgPlxuICAgICAgICB7LyogdGhlIHpJbmRleCBlbnN1cmVzIHRoaXMgbWVudSBoYXMgaGlnaGVyIHN0YWNraW5nIG9yZGVyLFxuICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9leGNhbGlkcmF3L2V4Y2FsaWRyYXcvcHVsbC8xNDQ1ICovfVxuICAgICAgICA8SXNsYW5kIHBhZGRpbmc9ezJ9IHN0eWxlPXt7IHpJbmRleDogMSB9fT5cbiAgICAgICAgICA8U3RhY2suQ29sIGdhcD17NH0+XG4gICAgICAgICAgICA8U3RhY2suUm93IGdhcD17MX0ganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgIHtyZW5kZXJKU09ORXhwb3J0RGlhbG9nKCl9XG4gICAgICAgICAgICAgIHtyZW5kZXJJbWFnZUV4cG9ydERpYWxvZygpfVxuICAgICAgICAgICAgPC9TdGFjay5Sb3c+XG4gICAgICAgICAgPC9TdGFjay5Db2w+XG4gICAgICAgIDwvSXNsYW5kPlxuICAgICAgPC9TZWN0aW9uPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyQ2FudmFzQWN0aW9ucyA9ICgpID0+IChcbiAgICA8U2VjdGlvblxuICAgICAgaGVhZGluZz1cImNhbnZhc0FjdGlvbnNcIlxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFwiemVuLW1vZGUtdHJhbnNpdGlvblwiLCB7XG4gICAgICAgIFwidHJhbnNpdGlvbi1sZWZ0XCI6IHplbk1vZGVFbmFibGVkLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgey8qIHRoZSB6SW5kZXggZW5zdXJlcyB0aGlzIG1lbnUgaGFzIGhpZ2hlciBzdGFja2luZyBvcmRlcixcbiAgICAgICAgIHNlZSBodHRwczovL2dpdGh1Yi5jb20vZXhjYWxpZHJhdy9leGNhbGlkcmF3L3B1bGwvMTQ0NSAqL31cbiAgICAgIDxJc2xhbmQgcGFkZGluZz17Mn0gc3R5bGU9e3sgekluZGV4OiAxIH19PlxuICAgICAgICA8U3RhY2suQ29sIGdhcD17NH0+XG4gICAgICAgICAgPFN0YWNrLlJvdyBnYXA9ezN9IGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiPlxuICAgICAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwiY2xlYXJDYW52YXNcIil9XG4gICAgICAgICAgICB7YWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb24oXCJsb2FkU2NlbmVcIil9XG4gICAgICAgICAgICB7cmVuZGVySlNPTkV4cG9ydERpYWxvZygpfVxuICAgICAgICAgICAge3JlbmRlckltYWdlRXhwb3J0RGlhbG9nKCl9XG4gICAgICAgICAgICB7b25Db2xsYWJCdXR0b25DbGljayAmJiAoXG4gICAgICAgICAgICAgIDxDb2xsYWJCdXR0b25cbiAgICAgICAgICAgICAgICBpc0NvbGxhYm9yYXRpbmc9e2lzQ29sbGFib3JhdGluZ31cbiAgICAgICAgICAgICAgICBjb2xsYWJvcmF0b3JDb3VudD17YXBwU3RhdGUuY29sbGFib3JhdG9ycy5zaXplfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ29sbGFiQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU3RhY2suUm93PlxuICAgICAgICAgIDxCYWNrZ3JvdW5kUGlja2VyQW5kRGFya01vZGVUb2dnbGVcbiAgICAgICAgICAgIGFjdGlvbk1hbmFnZXI9e2FjdGlvbk1hbmFnZXJ9XG4gICAgICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgICAgICBzZXRBcHBTdGF0ZT17c2V0QXBwU3RhdGV9XG4gICAgICAgICAgICBzaG93VGhlbWVCdG49e3Nob3dUaGVtZUJ0bn1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHthcHBTdGF0ZS5maWxlSGFuZGxlICYmIChcbiAgICAgICAgICAgIDw+e2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwic2F2ZVRvQWN0aXZlRmlsZVwiKX08Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1N0YWNrLkNvbD5cbiAgICAgIDwvSXNsYW5kPlxuICAgIDwvU2VjdGlvbj5cbiAgKTtcblxuICBjb25zdCByZW5kZXJTZWxlY3RlZFNoYXBlQWN0aW9ucyA9ICgpID0+IChcbiAgICA8U2VjdGlvblxuICAgICAgaGVhZGluZz1cInNlbGVjdGVkU2hhcGVBY3Rpb25zXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xzeChcInplbi1tb2RlLXRyYW5zaXRpb25cIiwge1xuICAgICAgICBcInRyYW5zaXRpb24tbGVmdFwiOiB6ZW5Nb2RlRW5hYmxlZCxcbiAgICAgIH0pfVxuICAgID5cbiAgICAgIDxJc2xhbmRcbiAgICAgICAgY2xhc3NOYW1lPXtDTEFTU0VTLlNIQVBFX0FDVElPTlNfTUVOVX1cbiAgICAgICAgcGFkZGluZz17Mn1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAvLyB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGlzIGRvZXNuJ3Qgb3ZlcmZsb3cgc28gc3Vic3RyYWN0aW5nIDIwMFxuICAgICAgICAgIC8vIHdoaWNoIGlzIGFwcHJveGltYXRlbHkgaGVpZ2h0IG9mIHpvb20gZm9vdGVyIGFuZCB0b3AgbGVmdCBtZW51IGl0ZW1zIHdpdGggc29tZSBidWZmZXJcbiAgICAgICAgICAvLyBpZiBhY3RpdmUgZmlsZSBuYW1lIGlzIGRpc3BsYXllZCwgc3VidHJhY3RpbmcgMjQ4IHRvIGFjY291bnQgZm9yIGl0cyBoZWlnaHRcbiAgICAgICAgICBtYXhIZWlnaHQ6IGAke2FwcFN0YXRlLmhlaWdodCAtIChhcHBTdGF0ZS5maWxlSGFuZGxlID8gMjQ4IDogMjAwKX1weGAsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxTZWxlY3RlZFNoYXBlQWN0aW9uc1xuICAgICAgICAgIGFwcFN0YXRlPXthcHBTdGF0ZX1cbiAgICAgICAgICBlbGVtZW50cz17ZWxlbWVudHN9XG4gICAgICAgICAgcmVuZGVyQWN0aW9uPXthY3Rpb25NYW5hZ2VyLnJlbmRlckFjdGlvbn1cbiAgICAgICAgICBlbGVtZW50VHlwZT17YXBwU3RhdGUuZWxlbWVudFR5cGV9XG4gICAgICAgIC8+XG4gICAgICA8L0lzbGFuZD5cbiAgICA8L1NlY3Rpb24+XG4gICk7XG5cbiAgY29uc3QgY2xvc2VMaWJyYXJ5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGlzRGlhbG9nT3BlbiA9ICEhZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5EaWFsb2dcIik7XG5cbiAgICAvLyBQcmV2ZW50IGNsb3NpbmcgaWYgYW55IGRpYWxvZyBpcyBvcGVuXG4gICAgaWYgKGlzRGlhbG9nT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzZXRBcHBTdGF0ZSh7IGlzTGlicmFyeU9wZW46IGZhbHNlIH0pO1xuICB9LCBbc2V0QXBwU3RhdGVdKTtcblxuICBjb25zdCBkZXNlbGVjdEl0ZW1zID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEFwcFN0YXRlKHtcbiAgICAgIHNlbGVjdGVkRWxlbWVudElkczoge30sXG4gICAgICBzZWxlY3RlZEdyb3VwSWRzOiB7fSxcbiAgICB9KTtcbiAgfSwgW3NldEFwcFN0YXRlXSk7XG5cbiAgY29uc3QgbGlicmFyeU1lbnUgPSBhcHBTdGF0ZS5pc0xpYnJhcnlPcGVuID8gKFxuICAgIDxMaWJyYXJ5TWVudVxuICAgICAgcGVuZGluZ0VsZW1lbnRzPXtnZXRTZWxlY3RlZEVsZW1lbnRzKGVsZW1lbnRzLCBhcHBTdGF0ZSl9XG4gICAgICBvbkNsb3NlPXtjbG9zZUxpYnJhcnl9XG4gICAgICBvbkluc2VydFNoYXBlPXtvbkluc2VydEVsZW1lbnRzfVxuICAgICAgb25BZGRUb0xpYnJhcnk9e2Rlc2VsZWN0SXRlbXN9XG4gICAgICBzZXRBcHBTdGF0ZT17c2V0QXBwU3RhdGV9XG4gICAgICBsaWJyYXJ5UmV0dXJuVXJsPXtsaWJyYXJ5UmV0dXJuVXJsfVxuICAgICAgZm9jdXNDb250YWluZXI9e2ZvY3VzQ29udGFpbmVyfVxuICAgICAgbGlicmFyeT17bGlicmFyeX1cbiAgICAgIHRoZW1lPXthcHBTdGF0ZS50aGVtZX1cbiAgICAgIGZpbGVzPXtmaWxlc31cbiAgICAgIGlkPXtpZH1cbiAgICAgIGFwcFN0YXRlPXthcHBTdGF0ZX1cbiAgICAvPlxuICApIDogbnVsbDtcblxuICBjb25zdCByZW5kZXJGaXhlZFNpZGVDb250YWluZXIgPSAoKSA9PiB7XG4gICAgY29uc3Qgc2hvdWxkUmVuZGVyU2VsZWN0ZWRTaGFwZUFjdGlvbnMgPSBzaG93U2VsZWN0ZWRTaGFwZUFjdGlvbnMoXG4gICAgICBhcHBTdGF0ZSxcbiAgICAgIGVsZW1lbnRzLFxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZpeGVkU2lkZUNvbnRhaW5lciBzaWRlPVwidG9wXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiQXBwLW1lbnUgQXBwLW1lbnVfdG9wXCI+XG4gICAgICAgICAgPFN0YWNrLkNvbFxuICAgICAgICAgICAgZ2FwPXs0fVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KHsgXCJkaXNhYmxlLXBvaW50ZXJFdmVudHNcIjogemVuTW9kZUVuYWJsZWQgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge1VJT3B0aW9ucy5jYW52YXNBY3Rpb25zICYmXG4gICAgICAgICAgICAgICh2aWV3TW9kZUVuYWJsZWRcbiAgICAgICAgICAgICAgICA/IHJlbmRlclZpZXdNb2RlQ2FudmFzQWN0aW9ucygpXG4gICAgICAgICAgICAgICAgOiByZW5kZXJDYW52YXNBY3Rpb25zKCkpfVxuICAgICAgICAgICAge3Nob3VsZFJlbmRlclNlbGVjdGVkU2hhcGVBY3Rpb25zICYmIHJlbmRlclNlbGVjdGVkU2hhcGVBY3Rpb25zKCl9XG4gICAgICAgICAgPC9TdGFjay5Db2w+XG4gICAgICAgICAgeyF2aWV3TW9kZUVuYWJsZWQgJiYgKFxuICAgICAgICAgICAgPFNlY3Rpb24gaGVhZGluZz1cInNoYXBlc1wiPlxuICAgICAgICAgICAgICB7KGhlYWRpbmcpID0+IChcbiAgICAgICAgICAgICAgICA8U3RhY2suQ29sIGdhcD17NH0gYWxpZ249XCJzdGFydFwiPlxuICAgICAgICAgICAgICAgICAgPFN0YWNrLlJvdyBnYXA9ezF9PlxuICAgICAgICAgICAgICAgICAgICA8TG9ja0J1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIHplbk1vZGVFbmFibGVkPXt6ZW5Nb2RlRW5hYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXthcHBTdGF0ZS5lbGVtZW50TG9ja2VkfVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkxvY2tUb2dnbGV9XG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU9e3QoXCJ0b29sQmFyLmxvY2tcIil9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxJc2xhbmRcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nPXsxfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeCh7IFwiemVuLW1vZGVcIjogemVuTW9kZUVuYWJsZWQgfSl9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8SGludFZpZXdlclxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwU3RhdGU9e2FwcFN0YXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudHM9e2VsZW1lbnRzfVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNNb2JpbGU9e2lzTW9iaWxlfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAge2hlYWRpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgPFN0YWNrLlJvdyBnYXA9ezF9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNoYXBlc1N3aXRjaGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNhbnZhcz17Y2FudmFzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50VHlwZT17YXBwU3RhdGUuZWxlbWVudFR5cGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldEFwcFN0YXRlPXtzZXRBcHBTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25JbWFnZUFjdGlvbj17KHsgcG9pbnRlclR5cGUgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uSW1hZ2VBY3Rpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0T25DYW52YXNEaXJlY3RseTogcG9pbnRlclR5cGUgIT09IFwibW91c2VcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9TdGFjay5Sb3c+XG4gICAgICAgICAgICAgICAgICAgIDwvSXNsYW5kPlxuICAgICAgICAgICAgICAgICAgICA8TGlicmFyeUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgIGFwcFN0YXRlPXthcHBTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICBzZXRBcHBTdGF0ZT17c2V0QXBwU3RhdGV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0YWNrLlJvdz5cbiAgICAgICAgICAgICAgICAgIHtsaWJyYXJ5TWVudX1cbiAgICAgICAgICAgICAgICA8L1N0YWNrLkNvbD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgICAgXCJsYXllci11aV9fd3JhcHBlcl9fdG9wLXJpZ2h0IHplbi1tb2RlLXRyYW5zaXRpb25cIixcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwidHJhbnNpdGlvbi1yaWdodFwiOiB6ZW5Nb2RlRW5hYmxlZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3JlbmRlclRvcFJpZ2h0VUk/Lihpc01vYmlsZSwgYXBwU3RhdGUsIGNhbnZhcyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPFVzZXJMaXN0XG4gICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXCJ6ZW4tbW9kZS10cmFuc2l0aW9uXCIsIHtcbiAgICAgICAgICAgICAgXCJ0cmFuc2l0aW9uLXJpZ2h0XCI6IHplbk1vZGVFbmFibGVkLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICBsYXlvdXQ9XCJ2ZXJ0aWNhbFwiXG4gICAgICAgICAgICBjb2xsYWJvcmF0b3JzPXthcHBTdGF0ZS5jb2xsYWJvcmF0b3JzfVxuICAgICAgICAgICAgYWN0aW9uTWFuYWdlcj17YWN0aW9uTWFuYWdlcn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvRml4ZWRTaWRlQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyQm90dG9tQXBwTWVudSA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPGZvb3RlclxuICAgICAgICByb2xlPVwiY29udGVudGluZm9cIlxuICAgICAgICBjbGFzc05hbWU9XCJsYXllci11aV9fd3JhcHBlcl9fZm9vdGVyIEFwcC1tZW51IEFwcC1tZW51X2JvdHRvbVwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICBcImxheWVyLXVpX193cmFwcGVyX19mb290ZXItbGVmdCB6ZW4tbW9kZS10cmFuc2l0aW9uXCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFwibGF5ZXItdWlfX3dyYXBwZXJfX2Zvb3Rlci1sZWZ0LS10cmFuc2l0aW9uLWxlZnRcIjogemVuTW9kZUVuYWJsZWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2suQ29sIGdhcD17Mn0+XG4gICAgICAgICAgICA8U2VjdGlvbiBoZWFkaW5nPVwiY2FudmFzQWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8SXNsYW5kIHBhZGRpbmc9ezF9PlxuICAgICAgICAgICAgICAgIDxab29tQWN0aW9uc1xuICAgICAgICAgICAgICAgICAgcmVuZGVyQWN0aW9uPXthY3Rpb25NYW5hZ2VyLnJlbmRlckFjdGlvbn1cbiAgICAgICAgICAgICAgICAgIHpvb209e2FwcFN0YXRlLnpvb219XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9Jc2xhbmQ+XG4gICAgICAgICAgICAgIHshdmlld01vZGVFbmFibGVkICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXCJ1bmRvLXJlZG8tYnV0dG9ucyB6ZW4tbW9kZS10cmFuc2l0aW9uXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgXCJsYXllci11aV9fd3JhcHBlcl9fZm9vdGVyLWxlZnQtLXRyYW5zaXRpb24tYm90dG9tXCI6XG4gICAgICAgICAgICAgICAgICAgICAgemVuTW9kZUVuYWJsZWQsXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7YWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb24oXCJ1bmRvXCIsIHsgc2l6ZTogXCJzbWFsbFwiIH0pfVxuICAgICAgICAgICAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwicmVkb1wiLCB7IHNpemU6IFwic21hbGxcIiB9KX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgICA8L1N0YWNrLkNvbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICBcImxheWVyLXVpX193cmFwcGVyX19mb290ZXItY2VudGVyIHplbi1tb2RlLXRyYW5zaXRpb25cIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgXCJsYXllci11aV9fd3JhcHBlcl9fZm9vdGVyLWxlZnQtLXRyYW5zaXRpb24tYm90dG9tXCI6XG4gICAgICAgICAgICAgICAgemVuTW9kZUVuYWJsZWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICB7cmVuZGVyQ3VzdG9tRm9vdGVyPy4oZmFsc2UsIGFwcFN0YXRlKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgICAgICBcImxheWVyLXVpX193cmFwcGVyX19mb290ZXItcmlnaHQgemVuLW1vZGUtdHJhbnNpdGlvblwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBcInRyYW5zaXRpb24tcmlnaHQgZGlzYWJsZS1wb2ludGVyRXZlbnRzXCI6IHplbk1vZGVFbmFibGVkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwidG9nZ2xlU2hvcnRjdXRzXCIpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcImRpc2FibGUtemVuLW1vZGVcIiwge1xuICAgICAgICAgICAgXCJkaXNhYmxlLXplbi1tb2RlLS12aXNpYmxlXCI6IHNob3dFeGl0WmVuTW9kZUJ0bixcbiAgICAgICAgICB9KX1cbiAgICAgICAgICBvbkNsaWNrPXt0b2dnbGVaZW5Nb2RlfVxuICAgICAgICA+XG4gICAgICAgICAge3QoXCJidXR0b25zLmV4aXRaZW5Nb2RlXCIpfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZm9vdGVyPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZGlhbG9ncyA9IChcbiAgICA8PlxuICAgICAge2FwcFN0YXRlLmlzTG9hZGluZyAmJiA8TG9hZGluZ01lc3NhZ2UgLz59XG4gICAgICB7YXBwU3RhdGUuZXJyb3JNZXNzYWdlICYmIChcbiAgICAgICAgPEVycm9yRGlhbG9nXG4gICAgICAgICAgbWVzc2FnZT17YXBwU3RhdGUuZXJyb3JNZXNzYWdlfVxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldEFwcFN0YXRlKHsgZXJyb3JNZXNzYWdlOiBudWxsIH0pfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHthcHBTdGF0ZS5zaG93SGVscERpYWxvZyAmJiAoXG4gICAgICAgIDxIZWxwRGlhbG9nXG4gICAgICAgICAgb25DbG9zZT17KCkgPT4ge1xuICAgICAgICAgICAgc2V0QXBwU3RhdGUoeyBzaG93SGVscERpYWxvZzogZmFsc2UgfSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7YXBwU3RhdGUucGFzdGVEaWFsb2cuc2hvd24gJiYgKFxuICAgICAgICA8UGFzdGVDaGFydERpYWxvZ1xuICAgICAgICAgIHNldEFwcFN0YXRlPXtzZXRBcHBTdGF0ZX1cbiAgICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgICAgb25JbnNlcnRDaGFydD17b25JbnNlcnRFbGVtZW50c31cbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PlxuICAgICAgICAgICAgc2V0QXBwU3RhdGUoe1xuICAgICAgICAgICAgICBwYXN0ZURpYWxvZzogeyBzaG93bjogZmFsc2UsIGRhdGE6IG51bGwgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8Lz5cbiAgKTtcblxuICByZXR1cm4gaXNNb2JpbGUgPyAoXG4gICAgPD5cbiAgICAgIHtkaWFsb2dzfVxuICAgICAgPE1vYmlsZU1lbnVcbiAgICAgICAgb25Ib21lQnV0dG9uQ2xpY2s9e29uSG9tZUJ1dHRvbkNsaWNrfVxuICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgIGVsZW1lbnRzPXtlbGVtZW50c31cbiAgICAgICAgYWN0aW9uTWFuYWdlcj17YWN0aW9uTWFuYWdlcn1cbiAgICAgICAgbGlicmFyeU1lbnU9e2xpYnJhcnlNZW51fVxuICAgICAgICByZW5kZXJKU09ORXhwb3J0RGlhbG9nPXtyZW5kZXJKU09ORXhwb3J0RGlhbG9nfVxuICAgICAgICByZW5kZXJJbWFnZUV4cG9ydERpYWxvZz17cmVuZGVySW1hZ2VFeHBvcnREaWFsb2d9XG4gICAgICAgIHNldEFwcFN0YXRlPXtzZXRBcHBTdGF0ZX1cbiAgICAgICAgb25Db2xsYWJCdXR0b25DbGljaz17b25Db2xsYWJCdXR0b25DbGlja31cbiAgICAgICAgb25Mb2NrVG9nZ2xlPXtvbkxvY2tUb2dnbGV9XG4gICAgICAgIGNhbnZhcz17Y2FudmFzfVxuICAgICAgICBpc0NvbGxhYm9yYXRpbmc9e2lzQ29sbGFib3JhdGluZ31cbiAgICAgICAgcmVuZGVyQ3VzdG9tRm9vdGVyPXtyZW5kZXJDdXN0b21Gb290ZXJ9XG4gICAgICAgIHZpZXdNb2RlRW5hYmxlZD17dmlld01vZGVFbmFibGVkfVxuICAgICAgICBzaG93VGhlbWVCdG49e3Nob3dUaGVtZUJ0bn1cbiAgICAgICAgb25JbWFnZUFjdGlvbj17b25JbWFnZUFjdGlvbn1cbiAgICAgICAgcmVuZGVyVG9wUmlnaHRVST17cmVuZGVyVG9wUmlnaHRVSX1cbiAgICAgICAgVUlPcHRpb25zPXtVSU9wdGlvbnN9XG4gICAgICAvPlxuICAgIDwvPlxuICApIDogKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xzeChcImxheWVyLXVpX193cmFwcGVyXCIsIHtcbiAgICAgICAgXCJkaXNhYmxlLXBvaW50ZXJFdmVudHNcIjpcbiAgICAgICAgICBhcHBTdGF0ZS5kcmFnZ2luZ0VsZW1lbnQgfHxcbiAgICAgICAgICBhcHBTdGF0ZS5yZXNpemluZ0VsZW1lbnQgfHxcbiAgICAgICAgICAoYXBwU3RhdGUuZWRpdGluZ0VsZW1lbnQgJiYgIWlzVGV4dEVsZW1lbnQoYXBwU3RhdGUuZWRpdGluZ0VsZW1lbnQpKSxcbiAgICAgIH0pfVxuICAgID5cbiAgICAgIHtkaWFsb2dzfVxuICAgICAge3JlbmRlckZpeGVkU2lkZUNvbnRhaW5lcigpfVxuICAgICAge3JlbmRlckJvdHRvbUFwcE1lbnUoKX1cbiAgICAgIHthcHBTdGF0ZS5zY3JvbGxlZE91dHNpZGUgJiYgKFxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3NOYW1lPVwic2Nyb2xsLWJhY2stdG8tY29udGVudFwiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgc2V0QXBwU3RhdGUoe1xuICAgICAgICAgICAgICAuLi5jYWxjdWxhdGVTY3JvbGxDZW50ZXIoZWxlbWVudHMsIGFwcFN0YXRlLCBjYW52YXMpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHt0KFwiYnV0dG9ucy5zY3JvbGxCYWNrVG9Db250ZW50XCIpfVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBhcmVFcXVhbCA9IChwcmV2OiBMYXllclVJUHJvcHMsIG5leHQ6IExheWVyVUlQcm9wcykgPT4ge1xuICBjb25zdCBnZXROZWNlc3NhcnlPYmogPSAoYXBwU3RhdGU6IEFwcFN0YXRlKTogUGFydGlhbDxBcHBTdGF0ZT4gPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHN1Z2dlc3RlZEJpbmRpbmdzLFxuICAgICAgc3RhcnRCb3VuZEVsZW1lbnQ6IGJvdW5kRWxlbWVudCxcbiAgICAgIC4uLnJldFxuICAgIH0gPSBhcHBTdGF0ZTtcbiAgICByZXR1cm4gcmV0O1xuICB9O1xuICBjb25zdCBwcmV2QXBwU3RhdGUgPSBnZXROZWNlc3NhcnlPYmoocHJldi5hcHBTdGF0ZSk7XG4gIGNvbnN0IG5leHRBcHBTdGF0ZSA9IGdldE5lY2Vzc2FyeU9iaihuZXh0LmFwcFN0YXRlKTtcblxuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMocHJldkFwcFN0YXRlKSBhcyAoa2V5b2YgUGFydGlhbDxBcHBTdGF0ZT4pW107XG4gIHJldHVybiAoXG4gICAgcHJldi5yZW5kZXJUb3BSaWdodFVJID09PSBuZXh0LnJlbmRlclRvcFJpZ2h0VUkgJiZcbiAgICBwcmV2LnJlbmRlckN1c3RvbUZvb3RlciA9PT0gbmV4dC5yZW5kZXJDdXN0b21Gb290ZXIgJiZcbiAgICBwcmV2LmxhbmdDb2RlID09PSBuZXh0LmxhbmdDb2RlICYmXG4gICAgcHJldi5lbGVtZW50cyA9PT0gbmV4dC5lbGVtZW50cyAmJlxuICAgIHByZXYuZmlsZXMgPT09IG5leHQuZmlsZXMgJiZcbiAgICBrZXlzLmV2ZXJ5KChrZXkpID0+IHByZXZBcHBTdGF0ZVtrZXldID09PSBuZXh0QXBwU3RhdGVba2V5XSlcbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlYWN0Lm1lbW8oTGF5ZXJVSSwgYXJlRXF1YWwpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../components/LayerUI.tsx\n");
|
|
1837
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! clsx */ \"../../../node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants */ \"../../constants.ts\");\n/* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../data */ \"../../data/index.ts\");\n/* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../element */ \"../../element/index.ts\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../i18n */ \"../../i18n.ts\");\n/* harmony import */ var _components_App__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../components/App */ \"../../components/App.tsx\");\n/* harmony import */ var _scene__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../scene */ \"../../scene/index.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils */ \"../../utils.ts\");\n/* harmony import */ var _Actions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Actions */ \"../../components/Actions.tsx\");\n/* harmony import */ var _BackgroundPickerAndDarkModeToggle__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./BackgroundPickerAndDarkModeToggle */ \"../../components/BackgroundPickerAndDarkModeToggle.tsx\");\n/* harmony import */ var _CollabButton__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./CollabButton */ \"../../components/CollabButton.tsx\");\n/* harmony import */ var _ErrorDialog__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ErrorDialog */ \"../../components/ErrorDialog.tsx\");\n/* harmony import */ var _ImageExportDialog__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ImageExportDialog */ \"../../components/ImageExportDialog.tsx\");\n/* harmony import */ var _FixedSideContainer__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./FixedSideContainer */ \"../../components/FixedSideContainer.tsx\");\n/* harmony import */ var _HintViewer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./HintViewer */ \"../../components/HintViewer.tsx\");\n/* harmony import */ var _Island__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Island */ \"../../components/Island.tsx\");\n/* harmony import */ var _LoadingMessage__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./LoadingMessage */ \"../../components/LoadingMessage.tsx\");\n/* harmony import */ var _LockButton__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./LockButton */ \"../../components/LockButton.tsx\");\n/* harmony import */ var _MobileMenu__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./MobileMenu */ \"../../components/MobileMenu.tsx\");\n/* harmony import */ var _PasteChartDialog__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./PasteChartDialog */ \"../../components/PasteChartDialog.tsx\");\n/* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Section */ \"../../components/Section.tsx\");\n/* harmony import */ var _HelpDialog__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./HelpDialog */ \"../../components/HelpDialog.tsx\");\n/* harmony import */ var _Stack__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./Stack */ \"../../components/Stack.tsx\");\n/* harmony import */ var _UserList__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./UserList */ \"../../components/UserList.tsx\");\n/* harmony import */ var _JSONExportDialog__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./JSONExportDialog */ \"../../components/JSONExportDialog.tsx\");\n/* harmony import */ var _LibraryButton__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./LibraryButton */ \"../../components/LibraryButton.tsx\");\n/* harmony import */ var _data_blob__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../data/blob */ \"../../data/blob.ts\");\n/* harmony import */ var _LibraryMenu__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./LibraryMenu */ \"../../components/LibraryMenu.tsx\");\n/* harmony import */ var _LayerUI_scss__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./LayerUI.scss */ \"../../components/LayerUI.scss\");\n/* harmony import */ var _LayerUI_scss__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_LayerUI_scss__WEBPACK_IMPORTED_MODULE_30__);\n/* harmony import */ var _Toolbar_scss__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./Toolbar.scss */ \"../../components/Toolbar.scss\");\n/* harmony import */ var _Toolbar_scss__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(_Toolbar_scss__WEBPACK_IMPORTED_MODULE_31__);\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst LayerUI = ({ onHomeButtonClick, actionManager, appState, files, setAppState, canvas, elements, onCollabButtonClick, onLockToggle, onInsertElements, zenModeEnabled, showExitZenModeBtn, showThemeBtn, toggleZenMode, isCollaborating, renderTopRightUI, renderCustomFooter, viewModeEnabled, libraryReturnUrl, UIOptions, focusContainer, library, id, onImageAction, }) => {\r\n const isMobile = (0,_components_App__WEBPACK_IMPORTED_MODULE_7__.useIsMobile)();\r\n const renderJSONExportDialog = () => {\r\n if (!UIOptions.canvasActions || !UIOptions.canvasActions.export) {\r\n return null;\r\n }\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_JSONExportDialog__WEBPACK_IMPORTED_MODULE_26__.JSONExportDialog, { elements: elements, appState: appState, files: files, actionManager: actionManager, exportOpts: UIOptions.canvasActions.export, canvas: canvas }, void 0));\r\n };\r\n const renderImageExportDialog = () => {\r\n if (!UIOptions.canvasActions || !UIOptions.canvasActions.saveAsImage) {\r\n return null;\r\n }\r\n const createExporter = (type) => (exportedElements) => __awaiter(void 0, void 0, void 0, function* () {\r\n const fileHandle = yield (0,_data__WEBPACK_IMPORTED_MODULE_4__.exportCanvas)(type, exportedElements, appState, files, {\r\n exportBackground: appState.exportBackground,\r\n name: appState.name,\r\n viewBackgroundColor: appState.viewBackgroundColor,\r\n })\r\n .catch(_utils__WEBPACK_IMPORTED_MODULE_9__.muteFSAbortError)\r\n .catch((error) => {\r\n console.error(error);\r\n setAppState({ errorMessage: error.message });\r\n });\r\n if (appState.exportEmbedScene &&\r\n fileHandle &&\r\n (0,_data_blob__WEBPACK_IMPORTED_MODULE_28__.isImageFileHandle)(fileHandle)) {\r\n setAppState({ fileHandle });\r\n }\r\n });\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ImageExportDialog__WEBPACK_IMPORTED_MODULE_14__.ImageExportDialog, { elements: elements, appState: appState, files: files, actionManager: actionManager, onExportToPng: createExporter(\"png\"), onExportToSvg: createExporter(\"svg\"), onExportToClipboard: createExporter(\"clipboard\") }, void 0));\r\n };\r\n const renderViewModeCanvasActions = () => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_22__.Section, Object.assign({ heading: \"canvasActions\", className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"zen-mode-transition\", {\r\n \"transition-left\": zenModeEnabled,\r\n }) }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Island__WEBPACK_IMPORTED_MODULE_17__.Island, Object.assign({ padding: 2, style: { zIndex: 1 } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Stack__WEBPACK_IMPORTED_MODULE_24__[\"default\"].Col, Object.assign({ gap: 4 }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_24__[\"default\"].Row, Object.assign({ gap: 1, justifyContent: \"space-between\" }, { children: [renderJSONExportDialog(), renderImageExportDialog()] }), void 0) }), void 0) }), void 0) }), void 0));\r\n };\r\n const renderCanvasActions = () => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_22__.Section, Object.assign({ heading: \"canvasActions\", className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"zen-mode-transition\", {\r\n \"transition-left\": zenModeEnabled,\r\n }) }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Island__WEBPACK_IMPORTED_MODULE_17__.Island, Object.assign({ padding: 2, style: { zIndex: 1 } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_24__[\"default\"].Col, Object.assign({ gap: 4 }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_24__[\"default\"].Row, Object.assign({ gap: 3, justifyContent: \"space-between\" }, { children: [actionManager.renderAction(\"clearCanvas\"), actionManager.renderAction(\"loadScene\"), renderJSONExportDialog(), renderImageExportDialog(), onCollabButtonClick && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_CollabButton__WEBPACK_IMPORTED_MODULE_12__[\"default\"], { isCollaborating: isCollaborating, collaboratorCount: appState.collaborators.size, onClick: onCollabButtonClick }, void 0))] }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_BackgroundPickerAndDarkModeToggle__WEBPACK_IMPORTED_MODULE_11__.BackgroundPickerAndDarkModeToggle, { actionManager: actionManager, appState: appState, setAppState: setAppState, showThemeBtn: showThemeBtn }, void 0), appState.fileHandle && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: actionManager.renderAction(\"saveToActiveFile\") }, void 0))] }), void 0) }), void 0) }), void 0));\r\n const renderSelectedShapeActions = () => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_22__.Section, Object.assign({ heading: \"selectedShapeActions\", className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"zen-mode-transition\", {\r\n \"transition-left\": zenModeEnabled,\r\n }) }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Island__WEBPACK_IMPORTED_MODULE_17__.Island, Object.assign({ className: _constants__WEBPACK_IMPORTED_MODULE_3__.CLASSES.SHAPE_ACTIONS_MENU, padding: 2, style: {\r\n // we want to make sure this doesn't overflow so substracting 200\r\n // which is approximately height of zoom footer and top left menu items with some buffer\r\n // if active file name is displayed, subtracting 248 to account for its height\r\n maxHeight: `${appState.height - (appState.fileHandle ? 248 : 200)}px`,\r\n } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Actions__WEBPACK_IMPORTED_MODULE_10__.SelectedShapeActions, { appState: appState, elements: elements, renderAction: actionManager.renderAction, elementType: appState.elementType }, void 0) }), void 0) }), void 0));\r\n const closeLibrary = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(() => {\r\n const isDialogOpen = !!document.querySelector(\".Dialog\");\r\n // Prevent closing if any dialog is open\r\n if (isDialogOpen) {\r\n return;\r\n }\r\n setAppState({ isLibraryOpen: false });\r\n }, [setAppState]);\r\n const deselectItems = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(() => {\r\n setAppState({\r\n selectedElementIds: {},\r\n selectedGroupIds: {},\r\n });\r\n }, [setAppState]);\r\n const libraryMenu = appState.isLibraryOpen ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LibraryMenu__WEBPACK_IMPORTED_MODULE_29__.LibraryMenu, { pendingElements: (0,_scene__WEBPACK_IMPORTED_MODULE_8__.getSelectedElements)(elements, appState), onClose: closeLibrary, onInsertShape: onInsertElements, onAddToLibrary: deselectItems, setAppState: setAppState, libraryReturnUrl: libraryReturnUrl, focusContainer: focusContainer, library: library, theme: appState.theme, files: files, id: id, appState: appState }, void 0)) : null;\r\n const renderFixedSideContainer = () => {\r\n const shouldRenderSelectedShapeActions = (0,_element__WEBPACK_IMPORTED_MODULE_5__.showSelectedShapeActions)(appState, elements);\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FixedSideContainer__WEBPACK_IMPORTED_MODULE_15__.FixedSideContainer, Object.assign({ side: \"top\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", Object.assign({ className: \"App-menu App-menu_top\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_24__[\"default\"].Col, Object.assign({ gap: 4, className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({ \"disable-pointerEvents\": zenModeEnabled }) }, { children: [UIOptions.canvasActions &&\r\n (viewModeEnabled\r\n ? renderViewModeCanvasActions()\r\n : renderCanvasActions()), shouldRenderSelectedShapeActions && renderSelectedShapeActions()] }), void 0), !viewModeEnabled && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_22__.Section, Object.assign({ heading: \"shapes\" }, { children: (heading) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_24__[\"default\"].Col, Object.assign({ gap: 4, align: \"start\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_24__[\"default\"].Row, Object.assign({ gap: 1, className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"App-toolbar-container\", {\r\n \"zen-mode\": zenModeEnabled,\r\n }) }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LockButton__WEBPACK_IMPORTED_MODULE_19__.LockButton, { zenModeEnabled: zenModeEnabled, checked: appState.elementLocked, onChange: onLockToggle, title: (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.t)(\"toolBar.lock\") }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Island__WEBPACK_IMPORTED_MODULE_17__.Island, Object.assign({ padding: 1, className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"App-toolbar\", {\r\n \"zen-mode\": zenModeEnabled,\r\n }) }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HintViewer__WEBPACK_IMPORTED_MODULE_16__.HintViewer, { appState: appState, elements: elements, isMobile: isMobile }, void 0), heading, (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Stack__WEBPACK_IMPORTED_MODULE_24__[\"default\"].Row, Object.assign({ gap: 1 }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Actions__WEBPACK_IMPORTED_MODULE_10__.ShapesSwitcher, { canvas: canvas, elementType: appState.elementType, setAppState: setAppState, onImageAction: ({ pointerType }) => {\r\n onImageAction({\r\n insertOnCanvasDirectly: pointerType !== \"mouse\",\r\n });\r\n } }, void 0) }), void 0)] }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LibraryButton__WEBPACK_IMPORTED_MODULE_27__.LibraryButton, { appState: appState, setAppState: setAppState }, void 0)] }), void 0), libraryMenu] }), void 0)) }), void 0)), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"layer-ui__wrapper__top-right zen-mode-transition\", {\r\n \"transition-right\": zenModeEnabled,\r\n }) }, { children: renderTopRightUI === null || renderTopRightUI === void 0 ? void 0 : renderTopRightUI(isMobile, appState, canvas) }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UserList__WEBPACK_IMPORTED_MODULE_25__.UserList, { className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"zen-mode-transition\", {\r\n \"transition-right\": zenModeEnabled,\r\n }), layout: \"vertical\", collaborators: appState.collaborators, actionManager: actionManager }, void 0)] }), void 0) }), void 0));\r\n };\r\n const renderBottomAppMenu = () => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"footer\", Object.assign({ role: \"contentinfo\", className: \"layer-ui__wrapper__footer App-menu App-menu_bottom\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"layer-ui__wrapper__footer-left zen-mode-transition\", {\r\n \"layer-ui__wrapper__footer-left--transition-left\": zenModeEnabled,\r\n }) }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Stack__WEBPACK_IMPORTED_MODULE_24__[\"default\"].Col, Object.assign({ gap: 2 }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Section__WEBPACK_IMPORTED_MODULE_22__.Section, Object.assign({ heading: \"canvasActions\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Island__WEBPACK_IMPORTED_MODULE_17__.Island, Object.assign({ padding: 1 }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Actions__WEBPACK_IMPORTED_MODULE_10__.ZoomActions, { renderAction: actionManager.renderAction, zoom: appState.zoom }, void 0) }), void 0), !viewModeEnabled && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"undo-redo-buttons zen-mode-transition\", {\r\n \"layer-ui__wrapper__footer-left--transition-bottom\": zenModeEnabled,\r\n }) }, { children: [actionManager.renderAction(\"undo\", { size: \"small\" }), actionManager.renderAction(\"redo\", { size: \"small\" })] }), void 0))] }), void 0) }), void 0) }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"layer-ui__wrapper__footer-center zen-mode-transition\", {\r\n \"layer-ui__wrapper__footer-left--transition-bottom\": zenModeEnabled,\r\n }) }, { children: renderCustomFooter === null || renderCustomFooter === void 0 ? void 0 : renderCustomFooter(false, appState) }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"layer-ui__wrapper__footer-right zen-mode-transition\", {\r\n \"transition-right disable-pointerEvents\": zenModeEnabled,\r\n }) }, { children: actionManager.renderAction(\"toggleShortcuts\") }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"button\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"disable-zen-mode\", {\r\n \"disable-zen-mode--visible\": showExitZenModeBtn,\r\n }), onClick: toggleZenMode }, { children: (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.t)(\"buttons.exitZenMode\") }), void 0)] }), void 0));\r\n };\r\n const dialogs = ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [appState.isLoading && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LoadingMessage__WEBPACK_IMPORTED_MODULE_18__.LoadingMessage, {}, void 0), appState.errorMessage && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ErrorDialog__WEBPACK_IMPORTED_MODULE_13__.ErrorDialog, { message: appState.errorMessage, onClose: () => setAppState({ errorMessage: null }) }, void 0)), appState.showHelpDialog && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HelpDialog__WEBPACK_IMPORTED_MODULE_23__.HelpDialog, { onClose: () => {\r\n setAppState({ showHelpDialog: false });\r\n } }, void 0)), appState.pasteDialog.shown && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_PasteChartDialog__WEBPACK_IMPORTED_MODULE_21__.PasteChartDialog, { setAppState: setAppState, appState: appState, onInsertChart: onInsertElements, onClose: () => setAppState({\r\n pasteDialog: { shown: false, data: null },\r\n }) }, void 0))] }, void 0));\r\n return isMobile ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [dialogs, (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_MobileMenu__WEBPACK_IMPORTED_MODULE_20__.MobileMenu, { onHomeButtonClick: onHomeButtonClick, appState: appState, elements: elements, actionManager: actionManager, libraryMenu: libraryMenu, renderJSONExportDialog: renderJSONExportDialog, renderImageExportDialog: renderImageExportDialog, setAppState: setAppState, onCollabButtonClick: onCollabButtonClick, onLockToggle: onLockToggle, canvas: canvas, isCollaborating: isCollaborating, renderCustomFooter: renderCustomFooter, viewModeEnabled: viewModeEnabled, showThemeBtn: showThemeBtn, onImageAction: onImageAction, renderTopRightUI: renderTopRightUI, UIOptions: UIOptions }, void 0)] }, void 0)) : ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\"layer-ui__wrapper\", {\r\n \"disable-pointerEvents\": appState.draggingElement ||\r\n appState.resizingElement ||\r\n (appState.editingElement && !(0,_element__WEBPACK_IMPORTED_MODULE_5__.isTextElement)(appState.editingElement)),\r\n }) }, { children: [dialogs, renderFixedSideContainer(), renderBottomAppMenu(), appState.scrolledOutside && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"button\", Object.assign({ className: \"scroll-back-to-content\", onClick: () => {\r\n setAppState(Object.assign({}, (0,_scene__WEBPACK_IMPORTED_MODULE_8__.calculateScrollCenter)(elements, appState, canvas)));\r\n } }, { children: (0,_i18n__WEBPACK_IMPORTED_MODULE_6__.t)(\"buttons.scrollBackToContent\") }), void 0))] }), void 0));\r\n};\r\nconst areEqual = (prev, next) => {\r\n const getNecessaryObj = (appState) => {\r\n const { suggestedBindings, startBoundElement: boundElement } = appState, ret = __rest(appState, [\"suggestedBindings\", \"startBoundElement\"]);\r\n return ret;\r\n };\r\n const prevAppState = getNecessaryObj(prev.appState);\r\n const nextAppState = getNecessaryObj(next.appState);\r\n const keys = Object.keys(prevAppState);\r\n return (prev.renderTopRightUI === next.renderTopRightUI &&\r\n prev.renderCustomFooter === next.renderCustomFooter &&\r\n prev.langCode === next.langCode &&\r\n prev.elements === next.elements &&\r\n prev.files === next.files &&\r\n keys.every((key) => prevAppState[key] === nextAppState[key]));\r\n};\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (react__WEBPACK_IMPORTED_MODULE_2___default().memo(LayerUI, areEqual));\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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RUFDakIsaUJBQWlCLEVBQUUsWUFBWSxLQUU3QixRQUFRLEVBRFAsR0FBRyxVQUNKLFFBQVEsRUFKTiwwQ0FJTCxDQUFXLENBQUM7UUFDYixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsQ0FBQztJQUNGLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVwRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBZ0MsQ0FBQztJQUN0RSxPQUFPLENBQ0wsSUFBSSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxnQkFBZ0I7UUFDL0MsSUFBSSxDQUFDLGtCQUFrQixLQUFLLElBQUksQ0FBQyxrQkFBa0I7UUFDbkQsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUTtRQUMvQixJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRO1FBQy9CLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUs7UUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM3RCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsaUVBQWUsaURBQVUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vY29tcG9uZW50cy9MYXllclVJLnRzeD8wODc4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbHN4IGZyb20gXCJjbHN4XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEFjdGlvbk1hbmFnZXIgfSBmcm9tIFwiLi4vYWN0aW9ucy9tYW5hZ2VyXCI7XG5pbXBvcnQgeyBDTEFTU0VTIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZXhwb3J0Q2FudmFzIH0gZnJvbSBcIi4uL2RhdGFcIjtcbmltcG9ydCB7IGlzVGV4dEVsZW1lbnQsIHNob3dTZWxlY3RlZFNoYXBlQWN0aW9ucyB9IGZyb20gXCIuLi9lbGVtZW50XCI7XG5pbXBvcnQgeyBOb25EZWxldGVkRXhjYWxpZHJhd0VsZW1lbnQgfSBmcm9tIFwiLi4vZWxlbWVudC90eXBlc1wiO1xuaW1wb3J0IHsgTGFuZ3VhZ2UsIHQgfSBmcm9tIFwiLi4vaTE4blwiO1xuaW1wb3J0IHsgdXNlSXNNb2JpbGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9BcHBcIjtcbmltcG9ydCB7IGNhbGN1bGF0ZVNjcm9sbENlbnRlciwgZ2V0U2VsZWN0ZWRFbGVtZW50cyB9IGZyb20gXCIuLi9zY2VuZVwiO1xuaW1wb3J0IHsgRXhwb3J0VHlwZSB9IGZyb20gXCIuLi9zY2VuZS90eXBlc1wiO1xuaW1wb3J0IHsgQXBwUHJvcHMsIEFwcFN0YXRlLCBFeGNhbGlkcmF3UHJvcHMsIEJpbmFyeUZpbGVzIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBtdXRlRlNBYm9ydEVycm9yIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBTZWxlY3RlZFNoYXBlQWN0aW9ucywgU2hhcGVzU3dpdGNoZXIsIFpvb21BY3Rpb25zIH0gZnJvbSBcIi4vQWN0aW9uc1wiO1xuaW1wb3J0IHsgQmFja2dyb3VuZFBpY2tlckFuZERhcmtNb2RlVG9nZ2xlIH0gZnJvbSBcIi4vQmFja2dyb3VuZFBpY2tlckFuZERhcmtNb2RlVG9nZ2xlXCI7XG5pbXBvcnQgQ29sbGFiQnV0dG9uIGZyb20gXCIuL0NvbGxhYkJ1dHRvblwiO1xuaW1wb3J0IHsgRXJyb3JEaWFsb2cgfSBmcm9tIFwiLi9FcnJvckRpYWxvZ1wiO1xuaW1wb3J0IHsgRXhwb3J0Q0IsIEltYWdlRXhwb3J0RGlhbG9nIH0gZnJvbSBcIi4vSW1hZ2VFeHBvcnREaWFsb2dcIjtcbmltcG9ydCB7IEZpeGVkU2lkZUNvbnRhaW5lciB9IGZyb20gXCIuL0ZpeGVkU2lkZUNvbnRhaW5lclwiO1xuaW1wb3J0IHsgSGludFZpZXdlciB9IGZyb20gXCIuL0hpbnRWaWV3ZXJcIjtcbmltcG9ydCB7IElzbGFuZCB9IGZyb20gXCIuL0lzbGFuZFwiO1xuaW1wb3J0IHsgTG9hZGluZ01lc3NhZ2UgfSBmcm9tIFwiLi9Mb2FkaW5nTWVzc2FnZVwiO1xuaW1wb3J0IHsgTG9ja0J1dHRvbiB9IGZyb20gXCIuL0xvY2tCdXR0b25cIjtcbmltcG9ydCB7IE1vYmlsZU1lbnUgfSBmcm9tIFwiLi9Nb2JpbGVNZW51XCI7XG5pbXBvcnQgeyBQYXN0ZUNoYXJ0RGlhbG9nIH0gZnJvbSBcIi4vUGFzdGVDaGFydERpYWxvZ1wiO1xuaW1wb3J0IHsgU2VjdGlvbiB9IGZyb20gXCIuL1NlY3Rpb25cIjtcbmltcG9ydCB7IEhlbHBEaWFsb2cgfSBmcm9tIFwiLi9IZWxwRGlhbG9nXCI7XG5pbXBvcnQgU3RhY2sgZnJvbSBcIi4vU3RhY2tcIjtcbmltcG9ydCB7IFVzZXJMaXN0IH0gZnJvbSBcIi4vVXNlckxpc3RcIjtcbmltcG9ydCBMaWJyYXJ5IGZyb20gXCIuLi9kYXRhL2xpYnJhcnlcIjtcbmltcG9ydCB7IEpTT05FeHBvcnREaWFsb2cgfSBmcm9tIFwiLi9KU09ORXhwb3J0RGlhbG9nXCI7XG5pbXBvcnQgeyBMaWJyYXJ5QnV0dG9uIH0gZnJvbSBcIi4vTGlicmFyeUJ1dHRvblwiO1xuaW1wb3J0IHsgaXNJbWFnZUZpbGVIYW5kbGUgfSBmcm9tIFwiLi4vZGF0YS9ibG9iXCI7XG5pbXBvcnQgeyBMaWJyYXJ5TWVudSB9IGZyb20gXCIuL0xpYnJhcnlNZW51XCI7XG5cbmltcG9ydCBcIi4vTGF5ZXJVSS5zY3NzXCI7XG5pbXBvcnQgXCIuL1Rvb2xiYXIuc2Nzc1wiO1xuXG5pbnRlcmZhY2UgTGF5ZXJVSVByb3BzIHtcbiAgb25Ib21lQnV0dG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xuICBhY3Rpb25NYW5hZ2VyOiBBY3Rpb25NYW5hZ2VyO1xuICBhcHBTdGF0ZTogQXBwU3RhdGU7XG4gIGZpbGVzOiBCaW5hcnlGaWxlcztcbiAgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCB8IG51bGw7XG4gIHNldEFwcFN0YXRlOiBSZWFjdC5Db21wb25lbnQ8YW55LCBBcHBTdGF0ZT5bXCJzZXRTdGF0ZVwiXTtcbiAgZWxlbWVudHM6IHJlYWRvbmx5IE5vbkRlbGV0ZWRFeGNhbGlkcmF3RWxlbWVudFtdO1xuICBvbkNvbGxhYkJ1dHRvbkNsaWNrPzogKCkgPT4gdm9pZDtcbiAgb25Mb2NrVG9nZ2xlOiAoKSA9PiB2b2lkO1xuICBvbkluc2VydEVsZW1lbnRzOiAoZWxlbWVudHM6IHJlYWRvbmx5IE5vbkRlbGV0ZWRFeGNhbGlkcmF3RWxlbWVudFtdKSA9PiB2b2lkO1xuICB6ZW5Nb2RlRW5hYmxlZDogYm9vbGVhbjtcbiAgc2hvd0V4aXRaZW5Nb2RlQnRuOiBib29sZWFuO1xuICBzaG93VGhlbWVCdG46IGJvb2xlYW47XG4gIHRvZ2dsZVplbk1vZGU6ICgpID0+IHZvaWQ7XG4gIGxhbmdDb2RlOiBMYW5ndWFnZVtcImNvZGVcIl07XG4gIGlzQ29sbGFib3JhdGluZzogYm9vbGVhbjtcbiAgcmVuZGVyVG9wUmlnaHRVST86IChcbiAgICBpc01vYmlsZTogYm9vbGVhbixcbiAgICBhcHBTdGF0ZTogQXBwU3RhdGUsXG4gICAgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCB8IG51bGwsXG4gICkgPT4gSlNYLkVsZW1lbnQgfCBudWxsO1xuICByZW5kZXJDdXN0b21Gb290ZXI/OiAoaXNNb2JpbGU6IGJvb2xlYW4sIGFwcFN0YXRlOiBBcHBTdGF0ZSkgPT4gSlNYLkVsZW1lbnQ7XG4gIHZpZXdNb2RlRW5hYmxlZDogYm9vbGVhbjtcbiAgbGlicmFyeVJldHVyblVybDogRXhjYWxpZHJhd1Byb3BzW1wibGlicmFyeVJldHVyblVybFwiXTtcbiAgVUlPcHRpb25zOiBBcHBQcm9wc1tcIlVJT3B0aW9uc1wiXTtcbiAgZm9jdXNDb250YWluZXI6ICgpID0+IHZvaWQ7XG4gIGxpYnJhcnk6IExpYnJhcnk7XG4gIGlkOiBzdHJpbmc7XG4gIG9uSW1hZ2VBY3Rpb246IChkYXRhOiB7IGluc2VydE9uQ2FudmFzRGlyZWN0bHk6IGJvb2xlYW4gfSkgPT4gdm9pZDtcbn1cblxuY29uc3QgTGF5ZXJVSSA9ICh7XG4gIG9uSG9tZUJ1dHRvbkNsaWNrLFxuICBhY3Rpb25NYW5hZ2VyLFxuICBhcHBTdGF0ZSxcbiAgZmlsZXMsXG4gIHNldEFwcFN0YXRlLFxuICBjYW52YXMsXG4gIGVsZW1lbnRzLFxuICBvbkNvbGxhYkJ1dHRvbkNsaWNrLFxuICBvbkxvY2tUb2dnbGUsXG4gIG9uSW5zZXJ0RWxlbWVudHMsXG4gIHplbk1vZGVFbmFibGVkLFxuICBzaG93RXhpdFplbk1vZGVCdG4sXG4gIHNob3dUaGVtZUJ0bixcbiAgdG9nZ2xlWmVuTW9kZSxcbiAgaXNDb2xsYWJvcmF0aW5nLFxuICByZW5kZXJUb3BSaWdodFVJLFxuICByZW5kZXJDdXN0b21Gb290ZXIsXG4gIHZpZXdNb2RlRW5hYmxlZCxcbiAgbGlicmFyeVJldHVyblVybCxcbiAgVUlPcHRpb25zLFxuICBmb2N1c0NvbnRhaW5lcixcbiAgbGlicmFyeSxcbiAgaWQsXG4gIG9uSW1hZ2VBY3Rpb24sXG59OiBMYXllclVJUHJvcHMpID0+IHtcbiAgY29uc3QgaXNNb2JpbGUgPSB1c2VJc01vYmlsZSgpO1xuXG4gIGNvbnN0IHJlbmRlckpTT05FeHBvcnREaWFsb2cgPSAoKSA9PiB7XG4gICAgaWYgKCFVSU9wdGlvbnMuY2FudmFzQWN0aW9ucyB8fCAhVUlPcHRpb25zLmNhbnZhc0FjdGlvbnMuZXhwb3J0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEpTT05FeHBvcnREaWFsb2dcbiAgICAgICAgZWxlbWVudHM9e2VsZW1lbnRzfVxuICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgIGZpbGVzPXtmaWxlc31cbiAgICAgICAgYWN0aW9uTWFuYWdlcj17YWN0aW9uTWFuYWdlcn1cbiAgICAgICAgZXhwb3J0T3B0cz17VUlPcHRpb25zLmNhbnZhc0FjdGlvbnMuZXhwb3J0fVxuICAgICAgICBjYW52YXM9e2NhbnZhc31cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJJbWFnZUV4cG9ydERpYWxvZyA9ICgpID0+IHtcbiAgICBpZiAoIVVJT3B0aW9ucy5jYW52YXNBY3Rpb25zIHx8ICFVSU9wdGlvbnMuY2FudmFzQWN0aW9ucy5zYXZlQXNJbWFnZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgY3JlYXRlRXhwb3J0ZXIgPVxuICAgICAgKHR5cGU6IEV4cG9ydFR5cGUpOiBFeHBvcnRDQiA9PlxuICAgICAgYXN5bmMgKGV4cG9ydGVkRWxlbWVudHMpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZUhhbmRsZSA9IGF3YWl0IGV4cG9ydENhbnZhcyhcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIGV4cG9ydGVkRWxlbWVudHMsXG4gICAgICAgICAgYXBwU3RhdGUsXG4gICAgICAgICAgZmlsZXMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZXhwb3J0QmFja2dyb3VuZDogYXBwU3RhdGUuZXhwb3J0QmFja2dyb3VuZCxcbiAgICAgICAgICAgIG5hbWU6IGFwcFN0YXRlLm5hbWUsXG4gICAgICAgICAgICB2aWV3QmFja2dyb3VuZENvbG9yOiBhcHBTdGF0ZS52aWV3QmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgIH0sXG4gICAgICAgIClcbiAgICAgICAgICAuY2F0Y2gobXV0ZUZTQWJvcnRFcnJvcilcbiAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIHNldEFwcFN0YXRlKHsgZXJyb3JNZXNzYWdlOiBlcnJvci5tZXNzYWdlIH0pO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBhcHBTdGF0ZS5leHBvcnRFbWJlZFNjZW5lICYmXG4gICAgICAgICAgZmlsZUhhbmRsZSAmJlxuICAgICAgICAgIGlzSW1hZ2VGaWxlSGFuZGxlKGZpbGVIYW5kbGUpXG4gICAgICAgICkge1xuICAgICAgICAgIHNldEFwcFN0YXRlKHsgZmlsZUhhbmRsZSB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8SW1hZ2VFeHBvcnREaWFsb2dcbiAgICAgICAgZWxlbWVudHM9e2VsZW1lbnRzfVxuICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgIGZpbGVzPXtmaWxlc31cbiAgICAgICAgYWN0aW9uTWFuYWdlcj17YWN0aW9uTWFuYWdlcn1cbiAgICAgICAgb25FeHBvcnRUb1BuZz17Y3JlYXRlRXhwb3J0ZXIoXCJwbmdcIil9XG4gICAgICAgIG9uRXhwb3J0VG9Tdmc9e2NyZWF0ZUV4cG9ydGVyKFwic3ZnXCIpfVxuICAgICAgICBvbkV4cG9ydFRvQ2xpcGJvYXJkPXtjcmVhdGVFeHBvcnRlcihcImNsaXBib2FyZFwiKX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJWaWV3TW9kZUNhbnZhc0FjdGlvbnMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTZWN0aW9uXG4gICAgICAgIGhlYWRpbmc9XCJjYW52YXNBY3Rpb25zXCJcbiAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFwiemVuLW1vZGUtdHJhbnNpdGlvblwiLCB7XG4gICAgICAgICAgXCJ0cmFuc2l0aW9uLWxlZnRcIjogemVuTW9kZUVuYWJsZWQsXG4gICAgICAgIH0pfVxuICAgICAgPlxuICAgICAgICB7LyogdGhlIHpJbmRleCBlbnN1cmVzIHRoaXMgbWVudSBoYXMgaGlnaGVyIHN0YWNraW5nIG9yZGVyLFxuICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9leGNhbGlkcmF3L2V4Y2FsaWRyYXcvcHVsbC8xNDQ1ICovfVxuICAgICAgICA8SXNsYW5kIHBhZGRpbmc9ezJ9IHN0eWxlPXt7IHpJbmRleDogMSB9fT5cbiAgICAgICAgICA8U3RhY2suQ29sIGdhcD17NH0+XG4gICAgICAgICAgICA8U3RhY2suUm93IGdhcD17MX0ganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgIHtyZW5kZXJKU09ORXhwb3J0RGlhbG9nKCl9XG4gICAgICAgICAgICAgIHtyZW5kZXJJbWFnZUV4cG9ydERpYWxvZygpfVxuICAgICAgICAgICAgPC9TdGFjay5Sb3c+XG4gICAgICAgICAgPC9TdGFjay5Db2w+XG4gICAgICAgIDwvSXNsYW5kPlxuICAgICAgPC9TZWN0aW9uPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyQ2FudmFzQWN0aW9ucyA9ICgpID0+IChcbiAgICA8U2VjdGlvblxuICAgICAgaGVhZGluZz1cImNhbnZhc0FjdGlvbnNcIlxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFwiemVuLW1vZGUtdHJhbnNpdGlvblwiLCB7XG4gICAgICAgIFwidHJhbnNpdGlvbi1sZWZ0XCI6IHplbk1vZGVFbmFibGVkLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgey8qIHRoZSB6SW5kZXggZW5zdXJlcyB0aGlzIG1lbnUgaGFzIGhpZ2hlciBzdGFja2luZyBvcmRlcixcbiAgICAgICAgIHNlZSBodHRwczovL2dpdGh1Yi5jb20vZXhjYWxpZHJhdy9leGNhbGlkcmF3L3B1bGwvMTQ0NSAqL31cbiAgICAgIDxJc2xhbmQgcGFkZGluZz17Mn0gc3R5bGU9e3sgekluZGV4OiAxIH19PlxuICAgICAgICA8U3RhY2suQ29sIGdhcD17NH0+XG4gICAgICAgICAgPFN0YWNrLlJvdyBnYXA9ezN9IGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiPlxuICAgICAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwiY2xlYXJDYW52YXNcIil9XG4gICAgICAgICAgICB7YWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb24oXCJsb2FkU2NlbmVcIil9XG4gICAgICAgICAgICB7cmVuZGVySlNPTkV4cG9ydERpYWxvZygpfVxuICAgICAgICAgICAge3JlbmRlckltYWdlRXhwb3J0RGlhbG9nKCl9XG4gICAgICAgICAgICB7b25Db2xsYWJCdXR0b25DbGljayAmJiAoXG4gICAgICAgICAgICAgIDxDb2xsYWJCdXR0b25cbiAgICAgICAgICAgICAgICBpc0NvbGxhYm9yYXRpbmc9e2lzQ29sbGFib3JhdGluZ31cbiAgICAgICAgICAgICAgICBjb2xsYWJvcmF0b3JDb3VudD17YXBwU3RhdGUuY29sbGFib3JhdG9ycy5zaXplfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ29sbGFiQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvU3RhY2suUm93PlxuICAgICAgICAgIDxCYWNrZ3JvdW5kUGlja2VyQW5kRGFya01vZGVUb2dnbGVcbiAgICAgICAgICAgIGFjdGlvbk1hbmFnZXI9e2FjdGlvbk1hbmFnZXJ9XG4gICAgICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgICAgICBzZXRBcHBTdGF0ZT17c2V0QXBwU3RhdGV9XG4gICAgICAgICAgICBzaG93VGhlbWVCdG49e3Nob3dUaGVtZUJ0bn1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHthcHBTdGF0ZS5maWxlSGFuZGxlICYmIChcbiAgICAgICAgICAgIDw+e2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwic2F2ZVRvQWN0aXZlRmlsZVwiKX08Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1N0YWNrLkNvbD5cbiAgICAgIDwvSXNsYW5kPlxuICAgIDwvU2VjdGlvbj5cbiAgKTtcblxuICBjb25zdCByZW5kZXJTZWxlY3RlZFNoYXBlQWN0aW9ucyA9ICgpID0+IChcbiAgICA8U2VjdGlvblxuICAgICAgaGVhZGluZz1cInNlbGVjdGVkU2hhcGVBY3Rpb25zXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xzeChcInplbi1tb2RlLXRyYW5zaXRpb25cIiwge1xuICAgICAgICBcInRyYW5zaXRpb24tbGVmdFwiOiB6ZW5Nb2RlRW5hYmxlZCxcbiAgICAgIH0pfVxuICAgID5cbiAgICAgIDxJc2xhbmRcbiAgICAgICAgY2xhc3NOYW1lPXtDTEFTU0VTLlNIQVBFX0FDVElPTlNfTUVOVX1cbiAgICAgICAgcGFkZGluZz17Mn1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAvLyB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGlzIGRvZXNuJ3Qgb3ZlcmZsb3cgc28gc3Vic3RyYWN0aW5nIDIwMFxuICAgICAgICAgIC8vIHdoaWNoIGlzIGFwcHJveGltYXRlbHkgaGVpZ2h0IG9mIHpvb20gZm9vdGVyIGFuZCB0b3AgbGVmdCBtZW51IGl0ZW1zIHdpdGggc29tZSBidWZmZXJcbiAgICAgICAgICAvLyBpZiBhY3RpdmUgZmlsZSBuYW1lIGlzIGRpc3BsYXllZCwgc3VidHJhY3RpbmcgMjQ4IHRvIGFjY291bnQgZm9yIGl0cyBoZWlnaHRcbiAgICAgICAgICBtYXhIZWlnaHQ6IGAke2FwcFN0YXRlLmhlaWdodCAtIChhcHBTdGF0ZS5maWxlSGFuZGxlID8gMjQ4IDogMjAwKX1weGAsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxTZWxlY3RlZFNoYXBlQWN0aW9uc1xuICAgICAgICAgIGFwcFN0YXRlPXthcHBTdGF0ZX1cbiAgICAgICAgICBlbGVtZW50cz17ZWxlbWVudHN9XG4gICAgICAgICAgcmVuZGVyQWN0aW9uPXthY3Rpb25NYW5hZ2VyLnJlbmRlckFjdGlvbn1cbiAgICAgICAgICBlbGVtZW50VHlwZT17YXBwU3RhdGUuZWxlbWVudFR5cGV9XG4gICAgICAgIC8+XG4gICAgICA8L0lzbGFuZD5cbiAgICA8L1NlY3Rpb24+XG4gICk7XG5cbiAgY29uc3QgY2xvc2VMaWJyYXJ5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGlzRGlhbG9nT3BlbiA9ICEhZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5EaWFsb2dcIik7XG5cbiAgICAvLyBQcmV2ZW50IGNsb3NpbmcgaWYgYW55IGRpYWxvZyBpcyBvcGVuXG4gICAgaWYgKGlzRGlhbG9nT3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzZXRBcHBTdGF0ZSh7IGlzTGlicmFyeU9wZW46IGZhbHNlIH0pO1xuICB9LCBbc2V0QXBwU3RhdGVdKTtcblxuICBjb25zdCBkZXNlbGVjdEl0ZW1zID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEFwcFN0YXRlKHtcbiAgICAgIHNlbGVjdGVkRWxlbWVudElkczoge30sXG4gICAgICBzZWxlY3RlZEdyb3VwSWRzOiB7fSxcbiAgICB9KTtcbiAgfSwgW3NldEFwcFN0YXRlXSk7XG5cbiAgY29uc3QgbGlicmFyeU1lbnUgPSBhcHBTdGF0ZS5pc0xpYnJhcnlPcGVuID8gKFxuICAgIDxMaWJyYXJ5TWVudVxuICAgICAgcGVuZGluZ0VsZW1lbnRzPXtnZXRTZWxlY3RlZEVsZW1lbnRzKGVsZW1lbnRzLCBhcHBTdGF0ZSl9XG4gICAgICBvbkNsb3NlPXtjbG9zZUxpYnJhcnl9XG4gICAgICBvbkluc2VydFNoYXBlPXtvbkluc2VydEVsZW1lbnRzfVxuICAgICAgb25BZGRUb0xpYnJhcnk9e2Rlc2VsZWN0SXRlbXN9XG4gICAgICBzZXRBcHBTdGF0ZT17c2V0QXBwU3RhdGV9XG4gICAgICBsaWJyYXJ5UmV0dXJuVXJsPXtsaWJyYXJ5UmV0dXJuVXJsfVxuICAgICAgZm9jdXNDb250YWluZXI9e2ZvY3VzQ29udGFpbmVyfVxuICAgICAgbGlicmFyeT17bGlicmFyeX1cbiAgICAgIHRoZW1lPXthcHBTdGF0ZS50aGVtZX1cbiAgICAgIGZpbGVzPXtmaWxlc31cbiAgICAgIGlkPXtpZH1cbiAgICAgIGFwcFN0YXRlPXthcHBTdGF0ZX1cbiAgICAvPlxuICApIDogbnVsbDtcblxuICBjb25zdCByZW5kZXJGaXhlZFNpZGVDb250YWluZXIgPSAoKSA9PiB7XG4gICAgY29uc3Qgc2hvdWxkUmVuZGVyU2VsZWN0ZWRTaGFwZUFjdGlvbnMgPSBzaG93U2VsZWN0ZWRTaGFwZUFjdGlvbnMoXG4gICAgICBhcHBTdGF0ZSxcbiAgICAgIGVsZW1lbnRzLFxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZpeGVkU2lkZUNvbnRhaW5lciBzaWRlPVwidG9wXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiQXBwLW1lbnUgQXBwLW1lbnVfdG9wXCI+XG4gICAgICAgICAgPFN0YWNrLkNvbFxuICAgICAgICAgICAgZ2FwPXs0fVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KHsgXCJkaXNhYmxlLXBvaW50ZXJFdmVudHNcIjogemVuTW9kZUVuYWJsZWQgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge1VJT3B0aW9ucy5jYW52YXNBY3Rpb25zICYmXG4gICAgICAgICAgICAgICh2aWV3TW9kZUVuYWJsZWRcbiAgICAgICAgICAgICAgICA/IHJlbmRlclZpZXdNb2RlQ2FudmFzQWN0aW9ucygpXG4gICAgICAgICAgICAgICAgOiByZW5kZXJDYW52YXNBY3Rpb25zKCkpfVxuICAgICAgICAgICAge3Nob3VsZFJlbmRlclNlbGVjdGVkU2hhcGVBY3Rpb25zICYmIHJlbmRlclNlbGVjdGVkU2hhcGVBY3Rpb25zKCl9XG4gICAgICAgICAgPC9TdGFjay5Db2w+XG4gICAgICAgICAgeyF2aWV3TW9kZUVuYWJsZWQgJiYgKFxuICAgICAgICAgICAgPFNlY3Rpb24gaGVhZGluZz1cInNoYXBlc1wiPlxuICAgICAgICAgICAgICB7KGhlYWRpbmcpID0+IChcbiAgICAgICAgICAgICAgICA8U3RhY2suQ29sIGdhcD17NH0gYWxpZ249XCJzdGFydFwiPlxuICAgICAgICAgICAgICAgICAgPFN0YWNrLlJvd1xuICAgICAgICAgICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcIkFwcC10b29sYmFyLWNvbnRhaW5lclwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgXCJ6ZW4tbW9kZVwiOiB6ZW5Nb2RlRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxMb2NrQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgemVuTW9kZUVuYWJsZWQ9e3plbk1vZGVFbmFibGVkfVxuICAgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2FwcFN0YXRlLmVsZW1lbnRMb2NrZWR9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uTG9ja1RvZ2dsZX1cbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZT17dChcInRvb2xCYXIubG9ja1wiKX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPElzbGFuZFxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc9ezF9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFwiQXBwLXRvb2xiYXJcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJ6ZW4tbW9kZVwiOiB6ZW5Nb2RlRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxIaW50Vmlld2VyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50cz17ZWxlbWVudHN9XG4gICAgICAgICAgICAgICAgICAgICAgICBpc01vYmlsZT17aXNNb2JpbGV9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICB7aGVhZGluZ31cbiAgICAgICAgICAgICAgICAgICAgICA8U3RhY2suUm93IGdhcD17MX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U2hhcGVzU3dpdGNoZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FudmFzPXtjYW52YXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRUeXBlPXthcHBTdGF0ZS5lbGVtZW50VHlwZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0QXBwU3RhdGU9e3NldEFwcFN0YXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkltYWdlQWN0aW9uPXsoeyBwb2ludGVyVHlwZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25JbWFnZUFjdGlvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRPbkNhbnZhc0RpcmVjdGx5OiBwb2ludGVyVHlwZSAhPT0gXCJtb3VzZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L1N0YWNrLlJvdz5cbiAgICAgICAgICAgICAgICAgICAgPC9Jc2xhbmQ+XG4gICAgICAgICAgICAgICAgICAgIDxMaWJyYXJ5QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgYXBwU3RhdGU9e2FwcFN0YXRlfVxuICAgICAgICAgICAgICAgICAgICAgIHNldEFwcFN0YXRlPXtzZXRBcHBTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3RhY2suUm93PlxuICAgICAgICAgICAgICAgICAge2xpYnJhcnlNZW51fVxuICAgICAgICAgICAgICAgIDwvU3RhY2suQ29sPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICAgICAgICBcImxheWVyLXVpX193cmFwcGVyX190b3AtcmlnaHQgemVuLW1vZGUtdHJhbnNpdGlvblwiLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJ0cmFuc2l0aW9uLXJpZ2h0XCI6IHplbk1vZGVFbmFibGVkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7cmVuZGVyVG9wUmlnaHRVST8uKGlzTW9iaWxlLCBhcHBTdGF0ZSwgY2FudmFzKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8VXNlckxpc3RcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcInplbi1tb2RlLXRyYW5zaXRpb25cIiwge1xuICAgICAgICAgICAgICBcInRyYW5zaXRpb24tcmlnaHRcIjogemVuTW9kZUVuYWJsZWQsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIGxheW91dD1cInZlcnRpY2FsXCJcbiAgICAgICAgICAgIGNvbGxhYm9yYXRvcnM9e2FwcFN0YXRlLmNvbGxhYm9yYXRvcnN9XG4gICAgICAgICAgICBhY3Rpb25NYW5hZ2VyPXthY3Rpb25NYW5hZ2VyfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9GaXhlZFNpZGVDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJCb3R0b21BcHBNZW51ID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8Zm9vdGVyXG4gICAgICAgIHJvbGU9XCJjb250ZW50aW5mb1wiXG4gICAgICAgIGNsYXNzTmFtZT1cImxheWVyLXVpX193cmFwcGVyX19mb290ZXIgQXBwLW1lbnUgQXBwLW1lbnVfYm90dG9tXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgIFwibGF5ZXItdWlfX3dyYXBwZXJfX2Zvb3Rlci1sZWZ0IHplbi1tb2RlLXRyYW5zaXRpb25cIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgXCJsYXllci11aV9fd3JhcHBlcl9fZm9vdGVyLWxlZnQtLXRyYW5zaXRpb24tbGVmdFwiOiB6ZW5Nb2RlRW5hYmxlZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxTdGFjay5Db2wgZ2FwPXsyfT5cbiAgICAgICAgICAgIDxTZWN0aW9uIGhlYWRpbmc9XCJjYW52YXNBY3Rpb25zXCI+XG4gICAgICAgICAgICAgIDxJc2xhbmQgcGFkZGluZz17MX0+XG4gICAgICAgICAgICAgICAgPFpvb21BY3Rpb25zXG4gICAgICAgICAgICAgICAgICByZW5kZXJBY3Rpb249e2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9ufVxuICAgICAgICAgICAgICAgICAgem9vbT17YXBwU3RhdGUuem9vbX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0lzbGFuZD5cbiAgICAgICAgICAgICAgeyF2aWV3TW9kZUVuYWJsZWQgJiYgKFxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcInVuZG8tcmVkby1idXR0b25zIHplbi1tb2RlLXRyYW5zaXRpb25cIiwge1xuICAgICAgICAgICAgICAgICAgICBcImxheWVyLXVpX193cmFwcGVyX19mb290ZXItbGVmdC0tdHJhbnNpdGlvbi1ib3R0b21cIjpcbiAgICAgICAgICAgICAgICAgICAgICB6ZW5Nb2RlRW5hYmxlZCxcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHthY3Rpb25NYW5hZ2VyLnJlbmRlckFjdGlvbihcInVuZG9cIiwgeyBzaXplOiBcInNtYWxsXCIgfSl9XG4gICAgICAgICAgICAgICAgICB7YWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb24oXCJyZWRvXCIsIHsgc2l6ZTogXCJzbWFsbFwiIH0pfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgIDwvU3RhY2suQ29sPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgIFwibGF5ZXItdWlfX3dyYXBwZXJfX2Zvb3Rlci1jZW50ZXIgemVuLW1vZGUtdHJhbnNpdGlvblwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBcImxheWVyLXVpX193cmFwcGVyX19mb290ZXItbGVmdC0tdHJhbnNpdGlvbi1ib3R0b21cIjpcbiAgICAgICAgICAgICAgICB6ZW5Nb2RlRW5hYmxlZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKX1cbiAgICAgICAgPlxuICAgICAgICAgIHtyZW5kZXJDdXN0b21Gb290ZXI/LihmYWxzZSwgYXBwU3RhdGUpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xzeChcbiAgICAgICAgICAgIFwibGF5ZXItdWlfX3dyYXBwZXJfX2Zvb3Rlci1yaWdodCB6ZW4tbW9kZS10cmFuc2l0aW9uXCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFwidHJhbnNpdGlvbi1yaWdodCBkaXNhYmxlLXBvaW50ZXJFdmVudHNcIjogemVuTW9kZUVuYWJsZWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICB7YWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb24oXCJ0b2dnbGVTaG9ydGN1dHNcIil9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbHN4KFwiZGlzYWJsZS16ZW4tbW9kZVwiLCB7XG4gICAgICAgICAgICBcImRpc2FibGUtemVuLW1vZGUtLXZpc2libGVcIjogc2hvd0V4aXRaZW5Nb2RlQnRuLFxuICAgICAgICAgIH0pfVxuICAgICAgICAgIG9uQ2xpY2s9e3RvZ2dsZVplbk1vZGV9XG4gICAgICAgID5cbiAgICAgICAgICB7dChcImJ1dHRvbnMuZXhpdFplbk1vZGVcIil9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9mb290ZXI+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBkaWFsb2dzID0gKFxuICAgIDw+XG4gICAgICB7YXBwU3RhdGUuaXNMb2FkaW5nICYmIDxMb2FkaW5nTWVzc2FnZSAvPn1cbiAgICAgIHthcHBTdGF0ZS5lcnJvck1lc3NhZ2UgJiYgKFxuICAgICAgICA8RXJyb3JEaWFsb2dcbiAgICAgICAgICBtZXNzYWdlPXthcHBTdGF0ZS5lcnJvck1lc3NhZ2V9XG4gICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0QXBwU3RhdGUoeyBlcnJvck1lc3NhZ2U6IG51bGwgfSl9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAge2FwcFN0YXRlLnNob3dIZWxwRGlhbG9nICYmIChcbiAgICAgICAgPEhlbHBEaWFsb2dcbiAgICAgICAgICBvbkNsb3NlPXsoKSA9PiB7XG4gICAgICAgICAgICBzZXRBcHBTdGF0ZSh7IHNob3dIZWxwRGlhbG9nOiBmYWxzZSB9KTtcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHthcHBTdGF0ZS5wYXN0ZURpYWxvZy5zaG93biAmJiAoXG4gICAgICAgIDxQYXN0ZUNoYXJ0RGlhbG9nXG4gICAgICAgICAgc2V0QXBwU3RhdGU9e3NldEFwcFN0YXRlfVxuICAgICAgICAgIGFwcFN0YXRlPXthcHBTdGF0ZX1cbiAgICAgICAgICBvbkluc2VydENoYXJ0PXtvbkluc2VydEVsZW1lbnRzfVxuICAgICAgICAgIG9uQ2xvc2U9eygpID0+XG4gICAgICAgICAgICBzZXRBcHBTdGF0ZSh7XG4gICAgICAgICAgICAgIHBhc3RlRGlhbG9nOiB7IHNob3duOiBmYWxzZSwgZGF0YTogbnVsbCB9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvPlxuICApO1xuXG4gIHJldHVybiBpc01vYmlsZSA/IChcbiAgICA8PlxuICAgICAge2RpYWxvZ3N9XG4gICAgICA8TW9iaWxlTWVudVxuICAgICAgICBvbkhvbWVCdXR0b25DbGljaz17b25Ib21lQnV0dG9uQ2xpY2t9XG4gICAgICAgIGFwcFN0YXRlPXthcHBTdGF0ZX1cbiAgICAgICAgZWxlbWVudHM9e2VsZW1lbnRzfVxuICAgICAgICBhY3Rpb25NYW5hZ2VyPXthY3Rpb25NYW5hZ2VyfVxuICAgICAgICBsaWJyYXJ5TWVudT17bGlicmFyeU1lbnV9XG4gICAgICAgIHJlbmRlckpTT05FeHBvcnREaWFsb2c9e3JlbmRlckpTT05FeHBvcnREaWFsb2d9XG4gICAgICAgIHJlbmRlckltYWdlRXhwb3J0RGlhbG9nPXtyZW5kZXJJbWFnZUV4cG9ydERpYWxvZ31cbiAgICAgICAgc2V0QXBwU3RhdGU9e3NldEFwcFN0YXRlfVxuICAgICAgICBvbkNvbGxhYkJ1dHRvbkNsaWNrPXtvbkNvbGxhYkJ1dHRvbkNsaWNrfVxuICAgICAgICBvbkxvY2tUb2dnbGU9e29uTG9ja1RvZ2dsZX1cbiAgICAgICAgY2FudmFzPXtjYW52YXN9XG4gICAgICAgIGlzQ29sbGFib3JhdGluZz17aXNDb2xsYWJvcmF0aW5nfVxuICAgICAgICByZW5kZXJDdXN0b21Gb290ZXI9e3JlbmRlckN1c3RvbUZvb3Rlcn1cbiAgICAgICAgdmlld01vZGVFbmFibGVkPXt2aWV3TW9kZUVuYWJsZWR9XG4gICAgICAgIHNob3dUaGVtZUJ0bj17c2hvd1RoZW1lQnRufVxuICAgICAgICBvbkltYWdlQWN0aW9uPXtvbkltYWdlQWN0aW9ufVxuICAgICAgICByZW5kZXJUb3BSaWdodFVJPXtyZW5kZXJUb3BSaWdodFVJfVxuICAgICAgICBVSU9wdGlvbnM9e1VJT3B0aW9uc31cbiAgICAgIC8+XG4gICAgPC8+XG4gICkgOiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFwibGF5ZXItdWlfX3dyYXBwZXJcIiwge1xuICAgICAgICBcImRpc2FibGUtcG9pbnRlckV2ZW50c1wiOlxuICAgICAgICAgIGFwcFN0YXRlLmRyYWdnaW5nRWxlbWVudCB8fFxuICAgICAgICAgIGFwcFN0YXRlLnJlc2l6aW5nRWxlbWVudCB8fFxuICAgICAgICAgIChhcHBTdGF0ZS5lZGl0aW5nRWxlbWVudCAmJiAhaXNUZXh0RWxlbWVudChhcHBTdGF0ZS5lZGl0aW5nRWxlbWVudCkpLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAge2RpYWxvZ3N9XG4gICAgICB7cmVuZGVyRml4ZWRTaWRlQ29udGFpbmVyKCl9XG4gICAgICB7cmVuZGVyQm90dG9tQXBwTWVudSgpfVxuICAgICAge2FwcFN0YXRlLnNjcm9sbGVkT3V0c2lkZSAmJiAoXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzc05hbWU9XCJzY3JvbGwtYmFjay10by1jb250ZW50XCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBzZXRBcHBTdGF0ZSh7XG4gICAgICAgICAgICAgIC4uLmNhbGN1bGF0ZVNjcm9sbENlbnRlcihlbGVtZW50cywgYXBwU3RhdGUsIGNhbnZhcyksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge3QoXCJidXR0b25zLnNjcm9sbEJhY2tUb0NvbnRlbnRcIil9XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IGFyZUVxdWFsID0gKHByZXY6IExheWVyVUlQcm9wcywgbmV4dDogTGF5ZXJVSVByb3BzKSA9PiB7XG4gIGNvbnN0IGdldE5lY2Vzc2FyeU9iaiA9IChhcHBTdGF0ZTogQXBwU3RhdGUpOiBQYXJ0aWFsPEFwcFN0YXRlPiA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgc3VnZ2VzdGVkQmluZGluZ3MsXG4gICAgICBzdGFydEJvdW5kRWxlbWVudDogYm91bmRFbGVtZW50LFxuICAgICAgLi4ucmV0XG4gICAgfSA9IGFwcFN0YXRlO1xuICAgIHJldHVybiByZXQ7XG4gIH07XG4gIGNvbnN0IHByZXZBcHBTdGF0ZSA9IGdldE5lY2Vzc2FyeU9iaihwcmV2LmFwcFN0YXRlKTtcbiAgY29uc3QgbmV4dEFwcFN0YXRlID0gZ2V0TmVjZXNzYXJ5T2JqKG5leHQuYXBwU3RhdGUpO1xuXG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhwcmV2QXBwU3RhdGUpIGFzIChrZXlvZiBQYXJ0aWFsPEFwcFN0YXRlPilbXTtcbiAgcmV0dXJuIChcbiAgICBwcmV2LnJlbmRlclRvcFJpZ2h0VUkgPT09IG5leHQucmVuZGVyVG9wUmlnaHRVSSAmJlxuICAgIHByZXYucmVuZGVyQ3VzdG9tRm9vdGVyID09PSBuZXh0LnJlbmRlckN1c3RvbUZvb3RlciAmJlxuICAgIHByZXYubGFuZ0NvZGUgPT09IG5leHQubGFuZ0NvZGUgJiZcbiAgICBwcmV2LmVsZW1lbnRzID09PSBuZXh0LmVsZW1lbnRzICYmXG4gICAgcHJldi5maWxlcyA9PT0gbmV4dC5maWxlcyAmJlxuICAgIGtleXMuZXZlcnkoKGtleSkgPT4gcHJldkFwcFN0YXRlW2tleV0gPT09IG5leHRBcHBTdGF0ZVtrZXldKVxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhMYXllclVJLCBhcmVFcXVhbCk7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../components/LayerUI.tsx\n");
|
|
1817
1838
|
|
|
1818
1839
|
/***/ }),
|
|
1819
1840
|
|
|
@@ -1824,7 +1845,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1824
1845
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1825
1846
|
|
|
1826
1847
|
"use strict";
|
|
1827
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LibraryButton\": () => (/* binding */ LibraryButton)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"../../../node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../i18n */ \"../../i18n.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"../../utils.ts\");\n\r\n\r\n\r\n\r\n\r\nconst LIBRARY_ICON = ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"svg\", Object.assign({ viewBox: \"0 0 576 512\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: \"currentColor\", d: \"M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z\" }, void 0) }), void 0));\r\nconst LibraryButton = ({ appState, setAppState }) => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"label\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"ToolIcon ToolIcon_type_floating ToolIcon__library
|
|
1848
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LibraryButton\": () => (/* binding */ LibraryButton)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! clsx */ \"../../../node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../i18n */ \"../../i18n.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils */ \"../../utils.ts\");\n\r\n\r\n\r\n\r\n\r\nconst LIBRARY_ICON = ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"svg\", Object.assign({ viewBox: \"0 0 576 512\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: \"currentColor\", d: \"M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z\" }, void 0) }), void 0));\r\nconst LibraryButton = ({ appState, setAppState, isMobile }) => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"label\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\"ToolIcon ToolIcon_type_floating ToolIcon__library\", `ToolIcon_size_medium`, {\r\n \"is-mobile\": isMobile,\r\n }), title: `${(0,_utils__WEBPACK_IMPORTED_MODULE_4__.capitalizeString)((0,_i18n__WEBPACK_IMPORTED_MODULE_3__.t)(\"toolBar.library\"))} — 0` }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"input\", { className: \"ToolIcon_type_checkbox\", type: \"checkbox\", name: \"editor-library\", onChange: (event) => {\r\n setAppState({ isLibraryOpen: event.target.checked });\r\n }, checked: appState.isLibraryOpen, \"aria-label\": (0,_utils__WEBPACK_IMPORTED_MODULE_4__.capitalizeString)((0,_i18n__WEBPACK_IMPORTED_MODULE_3__.t)(\"toolBar.library\")), \"aria-keyshortcuts\": \"0\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: \"ToolIcon__icon\" }, { children: LIBRARY_ICON }), void 0)] }), void 0));\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vY29tcG9uZW50cy9MaWJyYXJ5QnV0dG9uLnRzeC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUEwQjtBQUNGO0FBQ0k7QUFFZ0I7QUFFNUMsTUFBTSxZQUFZLEdBQUcsQ0FDbkIsOEVBQUssT0FBTyxFQUFDLGFBQWEsZ0JBQ3hCLGlFQUNFLElBQUksRUFBQyxjQUFjLEVBQ25CLENBQUMsRUFBQyx1Y0FBdWMsV0FDbmMsWUFDSixDQUNQLENBQUM7QUFFSyxNQUFNLGFBQWEsR0FJckIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtJQUMzQyxPQUFPLENBQ0wsaUZBQ0UsU0FBUyxFQUFFLGdEQUFJLENBQ2IsbURBQW1ELEVBQ25ELHNCQUFzQixFQUN0QjtZQUNFLFdBQVcsRUFBRSxRQUFRO1NBQ3RCLENBQ0YsRUFDRCxLQUFLLEVBQUUsR0FBRyx3REFBZ0IsQ0FBQyx3Q0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsTUFBTSxpQkFFdEQsa0VBQ0UsU0FBUyxFQUFDLHdCQUF3QixFQUNsQyxJQUFJLEVBQUMsVUFBVSxFQUNmLElBQUksRUFBQyxnQkFBZ0IsRUFDckIsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ2xCLFdBQVcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELENBQUMsRUFDRCxPQUFPLEVBQUUsUUFBUSxDQUFDLGFBQWEsZ0JBQ25CLHdEQUFnQixDQUFDLHdDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyx1QkFDaEMsR0FBRyxXQUNyQixFQUNGLDhFQUFLLFNBQVMsRUFBQyxnQkFBZ0IsZ0JBQUUsWUFBWSxZQUFPLGFBQzlDLENBQ1QsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uLi8uLi9jb21wb25lbnRzL0xpYnJhcnlCdXR0b24udHN4PzlmMGMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsc3ggZnJvbSBcImNsc3hcIjtcbmltcG9ydCB7IHQgfSBmcm9tIFwiLi4vaTE4blwiO1xuaW1wb3J0IHsgQXBwU3RhdGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IGNhcGl0YWxpemVTdHJpbmcgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuY29uc3QgTElCUkFSWV9JQ09OID0gKFxuICA8c3ZnIHZpZXdCb3g9XCIwIDAgNTc2IDUxMlwiPlxuICAgIDxwYXRoXG4gICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgIGQ9XCJNNTQyLjIyIDMyLjA1Yy01NC44IDMuMTEtMTYzLjcyIDE0LjQzLTIzMC45NiA1NS41OS00LjY0IDIuODQtNy4yNyA3Ljg5LTcuMjcgMTMuMTd2MzYzLjg3YzAgMTEuNTUgMTIuNjMgMTguODUgMjMuMjggMTMuNDkgNjkuMTgtMzQuODIgMTY5LjIzLTQ0LjMyIDIxOC43LTQ2LjkyIDE2Ljg5LS44OSAzMC4wMi0xNC40MyAzMC4wMi0zMC42NlY2Mi43NWMuMDEtMTcuNzEtMTUuMzUtMzEuNzQtMzMuNzctMzAuN3pNMjY0LjczIDg3LjY0QzE5Ny41IDQ2LjQ4IDg4LjU4IDM1LjE3IDMzLjc4IDMyLjA1IDE1LjM2IDMxLjAxIDAgNDUuMDQgMCA2Mi43NVY0MDAuNmMwIDE2LjI0IDEzLjEzIDI5Ljc4IDMwLjAyIDMwLjY2IDQ5LjQ5IDIuNiAxNDkuNTkgMTIuMTEgMjE4Ljc3IDQ2Ljk1IDEwLjYyIDUuMzUgMjMuMjEtMS45NCAyMy4yMS0xMy40NlYxMDAuNjNjMC01LjI5LTIuNjItMTAuMTQtNy4yNy0xMi45OXpcIlxuICAgID48L3BhdGg+XG4gIDwvc3ZnPlxuKTtcblxuZXhwb3J0IGNvbnN0IExpYnJhcnlCdXR0b246IFJlYWN0LkZDPHtcbiAgYXBwU3RhdGU6IEFwcFN0YXRlO1xuICBzZXRBcHBTdGF0ZTogUmVhY3QuQ29tcG9uZW50PGFueSwgQXBwU3RhdGU+W1wic2V0U3RhdGVcIl07XG4gIGlzTW9iaWxlPzogYm9vbGVhbjtcbn0+ID0gKHsgYXBwU3RhdGUsIHNldEFwcFN0YXRlLCBpc01vYmlsZSB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGxhYmVsXG4gICAgICBjbGFzc05hbWU9e2Nsc3goXG4gICAgICAgIFwiVG9vbEljb24gVG9vbEljb25fdHlwZV9mbG9hdGluZyBUb29sSWNvbl9fbGlicmFyeVwiLFxuICAgICAgICBgVG9vbEljb25fc2l6ZV9tZWRpdW1gLFxuICAgICAgICB7XG4gICAgICAgICAgXCJpcy1tb2JpbGVcIjogaXNNb2JpbGUsXG4gICAgICAgIH0sXG4gICAgICApfVxuICAgICAgdGl0bGU9e2Ake2NhcGl0YWxpemVTdHJpbmcodChcInRvb2xCYXIubGlicmFyeVwiKSl9IOKAlCAwYH1cbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3NOYW1lPVwiVG9vbEljb25fdHlwZV9jaGVja2JveFwiXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIG5hbWU9XCJlZGl0b3ItbGlicmFyeVwiXG4gICAgICAgIG9uQ2hhbmdlPXsoZXZlbnQpID0+IHtcbiAgICAgICAgICBzZXRBcHBTdGF0ZSh7IGlzTGlicmFyeU9wZW46IGV2ZW50LnRhcmdldC5jaGVja2VkIH0pO1xuICAgICAgICB9fVxuICAgICAgICBjaGVja2VkPXthcHBTdGF0ZS5pc0xpYnJhcnlPcGVufVxuICAgICAgICBhcmlhLWxhYmVsPXtjYXBpdGFsaXplU3RyaW5nKHQoXCJ0b29sQmFyLmxpYnJhcnlcIikpfVxuICAgICAgICBhcmlhLWtleXNob3J0Y3V0cz1cIjBcIlxuICAgICAgLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiVG9vbEljb25fX2ljb25cIj57TElCUkFSWV9JQ09OfTwvZGl2PlxuICAgIDwvbGFiZWw+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../components/LibraryButton.tsx\n");
|
|
1828
1849
|
|
|
1829
1850
|
/***/ }),
|
|
1830
1851
|
|
|
@@ -1879,7 +1900,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1879
1900
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1880
1901
|
|
|
1881
1902
|
"use strict";
|
|
1882
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LockButton\": () => (/* binding */ LockButton)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var _ToolIcon_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ToolIcon.scss */ \"../../components/ToolIcon.scss\");\n/* harmony import */ var _ToolIcon_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_ToolIcon_scss__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"../../../node_modules/clsx/dist/clsx.m.js\");\n\r\n\r\n\r\n\r\nconst DEFAULT_SIZE = \"medium\";\r\nconst ICONS = {\r\n CHECKED: ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"svg\", Object.assign({ width: \"1792\", height: \"1792\", viewBox: \"0 0 1792 1792\", xmlns: \"http://www.w3.org/2000/svg\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z\" }, void 0) }), void 0)),\r\n UNCHECKED: ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"svg\", Object.assign({ width: \"1792\", height: \"1792\", viewBox: \"0 0 1792 1792\", xmlns: \"http://www.w3.org/2000/svg\", className: \"unlocked-icon rtl-mirror\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M1728 576v256q0 26-19 45t-45 19h-64q-26 0-45-19t-19-45v-256q0-106-75-181t-181-75-181 75-75 181v192h96q40 0 68 28t28 68v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h672v-192q0-185 131.5-316.5t316.5-131.5 316.5 131.5 131.5 316.5z\" }, void 0) }), void 0)),\r\n};\r\nconst LockButton = (props) => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"label\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"ToolIcon ToolIcon__lock ToolIcon_type_floating
|
|
1903
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"LockButton\": () => (/* binding */ LockButton)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var _ToolIcon_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ToolIcon.scss */ \"../../components/ToolIcon.scss\");\n/* harmony import */ var _ToolIcon_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_ToolIcon_scss__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"../../../node_modules/clsx/dist/clsx.m.js\");\n\r\n\r\n\r\n\r\nconst DEFAULT_SIZE = \"medium\";\r\nconst ICONS = {\r\n CHECKED: ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"svg\", Object.assign({ width: \"1792\", height: \"1792\", viewBox: \"0 0 1792 1792\", xmlns: \"http://www.w3.org/2000/svg\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M640 768h512v-192q0-106-75-181t-181-75-181 75-75 181v192zm832 96v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h32v-192q0-184 132-316t316-132 316 132 132 316v192h32q40 0 68 28t28 68z\" }, void 0) }), void 0)),\r\n UNCHECKED: ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"svg\", Object.assign({ width: \"1792\", height: \"1792\", viewBox: \"0 0 1792 1792\", xmlns: \"http://www.w3.org/2000/svg\", className: \"unlocked-icon rtl-mirror\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M1728 576v256q0 26-19 45t-45 19h-64q-26 0-45-19t-19-45v-256q0-106-75-181t-181-75-181 75-75 181v192h96q40 0 68 28t28 68v576q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-576q0-40 28-68t68-28h672v-192q0-185 131.5-316.5t316.5-131.5 316.5 131.5 131.5 316.5z\" }, void 0) }), void 0)),\r\n};\r\nconst LockButton = (props) => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"label\", Object.assign({ className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(\"ToolIcon ToolIcon__lock ToolIcon_type_floating\", `ToolIcon_size_${DEFAULT_SIZE}`, {\r\n \"is-mobile\": props.isMobile,\r\n }), title: `${props.title} — Q` }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"input\", { className: \"ToolIcon_type_checkbox\", type: \"checkbox\", name: props.name, onChange: props.onChange, checked: props.checked, \"aria-label\": props.title }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: \"ToolIcon__icon\" }, { children: props.checked ? ICONS.CHECKED : ICONS.UNCHECKED }), void 0)] }), void 0));\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vY29tcG9uZW50cy9Mb2NrQnV0dG9uLnRzeC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUF5QjtBQUVDO0FBQ0Y7QUFZeEIsTUFBTSxZQUFZLEdBQW1CLFFBQVEsQ0FBQztBQUU5QyxNQUFNLEtBQUssR0FBRztJQUNaLE9BQU8sRUFBRSxDQUNQLDhFQUNFLEtBQUssRUFBQyxNQUFNLEVBQ1osTUFBTSxFQUFDLE1BQU0sRUFDYixPQUFPLEVBQUMsZUFBZSxFQUN2QixLQUFLLEVBQUMsNEJBQTRCLGdCQUVsQyxpRUFBTSxDQUFDLEVBQUMsNk1BQTZNLFdBQUcsWUFDcE4sQ0FDUDtJQUNELFNBQVMsRUFBRSxDQUNULDhFQUNFLEtBQUssRUFBQyxNQUFNLEVBQ1osTUFBTSxFQUFDLE1BQU0sRUFDYixPQUFPLEVBQUMsZUFBZSxFQUN2QixLQUFLLEVBQUMsNEJBQTRCLEVBQ2xDLFNBQVMsRUFBQywwQkFBMEIsZ0JBRXBDLGlFQUFNLENBQUMsRUFBQyw0UEFBNFAsV0FBRyxZQUNuUSxDQUNQO0NBQ0YsQ0FBQztBQUVLLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFO0lBQ2pELE9BQU8sQ0FDTCxpRkFDRSxTQUFTLEVBQUUsZ0RBQUksQ0FDYixnREFBZ0QsRUFDaEQsaUJBQWlCLFlBQVksRUFBRSxFQUMvQjtZQUNFLFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUTtTQUM1QixDQUNGLEVBQ0QsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssTUFBTSxpQkFFM0Isa0VBQ0UsU0FBUyxFQUFDLHdCQUF3QixFQUNsQyxJQUFJLEVBQUMsVUFBVSxFQUNmLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUNoQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFDeEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLGdCQUNWLEtBQUssQ0FBQyxLQUFLLFdBQ3ZCLEVBQ0YsOEVBQUssU0FBUyxFQUFDLGdCQUFnQixnQkFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsWUFDNUMsYUFDQSxDQUNULENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vY29tcG9uZW50cy9Mb2NrQnV0dG9uLnRzeD9mMWFjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcIi4vVG9vbEljb24uc2Nzc1wiO1xuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgY2xzeCBmcm9tIFwiY2xzeFwiO1xuaW1wb3J0IHsgVG9vbEJ1dHRvblNpemUgfSBmcm9tIFwiLi9Ub29sQnV0dG9uXCI7XG5cbnR5cGUgTG9ja0ljb25Qcm9wcyA9IHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGNoZWNrZWQ6IGJvb2xlYW47XG4gIG9uQ2hhbmdlPygpOiB2b2lkO1xuICB6ZW5Nb2RlRW5hYmxlZD86IGJvb2xlYW47XG4gIGlzTW9iaWxlPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IERFRkFVTFRfU0laRTogVG9vbEJ1dHRvblNpemUgPSBcIm1lZGl1bVwiO1xuXG5jb25zdCBJQ09OUyA9IHtcbiAgQ0hFQ0tFRDogKFxuICAgIDxzdmdcbiAgICAgIHdpZHRoPVwiMTc5MlwiXG4gICAgICBoZWlnaHQ9XCIxNzkyXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTc5MiAxNzkyXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgID5cbiAgICAgIDxwYXRoIGQ9XCJNNjQwIDc2OGg1MTJ2LTE5MnEwLTEwNi03NS0xODF0LTE4MS03NS0xODEgNzUtNzUgMTgxdjE5MnptODMyIDk2djU3NnEwIDQwLTI4IDY4dC02OCAyOGgtOTYwcS00MCAwLTY4LTI4dC0yOC02OHYtNTc2cTAtNDAgMjgtNjh0NjgtMjhoMzJ2LTE5MnEwLTE4NCAxMzItMzE2dDMxNi0xMzIgMzE2IDEzMiAxMzIgMzE2djE5MmgzMnE0MCAwIDY4IDI4dDI4IDY4elwiIC8+XG4gICAgPC9zdmc+XG4gICksXG4gIFVOQ0hFQ0tFRDogKFxuICAgIDxzdmdcbiAgICAgIHdpZHRoPVwiMTc5MlwiXG4gICAgICBoZWlnaHQ9XCIxNzkyXCJcbiAgICAgIHZpZXdCb3g9XCIwIDAgMTc5MiAxNzkyXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgY2xhc3NOYW1lPVwidW5sb2NrZWQtaWNvbiBydGwtbWlycm9yXCJcbiAgICA+XG4gICAgICA8cGF0aCBkPVwiTTE3MjggNTc2djI1NnEwIDI2LTE5IDQ1dC00NSAxOWgtNjRxLTI2IDAtNDUtMTl0LTE5LTQ1di0yNTZxMC0xMDYtNzUtMTgxdC0xODEtNzUtMTgxIDc1LTc1IDE4MXYxOTJoOTZxNDAgMCA2OCAyOHQyOCA2OHY1NzZxMCA0MC0yOCA2OHQtNjggMjhoLTk2MHEtNDAgMC02OC0yOHQtMjgtNjh2LTU3NnEwLTQwIDI4LTY4dDY4LTI4aDY3MnYtMTkycTAtMTg1IDEzMS41LTMxNi41dDMxNi41LTEzMS41IDMxNi41IDEzMS41IDEzMS41IDMxNi41elwiIC8+XG4gICAgPC9zdmc+XG4gICksXG59O1xuXG5leHBvcnQgY29uc3QgTG9ja0J1dHRvbiA9IChwcm9wczogTG9ja0ljb25Qcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxsYWJlbFxuICAgICAgY2xhc3NOYW1lPXtjbHN4KFxuICAgICAgICBcIlRvb2xJY29uIFRvb2xJY29uX19sb2NrIFRvb2xJY29uX3R5cGVfZmxvYXRpbmdcIixcbiAgICAgICAgYFRvb2xJY29uX3NpemVfJHtERUZBVUxUX1NJWkV9YCxcbiAgICAgICAge1xuICAgICAgICAgIFwiaXMtbW9iaWxlXCI6IHByb3BzLmlzTW9iaWxlLFxuICAgICAgICB9LFxuICAgICAgKX1cbiAgICAgIHRpdGxlPXtgJHtwcm9wcy50aXRsZX0g4oCUIFFgfVxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzc05hbWU9XCJUb29sSWNvbl90eXBlX2NoZWNrYm94XCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgbmFtZT17cHJvcHMubmFtZX1cbiAgICAgICAgb25DaGFuZ2U9e3Byb3BzLm9uQ2hhbmdlfVxuICAgICAgICBjaGVja2VkPXtwcm9wcy5jaGVja2VkfVxuICAgICAgICBhcmlhLWxhYmVsPXtwcm9wcy50aXRsZX1cbiAgICAgIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIlRvb2xJY29uX19pY29uXCI+XG4gICAgICAgIHtwcm9wcy5jaGVja2VkID8gSUNPTlMuQ0hFQ0tFRCA6IElDT05TLlVOQ0hFQ0tFRH1cbiAgICAgIDwvZGl2PlxuICAgIDwvbGFiZWw+XG4gICk7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../components/LockButton.tsx\n");
|
|
1883
1904
|
|
|
1884
1905
|
/***/ }),
|
|
1885
1906
|
|
|
@@ -1890,7 +1911,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
1890
1911
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
1891
1912
|
|
|
1892
1913
|
"use strict";
|
|
1893
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MobileMenu\": () => (/* binding */ MobileMenu)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../i18n */ \"../../i18n.ts\");\n/* harmony import */ var _Stack__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Stack */ \"../../components/Stack.tsx\");\n/* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../element */ \"../../element/index.ts\");\n/* harmony import */ var _FixedSideContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./FixedSideContainer */ \"../../components/FixedSideContainer.tsx\");\n/* harmony import */ var _Island__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Island */ \"../../components/Island.tsx\");\n/* harmony import */ var _HintViewer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./HintViewer */ \"../../components/HintViewer.tsx\");\n/* harmony import */ var _scene__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../scene */ \"../../scene/index.ts\");\n/* harmony import */ var _Actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Actions */ \"../../components/Actions.tsx\");\n/* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Section */ \"../../components/Section.tsx\");\n/* harmony import */ var _CollabButton__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./CollabButton */ \"../../components/CollabButton.tsx\");\n/* harmony import */ var _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../scene/scrollbars */ \"../../scene/scrollbars.ts\");\n/* harmony import */ var _LockButton__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./LockButton */ \"../../components/LockButton.tsx\");\n/* harmony import */ var _UserList__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./UserList */ \"../../components/UserList.tsx\");\n/* harmony import */ var _BackgroundPickerAndDarkModeToggle__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./BackgroundPickerAndDarkModeToggle */ \"../../components/BackgroundPickerAndDarkModeToggle.tsx\");\n/* harmony import */ var _LibraryButton__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./LibraryButton */ \"../../components/LibraryButton.tsx\");\n/* harmony import */ var _ToolButton__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./ToolButton */ \"../../components/ToolButton.tsx\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./icons */ \"../../components/icons.tsx\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst MobileMenu = ({ onHomeButtonClick, appState, elements, libraryMenu, actionManager, renderJSONExportDialog, renderImageExportDialog, setAppState, onCollabButtonClick, onLockToggle, canvas, isCollaborating, renderCustomFooter, viewModeEnabled, showThemeBtn, onImageAction, renderTopRightUI, UIOptions, }) => {\r\n const renderToolbar = () => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_FixedSideContainer__WEBPACK_IMPORTED_MODULE_5__.FixedSideContainer, Object.assign({ side: \"top\", className: \"App-top-bar\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {}, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_10__.Section, Object.assign({ heading: \"shapes\" }, { children: (heading) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Col, Object.assign({ gap: 4, align: \"center\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Row, Object.assign({ gap: 1 }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Island__WEBPACK_IMPORTED_MODULE_6__.Island, Object.assign({ padding: 1 }, { children: [heading, (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Stack__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Row, Object.assign({ gap: 1 }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Actions__WEBPACK_IMPORTED_MODULE_9__.ShapesSwitcher, { canvas: canvas, elementType: appState.elementType, setAppState: setAppState, onImageAction: ({ pointerType }) => {\r\n onImageAction({\r\n insertOnCanvasDirectly: pointerType !== \"mouse\",\r\n });\r\n } }, void 0) }), void 0)] }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ToolButton__WEBPACK_IMPORTED_MODULE_17__.ToolButton, { type: \"button\", className: \"HomeButton ToolIcon_type_floating\", title: \"Home\", \"aria-label\": \"Home\", icon: _icons__WEBPACK_IMPORTED_MODULE_18__.home, onClick: onHomeButtonClick }, \"home\"), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LockButton__WEBPACK_IMPORTED_MODULE_13__.LockButton, { checked: appState.elementLocked, onChange: onLockToggle, title: (0,_i18n__WEBPACK_IMPORTED_MODULE_2__.t)(\"toolBar.lock\") }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LibraryButton__WEBPACK_IMPORTED_MODULE_16__.LibraryButton, { appState: appState, setAppState: setAppState }, void 0)] }), void 0), libraryMenu] }), void 0)) }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ style: { display: \"flex\" } }, { children: renderTopRightUI === null || renderTopRightUI === void 0 ? void 0 : renderTopRightUI(true, appState, canvas) }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HintViewer__WEBPACK_IMPORTED_MODULE_7__.HintViewer, { appState: appState, elements: elements, isMobile: true }, void 0)] }), void 0));\r\n };\r\n const renderAppToolbar = () => {\r\n if (viewModeEnabled) {\r\n return UIOptions.canvasActions ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: \"App-toolbar-content\" }, { children: actionManager.renderAction(\"toggleCanvasMenu\") }), void 0)) : ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", { children: \"Excalidraw\" }, void 0));\r\n }\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", Object.assign({ className: \"App-toolbar-content\" }, { children: [UIOptions.canvasActions &&\r\n actionManager.renderAction(\"toggleCanvasMenu\"), actionManager.renderAction(\"toggleEditMenu\"), actionManager.renderAction(\"undo\"), actionManager.renderAction(\"redo\"), actionManager.renderAction(appState.multiElement ? \"finalize\" : \"duplicateSelection\"), actionManager.renderAction(\"deleteSelectedElements\")] }), void 0));\r\n };\r\n const renderCanvasActions = () => {\r\n if (viewModeEnabled) {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [renderJSONExportDialog(), renderImageExportDialog()] }, void 0));\r\n }\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [actionManager.renderAction(\"clearCanvas\"), actionManager.renderAction(\"loadScene\"), renderJSONExportDialog(), renderImageExportDialog(), onCollabButtonClick && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_CollabButton__WEBPACK_IMPORTED_MODULE_11__[\"default\"], { isCollaborating: isCollaborating, collaboratorCount: appState.collaborators.size, onClick: onCollabButtonClick }, void 0)), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_BackgroundPickerAndDarkModeToggle__WEBPACK_IMPORTED_MODULE_15__.BackgroundPickerAndDarkModeToggle, { actionManager: actionManager, appState: appState, setAppState: setAppState, showThemeBtn: showThemeBtn }, void 0)] }, void 0));\r\n };\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [!viewModeEnabled && renderToolbar(), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: \"App-bottom-bar\", style: {\r\n marginBottom: _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_WIDTH + _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_MARGIN * 2,\r\n marginLeft: _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_WIDTH + _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_MARGIN * 2,\r\n marginRight: _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_WIDTH + _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_MARGIN * 2,\r\n } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Island__WEBPACK_IMPORTED_MODULE_6__.Island, Object.assign({ padding: 0 }, { children: [UIOptions.canvasActions && appState.openMenu === \"canvas\" ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_10__.Section, Object.assign({ className: \"App-mobile-menu\", heading: \"canvasActions\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: \"panelColumn\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Col, Object.assign({ gap: 4 }, { children: [renderCanvasActions(), renderCustomFooter === null || renderCustomFooter === void 0 ? void 0 : renderCustomFooter(true, appState), appState.collaborators.size > 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"fieldset\", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"legend\", { children: (0,_i18n__WEBPACK_IMPORTED_MODULE_2__.t)(\"labels.collaborators\") }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UserList__WEBPACK_IMPORTED_MODULE_14__.UserList, { mobile: true, layout: \"horizontal\", collaborators: appState.collaborators, actionManager: actionManager }, void 0)] }, void 0))] }), void 0) }), void 0) }), void 0)) : appState.openMenu === \"shape\" &&\r\n !viewModeEnabled &&\r\n (0,_element__WEBPACK_IMPORTED_MODULE_4__.showSelectedShapeActions)(appState, elements) ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_10__.Section, Object.assign({ className: \"App-mobile-menu\", heading: \"selectedShapeActions\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Actions__WEBPACK_IMPORTED_MODULE_9__.SelectedShapeActions, { appState: appState, elements: elements, renderAction: actionManager.renderAction, elementType: appState.elementType }, void 0) }), void 0)) : null, (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"footer\", Object.assign({ className: \"App-toolbar\" }, { children: [renderAppToolbar(), appState.scrolledOutside && !appState.openMenu && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"button\", Object.assign({ className: \"scroll-back-to-content\", onClick: () => {\r\n setAppState(Object.assign({}, (0,_scene__WEBPACK_IMPORTED_MODULE_8__.calculateScrollCenter)(elements, appState, canvas)));\r\n } }, { children: (0,_i18n__WEBPACK_IMPORTED_MODULE_2__.t)(\"buttons.scrollBackToContent\") }), void 0))] }), void 0)] }), void 0) }), void 0)] }, void 0));\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vY29tcG9uZW50cy9Nb2JpbGVNZW51LnRzeC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQTBCO0FBR0U7QUFDQTtBQUMwQjtBQUVJO0FBQ3hCO0FBQ1E7QUFDTztBQUNnQjtBQUM3QjtBQUNNO0FBQzhCO0FBQzlCO0FBQ0o7QUFDa0Q7QUFDeEM7QUFDTjtBQUNYO0FBMkJ4QixNQUFNLFVBQVUsR0FBRyxDQUFDLEVBQ3pCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsUUFBUSxFQUNSLFdBQVcsRUFDWCxhQUFhLEVBQ2Isc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixNQUFNLEVBQ04sZUFBZSxFQUNmLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsWUFBWSxFQUNaLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsU0FBUyxHQUNPLEVBQUUsRUFBRTtJQUNwQixNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7UUFDekIsT0FBTyxDQUNMLHdEQUFDLG1FQUFrQixrQkFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLFNBQVMsRUFBQyxhQUFhLGlCQUVwRCx5RUFBVyxFQUNYLHVEQUFDLDhDQUFPLGtCQUFDLE9BQU8sRUFBQyxRQUFRLGdCQUN0QixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FDWix3REFBQyxrREFBUyxrQkFBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBQyxRQUFRLGlCQUMvQix3REFBQyxrREFBUyxrQkFBQyxHQUFHLEVBQUUsQ0FBQyxpQkFDZix3REFBQywyQ0FBTSxrQkFBQyxPQUFPLEVBQUUsQ0FBQyxpQkFDZixPQUFPLEVBQ1IsdURBQUMsa0RBQVMsa0JBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQ2YsdURBQUMsb0RBQWMsSUFDYixNQUFNLEVBQUUsTUFBTSxFQUNkLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVyxFQUNqQyxXQUFXLEVBQUUsV0FBVyxFQUN4QixhQUFhLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7d0RBQ2pDLGFBQWEsQ0FBQzs0REFDWixzQkFBc0IsRUFBRSxXQUFXLEtBQUssT0FBTzt5REFDaEQsQ0FBQyxDQUFDO29EQUNMLENBQUMsV0FDRCxZQUNRLGFBQ0wsRUFDVCx1REFBQyxvREFBVSxJQUVULElBQUksRUFBQyxRQUFRLEVBQ2IsU0FBUyxFQUFDLG1DQUFtQyxFQUM3QyxLQUFLLEVBQUUsTUFBTSxnQkFDRCxNQUFNLEVBQ2xCLElBQUksRUFBRSx5Q0FBSSxFQUNWLE9BQU8sRUFBRSxpQkFBaUIsSUFOdEIsTUFBTSxDQU9WLEVBQ0YsdURBQUMsb0RBQVUsSUFDVCxPQUFPLEVBQUUsUUFBUSxDQUFDLGFBQWEsRUFDL0IsUUFBUSxFQUFFLFlBQVksRUFDdEIsS0FBSyxFQUFFLHdDQUFDLENBQUMsY0FBYyxDQUFDLFdBQ3hCLEVBQ0YsdURBQUMsMERBQWEsSUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLFdBQUksYUFDckQsRUFDWCxXQUFXLGFBQ0YsQ0FDYixZQUNPLEVBQ1YsOEVBQUssS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxnQkFDNUIsZ0JBQWdCLGFBQWhCLGdCQUFnQix1QkFBaEIsZ0JBQWdCLENBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsWUFDdkMsRUFDTix1REFBQyxtREFBVSxJQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxXQUFJLGFBQ25ELENBQ3RCLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLEdBQUcsRUFBRTtRQUM1QixJQUFJLGVBQWUsRUFBRTtZQUNuQixPQUFPLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQy9CLDhFQUFLLFNBQVMsRUFBQyxxQkFBcUIsZ0JBQ2pDLGFBQWEsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsWUFDM0MsQ0FDUCxDQUFDLENBQUMsQ0FBQyxDQUNGLGlHQUFxQixDQUN0QixDQUFDO1NBQ0g7UUFDRCxPQUFPLENBQ0wsK0VBQUssU0FBUyxFQUFDLHFCQUFxQixpQkFDakMsU0FBUyxDQUFDLGFBQWE7b0JBQ3RCLGFBQWEsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsRUFDL0MsYUFBYSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUM1QyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUNsQyxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUNsQyxhQUFhLENBQUMsWUFBWSxDQUN6QixRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUMxRCxFQUNBLGFBQWEsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsYUFDakQsQ0FDUCxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7UUFDL0IsSUFBSSxlQUFlLEVBQUU7WUFDbkIsT0FBTyxDQUNMLDhIQUNHLHNCQUFzQixFQUFFLEVBQ3hCLHVCQUF1QixFQUFFLFlBQ3pCLENBQ0osQ0FBQztTQUNIO1FBQ0QsT0FBTyxDQUNMLDhIQUNHLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEVBQ3pDLGFBQWEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQ3ZDLHNCQUFzQixFQUFFLEVBQ3hCLHVCQUF1QixFQUFFLEVBQ3pCLG1CQUFtQixJQUFJLENBQ3RCLHVEQUFDLHNEQUFZLElBQ1gsZUFBZSxFQUFFLGVBQWUsRUFDaEMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQzlDLE9BQU8sRUFBRSxtQkFBbUIsV0FDNUIsQ0FDSCxFQUVDLHVEQUFDLGtHQUFpQyxJQUNoQyxhQUFhLEVBQUUsYUFBYSxFQUM1QixRQUFRLEVBQUUsUUFBUSxFQUNsQixXQUFXLEVBQUUsV0FBVyxFQUN4QixZQUFZLEVBQUUsWUFBWSxXQUMxQixZQUVILENBQ0osQ0FBQztJQUNKLENBQUMsQ0FBQztJQUNGLE9BQU8sQ0FDTCw4SEFDRyxDQUFDLGVBQWUsSUFBSSxhQUFhLEVBQUUsRUFDcEMsOEVBQ0UsU0FBUyxFQUFDLGdCQUFnQixFQUMxQixLQUFLLEVBQUU7b0JBQ0wsWUFBWSxFQUFFLCtEQUFlLEdBQUcsZ0VBQWdCLEdBQUcsQ0FBQztvQkFDcEQsVUFBVSxFQUFFLCtEQUFlLEdBQUcsZ0VBQWdCLEdBQUcsQ0FBQztvQkFDbEQsV0FBVyxFQUFFLCtEQUFlLEdBQUcsZ0VBQWdCLEdBQUcsQ0FBQztpQkFDcEQsZ0JBRUQsd0RBQUMsMkNBQU0sa0JBQUMsT0FBTyxFQUFFLENBQUMsaUJBQ2YsU0FBUyxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDM0QsdURBQUMsOENBQU8sa0JBQUMsU0FBUyxFQUFDLGlCQUFpQixFQUFDLE9BQU8sRUFBQyxlQUFlLGdCQUMxRCw4RUFBSyxTQUFTLEVBQUMsYUFBYSxnQkFDMUIsd0RBQUMsa0RBQVMsa0JBQUMsR0FBRyxFQUFFLENBQUMsaUJBQ2QsbUJBQW1CLEVBQUUsRUFDckIsa0JBQWtCLGFBQWxCLGtCQUFrQix1QkFBbEIsa0JBQWtCLENBQUcsSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUNwQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FDbEMsaUZBQ0UsNkVBQVMsd0NBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxXQUFVLEVBQzVDLHVEQUFDLGdEQUFRLElBQ1AsTUFBTSxRQUNOLE1BQU0sRUFBQyxZQUFZLEVBQ25CLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYSxFQUNyQyxhQUFhLEVBQUUsYUFBYSxXQUM1QixZQUNPLENBQ1osYUFDUyxZQUNSLFlBQ0UsQ0FDWCxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLE9BQU87NEJBQy9CLENBQUMsZUFBZTs0QkFDaEIsa0VBQXdCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMvQyx1REFBQyw4Q0FBTyxrQkFBQyxTQUFTLEVBQUMsaUJBQWlCLEVBQUMsT0FBTyxFQUFDLHNCQUFzQixnQkFDakUsdURBQUMsMERBQW9CLElBQ25CLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFlBQVksRUFBRSxhQUFhLENBQUMsWUFBWSxFQUN4QyxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVcsV0FDakMsWUFDTSxDQUNYLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDUixrRkFBUSxTQUFTLEVBQUMsYUFBYSxpQkFDNUIsZ0JBQWdCLEVBQUUsRUFDbEIsUUFBUSxDQUFDLGVBQWUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FDakQsaUZBQ0UsU0FBUyxFQUFDLHdCQUF3QixFQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFO3dDQUNaLFdBQVcsbUJBQ04sNkRBQXFCLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFDcEQsQ0FBQztvQ0FDTCxDQUFDLGdCQUVBLHdDQUFDLENBQUMsNkJBQTZCLENBQUMsWUFDMUIsQ0FDVixhQUNNLGFBQ0YsWUFDTCxZQUNMLENBQ0osQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uLi8uLi9jb21wb25lbnRzL01vYmlsZU1lbnUudHN4PzA4YzQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQXBwUHJvcHMsIEFwcFN0YXRlIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBBY3Rpb25NYW5hZ2VyIH0gZnJvbSBcIi4uL2FjdGlvbnMvbWFuYWdlclwiO1xuaW1wb3J0IHsgdCB9IGZyb20gXCIuLi9pMThuXCI7XG5pbXBvcnQgU3RhY2sgZnJvbSBcIi4vU3RhY2tcIjtcbmltcG9ydCB7IHNob3dTZWxlY3RlZFNoYXBlQWN0aW9ucyB9IGZyb20gXCIuLi9lbGVtZW50XCI7XG5pbXBvcnQgeyBOb25EZWxldGVkRXhjYWxpZHJhd0VsZW1lbnQgfSBmcm9tIFwiLi4vZWxlbWVudC90eXBlc1wiO1xuaW1wb3J0IHsgRml4ZWRTaWRlQ29udGFpbmVyIH0gZnJvbSBcIi4vRml4ZWRTaWRlQ29udGFpbmVyXCI7XG5pbXBvcnQgeyBJc2xhbmQgfSBmcm9tIFwiLi9Jc2xhbmRcIjtcbmltcG9ydCB7IEhpbnRWaWV3ZXIgfSBmcm9tIFwiLi9IaW50Vmlld2VyXCI7XG5pbXBvcnQgeyBjYWxjdWxhdGVTY3JvbGxDZW50ZXIgfSBmcm9tIFwiLi4vc2NlbmVcIjtcbmltcG9ydCB7IFNlbGVjdGVkU2hhcGVBY3Rpb25zLCBTaGFwZXNTd2l0Y2hlciB9IGZyb20gXCIuL0FjdGlvbnNcIjtcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tIFwiLi9TZWN0aW9uXCI7XG5pbXBvcnQgQ29sbGFiQnV0dG9uIGZyb20gXCIuL0NvbGxhYkJ1dHRvblwiO1xuaW1wb3J0IHsgU0NST0xMQkFSX1dJRFRILCBTQ1JPTExCQVJfTUFSR0lOIH0gZnJvbSBcIi4uL3NjZW5lL3Njcm9sbGJhcnNcIjtcbmltcG9ydCB7IExvY2tCdXR0b24gfSBmcm9tIFwiLi9Mb2NrQnV0dG9uXCI7XG5pbXBvcnQgeyBVc2VyTGlzdCB9IGZyb20gXCIuL1VzZXJMaXN0XCI7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kUGlja2VyQW5kRGFya01vZGVUb2dnbGUgfSBmcm9tIFwiLi9CYWNrZ3JvdW5kUGlja2VyQW5kRGFya01vZGVUb2dnbGVcIjtcbmltcG9ydCB7IExpYnJhcnlCdXR0b24gfSBmcm9tIFwiLi9MaWJyYXJ5QnV0dG9uXCI7XG5pbXBvcnQgeyBUb29sQnV0dG9uIH0gZnJvbSBcIi4vVG9vbEJ1dHRvblwiO1xuaW1wb3J0IHsgaG9tZSB9IGZyb20gXCIuL2ljb25zXCI7XG5cbnR5cGUgTW9iaWxlTWVudVByb3BzID0ge1xuICBvbkhvbWVCdXR0b25DbGljaz86ICgpID0+IHZvaWQ7XG4gIGFwcFN0YXRlOiBBcHBTdGF0ZTtcbiAgYWN0aW9uTWFuYWdlcjogQWN0aW9uTWFuYWdlcjtcbiAgcmVuZGVySlNPTkV4cG9ydERpYWxvZzogKCkgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICByZW5kZXJJbWFnZUV4cG9ydERpYWxvZzogKCkgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBzZXRBcHBTdGF0ZTogUmVhY3QuQ29tcG9uZW50PGFueSwgQXBwU3RhdGU+W1wic2V0U3RhdGVcIl07XG4gIGVsZW1lbnRzOiByZWFkb25seSBOb25EZWxldGVkRXhjYWxpZHJhd0VsZW1lbnRbXTtcbiAgbGlicmFyeU1lbnU6IEpTWC5FbGVtZW50IHwgbnVsbDtcbiAgb25Db2xsYWJCdXR0b25DbGljaz86ICgpID0+IHZvaWQ7XG4gIG9uTG9ja1RvZ2dsZTogKCkgPT4gdm9pZDtcbiAgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCB8IG51bGw7XG4gIGlzQ29sbGFib3JhdGluZzogYm9vbGVhbjtcbiAgcmVuZGVyQ3VzdG9tRm9vdGVyPzogKGlzTW9iaWxlOiBib29sZWFuLCBhcHBTdGF0ZTogQXBwU3RhdGUpID0+IEpTWC5FbGVtZW50O1xuICB2aWV3TW9kZUVuYWJsZWQ6IGJvb2xlYW47XG4gIHNob3dUaGVtZUJ0bjogYm9vbGVhbjtcbiAgb25JbWFnZUFjdGlvbjogKGRhdGE6IHsgaW5zZXJ0T25DYW52YXNEaXJlY3RseTogYm9vbGVhbiB9KSA9PiB2b2lkO1xuICByZW5kZXJUb3BSaWdodFVJPzogKFxuICAgIGlzTW9iaWxlOiBib29sZWFuLFxuICAgIGFwcFN0YXRlOiBBcHBTdGF0ZSxcbiAgICBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50IHwgbnVsbCxcbiAgKSA9PiBKU1guRWxlbWVudCB8IG51bGw7XG4gIFVJT3B0aW9uczogQXBwUHJvcHNbXCJVSU9wdGlvbnNcIl07XG59O1xuXG5leHBvcnQgY29uc3QgTW9iaWxlTWVudSA9ICh7XG4gIG9uSG9tZUJ1dHRvbkNsaWNrLFxuICBhcHBTdGF0ZSxcbiAgZWxlbWVudHMsXG4gIGxpYnJhcnlNZW51LFxuICBhY3Rpb25NYW5hZ2VyLFxuICByZW5kZXJKU09ORXhwb3J0RGlhbG9nLFxuICByZW5kZXJJbWFnZUV4cG9ydERpYWxvZyxcbiAgc2V0QXBwU3RhdGUsXG4gIG9uQ29sbGFiQnV0dG9uQ2xpY2ssXG4gIG9uTG9ja1RvZ2dsZSxcbiAgY2FudmFzLFxuICBpc0NvbGxhYm9yYXRpbmcsXG4gIHJlbmRlckN1c3RvbUZvb3RlcixcbiAgdmlld01vZGVFbmFibGVkLFxuICBzaG93VGhlbWVCdG4sXG4gIG9uSW1hZ2VBY3Rpb24sXG4gIHJlbmRlclRvcFJpZ2h0VUksXG4gIFVJT3B0aW9ucyxcbn06IE1vYmlsZU1lbnVQcm9wcykgPT4ge1xuICBjb25zdCByZW5kZXJUb29sYmFyID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8Rml4ZWRTaWRlQ29udGFpbmVyIHNpZGU9XCJ0b3BcIiBjbGFzc05hbWU9XCJBcHAtdG9wLWJhclwiPlxuICAgICAgICB7LyogcGxhY2Vob2xkZXIgZm9yIGdyaWQgMy1jb2x1bW4gdGVtcGxhdGUgKi99XG4gICAgICAgIDxkaXY+PC9kaXY+XG4gICAgICAgIDxTZWN0aW9uIGhlYWRpbmc9XCJzaGFwZXNcIj5cbiAgICAgICAgICB7KGhlYWRpbmcpID0+IChcbiAgICAgICAgICAgIDxTdGFjay5Db2wgZ2FwPXs0fSBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgICAgICAgICA8U3RhY2suUm93IGdhcD17MX0+XG4gICAgICAgICAgICAgICAgPElzbGFuZCBwYWRkaW5nPXsxfT5cbiAgICAgICAgICAgICAgICAgIHtoZWFkaW5nfVxuICAgICAgICAgICAgICAgICAgPFN0YWNrLlJvdyBnYXA9ezF9PlxuICAgICAgICAgICAgICAgICAgICA8U2hhcGVzU3dpdGNoZXJcbiAgICAgICAgICAgICAgICAgICAgICBjYW52YXM9e2NhbnZhc31cbiAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50VHlwZT17YXBwU3RhdGUuZWxlbWVudFR5cGV9XG4gICAgICAgICAgICAgICAgICAgICAgc2V0QXBwU3RhdGU9e3NldEFwcFN0YXRlfVxuICAgICAgICAgICAgICAgICAgICAgIG9uSW1hZ2VBY3Rpb249eyh7IHBvaW50ZXJUeXBlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uSW1hZ2VBY3Rpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRPbkNhbnZhc0RpcmVjdGx5OiBwb2ludGVyVHlwZSAhPT0gXCJtb3VzZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3RhY2suUm93PlxuICAgICAgICAgICAgICAgIDwvSXNsYW5kPlxuICAgICAgICAgICAgICAgIDxUb29sQnV0dG9uXG4gICAgICAgICAgICAgICAgICBrZXk9XCJob21lXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiSG9tZUJ1dHRvbiBUb29sSWNvbl90eXBlX2Zsb2F0aW5nXCJcbiAgICAgICAgICAgICAgICAgIHRpdGxlPXtcIkhvbWVcIn1cbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e1wiSG9tZVwifVxuICAgICAgICAgICAgICAgICAgaWNvbj17aG9tZX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uSG9tZUJ1dHRvbkNsaWNrfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPExvY2tCdXR0b25cbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2FwcFN0YXRlLmVsZW1lbnRMb2NrZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25Mb2NrVG9nZ2xlfVxuICAgICAgICAgICAgICAgICAgdGl0bGU9e3QoXCJ0b29sQmFyLmxvY2tcIil9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8TGlicmFyeUJ1dHRvbiBhcHBTdGF0ZT17YXBwU3RhdGV9IHNldEFwcFN0YXRlPXtzZXRBcHBTdGF0ZX0gLz5cbiAgICAgICAgICAgICAgPC9TdGFjay5Sb3c+XG4gICAgICAgICAgICAgIHtsaWJyYXJ5TWVudX1cbiAgICAgICAgICAgIDwvU3RhY2suQ29sPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fT5cbiAgICAgICAgICB7cmVuZGVyVG9wUmlnaHRVST8uKHRydWUsIGFwcFN0YXRlLCBjYW52YXMpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPEhpbnRWaWV3ZXIgYXBwU3RhdGU9e2FwcFN0YXRlfSBlbGVtZW50cz17ZWxlbWVudHN9IGlzTW9iaWxlPXt0cnVlfSAvPlxuICAgICAgPC9GaXhlZFNpZGVDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJBcHBUb29sYmFyID0gKCkgPT4ge1xuICAgIGlmICh2aWV3TW9kZUVuYWJsZWQpIHtcbiAgICAgIHJldHVybiBVSU9wdGlvbnMuY2FudmFzQWN0aW9ucyA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJBcHAtdG9vbGJhci1jb250ZW50XCI+XG4gICAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwidG9nZ2xlQ2FudmFzTWVudVwiKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogKFxuICAgICAgICA8ZGl2PkV4Y2FsaWRyYXc8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIkFwcC10b29sYmFyLWNvbnRlbnRcIj5cbiAgICAgICAge1VJT3B0aW9ucy5jYW52YXNBY3Rpb25zICYmXG4gICAgICAgICAgYWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb24oXCJ0b2dnbGVDYW52YXNNZW51XCIpfVxuICAgICAgICB7YWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb24oXCJ0b2dnbGVFZGl0TWVudVwiKX1cbiAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwidW5kb1wiKX1cbiAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwicmVkb1wiKX1cbiAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFxuICAgICAgICAgIGFwcFN0YXRlLm11bHRpRWxlbWVudCA/IFwiZmluYWxpemVcIiA6IFwiZHVwbGljYXRlU2VsZWN0aW9uXCIsXG4gICAgICAgICl9XG4gICAgICAgIHthY3Rpb25NYW5hZ2VyLnJlbmRlckFjdGlvbihcImRlbGV0ZVNlbGVjdGVkRWxlbWVudHNcIil9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckNhbnZhc0FjdGlvbnMgPSAoKSA9PiB7XG4gICAgaWYgKHZpZXdNb2RlRW5hYmxlZCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7cmVuZGVySlNPTkV4cG9ydERpYWxvZygpfVxuICAgICAgICAgIHtyZW5kZXJJbWFnZUV4cG9ydERpYWxvZygpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7YWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb24oXCJjbGVhckNhbnZhc1wiKX1cbiAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwibG9hZFNjZW5lXCIpfVxuICAgICAgICB7cmVuZGVySlNPTkV4cG9ydERpYWxvZygpfVxuICAgICAgICB7cmVuZGVySW1hZ2VFeHBvcnREaWFsb2coKX1cbiAgICAgICAge29uQ29sbGFiQnV0dG9uQ2xpY2sgJiYgKFxuICAgICAgICAgIDxDb2xsYWJCdXR0b25cbiAgICAgICAgICAgIGlzQ29sbGFib3JhdGluZz17aXNDb2xsYWJvcmF0aW5nfVxuICAgICAgICAgICAgY29sbGFib3JhdG9yQ291bnQ9e2FwcFN0YXRlLmNvbGxhYm9yYXRvcnMuc2l6ZX1cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uQ29sbGFiQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAge1xuICAgICAgICAgIDxCYWNrZ3JvdW5kUGlja2VyQW5kRGFya01vZGVUb2dnbGVcbiAgICAgICAgICAgIGFjdGlvbk1hbmFnZXI9e2FjdGlvbk1hbmFnZXJ9XG4gICAgICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgICAgICBzZXRBcHBTdGF0ZT17c2V0QXBwU3RhdGV9XG4gICAgICAgICAgICBzaG93VGhlbWVCdG49e3Nob3dUaGVtZUJ0bn1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7IXZpZXdNb2RlRW5hYmxlZCAmJiByZW5kZXJUb29sYmFyKCl9XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cIkFwcC1ib3R0b20tYmFyXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Cb3R0b206IFNDUk9MTEJBUl9XSURUSCArIFNDUk9MTEJBUl9NQVJHSU4gKiAyLFxuICAgICAgICAgIG1hcmdpbkxlZnQ6IFNDUk9MTEJBUl9XSURUSCArIFNDUk9MTEJBUl9NQVJHSU4gKiAyLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiBTQ1JPTExCQVJfV0lEVEggKyBTQ1JPTExCQVJfTUFSR0lOICogMixcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPElzbGFuZCBwYWRkaW5nPXswfT5cbiAgICAgICAgICB7VUlPcHRpb25zLmNhbnZhc0FjdGlvbnMgJiYgYXBwU3RhdGUub3Blbk1lbnUgPT09IFwiY2FudmFzXCIgPyAoXG4gICAgICAgICAgICA8U2VjdGlvbiBjbGFzc05hbWU9XCJBcHAtbW9iaWxlLW1lbnVcIiBoZWFkaW5nPVwiY2FudmFzQWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBhbmVsQ29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPFN0YWNrLkNvbCBnYXA9ezR9PlxuICAgICAgICAgICAgICAgICAge3JlbmRlckNhbnZhc0FjdGlvbnMoKX1cbiAgICAgICAgICAgICAgICAgIHtyZW5kZXJDdXN0b21Gb290ZXI/Lih0cnVlLCBhcHBTdGF0ZSl9XG4gICAgICAgICAgICAgICAgICB7YXBwU3RhdGUuY29sbGFib3JhdG9ycy5zaXplID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgICAgICAgICAgICAgICA8bGVnZW5kPnt0KFwibGFiZWxzLmNvbGxhYm9yYXRvcnNcIil9PC9sZWdlbmQ+XG4gICAgICAgICAgICAgICAgICAgICAgPFVzZXJMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dD1cImhvcml6b250YWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGFib3JhdG9ycz17YXBwU3RhdGUuY29sbGFib3JhdG9yc31cbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbk1hbmFnZXI9e2FjdGlvbk1hbmFnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9maWVsZHNldD5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdGFjay5Db2w+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICkgOiBhcHBTdGF0ZS5vcGVuTWVudSA9PT0gXCJzaGFwZVwiICYmXG4gICAgICAgICAgICAhdmlld01vZGVFbmFibGVkICYmXG4gICAgICAgICAgICBzaG93U2VsZWN0ZWRTaGFwZUFjdGlvbnMoYXBwU3RhdGUsIGVsZW1lbnRzKSA/IChcbiAgICAgICAgICAgIDxTZWN0aW9uIGNsYXNzTmFtZT1cIkFwcC1tb2JpbGUtbWVudVwiIGhlYWRpbmc9XCJzZWxlY3RlZFNoYXBlQWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8U2VsZWN0ZWRTaGFwZUFjdGlvbnNcbiAgICAgICAgICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgICAgICAgICAgZWxlbWVudHM9e2VsZW1lbnRzfVxuICAgICAgICAgICAgICAgIHJlbmRlckFjdGlvbj17YWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb259XG4gICAgICAgICAgICAgICAgZWxlbWVudFR5cGU9e2FwcFN0YXRlLmVsZW1lbnRUeXBlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDxmb290ZXIgY2xhc3NOYW1lPVwiQXBwLXRvb2xiYXJcIj5cbiAgICAgICAgICAgIHtyZW5kZXJBcHBUb29sYmFyKCl9XG4gICAgICAgICAgICB7YXBwU3RhdGUuc2Nyb2xsZWRPdXRzaWRlICYmICFhcHBTdGF0ZS5vcGVuTWVudSAmJiAoXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzY3JvbGwtYmFjay10by1jb250ZW50XCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzZXRBcHBTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmNhbGN1bGF0ZVNjcm9sbENlbnRlcihlbGVtZW50cywgYXBwU3RhdGUsIGNhbnZhcyksXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoXCJidXR0b25zLnNjcm9sbEJhY2tUb0NvbnRlbnRcIil9XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Zvb3Rlcj5cbiAgICAgICAgPC9Jc2xhbmQ+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../components/MobileMenu.tsx\n");
|
|
1914
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MobileMenu\": () => (/* binding */ MobileMenu)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../i18n */ \"../../i18n.ts\");\n/* harmony import */ var _Stack__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Stack */ \"../../components/Stack.tsx\");\n/* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../element */ \"../../element/index.ts\");\n/* harmony import */ var _FixedSideContainer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./FixedSideContainer */ \"../../components/FixedSideContainer.tsx\");\n/* harmony import */ var _Island__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Island */ \"../../components/Island.tsx\");\n/* harmony import */ var _HintViewer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./HintViewer */ \"../../components/HintViewer.tsx\");\n/* harmony import */ var _scene__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../scene */ \"../../scene/index.ts\");\n/* harmony import */ var _Actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Actions */ \"../../components/Actions.tsx\");\n/* harmony import */ var _Section__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Section */ \"../../components/Section.tsx\");\n/* harmony import */ var _CollabButton__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./CollabButton */ \"../../components/CollabButton.tsx\");\n/* harmony import */ var _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../scene/scrollbars */ \"../../scene/scrollbars.ts\");\n/* harmony import */ var _LockButton__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./LockButton */ \"../../components/LockButton.tsx\");\n/* harmony import */ var _UserList__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./UserList */ \"../../components/UserList.tsx\");\n/* harmony import */ var _BackgroundPickerAndDarkModeToggle__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./BackgroundPickerAndDarkModeToggle */ \"../../components/BackgroundPickerAndDarkModeToggle.tsx\");\n/* harmony import */ var _LibraryButton__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./LibraryButton */ \"../../components/LibraryButton.tsx\");\n/* harmony import */ var _ToolButton__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./ToolButton */ \"../../components/ToolButton.tsx\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./icons */ \"../../components/icons.tsx\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst MobileMenu = ({ onHomeButtonClick, appState, elements, libraryMenu, actionManager, renderJSONExportDialog, renderImageExportDialog, setAppState, onCollabButtonClick, onLockToggle, canvas, isCollaborating, renderCustomFooter, viewModeEnabled, showThemeBtn, onImageAction, renderTopRightUI, UIOptions, }) => {\r\n const renderToolbar = () => {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_FixedSideContainer__WEBPACK_IMPORTED_MODULE_5__.FixedSideContainer, Object.assign({ side: \"top\", className: \"App-top-bar\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {}, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_10__.Section, Object.assign({ heading: \"shapes\" }, { children: (heading) => ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Col, Object.assign({ gap: 4, align: \"center\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Row, Object.assign({ gap: 1, className: \"App-toolbar-container\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Island__WEBPACK_IMPORTED_MODULE_6__.Island, Object.assign({ padding: 1, className: \"App-toolbar\" }, { children: [heading, (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Stack__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Row, Object.assign({ gap: 1 }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Actions__WEBPACK_IMPORTED_MODULE_9__.ShapesSwitcher, { canvas: canvas, elementType: appState.elementType, setAppState: setAppState, onImageAction: ({ pointerType }) => {\r\n onImageAction({\r\n insertOnCanvasDirectly: pointerType !== \"mouse\",\r\n });\r\n } }, void 0) }), void 0)] }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ToolButton__WEBPACK_IMPORTED_MODULE_17__.ToolButton, { type: \"button\", className: \"HomeButton ToolIcon_type_floating\", title: \"Home\", \"aria-label\": \"Home\", icon: _icons__WEBPACK_IMPORTED_MODULE_18__.home, onClick: onHomeButtonClick }, \"home\"), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LockButton__WEBPACK_IMPORTED_MODULE_13__.LockButton, { checked: appState.elementLocked, onChange: onLockToggle, title: (0,_i18n__WEBPACK_IMPORTED_MODULE_2__.t)(\"toolBar.lock\"), isMobile: true }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LibraryButton__WEBPACK_IMPORTED_MODULE_16__.LibraryButton, { appState: appState, setAppState: setAppState, isMobile: true }, void 0)] }), void 0), libraryMenu] }), void 0)) }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ style: { display: \"flex\" } }, { children: renderTopRightUI === null || renderTopRightUI === void 0 ? void 0 : renderTopRightUI(true, appState, canvas) }), void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HintViewer__WEBPACK_IMPORTED_MODULE_7__.HintViewer, { appState: appState, elements: elements, isMobile: true }, void 0)] }), void 0));\r\n };\r\n const renderAppToolbar = () => {\r\n if (viewModeEnabled) {\r\n return UIOptions.canvasActions ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: \"App-toolbar-content\" }, { children: actionManager.renderAction(\"toggleCanvasMenu\") }), void 0)) : ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", { children: \"Excalidraw\" }, void 0));\r\n }\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", Object.assign({ className: \"App-toolbar-content\" }, { children: [UIOptions.canvasActions &&\r\n actionManager.renderAction(\"toggleCanvasMenu\"), actionManager.renderAction(\"toggleEditMenu\"), actionManager.renderAction(\"undo\"), actionManager.renderAction(\"redo\"), actionManager.renderAction(appState.multiElement ? \"finalize\" : \"duplicateSelection\"), actionManager.renderAction(\"deleteSelectedElements\")] }), void 0));\r\n };\r\n const renderCanvasActions = () => {\r\n if (viewModeEnabled) {\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [renderJSONExportDialog(), renderImageExportDialog()] }, void 0));\r\n }\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [actionManager.renderAction(\"clearCanvas\"), actionManager.renderAction(\"loadScene\"), renderJSONExportDialog(), renderImageExportDialog(), onCollabButtonClick && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_CollabButton__WEBPACK_IMPORTED_MODULE_11__[\"default\"], { isCollaborating: isCollaborating, collaboratorCount: appState.collaborators.size, onClick: onCollabButtonClick }, void 0)), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_BackgroundPickerAndDarkModeToggle__WEBPACK_IMPORTED_MODULE_15__.BackgroundPickerAndDarkModeToggle, { actionManager: actionManager, appState: appState, setAppState: setAppState, showThemeBtn: showThemeBtn }, void 0)] }, void 0));\r\n };\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [!viewModeEnabled && renderToolbar(), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: \"App-bottom-bar\", style: {\r\n marginBottom: _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_WIDTH + _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_MARGIN * 2,\r\n marginLeft: _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_WIDTH + _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_MARGIN * 2,\r\n marginRight: _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_WIDTH + _scene_scrollbars__WEBPACK_IMPORTED_MODULE_12__.SCROLLBAR_MARGIN * 2,\r\n } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Island__WEBPACK_IMPORTED_MODULE_6__.Island, Object.assign({ padding: 0 }, { children: [UIOptions.canvasActions && appState.openMenu === \"canvas\" ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_10__.Section, Object.assign({ className: \"App-mobile-menu\", heading: \"canvasActions\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", Object.assign({ className: \"panelColumn\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Stack__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Col, Object.assign({ gap: 4 }, { children: [renderCanvasActions(), renderCustomFooter === null || renderCustomFooter === void 0 ? void 0 : renderCustomFooter(true, appState), appState.collaborators.size > 0 && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"fieldset\", { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"legend\", { children: (0,_i18n__WEBPACK_IMPORTED_MODULE_2__.t)(\"labels.collaborators\") }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UserList__WEBPACK_IMPORTED_MODULE_14__.UserList, { mobile: true, layout: \"horizontal\", collaborators: appState.collaborators, actionManager: actionManager }, void 0)] }, void 0))] }), void 0) }), void 0) }), void 0)) : appState.openMenu === \"shape\" &&\r\n !viewModeEnabled &&\r\n (0,_element__WEBPACK_IMPORTED_MODULE_4__.showSelectedShapeActions)(appState, elements) ? ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Section__WEBPACK_IMPORTED_MODULE_10__.Section, Object.assign({ className: \"App-mobile-menu\", heading: \"selectedShapeActions\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Actions__WEBPACK_IMPORTED_MODULE_9__.SelectedShapeActions, { appState: appState, elements: elements, renderAction: actionManager.renderAction, elementType: appState.elementType }, void 0) }), void 0)) : null, (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"footer\", Object.assign({ className: \"App-toolbar\" }, { children: [renderAppToolbar(), appState.scrolledOutside && !appState.openMenu && ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"button\", Object.assign({ className: \"scroll-back-to-content\", onClick: () => {\r\n setAppState(Object.assign({}, (0,_scene__WEBPACK_IMPORTED_MODULE_8__.calculateScrollCenter)(elements, appState, canvas)));\r\n } }, { children: (0,_i18n__WEBPACK_IMPORTED_MODULE_2__.t)(\"buttons.scrollBackToContent\") }), void 0))] }), void 0)] }), void 0) }), void 0)] }, void 0));\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LFFBQVEsS0FBSyxPQUFPOzRCQUMvQixDQUFDLGVBQWU7NEJBQ2hCLGtFQUF3QixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDL0MsdURBQUMsOENBQU8sa0JBQUMsU0FBUyxFQUFDLGlCQUFpQixFQUFDLE9BQU8sRUFBQyxzQkFBc0IsZ0JBQ2pFLHVEQUFDLDBEQUFvQixJQUNuQixRQUFRLEVBQUUsUUFBUSxFQUNsQixRQUFRLEVBQUUsUUFBUSxFQUNsQixZQUFZLEVBQUUsYUFBYSxDQUFDLFlBQVksRUFDeEMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXLFdBQ2pDLFlBQ00sQ0FDWCxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQ1Isa0ZBQVEsU0FBUyxFQUFDLGFBQWEsaUJBQzVCLGdCQUFnQixFQUFFLEVBQ2xCLFFBQVEsQ0FBQyxlQUFlLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLENBQ2pELGlGQUNFLFNBQVMsRUFBQyx3QkFBd0IsRUFDbEMsT0FBTyxFQUFFLEdBQUcsRUFBRTt3Q0FDWixXQUFXLG1CQUNOLDZEQUFxQixDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQ3BELENBQUM7b0NBQ0wsQ0FBQyxnQkFFQSx3Q0FBQyxDQUFDLDZCQUE2QixDQUFDLFlBQzFCLENBQ1YsYUFDTSxhQUNGLFlBQ0wsWUFDTCxDQUNKLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vY29tcG9uZW50cy9Nb2JpbGVNZW51LnRzeD8wOGM0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEFwcFByb3BzLCBBcHBTdGF0ZSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgQWN0aW9uTWFuYWdlciB9IGZyb20gXCIuLi9hY3Rpb25zL21hbmFnZXJcIjtcbmltcG9ydCB7IHQgfSBmcm9tIFwiLi4vaTE4blwiO1xuaW1wb3J0IFN0YWNrIGZyb20gXCIuL1N0YWNrXCI7XG5pbXBvcnQgeyBzaG93U2VsZWN0ZWRTaGFwZUFjdGlvbnMgfSBmcm9tIFwiLi4vZWxlbWVudFwiO1xuaW1wb3J0IHsgTm9uRGVsZXRlZEV4Y2FsaWRyYXdFbGVtZW50IH0gZnJvbSBcIi4uL2VsZW1lbnQvdHlwZXNcIjtcbmltcG9ydCB7IEZpeGVkU2lkZUNvbnRhaW5lciB9IGZyb20gXCIuL0ZpeGVkU2lkZUNvbnRhaW5lclwiO1xuaW1wb3J0IHsgSXNsYW5kIH0gZnJvbSBcIi4vSXNsYW5kXCI7XG5pbXBvcnQgeyBIaW50Vmlld2VyIH0gZnJvbSBcIi4vSGludFZpZXdlclwiO1xuaW1wb3J0IHsgY2FsY3VsYXRlU2Nyb2xsQ2VudGVyIH0gZnJvbSBcIi4uL3NjZW5lXCI7XG5pbXBvcnQgeyBTZWxlY3RlZFNoYXBlQWN0aW9ucywgU2hhcGVzU3dpdGNoZXIgfSBmcm9tIFwiLi9BY3Rpb25zXCI7XG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSBcIi4vU2VjdGlvblwiO1xuaW1wb3J0IENvbGxhYkJ1dHRvbiBmcm9tIFwiLi9Db2xsYWJCdXR0b25cIjtcbmltcG9ydCB7IFNDUk9MTEJBUl9XSURUSCwgU0NST0xMQkFSX01BUkdJTiB9IGZyb20gXCIuLi9zY2VuZS9zY3JvbGxiYXJzXCI7XG5pbXBvcnQgeyBMb2NrQnV0dG9uIH0gZnJvbSBcIi4vTG9ja0J1dHRvblwiO1xuaW1wb3J0IHsgVXNlckxpc3QgfSBmcm9tIFwiLi9Vc2VyTGlzdFwiO1xuaW1wb3J0IHsgQmFja2dyb3VuZFBpY2tlckFuZERhcmtNb2RlVG9nZ2xlIH0gZnJvbSBcIi4vQmFja2dyb3VuZFBpY2tlckFuZERhcmtNb2RlVG9nZ2xlXCI7XG5pbXBvcnQgeyBMaWJyYXJ5QnV0dG9uIH0gZnJvbSBcIi4vTGlicmFyeUJ1dHRvblwiO1xuaW1wb3J0IHsgVG9vbEJ1dHRvbiB9IGZyb20gXCIuL1Rvb2xCdXR0b25cIjtcbmltcG9ydCB7IGhvbWUgfSBmcm9tIFwiLi9pY29uc1wiO1xuXG50eXBlIE1vYmlsZU1lbnVQcm9wcyA9IHtcbiAgb25Ib21lQnV0dG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xuICBhcHBTdGF0ZTogQXBwU3RhdGU7XG4gIGFjdGlvbk1hbmFnZXI6IEFjdGlvbk1hbmFnZXI7XG4gIHJlbmRlckpTT05FeHBvcnREaWFsb2c6ICgpID0+IFJlYWN0LlJlYWN0Tm9kZTtcbiAgcmVuZGVySW1hZ2VFeHBvcnREaWFsb2c6ICgpID0+IFJlYWN0LlJlYWN0Tm9kZTtcbiAgc2V0QXBwU3RhdGU6IFJlYWN0LkNvbXBvbmVudDxhbnksIEFwcFN0YXRlPltcInNldFN0YXRlXCJdO1xuICBlbGVtZW50czogcmVhZG9ubHkgTm9uRGVsZXRlZEV4Y2FsaWRyYXdFbGVtZW50W107XG4gIGxpYnJhcnlNZW51OiBKU1guRWxlbWVudCB8IG51bGw7XG4gIG9uQ29sbGFiQnV0dG9uQ2xpY2s/OiAoKSA9PiB2b2lkO1xuICBvbkxvY2tUb2dnbGU6ICgpID0+IHZvaWQ7XG4gIGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQgfCBudWxsO1xuICBpc0NvbGxhYm9yYXRpbmc6IGJvb2xlYW47XG4gIHJlbmRlckN1c3RvbUZvb3Rlcj86IChpc01vYmlsZTogYm9vbGVhbiwgYXBwU3RhdGU6IEFwcFN0YXRlKSA9PiBKU1guRWxlbWVudDtcbiAgdmlld01vZGVFbmFibGVkOiBib29sZWFuO1xuICBzaG93VGhlbWVCdG46IGJvb2xlYW47XG4gIG9uSW1hZ2VBY3Rpb246IChkYXRhOiB7IGluc2VydE9uQ2FudmFzRGlyZWN0bHk6IGJvb2xlYW4gfSkgPT4gdm9pZDtcbiAgcmVuZGVyVG9wUmlnaHRVST86IChcbiAgICBpc01vYmlsZTogYm9vbGVhbixcbiAgICBhcHBTdGF0ZTogQXBwU3RhdGUsXG4gICAgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCB8IG51bGwsXG4gICkgPT4gSlNYLkVsZW1lbnQgfCBudWxsO1xuICBVSU9wdGlvbnM6IEFwcFByb3BzW1wiVUlPcHRpb25zXCJdO1xufTtcblxuZXhwb3J0IGNvbnN0IE1vYmlsZU1lbnUgPSAoe1xuICBvbkhvbWVCdXR0b25DbGljayxcbiAgYXBwU3RhdGUsXG4gIGVsZW1lbnRzLFxuICBsaWJyYXJ5TWVudSxcbiAgYWN0aW9uTWFuYWdlcixcbiAgcmVuZGVySlNPTkV4cG9ydERpYWxvZyxcbiAgcmVuZGVySW1hZ2VFeHBvcnREaWFsb2csXG4gIHNldEFwcFN0YXRlLFxuICBvbkNvbGxhYkJ1dHRvbkNsaWNrLFxuICBvbkxvY2tUb2dnbGUsXG4gIGNhbnZhcyxcbiAgaXNDb2xsYWJvcmF0aW5nLFxuICByZW5kZXJDdXN0b21Gb290ZXIsXG4gIHZpZXdNb2RlRW5hYmxlZCxcbiAgc2hvd1RoZW1lQnRuLFxuICBvbkltYWdlQWN0aW9uLFxuICByZW5kZXJUb3BSaWdodFVJLFxuICBVSU9wdGlvbnMsXG59OiBNb2JpbGVNZW51UHJvcHMpID0+IHtcbiAgY29uc3QgcmVuZGVyVG9vbGJhciA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPEZpeGVkU2lkZUNvbnRhaW5lciBzaWRlPVwidG9wXCIgY2xhc3NOYW1lPVwiQXBwLXRvcC1iYXJcIj5cbiAgICAgICAgey8qIHBsYWNlaG9sZGVyIGZvciBncmlkIDMtY29sdW1uIHRlbXBsYXRlICovfVxuICAgICAgICA8ZGl2PjwvZGl2PlxuICAgICAgICA8U2VjdGlvbiBoZWFkaW5nPVwic2hhcGVzXCI+XG4gICAgICAgICAgeyhoZWFkaW5nKSA9PiAoXG4gICAgICAgICAgICA8U3RhY2suQ29sIGdhcD17NH0gYWxpZ249XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgPFN0YWNrLlJvdyBnYXA9ezF9IGNsYXNzTmFtZT1cIkFwcC10b29sYmFyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxJc2xhbmQgcGFkZGluZz17MX0gY2xhc3NOYW1lPVwiQXBwLXRvb2xiYXJcIj5cbiAgICAgICAgICAgICAgICAgIHtoZWFkaW5nfVxuICAgICAgICAgICAgICAgICAgPFN0YWNrLlJvdyBnYXA9ezF9PlxuICAgICAgICAgICAgICAgICAgICA8U2hhcGVzU3dpdGNoZXJcbiAgICAgICAgICAgICAgICAgICAgICBjYW52YXM9e2NhbnZhc31cbiAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50VHlwZT17YXBwU3RhdGUuZWxlbWVudFR5cGV9XG4gICAgICAgICAgICAgICAgICAgICAgc2V0QXBwU3RhdGU9e3NldEFwcFN0YXRlfVxuICAgICAgICAgICAgICAgICAgICAgIG9uSW1hZ2VBY3Rpb249eyh7IHBvaW50ZXJUeXBlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uSW1hZ2VBY3Rpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRPbkNhbnZhc0RpcmVjdGx5OiBwb2ludGVyVHlwZSAhPT0gXCJtb3VzZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3RhY2suUm93PlxuICAgICAgICAgICAgICAgIDwvSXNsYW5kPlxuICAgICAgICAgICAgICAgIDxUb29sQnV0dG9uXG4gICAgICAgICAgICAgICAgICBrZXk9XCJob21lXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiSG9tZUJ1dHRvbiBUb29sSWNvbl90eXBlX2Zsb2F0aW5nXCJcbiAgICAgICAgICAgICAgICAgIHRpdGxlPXtcIkhvbWVcIn1cbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e1wiSG9tZVwifVxuICAgICAgICAgICAgICAgICAgaWNvbj17aG9tZX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uSG9tZUJ1dHRvbkNsaWNrfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPExvY2tCdXR0b25cbiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2FwcFN0YXRlLmVsZW1lbnRMb2NrZWR9XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25Mb2NrVG9nZ2xlfVxuICAgICAgICAgICAgICAgICAgdGl0bGU9e3QoXCJ0b29sQmFyLmxvY2tcIil9XG4gICAgICAgICAgICAgICAgICBpc01vYmlsZVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPExpYnJhcnlCdXR0b25cbiAgICAgICAgICAgICAgICAgIGFwcFN0YXRlPXthcHBTdGF0ZX1cbiAgICAgICAgICAgICAgICAgIHNldEFwcFN0YXRlPXtzZXRBcHBTdGF0ZX1cbiAgICAgICAgICAgICAgICAgIGlzTW9iaWxlXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TdGFjay5Sb3c+XG4gICAgICAgICAgICAgIHtsaWJyYXJ5TWVudX1cbiAgICAgICAgICAgIDwvU3RhY2suQ29sPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fT5cbiAgICAgICAgICB7cmVuZGVyVG9wUmlnaHRVST8uKHRydWUsIGFwcFN0YXRlLCBjYW52YXMpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPEhpbnRWaWV3ZXIgYXBwU3RhdGU9e2FwcFN0YXRlfSBlbGVtZW50cz17ZWxlbWVudHN9IGlzTW9iaWxlPXt0cnVlfSAvPlxuICAgICAgPC9GaXhlZFNpZGVDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJBcHBUb29sYmFyID0gKCkgPT4ge1xuICAgIGlmICh2aWV3TW9kZUVuYWJsZWQpIHtcbiAgICAgIHJldHVybiBVSU9wdGlvbnMuY2FudmFzQWN0aW9ucyA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJBcHAtdG9vbGJhci1jb250ZW50XCI+XG4gICAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwidG9nZ2xlQ2FudmFzTWVudVwiKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogKFxuICAgICAgICA8ZGl2PkV4Y2FsaWRyYXc8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIkFwcC10b29sYmFyLWNvbnRlbnRcIj5cbiAgICAgICAge1VJT3B0aW9ucy5jYW52YXNBY3Rpb25zICYmXG4gICAgICAgICAgYWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb24oXCJ0b2dnbGVDYW52YXNNZW51XCIpfVxuICAgICAgICB7YWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb24oXCJ0b2dnbGVFZGl0TWVudVwiKX1cbiAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwidW5kb1wiKX1cbiAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwicmVkb1wiKX1cbiAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFxuICAgICAgICAgIGFwcFN0YXRlLm11bHRpRWxlbWVudCA/IFwiZmluYWxpemVcIiA6IFwiZHVwbGljYXRlU2VsZWN0aW9uXCIsXG4gICAgICAgICl9XG4gICAgICAgIHthY3Rpb25NYW5hZ2VyLnJlbmRlckFjdGlvbihcImRlbGV0ZVNlbGVjdGVkRWxlbWVudHNcIil9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckNhbnZhc0FjdGlvbnMgPSAoKSA9PiB7XG4gICAgaWYgKHZpZXdNb2RlRW5hYmxlZCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICB7cmVuZGVySlNPTkV4cG9ydERpYWxvZygpfVxuICAgICAgICAgIHtyZW5kZXJJbWFnZUV4cG9ydERpYWxvZygpfVxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7YWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb24oXCJjbGVhckNhbnZhc1wiKX1cbiAgICAgICAge2FjdGlvbk1hbmFnZXIucmVuZGVyQWN0aW9uKFwibG9hZFNjZW5lXCIpfVxuICAgICAgICB7cmVuZGVySlNPTkV4cG9ydERpYWxvZygpfVxuICAgICAgICB7cmVuZGVySW1hZ2VFeHBvcnREaWFsb2coKX1cbiAgICAgICAge29uQ29sbGFiQnV0dG9uQ2xpY2sgJiYgKFxuICAgICAgICAgIDxDb2xsYWJCdXR0b25cbiAgICAgICAgICAgIGlzQ29sbGFib3JhdGluZz17aXNDb2xsYWJvcmF0aW5nfVxuICAgICAgICAgICAgY29sbGFib3JhdG9yQ291bnQ9e2FwcFN0YXRlLmNvbGxhYm9yYXRvcnMuc2l6ZX1cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uQ29sbGFiQnV0dG9uQ2xpY2t9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAge1xuICAgICAgICAgIDxCYWNrZ3JvdW5kUGlja2VyQW5kRGFya01vZGVUb2dnbGVcbiAgICAgICAgICAgIGFjdGlvbk1hbmFnZXI9e2FjdGlvbk1hbmFnZXJ9XG4gICAgICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgICAgICBzZXRBcHBTdGF0ZT17c2V0QXBwU3RhdGV9XG4gICAgICAgICAgICBzaG93VGhlbWVCdG49e3Nob3dUaGVtZUJ0bn1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7IXZpZXdNb2RlRW5hYmxlZCAmJiByZW5kZXJUb29sYmFyKCl9XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cIkFwcC1ib3R0b20tYmFyXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBtYXJnaW5Cb3R0b206IFNDUk9MTEJBUl9XSURUSCArIFNDUk9MTEJBUl9NQVJHSU4gKiAyLFxuICAgICAgICAgIG1hcmdpbkxlZnQ6IFNDUk9MTEJBUl9XSURUSCArIFNDUk9MTEJBUl9NQVJHSU4gKiAyLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiBTQ1JPTExCQVJfV0lEVEggKyBTQ1JPTExCQVJfTUFSR0lOICogMixcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPElzbGFuZCBwYWRkaW5nPXswfT5cbiAgICAgICAgICB7VUlPcHRpb25zLmNhbnZhc0FjdGlvbnMgJiYgYXBwU3RhdGUub3Blbk1lbnUgPT09IFwiY2FudmFzXCIgPyAoXG4gICAgICAgICAgICA8U2VjdGlvbiBjbGFzc05hbWU9XCJBcHAtbW9iaWxlLW1lbnVcIiBoZWFkaW5nPVwiY2FudmFzQWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInBhbmVsQ29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPFN0YWNrLkNvbCBnYXA9ezR9PlxuICAgICAgICAgICAgICAgICAge3JlbmRlckNhbnZhc0FjdGlvbnMoKX1cbiAgICAgICAgICAgICAgICAgIHtyZW5kZXJDdXN0b21Gb290ZXI/Lih0cnVlLCBhcHBTdGF0ZSl9XG4gICAgICAgICAgICAgICAgICB7YXBwU3RhdGUuY29sbGFib3JhdG9ycy5zaXplID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldD5cbiAgICAgICAgICAgICAgICAgICAgICA8bGVnZW5kPnt0KFwibGFiZWxzLmNvbGxhYm9yYXRvcnNcIil9PC9sZWdlbmQ+XG4gICAgICAgICAgICAgICAgICAgICAgPFVzZXJMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICBtb2JpbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dD1cImhvcml6b250YWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGFib3JhdG9ycz17YXBwU3RhdGUuY29sbGFib3JhdG9yc31cbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbk1hbmFnZXI9e2FjdGlvbk1hbmFnZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9maWVsZHNldD5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdGFjay5Db2w+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICkgOiBhcHBTdGF0ZS5vcGVuTWVudSA9PT0gXCJzaGFwZVwiICYmXG4gICAgICAgICAgICAhdmlld01vZGVFbmFibGVkICYmXG4gICAgICAgICAgICBzaG93U2VsZWN0ZWRTaGFwZUFjdGlvbnMoYXBwU3RhdGUsIGVsZW1lbnRzKSA/IChcbiAgICAgICAgICAgIDxTZWN0aW9uIGNsYXNzTmFtZT1cIkFwcC1tb2JpbGUtbWVudVwiIGhlYWRpbmc9XCJzZWxlY3RlZFNoYXBlQWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8U2VsZWN0ZWRTaGFwZUFjdGlvbnNcbiAgICAgICAgICAgICAgICBhcHBTdGF0ZT17YXBwU3RhdGV9XG4gICAgICAgICAgICAgICAgZWxlbWVudHM9e2VsZW1lbnRzfVxuICAgICAgICAgICAgICAgIHJlbmRlckFjdGlvbj17YWN0aW9uTWFuYWdlci5yZW5kZXJBY3Rpb259XG4gICAgICAgICAgICAgICAgZWxlbWVudFR5cGU9e2FwcFN0YXRlLmVsZW1lbnRUeXBlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDxmb290ZXIgY2xhc3NOYW1lPVwiQXBwLXRvb2xiYXJcIj5cbiAgICAgICAgICAgIHtyZW5kZXJBcHBUb29sYmFyKCl9XG4gICAgICAgICAgICB7YXBwU3RhdGUuc2Nyb2xsZWRPdXRzaWRlICYmICFhcHBTdGF0ZS5vcGVuTWVudSAmJiAoXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzY3JvbGwtYmFjay10by1jb250ZW50XCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzZXRBcHBTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmNhbGN1bGF0ZVNjcm9sbENlbnRlcihlbGVtZW50cywgYXBwU3RhdGUsIGNhbnZhcyksXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoXCJidXR0b25zLnNjcm9sbEJhY2tUb0NvbnRlbnRcIil9XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Zvb3Rlcj5cbiAgICAgICAgPC9Jc2xhbmQ+XG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../components/MobileMenu.tsx\n");
|
|
1894
1915
|
|
|
1895
1916
|
/***/ }),
|
|
1896
1917
|
|
|
@@ -2055,7 +2076,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
2055
2076
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2056
2077
|
|
|
2057
2078
|
"use strict";
|
|
2058
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"createIcon\": () => (/* binding */ createIcon),\n/* harmony export */ \"checkIcon\": () => (/* binding */ checkIcon),\n/* harmony export */ \"link\": () => (/* binding */ link),\n/* harmony export */ \"save\": () => (/* binding */ save),\n/* harmony export */ \"saveAs\": () => (/* binding */ saveAs),\n/* harmony export */ \"load\": () => (/* binding */ load),\n/* harmony export */ \"clipboard\": () => (/* binding */ clipboard),\n/* harmony export */ \"trash\": () => (/* binding */ trash),\n/* harmony export */ \"palette\": () => (/* binding */ palette),\n/* harmony export */ \"exportFile\": () => (/* binding */ exportFile),\n/* harmony export */ \"exportImage\": () => (/* binding */ exportImage),\n/* harmony export */ \"exportToFileIcon\": () => (/* binding */ exportToFileIcon),\n/* harmony export */ \"zoomIn\": () => (/* binding */ zoomIn),\n/* harmony export */ \"zoomOut\": () => (/* binding */ zoomOut),\n/* harmony export */ \"done\": () => (/* binding */ done),\n/* harmony export */ \"menu\": () => (/* binding */ menu),\n/* harmony export */ \"undo\": () => (/* binding */ undo),\n/* harmony export */ \"redo\": () => (/* binding */ redo),\n/* harmony export */ \"questionCircle\": () => (/* binding */ questionCircle),\n/* harmony export */ \"share\": () => (/* binding */ share),\n/* harmony export */ \"shareIOS\": () => (/* binding */ shareIOS),\n/* harmony export */ \"shareWindows\": () => (/* binding */ shareWindows),\n/* harmony export */ \"resetZoom\": () => (/* binding */ resetZoom),\n/* harmony export */ \"BringForwardIcon\": () => (/* binding */ BringForwardIcon),\n/* harmony export */ \"SendBackwardIcon\": () => (/* binding */ SendBackwardIcon),\n/* harmony export */ \"BringToFrontIcon\": () => (/* binding */ BringToFrontIcon),\n/* harmony export */ \"SendToBackIcon\": () => (/* binding */ SendToBackIcon),\n/* harmony export */ \"AlignTopIcon\": () => (/* binding */ AlignTopIcon),\n/* harmony export */ \"AlignBottomIcon\": () => (/* binding */ AlignBottomIcon),\n/* harmony export */ \"AlignLeftIcon\": () => (/* binding */ AlignLeftIcon),\n/* harmony export */ \"AlignRightIcon\": () => (/* binding */ AlignRightIcon),\n/* harmony export */ \"DistributeHorizontallyIcon\": () => (/* binding */ DistributeHorizontallyIcon),\n/* harmony export */ \"DistributeVerticallyIcon\": () => (/* binding */ DistributeVerticallyIcon),\n/* harmony export */ \"CenterVerticallyIcon\": () => (/* binding */ CenterVerticallyIcon),\n/* harmony export */ \"CenterHorizontallyIcon\": () => (/* binding */ CenterHorizontallyIcon),\n/* harmony export */ \"users\": () => (/* binding */ users),\n/* harmony export */ \"start\": () => (/* binding */ start),\n/* harmony export */ \"stop\": () => (/* binding */ stop),\n/* harmony export */ \"close\": () => (/* binding */ close),\n/* harmony export */ \"back\": () => (/* binding */ back),\n/* harmony export */ \"clone\": () => (/* binding */ clone),\n/* harmony export */ \"shield\": () => (/* binding */ shield),\n/* harmony export */ \"file\": () => (/* binding */ file),\n/* harmony export */ \"GroupIcon\": () => (/* binding */ GroupIcon),\n/* harmony export */ \"UngroupIcon\": () => (/* binding */ UngroupIcon),\n/* harmony export */ \"FillHachureIcon\": () => (/* binding */ FillHachureIcon),\n/* harmony export */ \"FillCrossHatchIcon\": () => (/* binding */ FillCrossHatchIcon),\n/* harmony export */ \"FillSolidIcon\": () => (/* binding */ FillSolidIcon),\n/* harmony export */ \"StrokeWidthIcon\": () => (/* binding */ StrokeWidthIcon),\n/* harmony export */ \"StrokeStyleSolidIcon\": () => (/* binding */ StrokeStyleSolidIcon),\n/* harmony export */ \"StrokeStyleDashedIcon\": () => (/* binding */ StrokeStyleDashedIcon),\n/* harmony export */ \"StrokeStyleDottedIcon\": () => (/* binding */ StrokeStyleDottedIcon),\n/* harmony export */ \"SloppinessArchitectIcon\": () => (/* binding */ SloppinessArchitectIcon),\n/* harmony export */ \"SloppinessArtistIcon\": () => (/* binding */ SloppinessArtistIcon),\n/* harmony export */ \"SloppinessCartoonistIcon\": () => (/* binding */ SloppinessCartoonistIcon),\n/* harmony export */ \"EdgeSharpIcon\": () => (/* binding */ EdgeSharpIcon),\n/* harmony export */ \"EdgeRoundIcon\": () => (/* binding */ EdgeRoundIcon),\n/* harmony export */ \"ArrowheadNoneIcon\": () => (/* binding */ ArrowheadNoneIcon),\n/* harmony export */ \"ArrowheadArrowIcon\": () => (/* binding */ ArrowheadArrowIcon),\n/* harmony export */ \"ArrowheadDotIcon\": () => (/* binding */ ArrowheadDotIcon),\n/* harmony export */ \"ArrowheadBarIcon\": () => (/* binding */ ArrowheadBarIcon),\n/* harmony export */ \"ArrowheadTriangleIcon\": () => (/* binding */ ArrowheadTriangleIcon),\n/* harmony export */ \"FontSizeSmallIcon\": () => (/* binding */ FontSizeSmallIcon),\n/* harmony export */ \"FontSizeMediumIcon\": () => (/* binding */ FontSizeMediumIcon),\n/* harmony export */ \"FontSizeLargeIcon\": () => (/* binding */ FontSizeLargeIcon),\n/* harmony export */ \"FontSizeExtraLargeIcon\": () => (/* binding */ FontSizeExtraLargeIcon),\n/* harmony export */ \"FontFamilyHandDrawnIcon\": () => (/* binding */ FontFamilyHandDrawnIcon),\n/* harmony export */ \"FontFamilyNormalIcon\": () => (/* binding */ FontFamilyNormalIcon),\n/* harmony export */ \"FontFamilyCodeIcon\": () => (/* binding */ FontFamilyCodeIcon),\n/* harmony export */ \"TextAlignLeftIcon\": () => (/* binding */ TextAlignLeftIcon),\n/* harmony export */ \"TextAlignCenterIcon\": () => (/* binding */ TextAlignCenterIcon),\n/* harmony export */ \"TextAlignRightIcon\": () => (/* binding */ TextAlignRightIcon),\n/* harmony export */ \"publishIcon\": () => (/* binding */ publishIcon),\n/* harmony export */ \"home\": () => (/* binding */ home)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var open_color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! open-color */ \"../../../node_modules/open-color/open-color.json\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"../../../node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants */ \"../../constants.ts\");\n\r\n//\r\n// All icons are imported from https://fontawesome.com/icons?d=gallery\r\n// Icons are under the license https://fontawesome.com/license\r\n//\r\n// Note: when adding new icons, review https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/RTL_Guidelines\r\n// to determine whether or not the icons should be mirrored in right-to-left languages.\r\n\r\n\r\n\r\n\r\nconst activeElementColor = (theme) => theme === _constants__WEBPACK_IMPORTED_MODULE_4__.THEME.LIGHT ? open_color__WEBPACK_IMPORTED_MODULE_2__.orange[4] : open_color__WEBPACK_IMPORTED_MODULE_2__.orange[9];\r\nconst iconFillColor = (theme) => theme === _constants__WEBPACK_IMPORTED_MODULE_4__.THEME.LIGHT ? open_color__WEBPACK_IMPORTED_MODULE_2__.black : open_color__WEBPACK_IMPORTED_MODULE_2__.gray[4];\r\nconst handlerColor = (theme) => theme === _constants__WEBPACK_IMPORTED_MODULE_4__.THEME.LIGHT ? open_color__WEBPACK_IMPORTED_MODULE_2__.white : \"#1e1e1e\";\r\nconst createIcon = (d, opts = 512) => {\r\n const { width = 512, height = width, mirror, style, } = typeof opts === \"number\" ? { width: opts } : opts;\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"svg\", Object.assign({ \"aria-hidden\": \"true\", focusable: \"false\", role: \"img\", viewBox: `0 0 ${width} ${height}`, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({ \"rtl-mirror\": mirror }), style: style }, { children: typeof d === \"string\" ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: \"currentColor\", d: d }, void 0) : d }), void 0));\r\n};\r\nconst checkIcon = createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"polyline\", { fill: \"none\", stroke: \"currentColor\", points: \"20 6 9 17 4 12\" }, void 0), {\r\n width: 24,\r\n height: 24,\r\n});\r\nconst link = createIcon(\"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z\", { mirror: true });\r\nconst save = createIcon(\"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z\", { width: 448, height: 512 });\r\nconst saveAs = createIcon(\"M252 54L203 8a28 27 0 00-20-8H28C12 0 0 12 0 27v195c0 15 12 26 28 26h204c15 0 28-11 28-26V73a28 27 0 00-8-19zM130 213c-21 0-37-16-37-36 0-19 16-35 37-35 20 0 37 16 37 35 0 20-17 36-37 36zm56-169v56c0 4-4 6-7 6H44c-4 0-7-2-7-6V42c0-4 3-7 7-7h133l4 2 3 2a7 7 0 012 5z M296 201l87 95-188 205-78 9c-10 1-19-8-18-20l9-84zm141-14l-41-44a31 31 0 00-46 0l-38 41 87 95 38-42c13-14 13-36 0-50z\", { width: 448, height: 512 });\r\nconst load = createIcon(\"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z\", { width: 576, height: 512, mirror: true });\r\nconst clipboard = createIcon(\"M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z\", { width: 384, height: 512 });\r\nconst trash = createIcon(\"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\", { width: 448, height: 512 });\r\nconst palette = createIcon(\"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\");\r\nconst exportFile = createIcon(\"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z\", { width: 576, height: 512, mirror: true });\r\nconst exportImage = createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-187 44v-64 64z\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M384 121.941V128H256V0h6.059c6.362 0 12.471 2.53 16.97 7.029l97.941 97.941a24.01 24.01 0 017.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z\" }, void 0)] }, void 0), { width: 576, height: 512, mirror: true });\r\nconst exportToFileIcon = createIcon(\"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\", { width: 512, height: 512 });\r\nconst zoomIn = createIcon(\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\", { width: 448, height: 512 });\r\nconst zoomOut = createIcon(\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\", { width: 448, height: 512 });\r\nconst done = createIcon(\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\");\r\nconst menu = createIcon(\"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\");\r\nconst undo = createIcon(\"M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z\", { mirror: true });\r\nconst redo = createIcon(\"M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z\", { mirror: true });\r\nconst questionCircle = createIcon(\"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z\", { mirror: true });\r\nconst share = createIcon(\"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z\", { width: 24, height: 24 });\r\nconst shareIOS = createIcon(\"M16 5l-1.42 1.42-1.59-1.59V16h-1.98V4.83L9.42 6.42 8 5l4-4 4 4zm4 5v11c0 1.1-.9 2-2 2H6c-1.11 0-2-.9-2-2V10c0-1.11.89-2 2-2h3v2H6v11h12V10h-3V8h3c1.1 0 2 .89 2 2z\", { width: 24, height: 24 });\r\nconst shareWindows = createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { stroke: \"currentColor\", fill: \"currentColor\", d: \"M40 5.6v6.1l-4.1.7c-8.9 1.4-16.5 6.9-20.6 15C13 32 10.9 43 12.4 43c.4 0 2.4-1.3 4.4-3 5-3.9 12.1-7 18.2-7.7l5-.6v12.8l11.2-11.3L62.5 22 51.2 10.8 40-.5v6.1zm10.2 22.6L44 34.5v-6.8l-6.9.6c-3.9.3-9.8 1.7-13.2 3.1-3.5 1.4-6.5 2.4-6.7 2.2-.9-1 3-7.5 6.4-10.8C28 18.6 34.4 16 40.1 16c3.7 0 3.9-.1 3.9-3.2V9.5l6.2 6.3 6.3 6.2-6.3 6.2z\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { stroke: \"currentColor\", fill: \"currentColor\", d: \"M0 36v20h48v-6.2c0-6 0-6.1-2-4.3-1.1 1-2 2.9-2 4.2V52H4V34c0-17.3-.1-18-2-18s-2 .7-2 20z\" }, void 0)] }, void 0), { width: 64, height: 64 });\r\n// Icon imported form Storybook\r\n// Storybook is licensed under MIT https://github.com/storybookjs/storybook/blob/next/LICENSE\r\nconst resetZoom = createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { stroke: \"currentColor\", strokeWidth: \"40\", fill: \"currentColor\", d: \"M148 560a318 318 0 0 0 522 110 316 316 0 0 0 0-450 316 316 0 0 0-450 0c-11 11-21 22-30 34v4h47c25 0 46 21 46 46s-21 45-46 45H90c-13 0-25-6-33-14-9-9-14-20-14-33V156c0-25 20-45 45-45s45 20 45 45v32l1 1a401 401 0 0 1 623 509l212 212a42 42 0 0 1-59 59L698 757A401 401 0 0 1 65 570a42 42 0 0 1 83-10z\" }, void 0), { width: 1024 });\r\nconst BringForwardIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M22 9.556C22 8.696 21.303 8 20.444 8H16v8H8v4.444C8 21.304 8.697 22 9.556 22h10.888c.86 0 1.556-.697 1.556-1.556V9.556z\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M16 3.556C16 2.696 15.303 2 14.444 2H3.556C2.696 2 2 2.697 2 3.556v10.888C2 15.304 2.697 16 3.556 16h10.888c.86 0 1.556-.697 1.556-1.556V3.556z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst SendBackwardIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M16 3.556C16 2.696 15.303 2 14.444 2H3.556C2.696 2 2 2.697 2 3.556v10.888C2 15.304 2.697 16 3.556 16h10.888c.86 0 1.556-.697 1.556-1.556V3.556z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M22 9.556C22 8.696 21.303 8 20.444 8H9.556C8.696 8 8 8.697 8 9.556v10.888C8 21.304 8.697 22 9.556 22h10.888c.86 0 1.556-.697 1.556-1.556V9.556z\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst BringToFrontIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M13 21a1 1 0 001 1h7a1 1 0 001-1v-7a1 1 0 00-1-1h-3v5h-5v3zM11 3a1 1 0 00-1-1H3a1 1 0 00-1 1v7a1 1 0 001 1h3V6h5V3z\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M18 7.333C18 6.597 17.403 6 16.667 6H7.333C6.597 6 6 6.597 6 7.333v9.334C6 17.403 6.597 18 7.333 18h9.334c.736 0 1.333-.597 1.333-1.333V7.333z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst SendToBackIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M18 7.333C18 6.597 17.403 6 16.667 6H7.333C6.597 6 6 6.597 6 7.333v9.334C6 17.403 6.597 18 7.333 18h9.334c.736 0 1.333-.597 1.333-1.333V7.333z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M11 3a1 1 0 00-1-1H3a1 1 0 00-1 1v7a1 1 0 001 1h8V3zM22 14a1 1 0 00-1-1h-7a1 1 0 00-1 1v7a1 1 0 001 1h8v-8z\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\n//\r\n// Align action icons created from scratch to match those of z-index actions\r\n// Note: vertical align icons are flipped so the larger item is always the\r\n// first one the user sees. Horizontal align icons should not be flipped since\r\n// that would make them lie about their function.\r\n//\r\nconst AlignTopIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 2,5 H 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 6,7 C 5.446,7 5,7.446 5,8 v 9.999992 c 0,0.554 0.446,1 1,1 h 3.0000001 c 0.554,0 0.9999999,-0.446 0.9999999,-1 V 8 C 10,7.446 9.5540001,7 9.0000001,7 Z m 9,0 c -0.554,0 -1,0.446 -1,1 v 5.999992 c 0,0.554 0.446,1 1,1 h 3 c 0.554,0 1,-0.446 1,-1 V 8 C 19,7.446 18.554,7 18,7 Z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst AlignBottomIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 2,19 H 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"m 6,16.999992 c -0.554,0 -1,-0.446 -1,-1 V 6 C 5,5.446 5.446,5 6,5 H 9.0000001 C 9.5540001,5 10,5.446 10,6 v 9.999992 c 0,0.554 -0.4459999,1 -0.9999999,1 z m 9,0 c -0.554,0 -1,-0.446 -1,-1 V 10 c 0,-0.554 0.446,-1 1,-1 h 3 c 0.554,0 1,0.446 1,1 v 5.999992 c 0,0.554 -0.446,1 -1,1 z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst AlignLeftIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 5,2 V 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"m 7.000004,5.999996 c 0,-0.554 0.446,-1 1,-1 h 9.999992 c 0.554,0 1,0.446 1,1 v 3.0000001 c 0,0.554 -0.446,0.9999999 -1,0.9999999 H 8.000004 c -0.554,0 -1,-0.4459999 -1,-0.9999999 z m 0,9 c 0,-0.554 0.446,-1 1,-1 h 5.999992 c 0.554,0 1,0.446 1,1 v 3 c 0,0.554 -0.446,1 -1,1 H 8.000004 c -0.554,0 -1,-0.446 -1,-1 z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24 }));\r\nconst AlignRightIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 19,2 V 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"m 16.999996,5.999996 c 0,-0.554 -0.446,-1 -1,-1 H 6.000004 c -0.554,0 -1,0.446 -1,1 v 3.0000001 c 0,0.554 0.446,0.9999999 1,0.9999999 h 9.999992 c 0.554,0 1,-0.4459999 1,-0.9999999 z m 0,9 c 0,-0.554 -0.446,-1 -1,-1 h -5.999992 c -0.554,0 -1,0.446 -1,1 v 3 c 0,0.554 0.446,1 1,1 h 5.999992 c 0.554,0 1,-0.446 1,-1 z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24 }));\r\nconst DistributeHorizontallyIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M19 5V19M5 5V19\", stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M15 9C15.554 9 16 9.446 16 10V14C16 14.554 15.554 15 15 15H9C8.446 15 8 14.554 8 14V10C8 9.446 8.446 9 9 9H15Z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24 }));\r\nconst DistributeVerticallyIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M5 5L19 5M5 19H19\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M15 9C15.554 9 16 9.446 16 10V14C16 14.554 15.554 15 15 15H9C8.446 15 8 14.554 8 14V10C8 9.446 8.446 9 9 9H15Z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24 }));\r\nconst CenterVerticallyIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"m 5.000004,16.999996 c 0,0.554 0.446,1 1,1 h 3 c 0.554,0 1,-0.446 1,-1 v -10 c 0,-0.554 -0.446,-1 -1,-1 h -3 c -0.554,0 -1,0.446 -1,1 z m 9,-2 c 0,0.554 0.446,1 1,1 h 3 c 0.554,0 1,-0.446 1,-1 v -6 c 0,-0.554 -0.446,-1 -1,-1 h -3 c -0.554,0 -1,0.446 -1,1 z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 2,12 H 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeDasharray: \"1, 2.8\", strokeLinecap: \"round\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst CenterHorizontallyIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 7 5 C 6.446 5 6 5.446 6 6 L 6 9 C 6 9.554 6.446 10 7 10 L 17 10 C 17.554 10 18 9.554 18 9 L 18 6 C 18 5.446 17.554 5 17 5 L 7 5 z M 9 14 C 8.446 14 8 14.446 8 15 L 8 18 C 8 18.554 8.446 19 9 19 L 15 19 C 15.554 19 16 18.554 16 18 L 16 15 C 16 14.446 15.554 14 15 14 L 9 14 z \", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 12,2 V 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeDasharray: \"1, 2.8\", strokeLinecap: \"round\" }, void 0)] }, void 0), { width: 24 }));\r\nconst users = createIcon(\"M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z\", { width: 640, height: 512, mirror: true });\r\n// not mirrored because it's inspired by a playback control, which is always RTL\r\nconst start = createIcon(\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z\");\r\nconst stop = createIcon(\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z\");\r\nconst close = createIcon(\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\", { width: 352, height: 512 });\r\nconst back = createIcon(\"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\", { width: 320, height: 512, style: { marginLeft: \"-0.2rem\" }, mirror: true });\r\nconst clone = createIcon(\"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\", { mirror: true });\r\n// modified https://feathericons.com/?query=shield\r\nconst shield = createIcon(\"M11.553 22.894a.998.998 0 00.894 0s3.037-1.516 5.465-4.097C19.616 16.987 21 14.663 21 12V5a1 1 0 00-.649-.936l-8-3a.998.998 0 00-.702 0l-8 3A1 1 0 003 5v7c0 2.663 1.384 4.987 3.088 6.797 2.428 2.581 5.465 4.097 5.465 4.097zm-1.303-8.481l6.644-6.644a.856.856 0 111.212 1.212l-7.25 7.25a.856.856 0 01-1.212 0l-3.75-3.75a.856.856 0 111.212-1.212l3.144 3.144z\", { width: 24 });\r\nconst file = createIcon(\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\", { width: 384, height: 512 });\r\nconst GroupIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M25 26H111V111H25\", fill: iconFillColor(theme) }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M25 111C25 80.2068 25 49.4135 25 26M25 26C48.6174 26 72.2348 26 111 26H25ZM25 26C53.3671 26 81.7343 26 111 26H25ZM111 26C111 52.303 111 78.606 111 111V26ZM111 26C111 51.2947 111 76.5893 111 111V26ZM111 111C87.0792 111 63.1585 111 25 111H111ZM111 111C87.4646 111 63.9293 111 25 111H111ZM25 111C25 81.1514 25 51.3028 25 26V111Z\", stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M100 100H160V160H100\", fill: iconFillColor(theme) }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M100 160C100 144.106 100 128.211 100 100M100 100C117.706 100 135.412 100 160 100H100ZM100 100C114.214 100 128.428 100 160 100H100ZM160 100C160 120.184 160 140.369 160 160V100ZM160 100C160 113.219 160 126.437 160 160V100ZM160 160C145.534 160 131.068 160 100 160H160ZM160 160C143.467 160 126.934 160 100 160H160ZM100 160C100 143.661 100 127.321 100 100V160Z\", stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ fill: handlerColor(theme), stroke: iconFillColor(theme), strokeWidth: \"6\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"2.5\", y: \"2.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"2.5\", y: \"149.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"147.5\", y: \"149.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"147.5\", y: \"2.5\", width: \"30\", height: \"30\" }, void 0)] }), void 0)] }, void 0), { width: 182, height: 182, mirror: true }));\r\nconst UngroupIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M25 26H111V111H25\", fill: iconFillColor(theme) }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M25 111C25 80.2068 25 49.4135 25 26M25 26C48.6174 26 72.2348 26 111 26H25ZM25 26C53.3671 26 81.7343 26 111 26H25ZM111 26C111 52.303 111 78.606 111 111V26ZM111 26C111 51.2947 111 76.5893 111 111V26ZM111 111C87.0792 111 63.1585 111 25 111H111ZM111 111C87.4646 111 63.9293 111 25 111H111ZM25 111C25 81.1514 25 51.3028 25 26V111Z\", stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M100 100H160V160H100\", fill: iconFillColor(theme) }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M100 160C100 144.106 100 128.211 100 100M100 100C117.706 100 135.412 100 160 100H100ZM100 100C114.214 100 128.428 100 160 100H100ZM160 100C160 120.184 160 140.369 160 160V100ZM160 100C160 113.219 160 126.437 160 160V100ZM160 160C145.534 160 131.068 160 100 160H160ZM160 160C143.467 160 126.934 160 100 160H160ZM100 160C100 143.661 100 127.321 100 100V160Z\", stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ fill: handlerColor(theme), stroke: iconFillColor(theme), strokeWidth: \"6\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"2.5\", y: \"2.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"78.5\", y: \"149.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"147.5\", y: \"149.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"147.5\", y: \"78.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"105.5\", y: \"2.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"2.5\", y: \"102.5\", width: \"30\", height: \"30\" }, void 0)] }), void 0)] }, void 0), { width: 182, height: 182, mirror: true }));\r\nconst FillHachureIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M20.101 16H28.0934L36 8.95989V4H33.5779L20.101 16ZM30.5704 4L17.0935 16H9.10101L22.5779 4H30.5704ZM19.5704 4L6.09349 16H4V10.7475L11.5779 4H19.5704ZM8.57036 4H4V8.06952L8.57036 4ZM36 11.6378L31.101 16H36V11.6378ZM2 2V18H38V2H2Z\", fill: iconFillColor(theme) }, void 0), { width: 40, height: 20 }));\r\nconst FillCrossHatchIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ fill: iconFillColor(theme), fillRule: \"evenodd\", clipRule: \"evenodd\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M20.101 16H28.0934L36 8.95989V4H33.5779L20.101 16ZM30.5704 4L17.0935 16H9.10101L22.5779 4H30.5704ZM19.5704 4L6.09349 16H4V10.7475L11.5779 4H19.5704ZM8.57036 4H4V8.06952L8.57036 4ZM36 11.6378L31.101 16H36V11.6378ZM2 2V18H38V2H2Z\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M14.0001 18L3.00006 4.00002L4.5727 2.76438L15.5727 16.7644L14.0001 18ZM25.0001 18L14.0001 4.00002L15.5727 2.76438L26.5727 16.7644L25.0001 18ZM36.0001 18L25.0001 4.00002L26.5727 2.76438L37.5727 16.7644L36.0001 18Z\" }, void 0)] }), void 0), { width: 40, height: 20 }));\r\nconst FillSolidIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M2 2H38V18H2V2Z\", fill: iconFillColor(theme) }, void 0), {\r\n width: 40,\r\n height: 20,\r\n}));\r\nconst StrokeWidthIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme, strokeWidth }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M6 10H32\", stroke: iconFillColor(theme), strokeWidth: strokeWidth, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20 }));\r\nconst StrokeStyleSolidIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M6 10H34\", stroke: iconFillColor(theme), strokeWidth: 2, fill: \"none\", strokeLinecap: \"round\" }, void 0), {\r\n width: 40,\r\n height: 20,\r\n}));\r\nconst StrokeStyleDashedIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M6 10H34\", stroke: iconFillColor(theme), strokeWidth: 2.5, strokeDasharray: \"10, 8\", fill: \"none\", strokeLinecap: \"round\" }, void 0), { width: 40, height: 20 }));\r\nconst StrokeStyleDottedIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M6 10H36\", stroke: iconFillColor(theme), strokeWidth: 2.5, strokeDasharray: \"2, 4.5\", fill: \"none\", strokeLinecap: \"round\" }, void 0), { width: 40, height: 20 }));\r\nconst SloppinessArchitectIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M3.00098 16.1691C6.28774 13.9744 19.6399 2.8905 22.7215 3.00082C25.8041 3.11113 19.1158 15.5488 21.4962 16.8309C23.8757 18.1131 34.4155 11.7148 37.0001 10.6919\", stroke: iconFillColor(theme), strokeWidth: 2, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20, mirror: true }));\r\nconst SloppinessArtistIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M3 17C6.68158 14.8752 16.1296 9.09849 22.0648 6.54922C28 3.99995 22.2896 13.3209 25 14C27.7104 14.6791 36.3757 9.6471 36.3757 9.6471M6.40706 15C13 11.1918 20.0468 1.51045 23.0234 3.0052C26 4.49995 20.457 12.8659 22.7285 16.4329C25 20 36.3757 13 36.3757 13\", stroke: iconFillColor(theme), strokeWidth: 2, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20, mirror: true }));\r\nconst SloppinessCartoonistIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M3 15.6468C6.93692 13.5378 22.5544 2.81528 26.6206 3.00242C30.6877 3.18956 25.6708 15.3346 27.4009 16.7705C29.1309 18.2055 35.4001 12.4762 37 11.6177M3.97143 10.4917C6.61158 9.24563 16.3706 2.61886 19.8104 3.01724C23.2522 3.41472 22.0773 12.2013 24.6181 12.8783C27.1598 13.5536 33.3179 8.04068 35.0571 7.07244\", stroke: iconFillColor(theme), strokeWidth: 2, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20, mirror: true }));\r\nconst EdgeSharpIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M10 17L10 5L35 5\", stroke: iconFillColor(theme), strokeWidth: 2, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20, mirror: true }));\r\nconst EdgeRoundIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M10 17V15C10 8 13 5 21 5L33.5 5\", stroke: iconFillColor(theme), strokeWidth: 2, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20, mirror: true }));\r\nconst ArrowheadNoneIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M6 10H34\", stroke: iconFillColor(theme), strokeWidth: 2, fill: \"none\" }, void 0), {\r\n width: 40,\r\n height: 20,\r\n}));\r\nconst ArrowheadArrowIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme, flip = false }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ transform: flip ? \"translate(40, 0) scale(-1, 1)\" : \"\", stroke: iconFillColor(theme), strokeWidth: 2, fill: \"none\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M34 10H6M34 10L27 5M34 10L27 15\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M27.5 5L34.5 10L27.5 15\" }, void 0)] }), void 0), { width: 40, height: 20 }));\r\nconst ArrowheadDotIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme, flip = false }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ stroke: iconFillColor(theme), fill: iconFillColor(theme), transform: flip ? \"translate(40, 0) scale(-1, 1)\" : \"\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M32 10L6 10\", strokeWidth: 2 }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"circle\", { r: \"4\", transform: \"matrix(-1 0 0 1 30 10)\" }, void 0)] }), void 0), { width: 40, height: 20 }));\r\nconst ArrowheadBarIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme, flip = false }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"g\", Object.assign({ transform: flip ? \"translate(40, 0) scale(-1, 1)\" : \"\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M34 10H5.99996M34 10L34 5M34 10L34 15\", stroke: iconFillColor(theme), strokeWidth: 2, fill: \"none\" }, void 0) }), void 0), { width: 40, height: 20 }));\r\nconst ArrowheadTriangleIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme, flip = false }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ stroke: iconFillColor(theme), fill: iconFillColor(theme), transform: flip ? \"translate(40, 0) scale(-1, 1)\" : \"\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M32 10L6 10\", strokeWidth: 2 }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M27.5 5.5L34.5 10L27.5 14.5L27.5 5.5\" }, void 0)] }), void 0), { width: 40, height: 20 }));\r\nconst FontSizeSmallIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 0 69.092 L 0 55.03 A 124.24 124.24 0 0 0 4.706 57.02 Q 6.826 57.863 8.708 58.5 A 53.466 53.466 0 0 0 12.231 59.571 Q 17.236 60.889 21.387 60.889 A 20.909 20.909 0 0 0 24.265 60.704 Q 25.719 60.502 26.903 60.077 A 8.649 8.649 0 0 0 29.028 58.985 Q 31.689 57.08 31.689 53.321 Q 31.689 51.221 30.518 49.585 A 10.126 10.126 0 0 0 29.282 48.177 Q 28.352 47.287 27.075 46.436 A 23.719 23.719 0 0 0 25.752 45.627 Q 23.774 44.492 20.176 42.735 A 254.44 254.44 0 0 0 17.822 41.602 Q 11.503 38.631 8.236 35.888 A 19.742 19.742 0 0 1 8.008 35.694 A 22.18 22.18 0 0 1 2.783 29.102 Q 0.83 25.342 0.83 20.313 A 22.471 22.471 0 0 1 1.733 13.778 A 17.283 17.283 0 0 1 7.251 5.42 A 21.486 21.486 0 0 1 15.177 1.272 Q 18.361 0.338 22.166 0.09 A 43.573 43.573 0 0 1 25 0 A 42.399 42.399 0 0 1 34.349 1.01 A 39.075 39.075 0 0 1 35.62 1.319 A 67.407 67.407 0 0 1 42.108 3.382 A 83.357 83.357 0 0 1 46.191 5.03 L 41.309 16.797 Q 35.596 14.453 31.86 13.526 A 30.762 30.762 0 0 0 25.417 12.612 A 28.337 28.337 0 0 0 24.512 12.598 A 14.846 14.846 0 0 0 22.022 12.793 Q 19.498 13.224 17.92 14.6 Q 15.625 16.602 15.625 19.824 Q 15.625 21.826 16.553 23.316 Q 17.48 24.805 19.507 26.197 A 18.343 18.343 0 0 0 20.659 26.912 Q 22.596 28.035 26.516 29.953 A 299.99 299.99 0 0 0 29.102 31.201 Q 37.91 35.412 41.841 39.642 A 16.553 16.553 0 0 1 42.822 40.796 A 17.675 17.675 0 0 1 46.301 49.233 A 23.517 23.517 0 0 1 46.533 52.588 A 21.581 21.581 0 0 1 45.471 59.515 A 17.733 17.733 0 0 1 39.575 67.823 Q 33.745 72.486 24.094 73.243 A 49.683 49.683 0 0 1 20.215 73.389 A 51.712 51.712 0 0 1 9.448 72.315 A 40.672 40.672 0 0 1 0 69.092 Z\" }, void 0), { width: 47, height: 77 }));\r\nconst FontSizeMediumIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 44.092 71.387 L 30.225 71.387 L 13.037 15.381 L 12.598 15.381 A 1505.093 1505.093 0 0 1 12.959 22.313 Q 13.426 31.715 13.508 36.4 A 102.991 102.991 0 0 1 13.525 38.184 L 13.525 71.387 L 0 71.387 L 0 0 L 20.605 0 L 37.5 54.59 L 37.793 54.59 L 55.713 0 L 76.318 0 L 76.318 71.387 L 62.207 71.387 L 62.207 37.598 Q 62.207 35.205 62.28 32.08 A 160.703 160.703 0 0 1 62.326 30.544 Q 62.452 26.754 62.866 17.168 A 5390.536 5390.536 0 0 1 62.939 15.479 L 62.5 15.479 L 44.092 71.387 Z\" }, void 0), { width: 77, height: 75 }));\r\nconst FontSizeLargeIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 44.092 71.387 L 0 71.387 L 0 0 L 15.137 0 L 15.137 58.887 L 44.092 58.887 L 44.092 71.387 Z\" }, void 0), { width: 45, height: 75 }));\r\nconst FontSizeExtraLargeIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 42.578 35.4 L 66.699 71.387 L 49.414 71.387 L 32.813 44.385 L 16.211 71.387 L 0 71.387 L 23.682 34.57 L 1.514 0 L 18.213 0 L 33.594 25.684 L 48.682 0 L 64.99 0 L 42.578 35.4 Z M 119.775 71.387 L 75.684 71.387 L 75.684 0 L 90.82 0 L 90.82 58.887 L 119.775 58.887 L 119.775 71.387 Z\" }, void 0), { width: 120, height: 75 }));\r\nconst FontFamilyHandDrawnIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z\" }, void 0), { width: 448, height: 512 }));\r\nconst FontFamilyNormalIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 63.818 71.68 L 54.492 71.68 L 45.898 49.561 L 17.578 49.561 L 9.082 71.68 L 0 71.68 L 27.881 0 L 35.986 0 L 63.818 71.68 Z M 20.605 41.602 L 43.213 41.602 L 35.205 19.971 L 31.787 9.277 Q 30.322 15.137 28.711 19.971 L 20.605 41.602 Z\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 68.994 71.68 L 52.686 71.68 L 47.51 54.688 L 21.484 54.688 L 16.309 71.68 L 0 71.68 L 25.195 0 L 43.701 0 L 68.994 71.68 Z M 25.293 41.992 L 43.896 41.992 A 27590.463 27590.463 0 0 1 42.2 36.532 Q 36.965 19.676 35.937 16.273 A 120.932 120.932 0 0 1 35.815 15.869 A 131.65 131.65 0 0 1 35.396 14.435 Q 34.951 12.879 34.675 11.741 A 34.866 34.866 0 0 1 34.521 11.084 A 141.762 141.762 0 0 1 33.706 14.075 Q 31.482 21.957 25.293 41.992 Z\" }, void 0)] }, void 0), { width: 70, height: 78 }));\r\nconst FontFamilyCodeIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\" }, void 0) }, void 0), { width: 640, height: 512 }));\r\nconst TextAlignLeftIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M12.83 352h262.34A12.82 12.82 0 00288 339.17v-38.34A12.82 12.82 0 00275.17 288H12.83A12.82 12.82 0 000 300.83v38.34A12.82 12.82 0 0012.83 352zm0-256h262.34A12.82 12.82 0 00288 83.17V44.83A12.82 12.82 0 00275.17 32H12.83A12.82 12.82 0 000 44.83v38.34A12.82 12.82 0 0012.83 96zM432 160H16a16 16 0 00-16 16v32a16 16 0 0016 16h416a16 16 0 0016-16v-32a16 16 0 00-16-16zm0 256H16a16 16 0 00-16 16v32a16 16 0 0016 16h416a16 16 0 0016-16v-32a16 16 0 00-16-16z\", fill: iconFillColor(theme), strokeLinecap: \"round\" }, void 0), { width: 448, height: 512 }));\r\nconst TextAlignCenterIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M432 160H16a16 16 0 00-16 16v32a16 16 0 0016 16h416a16 16 0 0016-16v-32a16 16 0 00-16-16zm0 256H16a16 16 0 00-16 16v32a16 16 0 0016 16h416a16 16 0 0016-16v-32a16 16 0 00-16-16zM108.1 96h231.81A12.09 12.09 0 00352 83.9V44.09A12.09 12.09 0 00339.91 32H108.1A12.09 12.09 0 0096 44.09V83.9A12.1 12.1 0 00108.1 96zm231.81 256A12.09 12.09 0 00352 339.9v-39.81A12.09 12.09 0 00339.91 288H108.1A12.09 12.09 0 0096 300.09v39.81a12.1 12.1 0 0012.1 12.1z\", fill: iconFillColor(theme) }, void 0), { width: 448, height: 512 }));\r\nconst TextAlignRightIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M16 224h416a16 16 0 0016-16v-32a16 16 0 00-16-16H16a16 16 0 00-16 16v32a16 16 0 0016 16zm416 192H16a16 16 0 00-16 16v32a16 16 0 0016 16h416a16 16 0 0016-16v-32a16 16 0 00-16-16zm3.17-384H172.83A12.82 12.82 0 00160 44.83v38.34A12.82 12.82 0 00172.83 96h262.34A12.82 12.82 0 00448 83.17V44.83A12.82 12.82 0 00435.17 32zm0 256H172.83A12.82 12.82 0 00160 300.83v38.34A12.82 12.82 0 00172.83 352h262.34A12.82 12.82 0 00448 339.17v-38.34A12.82 12.82 0 00435.17 288z\", fill: iconFillColor(theme), strokeLinecap: \"round\" }, void 0), { width: 448, height: 512 }));\r\nconst publishIcon = createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z\", fill: \"currentColor\" }, void 0), { width: 640, height: 512 });\r\nconst home = createIcon(\"M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z\");\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QU0sRUFBRSxHQUFHLEVBQUUsQ0FDNUIsQ0FBQztBQUVLLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FDNUIsdWVBQXVlLENBQ3hlLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vY29tcG9uZW50cy9pY29ucy50c3g/YTUwNyJdLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy8gQWxsIGljb25zIGFyZSBpbXBvcnRlZCBmcm9tIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2ljb25zP2Q9Z2FsbGVyeVxuLy8gSWNvbnMgYXJlIHVuZGVyIHRoZSBsaWNlbnNlIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2Vcbi8vXG5cbi8vIE5vdGU6IHdoZW4gYWRkaW5nIG5ldyBpY29ucywgcmV2aWV3IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTW96aWxsYS9EZXZlbG9wZXJfZ3VpZGUvUlRMX0d1aWRlbGluZXNcbi8vIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0aGUgaWNvbnMgc2hvdWxkIGJlIG1pcnJvcmVkIGluIHJpZ2h0LXRvLWxlZnQgbGFuZ3VhZ2VzLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCBvYyBmcm9tIFwib3Blbi1jb2xvclwiO1xuaW1wb3J0IGNsc3ggZnJvbSBcImNsc3hcIjtcbmltcG9ydCB7IFRoZW1lIH0gZnJvbSBcIi4uL2VsZW1lbnQvdHlwZXNcIjtcbmltcG9ydCB7IFRIRU1FIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jb25zdCBhY3RpdmVFbGVtZW50Q29sb3IgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZSA9PT0gVEhFTUUuTElHSFQgPyBvYy5vcmFuZ2VbNF0gOiBvYy5vcmFuZ2VbOV07XG5jb25zdCBpY29uRmlsbENvbG9yID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUgPT09IFRIRU1FLkxJR0hUID8gb2MuYmxhY2sgOiBvYy5ncmF5WzRdO1xuY29uc3QgaGFuZGxlckNvbG9yID0gKHRoZW1lOiBUaGVtZSkgPT5cbiAgdGhlbWUgPT09IFRIRU1FLkxJR0hUID8gb2Mud2hpdGUgOiBcIiMxZTFlMWVcIjtcblxudHlwZSBPcHRzID0ge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBtaXJyb3I/OiB0cnVlO1xufSAmIFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlSWNvbiA9IChcbiAgZDogc3RyaW5nIHwgUmVhY3QuUmVhY3ROb2RlLFxuICBvcHRzOiBudW1iZXIgfCBPcHRzID0gNTEyLFxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICB3aWR0aCA9IDUxMixcbiAgICBoZWlnaHQgPSB3aWR0aCxcbiAgICBtaXJyb3IsXG4gICAgc3R5bGUsXG4gIH0gPSB0eXBlb2Ygb3B0cyA9PT0gXCJudW1iZXJcIiA/ICh7IHdpZHRoOiBvcHRzIH0gYXMgT3B0cykgOiBvcHRzO1xuICByZXR1cm4gKFxuICAgIDxzdmdcbiAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICByb2xlPVwiaW1nXCJcbiAgICAgIHZpZXdCb3g9e2AwIDAgJHt3aWR0aH0gJHtoZWlnaHR9YH1cbiAgICAgIGNsYXNzTmFtZT17Y2xzeCh7IFwicnRsLW1pcnJvclwiOiBtaXJyb3IgfSl9XG4gICAgICBzdHlsZT17c3R5bGV9XG4gICAgPlxuICAgICAge3R5cGVvZiBkID09PSBcInN0cmluZ1wiID8gPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9e2R9IC8+IDogZH1cbiAgICA8L3N2Zz5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjaGVja0ljb24gPSBjcmVhdGVJY29uKFxuICA8cG9seWxpbmUgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBwb2ludHM9XCIyMCA2IDkgMTcgNCAxMlwiIC8+LFxuICB7XG4gICAgd2lkdGg6IDI0LFxuICAgIGhlaWdodDogMjQsXG4gIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgbGluayA9IGNyZWF0ZUljb24oXG4gIFwiTTMyNi42MTIgMTg1LjM5MWM1OS43NDcgNTkuODA5IDU4LjkyNyAxNTUuNjk4LjM2IDIxNC41OS0uMTEuMTItLjI0LjI1LS4zNi4zN2wtNjcuMiA2Ny4yYy01OS4yNyA1OS4yNy0xNTUuNjk5IDU5LjI2Mi0yMTQuOTYgMC01OS4yNy01OS4yNi01OS4yNy0xNTUuNyAwLTIxNC45NmwzNy4xMDYtMzcuMTA2YzkuODQtOS44NCAyNi43ODYtMy4zIDI3LjI5NCAxMC42MDYuNjQ4IDE3LjcyMiAzLjgyNiAzNS41MjcgOS42OSA1Mi43MjEgMS45ODYgNS44MjIuNTY3IDEyLjI2Mi0zLjc4MyAxNi42MTJsLTEzLjA4NyAxMy4wODdjLTI4LjAyNiAyOC4wMjYtMjguOTA1IDczLjY2LTEuMTU1IDEwMS45NiAyOC4wMjQgMjguNTc5IDc0LjA4NiAyOC43NDkgMTAyLjMyNS41MWw2Ny4yLTY3LjE5YzI4LjE5MS0yOC4xOTEgMjguMDczLTczLjc1NyAwLTEwMS44My0zLjcwMS0zLjY5NC03LjQyOS02LjU2NC0xMC4zNDEtOC41NjlhMTYuMDM3IDE2LjAzNyAwIDAgMS02Ljk0Ny0xMi42MDZjLS4zOTYtMTAuNTY3IDMuMzQ4LTIxLjQ1NiAxMS42OTgtMjkuODA2bDIxLjA1NC0yMS4wNTVjNS41MjEtNS41MjEgMTQuMTgyLTYuMTk5IDIwLjU4NC0xLjczMWExNTIuNDgyIDE1Mi40ODIgMCAwIDEgMjAuNTIyIDE3LjE5N3pNNDY3LjU0NyA0NC40NDljLTU5LjI2MS01OS4yNjItMTU1LjY5LTU5LjI3LTIxNC45NiAwbC02Ny4yIDY3LjJjLS4xMi4xMi0uMjUuMjUtLjM2LjM3LTU4LjU2NiA1OC44OTItNTkuMzg3IDE1NC43ODEuMzYgMjE0LjU5YTE1Mi40NTQgMTUyLjQ1NCAwIDAgMCAyMC41MjEgMTcuMTk2YzYuNDAyIDQuNDY4IDE1LjA2NCAzLjc4OSAyMC41ODQtMS43MzFsMjEuMDU0LTIxLjA1NWM4LjM1LTguMzUgMTIuMDk0LTE5LjIzOSAxMS42OTgtMjkuODA2YTE2LjAzNyAxNi4wMzcgMCAwIDAtNi45NDctMTIuNjA2Yy0yLjkxMi0yLjAwNS02LjY0LTQuODc1LTEwLjM0MS04LjU2OS0yOC4wNzMtMjguMDczLTI4LjE5MS03My42MzkgMC0xMDEuODNsNjcuMi02Ny4xOWMyOC4yMzktMjguMjM5IDc0LjMtMjguMDY5IDEwMi4zMjUuNTEgMjcuNzUgMjguMyAyNi44NzIgNzMuOTM0LTEuMTU1IDEwMS45NmwtMTMuMDg3IDEzLjA4N2MtNC4zNSA0LjM1LTUuNzY5IDEwLjc5LTMuNzgzIDE2LjYxMiA1Ljg2NCAxNy4xOTQgOS4wNDIgMzQuOTk5IDkuNjkgNTIuNzIxLjUwOSAxMy45MDYgMTcuNDU0IDIwLjQ0NiAyNy4yOTQgMTAuNjA2bDM3LjEwNi0zNy4xMDZjNTkuMjcxLTU5LjI1OSA1OS4yNzEtMTU1LjY5OS4wMDEtMjE0Ljk1OXpcIixcbiAgeyBtaXJyb3I6IHRydWUgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBzYXZlID0gY3JlYXRlSWNvbihcbiAgXCJNNDMzLjk0MSAxMjkuOTQxbC04My44ODItODMuODgyQTQ4IDQ4IDAgMCAwIDMxNi4xMTggMzJINDhDMjEuNDkgMzIgMCA1My40OSAwIDgwdjM1MmMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDM1MmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjE2My44ODJhNDggNDggMCAwIDAtMTQuMDU5LTMzLjk0MXpNMjI0IDQxNmMtMzUuMzQ2IDAtNjQtMjguNjU0LTY0LTY0IDAtMzUuMzQ2IDI4LjY1NC02NCA2NC02NHM2NCAyOC42NTQgNjQgNjRjMCAzNS4zNDYtMjguNjU0IDY0LTY0IDY0em05Ni0zMDQuNTJWMjEyYzAgNi42MjctNS4zNzMgMTItMTIgMTJINzZjLTYuNjI3IDAtMTItNS4zNzMtMTItMTJWMTA4YzAtNi42MjcgNS4zNzMtMTIgMTItMTJoMjI4LjUyYzMuMTgzIDAgNi4yMzUgMS4yNjQgOC40ODUgMy41MTVsMy40OCAzLjQ4QTExLjk5NiAxMS45OTYgMCAwIDEgMzIwIDExMS40OHpcIixcbiAgeyB3aWR0aDogNDQ4LCBoZWlnaHQ6IDUxMiB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHNhdmVBcyA9IGNyZWF0ZUljb24oXG4gIFwiTTI1MiA1NEwyMDMgOGEyOCAyNyAwIDAwLTIwLThIMjhDMTIgMCAwIDEyIDAgMjd2MTk1YzAgMTUgMTIgMjYgMjggMjZoMjA0YzE1IDAgMjgtMTEgMjgtMjZWNzNhMjggMjcgMCAwMC04LTE5ek0xMzAgMjEzYy0yMSAwLTM3LTE2LTM3LTM2IDAtMTkgMTYtMzUgMzctMzUgMjAgMCAzNyAxNiAzNyAzNSAwIDIwLTE3IDM2LTM3IDM2em01Ni0xNjl2NTZjMCA0LTQgNi03IDZINDRjLTQgMC03LTItNy02VjQyYzAtNCAzLTcgNy03aDEzM2w0IDIgMyAyYTcgNyAwIDAxMiA1eiBNMjk2IDIwMWw4NyA5NS0xODggMjA1LTc4IDljLTEwIDEtMTktOC0xOC0yMGw5LTg0em0xNDEtMTRsLTQxLTQ0YTMxIDMxIDAgMDAtNDYgMGwtMzggNDEgODcgOTUgMzgtNDJjMTMtMTQgMTMtMzYgMC01MHpcIixcbiAgeyB3aWR0aDogNDQ4LCBoZWlnaHQ6IDUxMiB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IGxvYWQgPSBjcmVhdGVJY29uKFxuICBcIk01NzIuNjk0IDI5Mi4wOTNMNTAwLjI3IDQxNi4yNDhBNjMuOTk3IDYzLjk5NyAwIDAgMSA0NDQuOTg5IDQ0OEg0NS4wMjVjLTE4LjUyMyAwLTMwLjA2NC0yMC4wOTMtMjAuNzMxLTM2LjA5M2w3Mi40MjQtMTI0LjE1NUE2NCA2NCAwIDAgMSAxNTIgMjU2aDM5OS45NjRjMTguNTIzIDAgMzAuMDY0IDIwLjA5MyAyMC43MyAzNi4wOTN6TTE1MiAyMjRoMzI4di00OGMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4SDI3MmwtNjQtNjRINDhDMjEuNDkgNjQgMCA4NS40OSAwIDExMnYyNzguMDQ2bDY5LjA3Ny0xMTguNDE4Qzg2LjIxNCAyNDIuMjUgMTE3Ljk4OSAyMjQgMTUyIDIyNHpcIixcbiAgeyB3aWR0aDogNTc2LCBoZWlnaHQ6IDUxMiwgbWlycm9yOiB0cnVlIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgY2xpcGJvYXJkID0gY3JlYXRlSWNvbihcbiAgXCJNMzg0IDExMnYzNTJjMCAyNi41MS0yMS40OSA0OC00OCA0OEg0OGMtMjYuNTEgMC00OC0yMS40OS00OC00OFYxMTJjMC0yNi41MSAyMS40OS00OCA0OC00OGg4MGMwLTM1LjI5IDI4LjcxLTY0IDY0LTY0czY0IDI4LjcxIDY0IDY0aDgwYzI2LjUxIDAgNDggMjEuNDkgNDggNDh6TTE5MiA0MGMtMTMuMjU1IDAtMjQgMTAuNzQ1LTI0IDI0czEwLjc0NSAyNCAyNCAyNCAyNC0xMC43NDUgMjQtMjQtMTAuNzQ1LTI0LTI0LTI0bTk2IDExNHYtMjBhNiA2IDAgMCAwLTYtNkgxMDJhNiA2IDAgMCAwLTYgNnYyMGE2IDYgMCAwIDAgNiA2aDE4MGE2IDYgMCAwIDAgNi02elwiLFxuICB7IHdpZHRoOiAzODQsIGhlaWdodDogNTEyIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgdHJhc2ggPSBjcmVhdGVJY29uKFxuICBcIk0zMiA0NjRhNDggNDggMCAwIDAgNDggNDhoMjg4YTQ4IDQ4IDAgMCAwIDQ4LTQ4VjEyOEgzMnptMjcyLTI1NmExNiAxNiAwIDAgMSAzMiAwdjIyNGExNiAxNiAwIDAgMS0zMiAwem0tOTYgMGExNiAxNiAwIDAgMSAzMiAwdjIyNGExNiAxNiAwIDAgMS0zMiAwem0tOTYgMGExNiAxNiAwIDAgMSAzMiAwdjIyNGExNiAxNiAwIDAgMS0zMiAwek00MzIgMzJIMzEybC05LjQtMTguN0EyNCAyNCAwIDAgMCAyODEuMSAwSDE2Ni44YTIzLjcyIDIzLjcyIDAgMCAwLTIxLjQgMTMuM0wxMzYgMzJIMTZBMTYgMTYgMCAwIDAgMCA0OHYzMmExNiAxNiAwIDAgMCAxNiAxNmg0MTZhMTYgMTYgMCAwIDAgMTYtMTZWNDhhMTYgMTYgMCAwIDAtMTYtMTZ6XCIsXG5cbiAgeyB3aWR0aDogNDQ4LCBoZWlnaHQ6IDUxMiB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHBhbGV0dGUgPSBjcmVhdGVJY29uKFxuICBcIk0yMDQuMyA1QzEwNC45IDI0LjQgMjQuOCAxMDQuMyA1LjIgMjAzLjRjLTM3IDE4NyAxMzEuNyAzMjYuNCAyNTguOCAzMDYuNyA0MS4yLTYuNCA2MS40LTU0LjYgNDIuNS05MS43LTIzLjEtNDUuNCA5LjktOTguNCA2MC45LTk4LjRoNzkuN2MzNS44IDAgNjQuOC0yOS42IDY0LjktNjUuM0M1MTEuNSA5Ny4xIDM2OC4xLTI2LjkgMjA0LjMgNXpNOTYgMzIwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyIDMyIDE0LjMgMzIgMzItMTQuMyAzMi0zMiAzMnptMzItMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyIDMyIDE0LjMgMzIgMzItMTQuMyAzMi0zMiAzMnptMTI4LTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyIDMyIDE0LjMgMzIgMzItMTQuMyAzMi0zMiAzMnptMTI4IDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyIDMyIDE0LjMgMzIgMzItMTQuMyAzMi0zMiAzMnpcIixcbik7XG5cbmV4cG9ydCBjb25zdCBleHBvcnRGaWxlID0gY3JlYXRlSWNvbihcbiAgXCJNMzg0IDEyMS45YzAtNi4zLTIuNS0xMi40LTctMTYuOUwyNzkuMSA3Yy00LjUtNC41LTEwLjYtNy0xNy03SDI1NnYxMjhoMTI4ek01NzEgMzA4bC05NS43LTk2LjRjLTEwLjEtMTAuMS0yNy40LTMtMjcuNCAxMS4zVjI4OGgtNjR2NjRoNjR2NjUuMmMwIDE0LjMgMTcuMyAyMS40IDI3LjQgMTEuM0w1NzEgMzMyYzYuNi02LjYgNi42LTE3LjQgMC0yNHptLTM3OSAyOHYtMzJjMC04LjggNy4yLTE2IDE2LTE2aDE3NlYxNjBIMjQ4Yy0xMy4yIDAtMjQtMTAuOC0yNC0yNFYwSDI0QzEwLjcgMCAwIDEwLjcgMCAyNHY0NjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMzM2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjM1MkgyMDhjLTguOCAwLTE2LTcuMi0xNi0xNnpcIixcbiAgeyB3aWR0aDogNTc2LCBoZWlnaHQ6IDUxMiwgbWlycm9yOiB0cnVlIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgZXhwb3J0SW1hZ2UgPSBjcmVhdGVJY29uKFxuICA8PlxuICAgIDxwYXRoIGQ9XCJNNTcxIDMwOGwtOTUuNy05Ni40Yy0xMC4xLTEwLjEtMjcuNC0zLTI3LjQgMTEuM1YyODhoLTY0djY0aDY0djY1LjJjMCAxNC4zIDE3LjMgMjEuNCAyNy40IDExLjNMNTcxIDMzMmM2LjYtNi42IDYuNi0xNy40IDAtMjR6bS0xODcgNDR2LTY0IDY0elwiIC8+XG4gICAgPHBhdGggZD1cIk0zODQgMTIxLjk0MVYxMjhIMjU2VjBoNi4wNTljNi4zNjIgMCAxMi40NzEgMi41MyAxNi45NyA3LjAyOWw5Ny45NDEgOTcuOTQxYTI0LjAxIDI0LjAxIDAgMDE3LjAzIDE2Ljk3MXpNMjQ4IDE2MGMtMTMuMiAwLTI0LTEwLjgtMjQtMjRWMEgyNEMxMC43NDUgMCAwIDEwLjc0NSAwIDI0djQ2NGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMzM2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYxNjBIMjQ4em0tMTM1LjQ1NSAxNmMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4cy0yMS40OSA0OC00OCA0OC00OC0yMS40OS00OC00OCAyMS40OTEtNDggNDgtNDh6bTIwOCAyNDBoLTI1NmwuNDg1LTQ4LjQ4NUwxMDQuNTQ1IDMyOGM0LjY4Ni00LjY4NiAxMS43OTktNC4yMDEgMTYuNDg1LjQ4NUwxNjAuNTQ1IDM2OCAyNjQuMDYgMjY0LjQ4NWM0LjY4Ni00LjY4NiAxMi4yODQtNC42ODYgMTYuOTcxIDBMMzIwLjU0NSAzMDR2MTEyelwiIC8+XG4gIDwvPixcbiAgeyB3aWR0aDogNTc2LCBoZWlnaHQ6IDUxMiwgbWlycm9yOiB0cnVlIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgZXhwb3J0VG9GaWxlSWNvbiA9IGNyZWF0ZUljb24oXG4gIFwiTTIxNiAwaDgwYzEzLjMgMCAyNCAxMC43IDI0IDI0djE2OGg4Ny43YzE3LjggMCAyNi43IDIxLjUgMTQuMSAzNC4xTDI2OS43IDM3OC4zYy03LjUgNy41LTE5LjggNy41LTI3LjMgMEw5MC4xIDIyNi4xYy0xMi42LTEyLjYtMy43LTM0LjEgMTQuMS0zNC4xSDE5MlYyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMjk2IDM3NnYxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRIMjRjLTEzLjMgMC0yNC0xMC43LTI0LTI0VjM3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGgxNDYuN2w0OSA0OWMyMC4xIDIwLjEgNTIuNSAyMC4xIDcyLjYgMGw0OS00OUg0ODhjMTMuMyAwIDI0IDEwLjcgMjQgMjR6bS0xMjQgODhjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwIDkgMjAgMjAgMjAgMjAtOSAyMC0yMHptNjQgMGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjAgOSAyMCAyMCAyMCAyMC05IDIwLTIwelwiLFxuICB7IHdpZHRoOiA1MTIsIGhlaWdodDogNTEyIH0sXG4pO1xuXG5leHBvcnQgY29uc3Qgem9vbUluID0gY3JlYXRlSWNvbihcbiAgXCJNNDE2IDIwOEgyNzJWNjRjMC0xNy42Ny0xNC4zMy0zMi0zMi0zMmgtMzJjLTE3LjY3IDAtMzIgMTQuMzMtMzIgMzJ2MTQ0SDMyYy0xNy42NyAwLTMyIDE0LjMzLTMyIDMydjMyYzAgMTcuNjcgMTQuMzMgMzIgMzIgMzJoMTQ0djE0NGMwIDE3LjY3IDE0LjMzIDMyIDMyIDMyaDMyYzE3LjY3IDAgMzItMTQuMzMgMzItMzJWMzA0aDE0NGMxNy42NyAwIDMyLTE0LjMzIDMyLTMydi0zMmMwLTE3LjY3LTE0LjMzLTMyLTMyLTMyelwiLFxuICB7IHdpZHRoOiA0NDgsIGhlaWdodDogNTEyIH0sXG4pO1xuXG5leHBvcnQgY29uc3Qgem9vbU91dCA9IGNyZWF0ZUljb24oXG4gIFwiTTQxNiAyMDhIMzJjLTE3LjY3IDAtMzIgMTQuMzMtMzIgMzJ2MzJjMCAxNy42NyAxNC4zMyAzMiAzMiAzMmgzODRjMTcuNjcgMCAzMi0xNC4zMyAzMi0zMnYtMzJjMC0xNy42Ny0xNC4zMy0zMi0zMi0zMnpcIixcbiAgeyB3aWR0aDogNDQ4LCBoZWlnaHQ6IDUxMiB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IGRvbmUgPSBjcmVhdGVJY29uKFxuICBcIk0xNzMuODk4IDQzOS40MDRsLTE2Ni40LTE2Ni40Yy05Ljk5Ny05Ljk5Ny05Ljk5Ny0yNi4yMDYgMC0zNi4yMDRsMzYuMjAzLTM2LjIwNGM5Ljk5Ny05Ljk5OCAyNi4yMDctOS45OTggMzYuMjA0IDBMMTkyIDMxMi42OSA0MzIuMDk1IDcyLjU5NmM5Ljk5Ny05Ljk5NyAyNi4yMDctOS45OTcgMzYuMjA0IDBsMzYuMjAzIDM2LjIwNGM5Ljk5NyA5Ljk5NyA5Ljk5NyAyNi4yMDYgMCAzNi4yMDRsLTI5NC40IDI5NC40MDFjLTkuOTk4IDkuOTk3LTI2LjIwNyA5Ljk5Ny0zNi4yMDQtLjAwMXpcIixcbik7XG5cbmV4cG9ydCBjb25zdCBtZW51ID0gY3JlYXRlSWNvbihcbiAgXCJNMTYgMTMyaDQxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2Vjc2YzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMTZDNy4xNjMgNjAgMCA2Ny4xNjMgMCA3NnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2em0wIDE2MGg0MTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtNDBjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNmMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2em0wIDE2MGg0MTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNnYtNDBjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNmMtOC44MzcgMC0xNiA3LjE2My0xNiAxNnY0MGMwIDguODM3IDcuMTYzIDE2IDE2IDE2elwiLFxuKTtcblxuZXhwb3J0IGNvbnN0IHVuZG8gPSBjcmVhdGVJY29uKFxuICBcIk0yNTUuNTQ1IDhjLTY2LjI2OS4xMTktMTI2LjQzOCAyNi4yMzMtMTcwLjg2IDY4LjY4NUw0OC45NzEgNDAuOTcxQzMzLjg1MSAyNS44NTEgOCAzNi41NTkgOCA1Ny45NDFWMTkyYzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgxMzQuMDU5YzIxLjM4MiAwIDMyLjA5LTI1Ljg1MSAxNi45NzEtNDAuOTcxbC00MS43NS00MS43NWMzMC44NjQtMjguODk5IDcwLjgwMS00NC45MDcgMTEzLjIzLTQ1LjI3MyA5Mi4zOTgtLjc5OCAxNzAuMjgzIDczLjk3NyAxNjkuNDg0IDE2OS40NDJDNDIzLjIzNiAzNDguMDA5IDM0OS44MTYgNDI0IDI1NiA0MjRjLTQxLjEyNyAwLTc5Ljk5Ny0xNC42NzgtMTEwLjYzLTQxLjU1Ni00Ljc0My00LjE2MS0xMS45MDYtMy45MDgtMTYuMzY4LjU1M0w4OS4zNCA0MjIuNjU5Yy00Ljg3MiA0Ljg3Mi00LjYzMSAxMi44MTUuNDgyIDE3LjQzM0MxMzMuNzk4IDQ3OS44MTMgMTkyLjA3NCA1MDQgMjU2IDUwNGMxMzYuOTY2IDAgMjQ3Ljk5OS0xMTEuMDMzIDI0OC0yNDcuOTk4QzUwNC4wMDEgMTE5LjE5MyAzOTIuMzU0IDcuNzU1IDI1NS41NDUgOHpcIixcbiAgeyBtaXJyb3I6IHRydWUgfSxcbik7XG5cbmV4cG9ydCBjb25zdCByZWRvID0gY3JlYXRlSWNvbihcbiAgXCJNMjU2LjQ1NSA4YzY2LjI2OS4xMTkgMTI2LjQzNyAyNi4yMzMgMTcwLjg1OSA2OC42ODVsMzUuNzE1LTM1LjcxNUM0NzguMTQ5IDI1Ljg1MSA1MDQgMzYuNTU5IDUwNCA1Ny45NDFWMTkyYzAgMTMuMjU1LTEwLjc0NSAyNC0yNCAyNEgzNDUuOTQxYy0yMS4zODIgMC0zMi4wOS0yNS44NTEtMTYuOTcxLTQwLjk3MWw0MS43NS00MS43NWMtMzAuODY0LTI4Ljg5OS03MC44MDEtNDQuOTA3LTExMy4yMy00NS4yNzMtOTIuMzk4LS43OTgtMTcwLjI4MyA3My45NzctMTY5LjQ4NCAxNjkuNDQyQzg4Ljc2NCAzNDguMDA5IDE2Mi4xODQgNDI0IDI1NiA0MjRjNDEuMTI3IDAgNzkuOTk3LTE0LjY3OCAxMTAuNjI5LTQxLjU1NiA0Ljc0My00LjE2MSAxMS45MDYtMy45MDggMTYuMzY4LjU1M2wzOS42NjIgMzkuNjYyYzQuODcyIDQuODcyIDQuNjMxIDEyLjgxNS0uNDgyIDE3LjQzM0MzNzguMjAyIDQ3OS44MTMgMzE5LjkyNiA1MDQgMjU2IDUwNCAxMTkuMDM0IDUwNCA4LjAwMSAzOTIuOTY3IDggMjU2LjAwMiA3Ljk5OSAxMTkuMTkzIDExOS42NDYgNy43NTUgMjU2LjQ1NSA4elwiLFxuICB7IG1pcnJvcjogdHJ1ZSB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHF1ZXN0aW9uQ2lyY2xlID0gY3JlYXRlSWNvbihcbiAgXCJNNTA0IDI1NmMwIDEzNi45OTctMTExLjA0MyAyNDgtMjQ4IDI0OFM4IDM5Mi45OTcgOCAyNTZDOCAxMTkuMDgzIDExOS4wNDMgOCAyNTYgOHMyNDggMTExLjA4MyAyNDggMjQ4ek0yNjIuNjU1IDkwYy01NC40OTcgMC04OS4yNTUgMjIuOTU3LTExNi41NDkgNjMuNzU4LTMuNTM2IDUuMjg2LTIuMzUzIDEyLjQxNSAyLjcxNSAxNi4yNThsMzQuNjk5IDI2LjMxYzUuMjA1IDMuOTQ3IDEyLjYyMSAzLjAwOCAxNi42NjUtMi4xMjIgMTcuODY0LTIyLjY1OCAzMC4xMTMtMzUuNzk3IDU3LjMwMy0zNS43OTcgMjAuNDI5IDAgNDUuNjk4IDEzLjE0OCA0NS42OTggMzIuOTU4IDAgMTQuOTc2LTEyLjM2MyAyMi42NjctMzIuNTM0IDMzLjk3NkMyNDcuMTI4IDIzOC41MjggMjE2IDI1NC45NDEgMjE2IDI5NnY0YzAgNi42MjcgNS4zNzMgMTIgMTIgMTJoNTZjNi42MjcgMCAxMi01LjM3MyAxMi0xMnYtMS4zMzNjMC0yOC40NjIgODMuMTg2LTI5LjY0NyA4My4xODYtMTA2LjY2NyAwLTU4LjAwMi02MC4xNjUtMTAyLTExNi41MzEtMTAyek0yNTYgMzM4Yy0yNS4zNjUgMC00NiAyMC42MzUtNDYgNDYgMCAyNS4zNjQgMjAuNjM1IDQ2IDQ2IDQ2czQ2LTIwLjYzNiA0Ni00NmMwLTI1LjM2NS0yMC42MzUtNDYtNDYtNDZ6XCIsXG4gIHsgbWlycm9yOiB0cnVlIH0sXG4pO1xuXG5leHBvcnQgY29uc3Qgc2hhcmUgPSBjcmVhdGVJY29uKFxuICBcIk0xOCAxNi4wOGMtLjc2IDAtMS40NC4zLTEuOTYuNzdMOC45MSAxMi43Yy4wNS0uMjMuMDktLjQ2LjA5LS43cy0uMDQtLjQ3LS4wOS0uN2w3LjA1LTQuMTFjLjU0LjUgMS4yNS44MSAyLjA0LjgxIDEuNjYgMCAzLTEuMzQgMy0zcy0xLjM0LTMtMy0zLTMgMS4zNC0zIDNjMCAuMjQuMDQuNDcuMDkuN0w4LjA0IDkuODFDNy41IDkuMzEgNi43OSA5IDYgOWMtMS42NiAwLTMgMS4zNC0zIDNzMS4zNCAzIDMgM2MuNzkgMCAxLjUtLjMxIDIuMDQtLjgxbDcuMTIgNC4xNmMtLjA1LjIxLS4wOC40My0uMDguNjUgMCAxLjYxIDEuMzEgMi45MiAyLjkyIDIuOTIgMS42MSAwIDIuOTItMS4zMSAyLjkyLTIuOTJzLTEuMzEtMi45Mi0yLjkyLTIuOTJ6XCIsXG4gIHsgd2lkdGg6IDI0LCBoZWlnaHQ6IDI0IH0sXG4pO1xuXG5leHBvcnQgY29uc3Qgc2hhcmVJT1MgPSBjcmVhdGVJY29uKFxuICBcIk0xNiA1bC0xLjQyIDEuNDItMS41OS0xLjU5VjE2aC0xLjk4VjQuODNMOS40MiA2LjQyIDggNWw0LTQgNCA0em00IDV2MTFjMCAxLjEtLjkgMi0yIDJINmMtMS4xMSAwLTItLjktMi0yVjEwYzAtMS4xMS44OS0yIDItMmgzdjJINnYxMWgxMlYxMGgtM1Y4aDNjMS4xIDAgMiAuODkgMiAyelwiLFxuICB7IHdpZHRoOiAyNCwgaGVpZ2h0OiAyNCB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHNoYXJlV2luZG93cyA9IGNyZWF0ZUljb24oXG4gIDw+XG4gICAgPHBhdGhcbiAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgIGQ9XCJNNDAgNS42djYuMWwtNC4xLjdjLTguOSAxLjQtMTYuNSA2LjktMjAuNiAxNUMxMyAzMiAxMC45IDQzIDEyLjQgNDNjLjQgMCAyLjQtMS4zIDQuNC0zIDUtMy45IDEyLjEtNyAxOC4yLTcuN2w1LS42djEyLjhsMTEuMi0xMS4zTDYyLjUgMjIgNTEuMiAxMC44IDQwLS41djYuMXptMTAuMiAyMi42TDQ0IDM0LjV2LTYuOGwtNi45LjZjLTMuOS4zLTkuOCAxLjctMTMuMiAzLjEtMy41IDEuNC02LjUgMi40LTYuNyAyLjItLjktMSAzLTcuNSA2LjQtMTAuOEMyOCAxOC42IDM0LjQgMTYgNDAuMSAxNmMzLjcgMCAzLjktLjEgMy45LTMuMlY5LjVsNi4yIDYuMyA2LjMgNi4yLTYuMyA2LjJ6XCJcbiAgICAvPlxuICAgIDxwYXRoXG4gICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICBkPVwiTTAgMzZ2MjBoNDh2LTYuMmMwLTYgMC02LjEtMi00LjMtMS4xIDEtMiAyLjktMiA0LjJWNTJINFYzNGMwLTE3LjMtLjEtMTgtMi0xOHMtMiAuNy0yIDIwelwiXG4gICAgLz5cbiAgPC8+LFxuICB7IHdpZHRoOiA2NCwgaGVpZ2h0OiA2NCB9LFxuKTtcblxuLy8gSWNvbiBpbXBvcnRlZCBmb3JtIFN0b3J5Ym9va1xuLy8gU3Rvcnlib29rIGlzIGxpY2Vuc2VkIHVuZGVyIE1JVCBodHRwczovL2dpdGh1Yi5jb20vc3Rvcnlib29ranMvc3Rvcnlib29rL2Jsb2IvbmV4dC9MSUNFTlNFXG5leHBvcnQgY29uc3QgcmVzZXRab29tID0gY3JlYXRlSWNvbihcbiAgPHBhdGhcbiAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgIHN0cm9rZVdpZHRoPVwiNDBcIlxuICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgIGQ9XCJNMTQ4IDU2MGEzMTggMzE4IDAgMCAwIDUyMiAxMTAgMzE2IDMxNiAwIDAgMCAwLTQ1MCAzMTYgMzE2IDAgMCAwLTQ1MCAwYy0xMSAxMS0yMSAyMi0zMCAzNHY0aDQ3YzI1IDAgNDYgMjEgNDYgNDZzLTIxIDQ1LTQ2IDQ1SDkwYy0xMyAwLTI1LTYtMzMtMTQtOS05LTE0LTIwLTE0LTMzVjE1NmMwLTI1IDIwLTQ1IDQ1LTQ1czQ1IDIwIDQ1IDQ1djMybDEgMWE0MDEgNDAxIDAgMCAxIDYyMyA1MDlsMjEyIDIxMmE0MiA0MiAwIDAgMS01OSA1OUw2OTggNzU3QTQwMSA0MDEgMCAwIDEgNjUgNTcwYTQyIDQyIDAgMCAxIDgzLTEwelwiXG4gIC8+LFxuICB7IHdpZHRoOiAxMDI0IH0sXG4pO1xuXG5leHBvcnQgY29uc3QgQnJpbmdGb3J3YXJkSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8PlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0yMiA5LjU1NkMyMiA4LjY5NiAyMS4zMDMgOCAyMC40NDQgOEgxNnY4SDh2NC40NDRDOCAyMS4zMDQgOC42OTcgMjIgOS41NTYgMjJoMTAuODg4Yy44NiAwIDEuNTU2LS42OTcgMS41NTYtMS41NTZWOS41NTZ6XCJcbiAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xNiAzLjU1NkMxNiAyLjY5NiAxNS4zMDMgMiAxNC40NDQgMkgzLjU1NkMyLjY5NiAyIDIgMi42OTcgMiAzLjU1NnYxMC44ODhDMiAxNS4zMDQgMi42OTcgMTYgMy41NTYgMTZoMTAuODg4Yy44NiAwIDEuNTU2LS42OTcgMS41NTYtMS41NTZWMy41NTZ6XCJcbiAgICAgICAgZmlsbD17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICA8Lz4sXG4gICAgeyB3aWR0aDogMjQsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFNlbmRCYWNrd2FyZEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPD5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTYgMy41NTZDMTYgMi42OTYgMTUuMzAzIDIgMTQuNDQ0IDJIMy41NTZDMi42OTYgMiAyIDIuNjk3IDIgMy41NTZ2MTAuODg4QzIgMTUuMzA0IDIuNjk3IDE2IDMuNTU2IDE2aDEwLjg4OGMuODYgMCAxLjU1Ni0uNjk3IDEuNTU2LTEuNTU2VjMuNTU2elwiXG4gICAgICAgIGZpbGw9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZT17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTIyIDkuNTU2QzIyIDguNjk2IDIxLjMwMyA4IDIwLjQ0NCA4SDkuNTU2QzguNjk2IDggOCA4LjY5NyA4IDkuNTU2djEwLjg4OEM4IDIxLjMwNCA4LjY5NyAyMiA5LjU1NiAyMmgxMC44ODhjLjg2IDAgMS41NTYtLjY5NyAxLjU1Ni0xLjU1NlY5LjU1NnpcIlxuICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgPC8+LFxuICAgIHsgd2lkdGg6IDI0LCBtaXJyb3I6IHRydWUgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBCcmluZ1RvRnJvbnRJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDw+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTEzIDIxYTEgMSAwIDAwMSAxaDdhMSAxIDAgMDAxLTF2LTdhMSAxIDAgMDAtMS0xaC0zdjVoLTV2M3pNMTEgM2ExIDEgMCAwMC0xLTFIM2ExIDEgMCAwMC0xIDF2N2ExIDEgMCAwMDEgMWgzVjZoNVYzelwiXG4gICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTggNy4zMzNDMTggNi41OTcgMTcuNDAzIDYgMTYuNjY3IDZINy4zMzNDNi41OTcgNiA2IDYuNTk3IDYgNy4zMzN2OS4zMzRDNiAxNy40MDMgNi41OTcgMTggNy4zMzMgMThoOS4zMzRjLjczNiAwIDEuMzMzLS41OTcgMS4zMzMtMS4zMzNWNy4zMzN6XCJcbiAgICAgICAgZmlsbD17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICA8Lz4sXG4gICAgeyB3aWR0aDogMjQsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFNlbmRUb0JhY2tJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDw+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTE4IDcuMzMzQzE4IDYuNTk3IDE3LjQwMyA2IDE2LjY2NyA2SDcuMzMzQzYuNTk3IDYgNiA2LjU5NyA2IDcuMzMzdjkuMzM0QzYgMTcuNDAzIDYuNTk3IDE4IDcuMzMzIDE4aDkuMzM0Yy43MzYgMCAxLjMzMy0uNTk3IDEuMzMzLTEuMzMzVjcuMzMzelwiXG4gICAgICAgIGZpbGw9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZT17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTExIDNhMSAxIDAgMDAtMS0xSDNhMSAxIDAgMDAtMSAxdjdhMSAxIDAgMDAxIDFoOFYzek0yMiAxNGExIDEgMCAwMC0xLTFoLTdhMSAxIDAgMDAtMSAxdjdhMSAxIDAgMDAxIDFoOHYtOHpcIlxuICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgPC8+LFxuICAgIHsgd2lkdGg6IDI0LCBtaXJyb3I6IHRydWUgfSxcbiAgKSxcbik7XG5cbi8vXG4vLyBBbGlnbiBhY3Rpb24gaWNvbnMgY3JlYXRlZCBmcm9tIHNjcmF0Y2ggdG8gbWF0Y2ggdGhvc2Ugb2Ygei1pbmRleCBhY3Rpb25zXG4vLyBOb3RlOiB2ZXJ0aWNhbCBhbGlnbiBpY29ucyBhcmUgZmxpcHBlZCBzbyB0aGUgbGFyZ2VyIGl0ZW0gaXMgYWx3YXlzIHRoZVxuLy8gZmlyc3Qgb25lIHRoZSB1c2VyIHNlZXMuIEhvcml6b250YWwgYWxpZ24gaWNvbnMgc2hvdWxkIG5vdCBiZSBmbGlwcGVkIHNpbmNlXG4vLyB0aGF0IHdvdWxkIG1ha2UgdGhlbSBsaWUgYWJvdXQgdGhlaXIgZnVuY3Rpb24uXG4vL1xuZXhwb3J0IGNvbnN0IEFsaWduVG9wSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8PlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0gMiw1IEggMjJcIlxuICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTSA2LDcgQyA1LjQ0Niw3IDUsNy40NDYgNSw4IHYgOS45OTk5OTIgYyAwLDAuNTU0IDAuNDQ2LDEgMSwxIGggMy4wMDAwMDAxIGMgMC41NTQsMCAwLjk5OTk5OTksLTAuNDQ2IDAuOTk5OTk5OSwtMSBWIDggQyAxMCw3LjQ0NiA5LjU1NDAwMDEsNyA5LjAwMDAwMDEsNyBaIG0gOSwwIGMgLTAuNTU0LDAgLTEsMC40NDYgLTEsMSB2IDUuOTk5OTkyIGMgMCwwLjU1NCAwLjQ0NiwxIDEsMSBoIDMgYyAwLjU1NCwwIDEsLTAuNDQ2IDEsLTEgViA4IEMgMTksNy40NDYgMTguNTU0LDcgMTgsNyBaXCJcbiAgICAgICAgZmlsbD17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICA8Lz4sXG4gICAgeyB3aWR0aDogMjQsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEFsaWduQm90dG9tSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8PlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0gMiwxOSBIIDIyXCJcbiAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIm0gNiwxNi45OTk5OTIgYyAtMC41NTQsMCAtMSwtMC40NDYgLTEsLTEgViA2IEMgNSw1LjQ0NiA1LjQ0Niw1IDYsNSBIIDkuMDAwMDAwMSBDIDkuNTU0MDAwMSw1IDEwLDUuNDQ2IDEwLDYgdiA5Ljk5OTk5MiBjIDAsMC41NTQgLTAuNDQ1OTk5OSwxIC0wLjk5OTk5OTksMSB6IG0gOSwwIGMgLTAuNTU0LDAgLTEsLTAuNDQ2IC0xLC0xIFYgMTAgYyAwLC0wLjU1NCAwLjQ0NiwtMSAxLC0xIGggMyBjIDAuNTU0LDAgMSwwLjQ0NiAxLDEgdiA1Ljk5OTk5MiBjIDAsMC41NTQgLTAuNDQ2LDEgLTEsMSB6XCJcbiAgICAgICAgZmlsbD17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICA8Lz4sXG4gICAgeyB3aWR0aDogMjQsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEFsaWduTGVmdEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPD5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNIDUsMiBWIDIyXCJcbiAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIm0gNy4wMDAwMDQsNS45OTk5OTYgYyAwLC0wLjU1NCAwLjQ0NiwtMSAxLC0xIGggOS45OTk5OTIgYyAwLjU1NCwwIDEsMC40NDYgMSwxIHYgMy4wMDAwMDAxIGMgMCwwLjU1NCAtMC40NDYsMC45OTk5OTk5IC0xLDAuOTk5OTk5OSBIIDguMDAwMDA0IGMgLTAuNTU0LDAgLTEsLTAuNDQ1OTk5OSAtMSwtMC45OTk5OTk5IHogbSAwLDkgYyAwLC0wLjU1NCAwLjQ0NiwtMSAxLC0xIGggNS45OTk5OTIgYyAwLjU1NCwwIDEsMC40NDYgMSwxIHYgMyBjIDAsMC41NTQgLTAuNDQ2LDEgLTEsMSBIIDguMDAwMDA0IGMgLTAuNTU0LDAgLTEsLTAuNDQ2IC0xLC0xIHpcIlxuICAgICAgICBmaWxsPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgIDwvPixcbiAgICB7IHdpZHRoOiAyNCB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEFsaWduUmlnaHRJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDw+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTSAxOSwyIFYgMjJcIlxuICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwibSAxNi45OTk5OTYsNS45OTk5OTYgYyAwLC0wLjU1NCAtMC40NDYsLTEgLTEsLTEgSCA2LjAwMDAwNCBjIC0wLjU1NCwwIC0xLDAuNDQ2IC0xLDEgdiAzLjAwMDAwMDEgYyAwLDAuNTU0IDAuNDQ2LDAuOTk5OTk5OSAxLDAuOTk5OTk5OSBoIDkuOTk5OTkyIGMgMC41NTQsMCAxLC0wLjQ0NTk5OTkgMSwtMC45OTk5OTk5IHogbSAwLDkgYyAwLC0wLjU1NCAtMC40NDYsLTEgLTEsLTEgaCAtNS45OTk5OTIgYyAtMC41NTQsMCAtMSwwLjQ0NiAtMSwxIHYgMyBjIDAsMC41NTQgMC40NDYsMSAxLDEgaCA1Ljk5OTk5MiBjIDAuNTU0LDAgMSwtMC40NDYgMSwtMSB6XCJcbiAgICAgICAgZmlsbD17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICA8Lz4sXG4gICAgeyB3aWR0aDogMjQgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBEaXN0cmlidXRlSG9yaXpvbnRhbGx5SWNvbiA9IFJlYWN0Lm1lbW8oXG4gICh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gICAgY3JlYXRlSWNvbihcbiAgICAgIDw+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xOSA1VjE5TTUgNVYxOVwiXG4gICAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xNSA5QzE1LjU1NCA5IDE2IDkuNDQ2IDE2IDEwVjE0QzE2IDE0LjU1NCAxNS41NTQgMTUgMTUgMTVIOUM4LjQ0NiAxNSA4IDE0LjU1NCA4IDE0VjEwQzggOS40NDYgOC40NDYgOSA5IDlIMTVaXCJcbiAgICAgICAgICBmaWxsPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICAgIHN0cm9rZT17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICAvPlxuICAgICAgPC8+LFxuICAgICAgeyB3aWR0aDogMjQgfSxcbiAgICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IERpc3RyaWJ1dGVWZXJ0aWNhbGx5SWNvbiA9IFJlYWN0Lm1lbW8oXG4gICh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gICAgY3JlYXRlSWNvbihcbiAgICAgIDw+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk01IDVMMTkgNU01IDE5SDE5XCJcbiAgICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE1IDlDMTUuNTU0IDkgMTYgOS40NDYgMTYgMTBWMTRDMTYgMTQuNTU0IDE1LjU1NCAxNSAxNSAxNUg5QzguNDQ2IDE1IDggMTQuNTU0IDggMTRWMTBDOCA5LjQ0NiA4LjQ0NiA5IDkgOUgxNVpcIlxuICAgICAgICAgIGZpbGw9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgICAgc3Ryb2tlPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIC8+XG4gICAgICA8Lz4sXG4gICAgICB7IHdpZHRoOiAyNCB9LFxuICAgICksXG4pO1xuXG5leHBvcnQgY29uc3QgQ2VudGVyVmVydGljYWxseUljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPD5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJtIDUuMDAwMDA0LDE2Ljk5OTk5NiBjIDAsMC41NTQgMC40NDYsMSAxLDEgaCAzIGMgMC41NTQsMCAxLC0wLjQ0NiAxLC0xIHYgLTEwIGMgMCwtMC41NTQgLTAuNDQ2LC0xIC0xLC0xIGggLTMgYyAtMC41NTQsMCAtMSwwLjQ0NiAtMSwxIHogbSA5LC0yIGMgMCwwLjU1NCAwLjQ0NiwxIDEsMSBoIDMgYyAwLjU1NCwwIDEsLTAuNDQ2IDEsLTEgdiAtNiBjIDAsLTAuNTU0IC0wLjQ0NiwtMSAtMSwtMSBoIC0zIGMgLTAuNTU0LDAgLTEsMC40NDYgLTEsMSB6XCJcbiAgICAgICAgZmlsbD17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNIDIsMTIgSCAyMlwiXG4gICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VEYXNoYXJyYXk9XCIxLCAyLjhcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8Lz4sXG4gICAgeyB3aWR0aDogMjQsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IENlbnRlckhvcml6b250YWxseUljb24gPSBSZWFjdC5tZW1vKFxuICAoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICAgIGNyZWF0ZUljb24oXG4gICAgICA8PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNIDcgNSBDIDYuNDQ2IDUgNiA1LjQ0NiA2IDYgTCA2IDkgQyA2IDkuNTU0IDYuNDQ2IDEwIDcgMTAgTCAxNyAxMCBDIDE3LjU1NCAxMCAxOCA5LjU1NCAxOCA5IEwgMTggNiBDIDE4IDUuNDQ2IDE3LjU1NCA1IDE3IDUgTCA3IDUgeiBNIDkgMTQgQyA4LjQ0NiAxNCA4IDE0LjQ0NiA4IDE1IEwgOCAxOCBDIDggMTguNTU0IDguNDQ2IDE5IDkgMTkgTCAxNSAxOSBDIDE1LjU1NCAxOSAxNiAxOC41NTQgMTYgMTggTCAxNiAxNSBDIDE2IDE0LjQ0NiAxNS41NTQgMTQgMTUgMTQgTCA5IDE0IHogXCJcbiAgICAgICAgICBmaWxsPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICAgIHN0cm9rZT17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNIDEyLDIgViAyMlwiXG4gICAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICAgIHN0cm9rZURhc2hhcnJheT1cIjEsIDIuOFwiXG4gICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgIDwvPixcbiAgICAgIHsgd2lkdGg6IDI0IH0sXG4gICAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCB1c2VycyA9IGNyZWF0ZUljb24oXG4gIFwiTTE5MiAyNTZjNjEuOSAwIDExMi01MC4xIDExMi0xMTJTMjUzLjkgMzIgMTkyIDMyIDgwIDgyLjEgODAgMTQ0czUwLjEgMTEyIDExMiAxMTJ6bTc2LjggMzJoLTguM2MtMjAuOCAxMC00My45IDE2LTY4LjUgMTZzLTQ3LjYtNi02OC41LTE2aC04LjNDNTEuNiAyODggMCAzMzkuNiAwIDQwMy4yVjQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgyODhjMjYuNSAwIDQ4LTIxLjUgNDgtNDh2LTI4LjhjMC02My42LTUxLjYtMTE1LjItMTE1LjItMTE1LjJ6TTQ4MCAyNTZjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTYtOTYgNDMtOTYgOTYgNDMgOTYgOTYgOTZ6bTQ4IDMyaC0zLjhjLTEzLjkgNC44LTI4LjYgOC00NC4yIDhzLTMwLjMtMy4yLTQ0LjItOEg0MzJjLTIwLjQgMC0zOS4yIDUuOS01NS43IDE1LjQgMjQuNCAyNi4zIDM5LjcgNjEuMiAzOS43IDk5Ljh2MzguNGMwIDIuMi0uNSA0LjMtLjYgNi40SDU5MmMyNi41IDAgNDgtMjEuNSA0OC00OCAwLTYxLjktNTAuMS0xMTItMTEyLTExMnpcIixcbiAgeyB3aWR0aDogNjQwLCBoZWlnaHQ6IDUxMiwgbWlycm9yOiB0cnVlIH0sXG4pO1xuXG4vLyBub3QgbWlycm9yZWQgYmVjYXVzZSBpdCdzIGluc3BpcmVkIGJ5IGEgcGxheWJhY2sgY29udHJvbCwgd2hpY2ggaXMgYWx3YXlzIFJUTFxuZXhwb3J0IGNvbnN0IHN0YXJ0ID0gY3JlYXRlSWNvbihcbiAgXCJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptMTE1LjcgMjcybC0xNzYgMTAxYy0xNS44IDguOC0zNS43LTIuNS0zNS43LTIxVjE1MmMwLTE4LjQgMTkuOC0yOS44IDM1LjctMjFsMTc2IDEwN2MxNi40IDkuMiAxNi40IDMyLjkgMCA0MnpcIixcbik7XG5cbmV4cG9ydCBjb25zdCBzdG9wID0gY3JlYXRlSWNvbihcbiAgXCJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYwelwiLFxuKTtcblxuZXhwb3J0IGNvbnN0IGNsb3NlID0gY3JlYXRlSWNvbihcbiAgXCJNMjQyLjcyIDI1NmwxMDAuMDctMTAwLjA3YzEyLjI4LTEyLjI4IDEyLjI4LTMyLjE5IDAtNDQuNDhsLTIyLjI0LTIyLjI0Yy0xMi4yOC0xMi4yOC0zMi4xOS0xMi4yOC00NC40OCAwTDE3NiAxODkuMjggNzUuOTMgODkuMjFjLTEyLjI4LTEyLjI4LTMyLjE5LTEyLjI4LTQ0LjQ4IDBMOS4yMSAxMTEuNDVjLTEyLjI4IDEyLjI4LTEyLjI4IDMyLjE5IDAgNDQuNDhMMTA5LjI4IDI1NiA5LjIxIDM1Ni4wN2MtMTIuMjggMTIuMjgtMTIuMjggMzIuMTkgMCA0NC40OGwyMi4yNCAyMi4yNGMxMi4yOCAxMi4yOCAzMi4yIDEyLjI4IDQ0LjQ4IDBMMTc2IDMyMi43MmwxMDAuMDcgMTAwLjA3YzEyLjI4IDEyLjI4IDMyLjIgMTIuMjggNDQuNDggMGwyMi4yNC0yMi4yNGMxMi4yOC0xMi4yOCAxMi4yOC0zMi4xOSAwLTQ0LjQ4TDI0Mi43MiAyNTZ6XCIsXG4gIHsgd2lkdGg6IDM1MiwgaGVpZ2h0OiA1MTIgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBiYWNrID0gY3JlYXRlSWNvbihcbiAgXCJNMzQuNTIgMjM5LjAzTDIyOC44NyA0NC42OWM5LjM3LTkuMzcgMjQuNTctOS4zNyAzMy45NCAwbDIyLjY3IDIyLjY3YzkuMzYgOS4zNiA5LjM3IDI0LjUyLjA0IDMzLjlMMTMxLjQ5IDI1NmwxNTQuMDIgMTU0Ljc1YzkuMzQgOS4zOCA5LjMyIDI0LjU0LS4wNCAzMy45bC0yMi42NyAyMi42N2MtOS4zNyA5LjM3LTI0LjU3IDkuMzctMzMuOTQgMEwzNC41MiAyNzIuOTdjLTkuMzctOS4zNy05LjM3LTI0LjU3IDAtMzMuOTR6XCIsXG4gIHsgd2lkdGg6IDMyMCwgaGVpZ2h0OiA1MTIsIHN0eWxlOiB7IG1hcmdpbkxlZnQ6IFwiLTAuMnJlbVwiIH0sIG1pcnJvcjogdHJ1ZSB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IGNsb25lID0gY3JlYXRlSWNvbihcbiAgXCJNNDY0IDBjMjYuNTEgMCA0OCAyMS40OSA0OCA0OHYyODhjMCAyNi41MS0yMS40OSA0OC00OCA0OEgxNzZjLTI2LjUxIDAtNDgtMjEuNDktNDgtNDhWNDhjMC0yNi41MSAyMS40OS00OCA0OC00OGgyODhNMTc2IDQxNmMtNDQuMTEyIDAtODAtMzUuODg4LTgwLTgwVjEyOEg0OGMtMjYuNTEgMC00OCAyMS40OS00OCA0OHYyODhjMCAyNi41MSAyMS40OSA0OCA0OCA0OGgyODhjMjYuNTEgMCA0OC0yMS40OSA0OC00OHYtNDhIMTc2elwiLFxuICB7IG1pcnJvcjogdHJ1ZSB9LFxuKTtcblxuLy8gbW9kaWZpZWQgaHR0cHM6Ly9mZWF0aGVyaWNvbnMuY29tLz9xdWVyeT1zaGllbGRcbmV4cG9ydCBjb25zdCBzaGllbGQgPSBjcmVhdGVJY29uKFxuICBcIk0xMS41NTMgMjIuODk0YS45OTguOTk4IDAgMDAuODk0IDBzMy4wMzctMS41MTYgNS40NjUtNC4wOTdDMTkuNjE2IDE2Ljk4NyAyMSAxNC42NjMgMjEgMTJWNWExIDEgMCAwMC0uNjQ5LS45MzZsLTgtM2EuOTk4Ljk5OCAwIDAwLS43MDIgMGwtOCAzQTEgMSAwIDAwMyA1djdjMCAyLjY2MyAxLjM4NCA0Ljk4NyAzLjA4OCA2Ljc5NyAyLjQyOCAyLjU4MSA1LjQ2NSA0LjA5NyA1LjQ2NSA0LjA5N3ptLTEuMzAzLTguNDgxbDYuNjQ0LTYuNjQ0YS44NTYuODU2IDAgMTExLjIxMiAxLjIxMmwtNy4yNSA3LjI1YS44NTYuODU2IDAgMDEtMS4yMTIgMGwtMy43NS0zLjc1YS44NTYuODU2IDAgMTExLjIxMi0xLjIxMmwzLjE0NCAzLjE0NHpcIixcbiAgeyB3aWR0aDogMjQgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBmaWxlID0gY3JlYXRlSWNvbihcbiAgXCJNMzY5LjkgOTcuOUwyODYgMTRDMjc3IDUgMjY0LjgtLjEgMjUyLjEtLjFINDhDMjEuNSAwIDAgMjEuNSAwIDQ4djQxNmMwIDI2LjUgMjEuNSA0OCA0OCA0OGgyODhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhWMTMxLjljMC0xMi43LTUuMS0yNS0xNC4xLTM0ek0zMzIuMSAxMjhIMjU2VjUxLjlsNzYuMSA3Ni4xek00OCA0NjRWNDhoMTYwdjEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgxMDR2Mjg4SDQ4em0zMi00OGgyMjRWMjg4bC0yMy41LTIzLjVjLTQuNy00LjctMTIuMy00LjctMTcgMEwxNzYgMzUybC0zOS41LTM5LjVjLTQuNy00LjctMTIuMy00LjctMTcgMEw4MCAzNTJ2NjR6bTQ4LTI0MGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OCA0OC0yMS41IDQ4LTQ4LTIxLjUtNDgtNDgtNDh6XCIsXG4gIHsgd2lkdGg6IDM4NCwgaGVpZ2h0OiA1MTIgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBHcm91cEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPD5cbiAgICAgIDxwYXRoIGQ9XCJNMjUgMjZIMTExVjExMUgyNVwiIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfSAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0yNSAxMTFDMjUgODAuMjA2OCAyNSA0OS40MTM1IDI1IDI2TTI1IDI2QzQ4LjYxNzQgMjYgNzIuMjM0OCAyNiAxMTEgMjZIMjVaTTI1IDI2QzUzLjM2NzEgMjYgODEuNzM0MyAyNiAxMTEgMjZIMjVaTTExMSAyNkMxMTEgNTIuMzAzIDExMSA3OC42MDYgMTExIDExMVYyNlpNMTExIDI2QzExMSA1MS4yOTQ3IDExMSA3Ni41ODkzIDExMSAxMTFWMjZaTTExMSAxMTFDODcuMDc5MiAxMTEgNjMuMTU4NSAxMTEgMjUgMTExSDExMVpNMTExIDExMUM4Ny40NjQ2IDExMSA2My45MjkzIDExMSAyNSAxMTFIMTExWk0yNSAxMTFDMjUgODEuMTUxNCAyNSA1MS4zMDI4IDI1IDI2VjExMVpcIlxuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoIGQ9XCJNMTAwIDEwMEgxNjBWMTYwSDEwMFwiIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfSAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xMDAgMTYwQzEwMCAxNDQuMTA2IDEwMCAxMjguMjExIDEwMCAxMDBNMTAwIDEwMEMxMTcuNzA2IDEwMCAxMzUuNDEyIDEwMCAxNjAgMTAwSDEwMFpNMTAwIDEwMEMxMTQuMjE0IDEwMCAxMjguNDI4IDEwMCAxNjAgMTAwSDEwMFpNMTYwIDEwMEMxNjAgMTIwLjE4NCAxNjAgMTQwLjM2OSAxNjAgMTYwVjEwMFpNMTYwIDEwMEMxNjAgMTEzLjIxOSAxNjAgMTI2LjQzNyAxNjAgMTYwVjEwMFpNMTYwIDE2MEMxNDUuNTM0IDE2MCAxMzEuMDY4IDE2MCAxMDAgMTYwSDE2MFpNMTYwIDE2MEMxNDMuNDY3IDE2MCAxMjYuOTM0IDE2MCAxMDAgMTYwSDE2MFpNMTAwIDE2MEMxMDAgMTQzLjY2MSAxMDAgMTI3LjMyMSAxMDAgMTAwVjE2MFpcIlxuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxnXG4gICAgICAgIGZpbGw9e2hhbmRsZXJDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiNlwiXG4gICAgICA+XG4gICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMi41XCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxNDkuNVwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICAgIDxyZWN0IHg9XCIxNDcuNVwiIHk9XCIxNDkuNVwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICAgIDxyZWN0IHg9XCIxNDcuNVwiIHk9XCIyLjVcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiAvPlxuICAgICAgPC9nPlxuICAgIDwvPixcbiAgICB7IHdpZHRoOiAxODIsIGhlaWdodDogMTgyLCBtaXJyb3I6IHRydWUgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBVbmdyb3VwSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8PlxuICAgICAgPHBhdGggZD1cIk0yNSAyNkgxMTFWMTExSDI1XCIgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9IC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTI1IDExMUMyNSA4MC4yMDY4IDI1IDQ5LjQxMzUgMjUgMjZNMjUgMjZDNDguNjE3NCAyNiA3Mi4yMzQ4IDI2IDExMSAyNkgyNVpNMjUgMjZDNTMuMzY3MSAyNiA4MS43MzQzIDI2IDExMSAyNkgyNVpNMTExIDI2QzExMSA1Mi4zMDMgMTExIDc4LjYwNiAxMTEgMTExVjI2Wk0xMTEgMjZDMTExIDUxLjI5NDcgMTExIDc2LjU4OTMgMTExIDExMVYyNlpNMTExIDExMUM4Ny4wNzkyIDExMSA2My4xNTg1IDExMSAyNSAxMTFIMTExWk0xMTEgMTExQzg3LjQ2NDYgMTExIDYzLjkyOTMgMTExIDI1IDExMUgxMTFaTTI1IDExMUMyNSA4MS4xNTE0IDI1IDUxLjMwMjggMjUgMjZWMTExWlwiXG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGggZD1cIk0xMDAgMTAwSDE2MFYxNjBIMTAwXCIgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9IC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTEwMCAxNjBDMTAwIDE0NC4xMDYgMTAwIDEyOC4yMTEgMTAwIDEwME0xMDAgMTAwQzExNy43MDYgMTAwIDEzNS40MTIgMTAwIDE2MCAxMDBIMTAwWk0xMDAgMTAwQzExNC4yMTQgMTAwIDEyOC40MjggMTAwIDE2MCAxMDBIMTAwWk0xNjAgMTAwQzE2MCAxMjAuMTg0IDE2MCAxNDAuMzY5IDE2MCAxNjBWMTAwWk0xNjAgMTAwQzE2MCAxMTMuMjE5IDE2MCAxMjYuNDM3IDE2MCAxNjBWMTAwWk0xNjAgMTYwQzE0NS41MzQgMTYwIDEzMS4wNjggMTYwIDEwMCAxNjBIMTYwWk0xNjAgMTYwQzE0My40NjcgMTYwIDEyNi45MzQgMTYwIDEwMCAxNjBIMTYwWk0xMDAgMTYwQzEwMCAxNDMuNjYxIDEwMCAxMjcuMzIxIDEwMCAxMDBWMTYwWlwiXG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPGdcbiAgICAgICAgZmlsbD17aGFuZGxlckNvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCI2XCJcbiAgICAgID5cbiAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIyLjVcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiAvPlxuICAgICAgICA8cmVjdCB4PVwiNzguNVwiIHk9XCIxNDkuNVwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICAgIDxyZWN0IHg9XCIxNDcuNVwiIHk9XCIxNDkuNVwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICAgIDxyZWN0IHg9XCIxNDcuNVwiIHk9XCI3OC41XCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgPHJlY3QgeD1cIjEwNS41XCIgeT1cIjIuNVwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICAgIDxyZWN0IHg9XCIyLjVcIiB5PVwiMTAyLjVcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiAvPlxuICAgICAgPC9nPlxuICAgIDwvPixcbiAgICB7IHdpZHRoOiAxODIsIGhlaWdodDogMTgyLCBtaXJyb3I6IHRydWUgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBGaWxsSGFjaHVyZUljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICBjbGlwUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgZD1cIk0yMC4xMDEgMTZIMjguMDkzNEwzNiA4Ljk1OTg5VjRIMzMuNTc3OUwyMC4xMDEgMTZaTTMwLjU3MDQgNEwxNy4wOTM1IDE2SDkuMTAxMDFMMjIuNTc3OSA0SDMwLjU3MDRaTTE5LjU3MDQgNEw2LjA5MzQ5IDE2SDRWMTAuNzQ3NUwxMS41Nzc5IDRIMTkuNTcwNFpNOC41NzAzNiA0SDRWOC4wNjk1Mkw4LjU3MDM2IDRaTTM2IDExLjYzNzhMMzEuMTAxIDE2SDM2VjExLjYzNzhaTTIgMlYxOEgzOFYySDJaXCJcbiAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgIC8+LFxuICAgIHsgd2lkdGg6IDQwLCBoZWlnaHQ6IDIwIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgRmlsbENyb3NzSGF0Y2hJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDxnIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfSBmaWxsUnVsZT1cImV2ZW5vZGRcIiBjbGlwUnVsZT1cImV2ZW5vZGRcIj5cbiAgICAgIDxwYXRoIGQ9XCJNMjAuMTAxIDE2SDI4LjA5MzRMMzYgOC45NTk4OVY0SDMzLjU3NzlMMjAuMTAxIDE2Wk0zMC41NzA0IDRMMTcuMDkzNSAxNkg5LjEwMTAxTDIyLjU3NzkgNEgzMC41NzA0Wk0xOS41NzA0IDRMNi4wOTM0OSAxNkg0VjEwLjc0NzVMMTEuNTc3OSA0SDE5LjU3MDRaTTguNTcwMzYgNEg0VjguMDY5NTJMOC41NzAzNiA0Wk0zNiAxMS42Mzc4TDMxLjEwMSAxNkgzNlYxMS42Mzc4Wk0yIDJWMThIMzhWMkgyWlwiIC8+XG4gICAgICA8cGF0aCBkPVwiTTE0LjAwMDEgMThMMy4wMDAwNiA0LjAwMDAyTDQuNTcyNyAyLjc2NDM4TDE1LjU3MjcgMTYuNzY0NEwxNC4wMDAxIDE4Wk0yNS4wMDAxIDE4TDE0LjAwMDEgNC4wMDAwMkwxNS41NzI3IDIuNzY0MzhMMjYuNTcyNyAxNi43NjQ0TDI1LjAwMDEgMThaTTM2LjAwMDEgMThMMjUuMDAwMSA0LjAwMDAyTDI2LjU3MjcgMi43NjQzOEwzNy41NzI3IDE2Ljc2NDRMMzYuMDAwMSAxOFpcIiAvPlxuICAgIDwvZz4sXG4gICAgeyB3aWR0aDogNDAsIGhlaWdodDogMjAgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBGaWxsU29saWRJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKDxwYXRoIGQ9XCJNMiAySDM4VjE4SDJWMlpcIiBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX0gLz4sIHtcbiAgICB3aWR0aDogNDAsXG4gICAgaGVpZ2h0OiAyMCxcbiAgfSksXG4pO1xuXG5leHBvcnQgY29uc3QgU3Ryb2tlV2lkdGhJY29uID0gUmVhY3QubWVtbyhcbiAgKHsgdGhlbWUsIHN0cm9rZVdpZHRoIH06IHsgdGhlbWU6IFRoZW1lOyBzdHJva2VXaWR0aDogbnVtYmVyIH0pID0+XG4gICAgY3JlYXRlSWNvbihcbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNNiAxMEgzMlwiXG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPXtzdHJva2VXaWR0aH1cbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgLz4sXG4gICAgICB7IHdpZHRoOiA0MCwgaGVpZ2h0OiAyMCB9LFxuICAgICksXG4pO1xuXG5leHBvcnQgY29uc3QgU3Ryb2tlU3R5bGVTb2xpZEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNNiAxMEgzNFwiXG4gICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgc3Ryb2tlV2lkdGg9ezJ9XG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgIC8+LFxuICAgIHtcbiAgICAgIHdpZHRoOiA0MCxcbiAgICAgIGhlaWdodDogMjAsXG4gICAgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBTdHJva2VTdHlsZURhc2hlZEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNNiAxMEgzNFwiXG4gICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgc3Ryb2tlV2lkdGg9ezIuNX1cbiAgICAgIHN0cm9rZURhc2hhcnJheT17XCIxMCwgOFwifVxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAvPixcbiAgICB7IHdpZHRoOiA0MCwgaGVpZ2h0OiAyMCB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFN0cm9rZVN0eWxlRG90dGVkSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8cGF0aFxuICAgICAgZD1cIk02IDEwSDM2XCJcbiAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICBzdHJva2VXaWR0aD17Mi41fVxuICAgICAgc3Ryb2tlRGFzaGFycmF5PXtcIjIsIDQuNVwifVxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAvPixcbiAgICB7IHdpZHRoOiA0MCwgaGVpZ2h0OiAyMCB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFNsb3BwaW5lc3NBcmNoaXRlY3RJY29uID0gUmVhY3QubWVtbyhcbiAgKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgICBjcmVhdGVJY29uKFxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0zLjAwMDk4IDE2LjE2OTFDNi4yODc3NCAxMy45NzQ0IDE5LjYzOTkgMi44OTA1IDIyLjcyMTUgMy4wMDA4MkMyNS44MDQxIDMuMTExMTMgMTkuMTE1OCAxNS41NDg4IDIxLjQ5NjIgMTYuODMwOUMyMy44NzU3IDE4LjExMzEgMzQuNDE1NSAxMS43MTQ4IDM3LjAwMDEgMTAuNjkxOVwiXG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAvPixcbiAgICAgIHsgd2lkdGg6IDQwLCBoZWlnaHQ6IDIwLCBtaXJyb3I6IHRydWUgfSxcbiAgICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFNsb3BwaW5lc3NBcnRpc3RJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDxwYXRoXG4gICAgICBkPVwiTTMgMTdDNi42ODE1OCAxNC44NzUyIDE2LjEyOTYgOS4wOTg0OSAyMi4wNjQ4IDYuNTQ5MjJDMjggMy45OTk5NSAyMi4yODk2IDEzLjMyMDkgMjUgMTRDMjcuNzEwNCAxNC42NzkxIDM2LjM3NTcgOS42NDcxIDM2LjM3NTcgOS42NDcxTTYuNDA3MDYgMTVDMTMgMTEuMTkxOCAyMC4wNDY4IDEuNTEwNDUgMjMuMDIzNCAzLjAwNTJDMjYgNC40OTk5NSAyMC40NTcgMTIuODY1OSAyMi43Mjg1IDE2LjQzMjlDMjUgMjAgMzYuMzc1NyAxMyAzNi4zNzU3IDEzXCJcbiAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgLz4sXG4gICAgeyB3aWR0aDogNDAsIGhlaWdodDogMjAsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFNsb3BwaW5lc3NDYXJ0b29uaXN0SWNvbiA9IFJlYWN0Lm1lbW8oXG4gICh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gICAgY3JlYXRlSWNvbihcbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMyAxNS42NDY4QzYuOTM2OTIgMTMuNTM3OCAyMi41NTQ0IDIuODE1MjggMjYuNjIwNiAzLjAwMjQyQzMwLjY4NzcgMy4xODk1NiAyNS42NzA4IDE1LjMzNDYgMjcuNDAwOSAxNi43NzA1QzI5LjEzMDkgMTguMjA1NSAzNS40MDAxIDEyLjQ3NjIgMzcgMTEuNjE3N00zLjk3MTQzIDEwLjQ5MTdDNi42MTE1OCA5LjI0NTYzIDE2LjM3MDYgMi42MTg4NiAxOS44MTA0IDMuMDE3MjRDMjMuMjUyMiAzLjQxNDcyIDIyLjA3NzMgMTIuMjAxMyAyNC42MTgxIDEyLjg3ODNDMjcuMTU5OCAxMy41NTM2IDMzLjMxNzkgOC4wNDA2OCAzNS4wNTcxIDcuMDcyNDRcIlxuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgLz4sXG4gICAgICB7IHdpZHRoOiA0MCwgaGVpZ2h0OiAyMCwgbWlycm9yOiB0cnVlIH0sXG4gICAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBFZGdlU2hhcnBJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDxwYXRoXG4gICAgICBkPVwiTTEwIDE3TDEwIDVMMzUgNVwiXG4gICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgc3Ryb2tlV2lkdGg9ezJ9XG4gICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgIC8+LFxuICAgIHsgd2lkdGg6IDQwLCBoZWlnaHQ6IDIwLCBtaXJyb3I6IHRydWUgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBFZGdlUm91bmRJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDxwYXRoXG4gICAgICBkPVwiTTEwIDE3VjE1QzEwIDggMTMgNSAyMSA1TDMzLjUgNVwiXG4gICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgc3Ryb2tlV2lkdGg9ezJ9XG4gICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgIC8+LFxuICAgIHsgd2lkdGg6IDQwLCBoZWlnaHQ6IDIwLCBtaXJyb3I6IHRydWUgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBBcnJvd2hlYWROb25lSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8cGF0aFxuICAgICAgZD1cIk02IDEwSDM0XCJcbiAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAvPixcbiAgICB7XG4gICAgICB3aWR0aDogNDAsXG4gICAgICBoZWlnaHQ6IDIwLFxuICAgIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgQXJyb3doZWFkQXJyb3dJY29uID0gUmVhY3QubWVtbyhcbiAgKHsgdGhlbWUsIGZsaXAgPSBmYWxzZSB9OiB7IHRoZW1lOiBUaGVtZTsgZmxpcD86IGJvb2xlYW4gfSkgPT5cbiAgICBjcmVhdGVJY29uKFxuICAgICAgPGdcbiAgICAgICAgdHJhbnNmb3JtPXtmbGlwID8gXCJ0cmFuc2xhdGUoNDAsIDApIHNjYWxlKC0xLCAxKVwiIDogXCJcIn1cbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9ezJ9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgID5cbiAgICAgICAgPHBhdGggZD1cIk0zNCAxMEg2TTM0IDEwTDI3IDVNMzQgMTBMMjcgMTVcIiAvPlxuICAgICAgICA8cGF0aCBkPVwiTTI3LjUgNUwzNC41IDEwTDI3LjUgMTVcIiAvPlxuICAgICAgPC9nPixcbiAgICAgIHsgd2lkdGg6IDQwLCBoZWlnaHQ6IDIwIH0sXG4gICAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBBcnJvd2hlYWREb3RJY29uID0gUmVhY3QubWVtbyhcbiAgKHsgdGhlbWUsIGZsaXAgPSBmYWxzZSB9OiB7IHRoZW1lOiBUaGVtZTsgZmxpcD86IGJvb2xlYW4gfSkgPT5cbiAgICBjcmVhdGVJY29uKFxuICAgICAgPGdcbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHRyYW5zZm9ybT17ZmxpcCA/IFwidHJhbnNsYXRlKDQwLCAwKSBzY2FsZSgtMSwgMSlcIiA6IFwiXCJ9XG4gICAgICA+XG4gICAgICAgIDxwYXRoIGQ9XCJNMzIgMTBMNiAxMFwiIHN0cm9rZVdpZHRoPXsyfSAvPlxuICAgICAgICA8Y2lyY2xlIHI9XCI0XCIgdHJhbnNmb3JtPVwibWF0cml4KC0xIDAgMCAxIDMwIDEwKVwiIC8+XG4gICAgICA8L2c+LFxuICAgICAgeyB3aWR0aDogNDAsIGhlaWdodDogMjAgfSxcbiAgICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEFycm93aGVhZEJhckljb24gPSBSZWFjdC5tZW1vKFxuICAoeyB0aGVtZSwgZmxpcCA9IGZhbHNlIH06IHsgdGhlbWU6IFRoZW1lOyBmbGlwPzogYm9vbGVhbiB9KSA9PlxuICAgIGNyZWF0ZUljb24oXG4gICAgICA8ZyB0cmFuc2Zvcm09e2ZsaXAgPyBcInRyYW5zbGF0ZSg0MCwgMCkgc2NhbGUoLTEsIDEpXCIgOiBcIlwifT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTM0IDEwSDUuOTk5OTZNMzQgMTBMMzQgNU0zNCAxMEwzNCAxNVwiXG4gICAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIC8+XG4gICAgICA8L2c+LFxuICAgICAgeyB3aWR0aDogNDAsIGhlaWdodDogMjAgfSxcbiAgICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEFycm93aGVhZFRyaWFuZ2xlSWNvbiA9IFJlYWN0Lm1lbW8oXG4gICh7IHRoZW1lLCBmbGlwID0gZmFsc2UgfTogeyB0aGVtZTogVGhlbWU7IGZsaXA/OiBib29sZWFuIH0pID0+XG4gICAgY3JlYXRlSWNvbihcbiAgICAgIDxnXG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICB0cmFuc2Zvcm09e2ZsaXAgPyBcInRyYW5zbGF0ZSg0MCwgMCkgc2NhbGUoLTEsIDEpXCIgOiBcIlwifVxuICAgICAgPlxuICAgICAgICA8cGF0aCBkPVwiTTMyIDEwTDYgMTBcIiBzdHJva2VXaWR0aD17Mn0gLz5cbiAgICAgICAgPHBhdGggZD1cIk0yNy41IDUuNUwzNC41IDEwTDI3LjUgMTQuNUwyNy41IDUuNVwiIC8+XG4gICAgICA8L2c+LFxuICAgICAgeyB3aWR0aDogNDAsIGhlaWdodDogMjAgfSxcbiAgICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEZvbnRTaXplU21hbGxJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDxwYXRoXG4gICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgIGQ9XCJNIDAgNjkuMDkyIEwgMCA1NS4wMyBBIDEyNC4yNCAxMjQuMjQgMCAwIDAgNC43MDYgNTcuMDIgUSA2LjgyNiA1Ny44NjMgOC43MDggNTguNSBBIDUzLjQ2NiA1My40NjYgMCAwIDAgMTIuMjMxIDU5LjU3MSBRIDE3LjIzNiA2MC44ODkgMjEuMzg3IDYwLjg4OSBBIDIwLjkwOSAyMC45MDkgMCAwIDAgMjQuMjY1IDYwLjcwNCBRIDI1LjcxOSA2MC41MDIgMjYuOTAzIDYwLjA3NyBBIDguNjQ5IDguNjQ5IDAgMCAwIDI5LjAyOCA1OC45ODUgUSAzMS42ODkgNTcuMDggMzEuNjg5IDUzLjMyMSBRIDMxLjY4OSA1MS4yMjEgMzAuNTE4IDQ5LjU4NSBBIDEwLjEyNiAxMC4xMjYgMCAwIDAgMjkuMjgyIDQ4LjE3NyBRIDI4LjM1MiA0Ny4yODcgMjcuMDc1IDQ2LjQzNiBBIDIzLjcxOSAyMy43MTkgMCAwIDAgMjUuNzUyIDQ1LjYyNyBRIDIzLjc3NCA0NC40OTIgMjAuMTc2IDQyLjczNSBBIDI1NC40NCAyNTQuNDQgMCAwIDAgMTcuODIyIDQxLjYwMiBRIDExLjUwMyAzOC42MzEgOC4yMzYgMzUuODg4IEEgMTkuNzQyIDE5Ljc0MiAwIDAgMSA4LjAwOCAzNS42OTQgQSAyMi4xOCAyMi4xOCAwIDAgMSAyLjc4MyAyOS4xMDIgUSAwLjgzIDI1LjM0MiAwLjgzIDIwLjMxMyBBIDIyLjQ3MSAyMi40NzEgMCAwIDEgMS43MzMgMTMuNzc4IEEgMTcuMjgzIDE3LjI4MyAwIDAgMSA3LjI1MSA1LjQyIEEgMjEuNDg2IDIxLjQ4NiAwIDAgMSAxNS4xNzcgMS4yNzIgUSAxOC4zNjEgMC4zMzggMjIuMTY2IDAuMDkgQSA0My41NzMgNDMuNTczIDAgMCAxIDI1IDAgQSA0Mi4zOTkgNDIuMzk5IDAgMCAxIDM0LjM0OSAxLjAxIEEgMzkuMDc1IDM5LjA3NSAwIDAgMSAzNS42MiAxLjMxOSBBIDY3LjQwNyA2Ny40MDcgMCAwIDEgNDIuMTA4IDMuMzgyIEEgODMuMzU3IDgzLjM1NyAwIDAgMSA0Ni4xOTEgNS4wMyBMIDQxLjMwOSAxNi43OTcgUSAzNS41OTYgMTQuNDUzIDMxLjg2IDEzLjUyNiBBIDMwLjc2MiAzMC43NjIgMCAwIDAgMjUuNDE3IDEyLjYxMiBBIDI4LjMzNyAyOC4zMzcgMCAwIDAgMjQuNTEyIDEyLjU5OCBBIDE0Ljg0NiAxNC44NDYgMCAwIDAgMjIuMDIyIDEyLjc5MyBRIDE5LjQ5OCAxMy4yMjQgMTcuOTIgMTQuNiBRIDE1LjYyNSAxNi42MDIgMTUuNjI1IDE5LjgyNCBRIDE1LjYyNSAyMS44MjYgMTYuNTUzIDIzLjMxNiBRIDE3LjQ4IDI0LjgwNSAxOS41MDcgMjYuMTk3IEEgMTguMzQzIDE4LjM0MyAwIDAgMCAyMC42NTkgMjYuOTEyIFEgMjIuNTk2IDI4LjAzNSAyNi41MTYgMjkuOTUzIEEgMjk5Ljk5IDI5OS45OSAwIDAgMCAyOS4xMDIgMzEuMjAxIFEgMzcuOTEgMzUuNDEyIDQxLjg0MSAzOS42NDIgQSAxNi41NTMgMTYuNTUzIDAgMCAxIDQyLjgyMiA0MC43OTYgQSAxNy42NzUgMTcuNjc1IDAgMCAxIDQ2LjMwMSA0OS4yMzMgQSAyMy41MTcgMjMuNTE3IDAgMCAxIDQ2LjUzMyA1Mi41ODggQSAyMS41ODEgMjEuNTgxIDAgMCAxIDQ1LjQ3MSA1OS41MTUgQSAxNy43MzMgMTcuNzMzIDAgMCAxIDM5LjU3NSA2Ny44MjMgUSAzMy43NDUgNzIuNDg2IDI0LjA5NCA3My4yNDMgQSA0OS42ODMgNDkuNjgzIDAgMCAxIDIwLjIxNSA3My4zODkgQSA1MS43MTIgNTEuNzEyIDAgMCAxIDkuNDQ4IDcyLjMxNSBBIDQwLjY3MiA0MC42NzIgMCAwIDEgMCA2OS4wOTIgWlwiXG4gICAgLz4sXG4gICAgeyB3aWR0aDogNDcsIGhlaWdodDogNzcgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBGb250U2l6ZU1lZGl1bUljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgZD1cIk0gNDQuMDkyIDcxLjM4NyBMIDMwLjIyNSA3MS4zODcgTCAxMy4wMzcgMTUuMzgxIEwgMTIuNTk4IDE1LjM4MSBBIDE1MDUuMDkzIDE1MDUuMDkzIDAgMCAxIDEyLjk1OSAyMi4zMTMgUSAxMy40MjYgMzEuNzE1IDEzLjUwOCAzNi40IEEgMTAyLjk5MSAxMDIuOTkxIDAgMCAxIDEzLjUyNSAzOC4xODQgTCAxMy41MjUgNzEuMzg3IEwgMCA3MS4zODcgTCAwIDAgTCAyMC42MDUgMCBMIDM3LjUgNTQuNTkgTCAzNy43OTMgNTQuNTkgTCA1NS43MTMgMCBMIDc2LjMxOCAwIEwgNzYuMzE4IDcxLjM4NyBMIDYyLjIwNyA3MS4zODcgTCA2Mi4yMDcgMzcuNTk4IFEgNjIuMjA3IDM1LjIwNSA2Mi4yOCAzMi4wOCBBIDE2MC43MDMgMTYwLjcwMyAwIDAgMSA2Mi4zMjYgMzAuNTQ0IFEgNjIuNDUyIDI2Ljc1NCA2Mi44NjYgMTcuMTY4IEEgNTM5MC41MzYgNTM5MC41MzYgMCAwIDEgNjIuOTM5IDE1LjQ3OSBMIDYyLjUgMTUuNDc5IEwgNDQuMDkyIDcxLjM4NyBaXCJcbiAgICAvPixcbiAgICB7IHdpZHRoOiA3NywgaGVpZ2h0OiA3NSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEZvbnRTaXplTGFyZ2VJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDxwYXRoXG4gICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgIGQ9XCJNIDQ0LjA5MiA3MS4zODcgTCAwIDcxLjM4NyBMIDAgMCBMIDE1LjEzNyAwIEwgMTUuMTM3IDU4Ljg4NyBMIDQ0LjA5MiA1OC44ODcgTCA0NC4wOTIgNzEuMzg3IFpcIlxuICAgIC8+LFxuICAgIHsgd2lkdGg6IDQ1LCBoZWlnaHQ6IDc1IH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgRm9udFNpemVFeHRyYUxhcmdlSWNvbiA9IFJlYWN0Lm1lbW8oXG4gICh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gICAgY3JlYXRlSWNvbihcbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBkPVwiTSA0Mi41NzggMzUuNCBMIDY2LjY5OSA3MS4zODcgTCA0OS40MTQgNzEuMzg3IEwgMzIuODEzIDQ0LjM4NSBMIDE2LjIxMSA3MS4zODcgTCAwIDcxLjM4NyBMIDIzLjY4MiAzNC41NyBMIDEuNTE0IDAgTCAxOC4yMTMgMCBMIDMzLjU5NCAyNS42ODQgTCA0OC42ODIgMCBMIDY0Ljk5IDAgTCA0Mi41NzggMzUuNCBaIE0gMTE5Ljc3NSA3MS4zODcgTCA3NS42ODQgNzEuMzg3IEwgNzUuNjg0IDAgTCA5MC44MiAwIEwgOTAuODIgNTguODg3IEwgMTE5Ljc3NSA1OC44ODcgTCAxMTkuNzc1IDcxLjM4NyBaXCJcbiAgICAgIC8+LFxuICAgICAgeyB3aWR0aDogMTIwLCBoZWlnaHQ6IDc1IH0sXG4gICAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBGb250RmFtaWx5SGFuZERyYXduSWNvbiA9IFJlYWN0Lm1lbW8oXG4gICh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gICAgY3JlYXRlSWNvbihcbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBkPVwiTTI5MC43NCA5My4yNGwxMjguMDIgMTI4LjAyLTI3Ny45OSAyNzcuOTktMTE0LjE0IDEyLjZDMTEuMzUgNTEzLjU0LTEuNTYgNTAwLjYyLjE0IDQ4NS4zNGwxMi43LTExNC4yMiAyNzcuOS0yNzcuODh6bTIwNy4yLTE5LjA2bC02MC4xMS02MC4xMWMtMTguNzUtMTguNzUtNDkuMTYtMTguNzUtNjcuOTEgMGwtNTYuNTUgNTYuNTUgMTI4LjAyIDEyOC4wMiA1Ni41NS01Ni41NWMxOC43NS0xOC43NiAxOC43NS00OS4xNiAwLTY3LjkxelwiXG4gICAgICAvPixcbiAgICAgIHsgd2lkdGg6IDQ0OCwgaGVpZ2h0OiA1MTIgfSxcbiAgICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEZvbnRGYW1pbHlOb3JtYWxJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDw+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgZD1cIk0gNjMuODE4IDcxLjY4IEwgNTQuNDkyIDcxLjY4IEwgNDUuODk4IDQ5LjU2MSBMIDE3LjU3OCA0OS41NjEgTCA5LjA4MiA3MS42OCBMIDAgNzEuNjggTCAyNy44ODEgMCBMIDM1Ljk4NiAwIEwgNjMuODE4IDcxLjY4IFogTSAyMC42MDUgNDEuNjAyIEwgNDMuMjEzIDQxLjYwMiBMIDM1LjIwNSAxOS45NzEgTCAzMS43ODcgOS4yNzcgUSAzMC4zMjIgMTUuMTM3IDI4LjcxMSAxOS45NzEgTCAyMC42MDUgNDEuNjAyIFpcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBkPVwiTSA2OC45OTQgNzEuNjggTCA1Mi42ODYgNzEuNjggTCA0Ny41MSA1NC42ODggTCAyMS40ODQgNTQuNjg4IEwgMTYuMzA5IDcxLjY4IEwgMCA3MS42OCBMIDI1LjE5NSAwIEwgNDMuNzAxIDAgTCA2OC45OTQgNzEuNjggWiBNIDI1LjI5MyA0MS45OTIgTCA0My44OTYgNDEuOTkyIEEgMjc1OTAuNDYzIDI3NTkwLjQ2MyAwIDAgMSA0Mi4yIDM2LjUzMiBRIDM2Ljk2NSAxOS42NzYgMzUuOTM3IDE2LjI3MyBBIDEyMC45MzIgMTIwLjkzMiAwIDAgMSAzNS44MTUgMTUuODY5IEEgMTMxLjY1IDEzMS42NSAwIDAgMSAzNS4zOTYgMTQuNDM1IFEgMzQuOTUxIDEyLjg3OSAzNC42NzUgMTEuNzQxIEEgMzQuODY2IDM0Ljg2NiAwIDAgMSAzNC41MjEgMTEuMDg0IEEgMTQxLjc2MiAxNDEuNzYyIDAgMCAxIDMzLjcwNiAxNC4wNzUgUSAzMS40ODIgMjEuOTU3IDI1LjI5MyA0MS45OTIgWlwiXG4gICAgICAvPlxuICAgIDwvPixcbiAgICB7IHdpZHRoOiA3MCwgaGVpZ2h0OiA3OCB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEZvbnRGYW1pbHlDb2RlSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8PlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIGQ9XCJNMjc4LjkgNTExLjVsLTYxLTE3LjdjLTYuNC0xLjgtMTAtOC41LTguMi0xNC45TDM0Ni4yIDguN2MxLjgtNi40IDguNS0xMCAxNC45LTguMmw2MSAxNy43YzYuNCAxLjggMTAgOC41IDguMiAxNC45TDI5My44IDUwMy4zYy0xLjkgNi40LTguNSAxMC4xLTE0LjkgOC4yem0tMTE0LTExMi4ybDQzLjUtNDYuNGM0LjYtNC45IDQuMy0xMi43LS44LTE3LjJMMTE3IDI1Nmw5MC42LTc5LjdjNS4xLTQuNSA1LjUtMTIuMy44LTE3LjJsLTQzLjUtNDYuNGMtNC41LTQuOC0xMi4xLTUuMS0xNy0uNUwzLjggMjQ3LjJjLTUuMSA0LjctNS4xIDEyLjggMCAxNy41bDE0NC4xIDEzNS4xYzQuOSA0LjYgMTIuNSA0LjQgMTctLjV6bTMyNy4yLjZsMTQ0LjEtMTM1LjFjNS4xLTQuNyA1LjEtMTIuOCAwLTE3LjVMNDkyLjEgMTEyLjFjLTQuOC00LjUtMTIuNC00LjMtMTcgLjVMNDMxLjYgMTU5Yy00LjYgNC45LTQuMyAxMi43LjggMTcuMkw1MjMgMjU2bC05MC42IDc5LjdjLTUuMSA0LjUtNS41IDEyLjMtLjggMTcuMmw0My41IDQ2LjRjNC41IDQuOSAxMi4xIDUuMSAxNyAuNnpcIlxuICAgICAgLz5cbiAgICA8Lz4sXG4gICAgeyB3aWR0aDogNjQwLCBoZWlnaHQ6IDUxMiB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFRleHRBbGlnbkxlZnRJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDxwYXRoXG4gICAgICBkPVwiTTEyLjgzIDM1MmgyNjIuMzRBMTIuODIgMTIuODIgMCAwMDI4OCAzMzkuMTd2LTM4LjM0QTEyLjgyIDEyLjgyIDAgMDAyNzUuMTcgMjg4SDEyLjgzQTEyLjgyIDEyLjgyIDAgMDAwIDMwMC44M3YzOC4zNEExMi44MiAxMi44MiAwIDAwMTIuODMgMzUyem0wLTI1NmgyNjIuMzRBMTIuODIgMTIuODIgMCAwMDI4OCA4My4xN1Y0NC44M0ExMi44MiAxMi44MiAwIDAwMjc1LjE3IDMySDEyLjgzQTEyLjgyIDEyLjgyIDAgMDAwIDQ0LjgzdjM4LjM0QTEyLjgyIDEyLjgyIDAgMDAxMi44MyA5NnpNNDMyIDE2MEgxNmExNiAxNiAwIDAwLTE2IDE2djMyYTE2IDE2IDAgMDAxNiAxNmg0MTZhMTYgMTYgMCAwMDE2LTE2di0zMmExNiAxNiAwIDAwLTE2LTE2em0wIDI1NkgxNmExNiAxNiAwIDAwLTE2IDE2djMyYTE2IDE2IDAgMDAxNiAxNmg0MTZhMTYgMTYgMCAwMDE2LTE2di0zMmExNiAxNiAwIDAwLTE2LTE2elwiXG4gICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgLz4sXG4gICAgeyB3aWR0aDogNDQ4LCBoZWlnaHQ6IDUxMiB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFRleHRBbGlnbkNlbnRlckljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNNDMyIDE2MEgxNmExNiAxNiAwIDAwLTE2IDE2djMyYTE2IDE2IDAgMDAxNiAxNmg0MTZhMTYgMTYgMCAwMDE2LTE2di0zMmExNiAxNiAwIDAwLTE2LTE2em0wIDI1NkgxNmExNiAxNiAwIDAwLTE2IDE2djMyYTE2IDE2IDAgMDAxNiAxNmg0MTZhMTYgMTYgMCAwMDE2LTE2di0zMmExNiAxNiAwIDAwLTE2LTE2ek0xMDguMSA5NmgyMzEuODFBMTIuMDkgMTIuMDkgMCAwMDM1MiA4My45VjQ0LjA5QTEyLjA5IDEyLjA5IDAgMDAzMzkuOTEgMzJIMTA4LjFBMTIuMDkgMTIuMDkgMCAwMDk2IDQ0LjA5VjgzLjlBMTIuMSAxMi4xIDAgMDAxMDguMSA5NnptMjMxLjgxIDI1NkExMi4wOSAxMi4wOSAwIDAwMzUyIDMzOS45di0zOS44MUExMi4wOSAxMi4wOSAwIDAwMzM5LjkxIDI4OEgxMDguMUExMi4wOSAxMi4wOSAwIDAwOTYgMzAwLjA5djM5LjgxYTEyLjEgMTIuMSAwIDAwMTIuMSAxMi4xelwiXG4gICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAvPixcbiAgICB7IHdpZHRoOiA0NDgsIGhlaWdodDogNTEyIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgVGV4dEFsaWduUmlnaHRJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDxwYXRoXG4gICAgICBkPVwiTTE2IDIyNGg0MTZhMTYgMTYgMCAwMDE2LTE2di0zMmExNiAxNiAwIDAwLTE2LTE2SDE2YTE2IDE2IDAgMDAtMTYgMTZ2MzJhMTYgMTYgMCAwMDE2IDE2em00MTYgMTkySDE2YTE2IDE2IDAgMDAtMTYgMTZ2MzJhMTYgMTYgMCAwMDE2IDE2aDQxNmExNiAxNiAwIDAwMTYtMTZ2LTMyYTE2IDE2IDAgMDAtMTYtMTZ6bTMuMTctMzg0SDE3Mi44M0ExMi44MiAxMi44MiAwIDAwMTYwIDQ0LjgzdjM4LjM0QTEyLjgyIDEyLjgyIDAgMDAxNzIuODMgOTZoMjYyLjM0QTEyLjgyIDEyLjgyIDAgMDA0NDggODMuMTdWNDQuODNBMTIuODIgMTIuODIgMCAwMDQzNS4xNyAzMnptMCAyNTZIMTcyLjgzQTEyLjgyIDEyLjgyIDAgMDAxNjAgMzAwLjgzdjM4LjM0QTEyLjgyIDEyLjgyIDAgMDAxNzIuODMgMzUyaDI2Mi4zNEExMi44MiAxMi44MiAwIDAwNDQ4IDMzOS4xN3YtMzguMzRBMTIuODIgMTIuODIgMCAwMDQzNS4xNyAyODh6XCJcbiAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAvPixcbiAgICB7IHdpZHRoOiA0NDgsIGhlaWdodDogNTEyIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgcHVibGlzaEljb24gPSBjcmVhdGVJY29uKFxuICA8cGF0aFxuICAgIGQ9XCJNNTM3LjYgMjI2LjZjNC4xLTEwLjcgNi40LTIyLjQgNi40LTM0LjYgMC01My00My05Ni05Ni05Ni0xOS43IDAtMzguMSA2LTUzLjMgMTYuMkMzNjcgNjQuMiAzMTUuMyAzMiAyNTYgMzJjLTg4LjQgMC0xNjAgNzEuNi0xNjAgMTYwIDAgMi43LjEgNS40LjIgOC4xQzQwLjIgMjE5LjggMCAyNzMuMiAwIDMzNmMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NGgzNjhjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjggMC02MS45LTQ0LTExMy42LTEwMi40LTEyNS40ek0zOTMuNCAyODhIMzI4djExMmMwIDguOC03LjIgMTYtMTYgMTZoLTQ4Yy04LjggMC0xNi03LjItMTYtMTZWMjg4aC02NS40Yy0xNC4zIDAtMjEuNC0xNy4yLTExLjMtMjcuM2wxMDUuNC0xMDUuNGM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMGwxMDUuNCAxMDUuNGMxMC4xIDEwLjEgMi45IDI3LjMtMTEuMyAyNy4zelwiXG4gICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gIC8+LFxuICB7IHdpZHRoOiA2NDAsIGhlaWdodDogNTEyIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgaG9tZSA9IGNyZWF0ZUljb24oXG4gIFwiTTI4MC4zNyAxNDguMjZMOTYgMzAwLjExVjQ2NGExNiAxNiAwIDAgMCAxNiAxNmwxMTIuMDYtLjI5YTE2IDE2IDAgMCAwIDE1LjkyLTE2VjM2OGExNiAxNiAwIDAgMSAxNi0xNmg2NGExNiAxNiAwIDAgMSAxNiAxNnY5NS42NGExNiAxNiAwIDAgMCAxNiAxNi4wNUw0NjQgNDgwYTE2IDE2IDAgMCAwIDE2LTE2VjMwMEwyOTUuNjcgMTQ4LjI2YTEyLjE5IDEyLjE5IDAgMCAwLTE1LjMgMHpNNTcxLjYgMjUxLjQ3TDQ4OCAxODIuNTZWNDQuMDVhMTIgMTIgMCAwIDAtMTItMTJoLTU2YTEyIDEyIDAgMCAwLTEyIDEydjcyLjYxTDMxOC40NyA0M2E0OCA0OCAwIDAgMC02MSAwTDQuMzQgMjUxLjQ3YTEyIDEyIDAgMCAwLTEuNiAxNi45bDI1LjUgMzFBMTIgMTIgMCAwIDAgNDUuMTUgMzAxbDIzNS4yMi0xOTMuNzRhMTIuMTkgMTIuMTkgMCAwIDEgMTUuMyAwTDUzMC45IDMwMWExMiAxMiAwIDAgMCAxNi45LTEuNmwyNS41LTMxYTEyIDEyIDAgMCAwLTEuNy0xNi45M3pcIixcbik7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../components/icons.tsx\n");
|
|
2079
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"createIcon\": () => (/* binding */ createIcon),\n/* harmony export */ \"checkIcon\": () => (/* binding */ checkIcon),\n/* harmony export */ \"link\": () => (/* binding */ link),\n/* harmony export */ \"save\": () => (/* binding */ save),\n/* harmony export */ \"saveAs\": () => (/* binding */ saveAs),\n/* harmony export */ \"load\": () => (/* binding */ load),\n/* harmony export */ \"clipboard\": () => (/* binding */ clipboard),\n/* harmony export */ \"trash\": () => (/* binding */ trash),\n/* harmony export */ \"palette\": () => (/* binding */ palette),\n/* harmony export */ \"exportFile\": () => (/* binding */ exportFile),\n/* harmony export */ \"exportImage\": () => (/* binding */ exportImage),\n/* harmony export */ \"exportToFileIcon\": () => (/* binding */ exportToFileIcon),\n/* harmony export */ \"zoomIn\": () => (/* binding */ zoomIn),\n/* harmony export */ \"zoomOut\": () => (/* binding */ zoomOut),\n/* harmony export */ \"done\": () => (/* binding */ done),\n/* harmony export */ \"menu\": () => (/* binding */ menu),\n/* harmony export */ \"undo\": () => (/* binding */ undo),\n/* harmony export */ \"redo\": () => (/* binding */ redo),\n/* harmony export */ \"questionCircle\": () => (/* binding */ questionCircle),\n/* harmony export */ \"share\": () => (/* binding */ share),\n/* harmony export */ \"shareIOS\": () => (/* binding */ shareIOS),\n/* harmony export */ \"shareWindows\": () => (/* binding */ shareWindows),\n/* harmony export */ \"resetZoom\": () => (/* binding */ resetZoom),\n/* harmony export */ \"BringForwardIcon\": () => (/* binding */ BringForwardIcon),\n/* harmony export */ \"SendBackwardIcon\": () => (/* binding */ SendBackwardIcon),\n/* harmony export */ \"BringToFrontIcon\": () => (/* binding */ BringToFrontIcon),\n/* harmony export */ \"SendToBackIcon\": () => (/* binding */ SendToBackIcon),\n/* harmony export */ \"AlignTopIcon\": () => (/* binding */ AlignTopIcon),\n/* harmony export */ \"AlignBottomIcon\": () => (/* binding */ AlignBottomIcon),\n/* harmony export */ \"AlignLeftIcon\": () => (/* binding */ AlignLeftIcon),\n/* harmony export */ \"AlignRightIcon\": () => (/* binding */ AlignRightIcon),\n/* harmony export */ \"DistributeHorizontallyIcon\": () => (/* binding */ DistributeHorizontallyIcon),\n/* harmony export */ \"DistributeVerticallyIcon\": () => (/* binding */ DistributeVerticallyIcon),\n/* harmony export */ \"CenterVerticallyIcon\": () => (/* binding */ CenterVerticallyIcon),\n/* harmony export */ \"CenterHorizontallyIcon\": () => (/* binding */ CenterHorizontallyIcon),\n/* harmony export */ \"users\": () => (/* binding */ users),\n/* harmony export */ \"start\": () => (/* binding */ start),\n/* harmony export */ \"stop\": () => (/* binding */ stop),\n/* harmony export */ \"close\": () => (/* binding */ close),\n/* harmony export */ \"back\": () => (/* binding */ back),\n/* harmony export */ \"clone\": () => (/* binding */ clone),\n/* harmony export */ \"shield\": () => (/* binding */ shield),\n/* harmony export */ \"file\": () => (/* binding */ file),\n/* harmony export */ \"GroupIcon\": () => (/* binding */ GroupIcon),\n/* harmony export */ \"UngroupIcon\": () => (/* binding */ UngroupIcon),\n/* harmony export */ \"FillHachureIcon\": () => (/* binding */ FillHachureIcon),\n/* harmony export */ \"FillCrossHatchIcon\": () => (/* binding */ FillCrossHatchIcon),\n/* harmony export */ \"FillSolidIcon\": () => (/* binding */ FillSolidIcon),\n/* harmony export */ \"StrokeWidthIcon\": () => (/* binding */ StrokeWidthIcon),\n/* harmony export */ \"StrokeStyleSolidIcon\": () => (/* binding */ StrokeStyleSolidIcon),\n/* harmony export */ \"StrokeStyleDashedIcon\": () => (/* binding */ StrokeStyleDashedIcon),\n/* harmony export */ \"StrokeStyleDottedIcon\": () => (/* binding */ StrokeStyleDottedIcon),\n/* harmony export */ \"SloppinessArchitectIcon\": () => (/* binding */ SloppinessArchitectIcon),\n/* harmony export */ \"SloppinessArtistIcon\": () => (/* binding */ SloppinessArtistIcon),\n/* harmony export */ \"SloppinessCartoonistIcon\": () => (/* binding */ SloppinessCartoonistIcon),\n/* harmony export */ \"EdgeSharpIcon\": () => (/* binding */ EdgeSharpIcon),\n/* harmony export */ \"EdgeRoundIcon\": () => (/* binding */ EdgeRoundIcon),\n/* harmony export */ \"ArrowheadNoneIcon\": () => (/* binding */ ArrowheadNoneIcon),\n/* harmony export */ \"ArrowheadArrowIcon\": () => (/* binding */ ArrowheadArrowIcon),\n/* harmony export */ \"ArrowheadDotIcon\": () => (/* binding */ ArrowheadDotIcon),\n/* harmony export */ \"ArrowheadBarIcon\": () => (/* binding */ ArrowheadBarIcon),\n/* harmony export */ \"ArrowheadTriangleIcon\": () => (/* binding */ ArrowheadTriangleIcon),\n/* harmony export */ \"FontSizeSmallIcon\": () => (/* binding */ FontSizeSmallIcon),\n/* harmony export */ \"FontSizeMediumIcon\": () => (/* binding */ FontSizeMediumIcon),\n/* harmony export */ \"FontSizeLargeIcon\": () => (/* binding */ FontSizeLargeIcon),\n/* harmony export */ \"FontSizeExtraLargeIcon\": () => (/* binding */ FontSizeExtraLargeIcon),\n/* harmony export */ \"FontFamilyHandDrawnIcon\": () => (/* binding */ FontFamilyHandDrawnIcon),\n/* harmony export */ \"FontFamilyNormalIcon\": () => (/* binding */ FontFamilyNormalIcon),\n/* harmony export */ \"FontFamilyCodeIcon\": () => (/* binding */ FontFamilyCodeIcon),\n/* harmony export */ \"TextAlignLeftIcon\": () => (/* binding */ TextAlignLeftIcon),\n/* harmony export */ \"TextAlignCenterIcon\": () => (/* binding */ TextAlignCenterIcon),\n/* harmony export */ \"TextAlignRightIcon\": () => (/* binding */ TextAlignRightIcon),\n/* harmony export */ \"publishIcon\": () => (/* binding */ publishIcon),\n/* harmony export */ \"home\": () => (/* binding */ home)\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"../../../node_modules/react/jsx-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var open_color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! open-color */ \"../../../node_modules/open-color/open-color.json\");\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"../../../node_modules/clsx/dist/clsx.m.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants */ \"../../constants.ts\");\n\r\n//\r\n// All icons are imported from https://fontawesome.com/icons?d=gallery\r\n// Icons are under the license https://fontawesome.com/license\r\n//\r\n// Note: when adding new icons, review https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/RTL_Guidelines\r\n// to determine whether or not the icons should be mirrored in right-to-left languages.\r\n\r\n\r\n\r\n\r\nconst activeElementColor = (theme) => theme === _constants__WEBPACK_IMPORTED_MODULE_4__.THEME.LIGHT ? open_color__WEBPACK_IMPORTED_MODULE_2__.orange[4] : open_color__WEBPACK_IMPORTED_MODULE_2__.orange[9];\r\nconst iconFillColor = (theme) => \"var(--icon-fill-color)\";\r\nconst handlerColor = (theme) => theme === _constants__WEBPACK_IMPORTED_MODULE_4__.THEME.LIGHT ? open_color__WEBPACK_IMPORTED_MODULE_2__.white : \"#1e1e1e\";\r\nconst createIcon = (d, opts = 512) => {\r\n const { width = 512, height = width, mirror, style, } = typeof opts === \"number\" ? { width: opts } : opts;\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"svg\", Object.assign({ \"aria-hidden\": \"true\", focusable: \"false\", role: \"img\", viewBox: `0 0 ${width} ${height}`, className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])({ \"rtl-mirror\": mirror }), style: style }, { children: typeof d === \"string\" ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: \"currentColor\", d: d }, void 0) : d }), void 0));\r\n};\r\nconst checkIcon = createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"polyline\", { fill: \"none\", stroke: \"currentColor\", points: \"20 6 9 17 4 12\" }, void 0), {\r\n width: 24,\r\n height: 24,\r\n});\r\nconst link = createIcon(\"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z\", { mirror: true });\r\nconst save = createIcon(\"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z\", { width: 448, height: 512 });\r\nconst saveAs = createIcon(\"M252 54L203 8a28 27 0 00-20-8H28C12 0 0 12 0 27v195c0 15 12 26 28 26h204c15 0 28-11 28-26V73a28 27 0 00-8-19zM130 213c-21 0-37-16-37-36 0-19 16-35 37-35 20 0 37 16 37 35 0 20-17 36-37 36zm56-169v56c0 4-4 6-7 6H44c-4 0-7-2-7-6V42c0-4 3-7 7-7h133l4 2 3 2a7 7 0 012 5z M296 201l87 95-188 205-78 9c-10 1-19-8-18-20l9-84zm141-14l-41-44a31 31 0 00-46 0l-38 41 87 95 38-42c13-14 13-36 0-50z\", { width: 448, height: 512 });\r\nconst load = createIcon(\"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z\", { width: 576, height: 512, mirror: true });\r\nconst clipboard = createIcon(\"M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z\", { width: 384, height: 512 });\r\nconst trash = createIcon(\"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\", { width: 448, height: 512 });\r\nconst palette = createIcon(\"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\");\r\nconst exportFile = createIcon(\"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z\", { width: 576, height: 512, mirror: true });\r\nconst exportImage = createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-187 44v-64 64z\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M384 121.941V128H256V0h6.059c6.362 0 12.471 2.53 16.97 7.029l97.941 97.941a24.01 24.01 0 017.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z\" }, void 0)] }, void 0), { width: 576, height: 512, mirror: true });\r\nconst exportToFileIcon = createIcon(\"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\", { width: 512, height: 512 });\r\nconst zoomIn = createIcon(\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\", { width: 448, height: 512 });\r\nconst zoomOut = createIcon(\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\", { width: 448, height: 512 });\r\nconst done = createIcon(\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\");\r\nconst menu = createIcon(\"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\");\r\nconst undo = createIcon(\"M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z\", { mirror: true });\r\nconst redo = createIcon(\"M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z\", { mirror: true });\r\nconst questionCircle = createIcon(\"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z\", { mirror: true });\r\nconst share = createIcon(\"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z\", { width: 24, height: 24 });\r\nconst shareIOS = createIcon(\"M16 5l-1.42 1.42-1.59-1.59V16h-1.98V4.83L9.42 6.42 8 5l4-4 4 4zm4 5v11c0 1.1-.9 2-2 2H6c-1.11 0-2-.9-2-2V10c0-1.11.89-2 2-2h3v2H6v11h12V10h-3V8h3c1.1 0 2 .89 2 2z\", { width: 24, height: 24 });\r\nconst shareWindows = createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { stroke: \"currentColor\", fill: \"currentColor\", d: \"M40 5.6v6.1l-4.1.7c-8.9 1.4-16.5 6.9-20.6 15C13 32 10.9 43 12.4 43c.4 0 2.4-1.3 4.4-3 5-3.9 12.1-7 18.2-7.7l5-.6v12.8l11.2-11.3L62.5 22 51.2 10.8 40-.5v6.1zm10.2 22.6L44 34.5v-6.8l-6.9.6c-3.9.3-9.8 1.7-13.2 3.1-3.5 1.4-6.5 2.4-6.7 2.2-.9-1 3-7.5 6.4-10.8C28 18.6 34.4 16 40.1 16c3.7 0 3.9-.1 3.9-3.2V9.5l6.2 6.3 6.3 6.2-6.3 6.2z\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { stroke: \"currentColor\", fill: \"currentColor\", d: \"M0 36v20h48v-6.2c0-6 0-6.1-2-4.3-1.1 1-2 2.9-2 4.2V52H4V34c0-17.3-.1-18-2-18s-2 .7-2 20z\" }, void 0)] }, void 0), { width: 64, height: 64 });\r\n// Icon imported form Storybook\r\n// Storybook is licensed under MIT https://github.com/storybookjs/storybook/blob/next/LICENSE\r\nconst resetZoom = createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { stroke: \"currentColor\", strokeWidth: \"40\", fill: \"currentColor\", d: \"M148 560a318 318 0 0 0 522 110 316 316 0 0 0 0-450 316 316 0 0 0-450 0c-11 11-21 22-30 34v4h47c25 0 46 21 46 46s-21 45-46 45H90c-13 0-25-6-33-14-9-9-14-20-14-33V156c0-25 20-45 45-45s45 20 45 45v32l1 1a401 401 0 0 1 623 509l212 212a42 42 0 0 1-59 59L698 757A401 401 0 0 1 65 570a42 42 0 0 1 83-10z\" }, void 0), { width: 1024 });\r\nconst BringForwardIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M22 9.556C22 8.696 21.303 8 20.444 8H16v8H8v4.444C8 21.304 8.697 22 9.556 22h10.888c.86 0 1.556-.697 1.556-1.556V9.556z\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M16 3.556C16 2.696 15.303 2 14.444 2H3.556C2.696 2 2 2.697 2 3.556v10.888C2 15.304 2.697 16 3.556 16h10.888c.86 0 1.556-.697 1.556-1.556V3.556z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst SendBackwardIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M16 3.556C16 2.696 15.303 2 14.444 2H3.556C2.696 2 2 2.697 2 3.556v10.888C2 15.304 2.697 16 3.556 16h10.888c.86 0 1.556-.697 1.556-1.556V3.556z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M22 9.556C22 8.696 21.303 8 20.444 8H9.556C8.696 8 8 8.697 8 9.556v10.888C8 21.304 8.697 22 9.556 22h10.888c.86 0 1.556-.697 1.556-1.556V9.556z\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst BringToFrontIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M13 21a1 1 0 001 1h7a1 1 0 001-1v-7a1 1 0 00-1-1h-3v5h-5v3zM11 3a1 1 0 00-1-1H3a1 1 0 00-1 1v7a1 1 0 001 1h3V6h5V3z\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M18 7.333C18 6.597 17.403 6 16.667 6H7.333C6.597 6 6 6.597 6 7.333v9.334C6 17.403 6.597 18 7.333 18h9.334c.736 0 1.333-.597 1.333-1.333V7.333z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst SendToBackIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M18 7.333C18 6.597 17.403 6 16.667 6H7.333C6.597 6 6 6.597 6 7.333v9.334C6 17.403 6.597 18 7.333 18h9.334c.736 0 1.333-.597 1.333-1.333V7.333z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M11 3a1 1 0 00-1-1H3a1 1 0 00-1 1v7a1 1 0 001 1h8V3zM22 14a1 1 0 00-1-1h-7a1 1 0 00-1 1v7a1 1 0 001 1h8v-8z\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\n//\r\n// Align action icons created from scratch to match those of z-index actions\r\n// Note: vertical align icons are flipped so the larger item is always the\r\n// first one the user sees. Horizontal align icons should not be flipped since\r\n// that would make them lie about their function.\r\n//\r\nconst AlignTopIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 2,5 H 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 6,7 C 5.446,7 5,7.446 5,8 v 9.999992 c 0,0.554 0.446,1 1,1 h 3.0000001 c 0.554,0 0.9999999,-0.446 0.9999999,-1 V 8 C 10,7.446 9.5540001,7 9.0000001,7 Z m 9,0 c -0.554,0 -1,0.446 -1,1 v 5.999992 c 0,0.554 0.446,1 1,1 h 3 c 0.554,0 1,-0.446 1,-1 V 8 C 19,7.446 18.554,7 18,7 Z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst AlignBottomIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 2,19 H 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"m 6,16.999992 c -0.554,0 -1,-0.446 -1,-1 V 6 C 5,5.446 5.446,5 6,5 H 9.0000001 C 9.5540001,5 10,5.446 10,6 v 9.999992 c 0,0.554 -0.4459999,1 -0.9999999,1 z m 9,0 c -0.554,0 -1,-0.446 -1,-1 V 10 c 0,-0.554 0.446,-1 1,-1 h 3 c 0.554,0 1,0.446 1,1 v 5.999992 c 0,0.554 -0.446,1 -1,1 z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst AlignLeftIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 5,2 V 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"m 7.000004,5.999996 c 0,-0.554 0.446,-1 1,-1 h 9.999992 c 0.554,0 1,0.446 1,1 v 3.0000001 c 0,0.554 -0.446,0.9999999 -1,0.9999999 H 8.000004 c -0.554,0 -1,-0.4459999 -1,-0.9999999 z m 0,9 c 0,-0.554 0.446,-1 1,-1 h 5.999992 c 0.554,0 1,0.446 1,1 v 3 c 0,0.554 -0.446,1 -1,1 H 8.000004 c -0.554,0 -1,-0.446 -1,-1 z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24 }));\r\nconst AlignRightIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 19,2 V 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"m 16.999996,5.999996 c 0,-0.554 -0.446,-1 -1,-1 H 6.000004 c -0.554,0 -1,0.446 -1,1 v 3.0000001 c 0,0.554 0.446,0.9999999 1,0.9999999 h 9.999992 c 0.554,0 1,-0.4459999 1,-0.9999999 z m 0,9 c 0,-0.554 -0.446,-1 -1,-1 h -5.999992 c -0.554,0 -1,0.446 -1,1 v 3 c 0,0.554 0.446,1 1,1 h 5.999992 c 0.554,0 1,-0.446 1,-1 z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24 }));\r\nconst DistributeHorizontallyIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M19 5V19M5 5V19\", stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M15 9C15.554 9 16 9.446 16 10V14C16 14.554 15.554 15 15 15H9C8.446 15 8 14.554 8 14V10C8 9.446 8.446 9 9 9H15Z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24 }));\r\nconst DistributeVerticallyIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M5 5L19 5M5 19H19\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeLinecap: \"round\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M15 9C15.554 9 16 9.446 16 10V14C16 14.554 15.554 15 15 15H9C8.446 15 8 14.554 8 14V10C8 9.446 8.446 9 9 9H15Z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0)] }, void 0), { width: 24 }));\r\nconst CenterVerticallyIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"m 5.000004,16.999996 c 0,0.554 0.446,1 1,1 h 3 c 0.554,0 1,-0.446 1,-1 v -10 c 0,-0.554 -0.446,-1 -1,-1 h -3 c -0.554,0 -1,0.446 -1,1 z m 9,-2 c 0,0.554 0.446,1 1,1 h 3 c 0.554,0 1,-0.446 1,-1 v -6 c 0,-0.554 -0.446,-1 -1,-1 h -3 c -0.554,0 -1,0.446 -1,1 z\", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 2,12 H 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeDasharray: \"1, 2.8\", strokeLinecap: \"round\" }, void 0)] }, void 0), { width: 24, mirror: true }));\r\nconst CenterHorizontallyIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 7 5 C 6.446 5 6 5.446 6 6 L 6 9 C 6 9.554 6.446 10 7 10 L 17 10 C 17.554 10 18 9.554 18 9 L 18 6 C 18 5.446 17.554 5 17 5 L 7 5 z M 9 14 C 8.446 14 8 14.446 8 15 L 8 18 C 8 18.554 8.446 19 9 19 L 15 19 C 15.554 19 16 18.554 16 18 L 16 15 C 16 14.446 15.554 14 15 14 L 9 14 z \", fill: activeElementColor(theme), stroke: activeElementColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M 12,2 V 22\", fill: iconFillColor(theme), stroke: iconFillColor(theme), strokeWidth: \"2\", strokeDasharray: \"1, 2.8\", strokeLinecap: \"round\" }, void 0)] }, void 0), { width: 24 }));\r\nconst users = createIcon(\"M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z\", { width: 640, height: 512, mirror: true });\r\n// not mirrored because it's inspired by a playback control, which is always RTL\r\nconst start = createIcon(\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z\");\r\nconst stop = createIcon(\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z\");\r\nconst close = createIcon(\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\", { width: 352, height: 512 });\r\nconst back = createIcon(\"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\", { width: 320, height: 512, style: { marginLeft: \"-0.2rem\" }, mirror: true });\r\nconst clone = createIcon(\"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\", { mirror: true });\r\n// modified https://feathericons.com/?query=shield\r\nconst shield = createIcon(\"M11.553 22.894a.998.998 0 00.894 0s3.037-1.516 5.465-4.097C19.616 16.987 21 14.663 21 12V5a1 1 0 00-.649-.936l-8-3a.998.998 0 00-.702 0l-8 3A1 1 0 003 5v7c0 2.663 1.384 4.987 3.088 6.797 2.428 2.581 5.465 4.097 5.465 4.097zm-1.303-8.481l6.644-6.644a.856.856 0 111.212 1.212l-7.25 7.25a.856.856 0 01-1.212 0l-3.75-3.75a.856.856 0 111.212-1.212l3.144 3.144z\", { width: 24 });\r\nconst file = createIcon(\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\", { width: 384, height: 512 });\r\nconst GroupIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M25 26H111V111H25\", fill: iconFillColor(theme) }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M25 111C25 80.2068 25 49.4135 25 26M25 26C48.6174 26 72.2348 26 111 26H25ZM25 26C53.3671 26 81.7343 26 111 26H25ZM111 26C111 52.303 111 78.606 111 111V26ZM111 26C111 51.2947 111 76.5893 111 111V26ZM111 111C87.0792 111 63.1585 111 25 111H111ZM111 111C87.4646 111 63.9293 111 25 111H111ZM25 111C25 81.1514 25 51.3028 25 26V111Z\", stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M100 100H160V160H100\", fill: iconFillColor(theme) }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M100 160C100 144.106 100 128.211 100 100M100 100C117.706 100 135.412 100 160 100H100ZM100 100C114.214 100 128.428 100 160 100H100ZM160 100C160 120.184 160 140.369 160 160V100ZM160 100C160 113.219 160 126.437 160 160V100ZM160 160C145.534 160 131.068 160 100 160H160ZM160 160C143.467 160 126.934 160 100 160H160ZM100 160C100 143.661 100 127.321 100 100V160Z\", stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ fill: handlerColor(theme), stroke: iconFillColor(theme), strokeWidth: \"6\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"2.5\", y: \"2.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"2.5\", y: \"149.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"147.5\", y: \"149.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"147.5\", y: \"2.5\", width: \"30\", height: \"30\" }, void 0)] }), void 0)] }, void 0), { width: 182, height: 182, mirror: true }));\r\nconst UngroupIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M25 26H111V111H25\", fill: iconFillColor(theme) }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M25 111C25 80.2068 25 49.4135 25 26M25 26C48.6174 26 72.2348 26 111 26H25ZM25 26C53.3671 26 81.7343 26 111 26H25ZM111 26C111 52.303 111 78.606 111 111V26ZM111 26C111 51.2947 111 76.5893 111 111V26ZM111 111C87.0792 111 63.1585 111 25 111H111ZM111 111C87.4646 111 63.9293 111 25 111H111ZM25 111C25 81.1514 25 51.3028 25 26V111Z\", stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M100 100H160V160H100\", fill: iconFillColor(theme) }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M100 160C100 144.106 100 128.211 100 100M100 100C117.706 100 135.412 100 160 100H100ZM100 100C114.214 100 128.428 100 160 100H100ZM160 100C160 120.184 160 140.369 160 160V100ZM160 100C160 113.219 160 126.437 160 160V100ZM160 160C145.534 160 131.068 160 100 160H160ZM160 160C143.467 160 126.934 160 100 160H160ZM100 160C100 143.661 100 127.321 100 100V160Z\", stroke: iconFillColor(theme), strokeWidth: \"2\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ fill: handlerColor(theme), stroke: iconFillColor(theme), strokeWidth: \"6\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"2.5\", y: \"2.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"78.5\", y: \"149.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"147.5\", y: \"149.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"147.5\", y: \"78.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"105.5\", y: \"2.5\", width: \"30\", height: \"30\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"rect\", { x: \"2.5\", y: \"102.5\", width: \"30\", height: \"30\" }, void 0)] }), void 0)] }, void 0), { width: 182, height: 182, mirror: true }));\r\nconst FillHachureIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M20.101 16H28.0934L36 8.95989V4H33.5779L20.101 16ZM30.5704 4L17.0935 16H9.10101L22.5779 4H30.5704ZM19.5704 4L6.09349 16H4V10.7475L11.5779 4H19.5704ZM8.57036 4H4V8.06952L8.57036 4ZM36 11.6378L31.101 16H36V11.6378ZM2 2V18H38V2H2Z\", fill: iconFillColor(theme) }, void 0), { width: 40, height: 20 }));\r\nconst FillCrossHatchIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ fill: iconFillColor(theme), fillRule: \"evenodd\", clipRule: \"evenodd\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M20.101 16H28.0934L36 8.95989V4H33.5779L20.101 16ZM30.5704 4L17.0935 16H9.10101L22.5779 4H30.5704ZM19.5704 4L6.09349 16H4V10.7475L11.5779 4H19.5704ZM8.57036 4H4V8.06952L8.57036 4ZM36 11.6378L31.101 16H36V11.6378ZM2 2V18H38V2H2Z\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M14.0001 18L3.00006 4.00002L4.5727 2.76438L15.5727 16.7644L14.0001 18ZM25.0001 18L14.0001 4.00002L15.5727 2.76438L26.5727 16.7644L25.0001 18ZM36.0001 18L25.0001 4.00002L26.5727 2.76438L37.5727 16.7644L36.0001 18Z\" }, void 0)] }), void 0), { width: 40, height: 20 }));\r\nconst FillSolidIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M2 2H38V18H2V2Z\", fill: iconFillColor(theme) }, void 0), {\r\n width: 40,\r\n height: 20,\r\n}));\r\nconst StrokeWidthIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme, strokeWidth }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M6 10H32\", stroke: iconFillColor(theme), strokeWidth: strokeWidth, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20 }));\r\nconst StrokeStyleSolidIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M6 10H34\", stroke: iconFillColor(theme), strokeWidth: 2, fill: \"none\", strokeLinecap: \"round\" }, void 0), {\r\n width: 40,\r\n height: 20,\r\n}));\r\nconst StrokeStyleDashedIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M6 10H34\", stroke: iconFillColor(theme), strokeWidth: 2.5, strokeDasharray: \"10, 8\", fill: \"none\", strokeLinecap: \"round\" }, void 0), { width: 40, height: 20 }));\r\nconst StrokeStyleDottedIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M6 10H36\", stroke: iconFillColor(theme), strokeWidth: 2.5, strokeDasharray: \"2, 4.5\", fill: \"none\", strokeLinecap: \"round\" }, void 0), { width: 40, height: 20 }));\r\nconst SloppinessArchitectIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M3.00098 16.1691C6.28774 13.9744 19.6399 2.8905 22.7215 3.00082C25.8041 3.11113 19.1158 15.5488 21.4962 16.8309C23.8757 18.1131 34.4155 11.7148 37.0001 10.6919\", stroke: iconFillColor(theme), strokeWidth: 2, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20, mirror: true }));\r\nconst SloppinessArtistIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M3 17C6.68158 14.8752 16.1296 9.09849 22.0648 6.54922C28 3.99995 22.2896 13.3209 25 14C27.7104 14.6791 36.3757 9.6471 36.3757 9.6471M6.40706 15C13 11.1918 20.0468 1.51045 23.0234 3.0052C26 4.49995 20.457 12.8659 22.7285 16.4329C25 20 36.3757 13 36.3757 13\", stroke: iconFillColor(theme), strokeWidth: 2, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20, mirror: true }));\r\nconst SloppinessCartoonistIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M3 15.6468C6.93692 13.5378 22.5544 2.81528 26.6206 3.00242C30.6877 3.18956 25.6708 15.3346 27.4009 16.7705C29.1309 18.2055 35.4001 12.4762 37 11.6177M3.97143 10.4917C6.61158 9.24563 16.3706 2.61886 19.8104 3.01724C23.2522 3.41472 22.0773 12.2013 24.6181 12.8783C27.1598 13.5536 33.3179 8.04068 35.0571 7.07244\", stroke: iconFillColor(theme), strokeWidth: 2, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20, mirror: true }));\r\nconst EdgeSharpIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M10 17L10 5L35 5\", stroke: iconFillColor(theme), strokeWidth: 2, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20, mirror: true }));\r\nconst EdgeRoundIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M10 17V15C10 8 13 5 21 5L33.5 5\", stroke: iconFillColor(theme), strokeWidth: 2, strokeLinecap: \"round\", fill: \"none\" }, void 0), { width: 40, height: 20, mirror: true }));\r\nconst ArrowheadNoneIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M6 10H34\", stroke: iconFillColor(theme), strokeWidth: 2, fill: \"none\" }, void 0), {\r\n width: 40,\r\n height: 20,\r\n}));\r\nconst ArrowheadArrowIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme, flip = false }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ transform: flip ? \"translate(40, 0) scale(-1, 1)\" : \"\", stroke: iconFillColor(theme), strokeWidth: 2, fill: \"none\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M34 10H6M34 10L27 5M34 10L27 15\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M27.5 5L34.5 10L27.5 15\" }, void 0)] }), void 0), { width: 40, height: 20 }));\r\nconst ArrowheadDotIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme, flip = false }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ stroke: iconFillColor(theme), fill: iconFillColor(theme), transform: flip ? \"translate(40, 0) scale(-1, 1)\" : \"\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M32 10L6 10\", strokeWidth: 2 }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"circle\", { r: \"4\", transform: \"matrix(-1 0 0 1 30 10)\" }, void 0)] }), void 0), { width: 40, height: 20 }));\r\nconst ArrowheadBarIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme, flip = false }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"g\", Object.assign({ transform: flip ? \"translate(40, 0) scale(-1, 1)\" : \"\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M34 10H5.99996M34 10L34 5M34 10L34 15\", stroke: iconFillColor(theme), strokeWidth: 2, fill: \"none\" }, void 0) }), void 0), { width: 40, height: 20 }));\r\nconst ArrowheadTriangleIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme, flip = false }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"g\", Object.assign({ stroke: iconFillColor(theme), fill: iconFillColor(theme), transform: flip ? \"translate(40, 0) scale(-1, 1)\" : \"\" }, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M32 10L6 10\", strokeWidth: 2 }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M27.5 5.5L34.5 10L27.5 14.5L27.5 5.5\" }, void 0)] }), void 0), { width: 40, height: 20 }));\r\nconst FontSizeSmallIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 0 69.092 L 0 55.03 A 124.24 124.24 0 0 0 4.706 57.02 Q 6.826 57.863 8.708 58.5 A 53.466 53.466 0 0 0 12.231 59.571 Q 17.236 60.889 21.387 60.889 A 20.909 20.909 0 0 0 24.265 60.704 Q 25.719 60.502 26.903 60.077 A 8.649 8.649 0 0 0 29.028 58.985 Q 31.689 57.08 31.689 53.321 Q 31.689 51.221 30.518 49.585 A 10.126 10.126 0 0 0 29.282 48.177 Q 28.352 47.287 27.075 46.436 A 23.719 23.719 0 0 0 25.752 45.627 Q 23.774 44.492 20.176 42.735 A 254.44 254.44 0 0 0 17.822 41.602 Q 11.503 38.631 8.236 35.888 A 19.742 19.742 0 0 1 8.008 35.694 A 22.18 22.18 0 0 1 2.783 29.102 Q 0.83 25.342 0.83 20.313 A 22.471 22.471 0 0 1 1.733 13.778 A 17.283 17.283 0 0 1 7.251 5.42 A 21.486 21.486 0 0 1 15.177 1.272 Q 18.361 0.338 22.166 0.09 A 43.573 43.573 0 0 1 25 0 A 42.399 42.399 0 0 1 34.349 1.01 A 39.075 39.075 0 0 1 35.62 1.319 A 67.407 67.407 0 0 1 42.108 3.382 A 83.357 83.357 0 0 1 46.191 5.03 L 41.309 16.797 Q 35.596 14.453 31.86 13.526 A 30.762 30.762 0 0 0 25.417 12.612 A 28.337 28.337 0 0 0 24.512 12.598 A 14.846 14.846 0 0 0 22.022 12.793 Q 19.498 13.224 17.92 14.6 Q 15.625 16.602 15.625 19.824 Q 15.625 21.826 16.553 23.316 Q 17.48 24.805 19.507 26.197 A 18.343 18.343 0 0 0 20.659 26.912 Q 22.596 28.035 26.516 29.953 A 299.99 299.99 0 0 0 29.102 31.201 Q 37.91 35.412 41.841 39.642 A 16.553 16.553 0 0 1 42.822 40.796 A 17.675 17.675 0 0 1 46.301 49.233 A 23.517 23.517 0 0 1 46.533 52.588 A 21.581 21.581 0 0 1 45.471 59.515 A 17.733 17.733 0 0 1 39.575 67.823 Q 33.745 72.486 24.094 73.243 A 49.683 49.683 0 0 1 20.215 73.389 A 51.712 51.712 0 0 1 9.448 72.315 A 40.672 40.672 0 0 1 0 69.092 Z\" }, void 0), { width: 47, height: 77 }));\r\nconst FontSizeMediumIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 44.092 71.387 L 30.225 71.387 L 13.037 15.381 L 12.598 15.381 A 1505.093 1505.093 0 0 1 12.959 22.313 Q 13.426 31.715 13.508 36.4 A 102.991 102.991 0 0 1 13.525 38.184 L 13.525 71.387 L 0 71.387 L 0 0 L 20.605 0 L 37.5 54.59 L 37.793 54.59 L 55.713 0 L 76.318 0 L 76.318 71.387 L 62.207 71.387 L 62.207 37.598 Q 62.207 35.205 62.28 32.08 A 160.703 160.703 0 0 1 62.326 30.544 Q 62.452 26.754 62.866 17.168 A 5390.536 5390.536 0 0 1 62.939 15.479 L 62.5 15.479 L 44.092 71.387 Z\" }, void 0), { width: 77, height: 75 }));\r\nconst FontSizeLargeIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 44.092 71.387 L 0 71.387 L 0 0 L 15.137 0 L 15.137 58.887 L 44.092 58.887 L 44.092 71.387 Z\" }, void 0), { width: 45, height: 75 }));\r\nconst FontSizeExtraLargeIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 42.578 35.4 L 66.699 71.387 L 49.414 71.387 L 32.813 44.385 L 16.211 71.387 L 0 71.387 L 23.682 34.57 L 1.514 0 L 18.213 0 L 33.594 25.684 L 48.682 0 L 64.99 0 L 42.578 35.4 Z M 119.775 71.387 L 75.684 71.387 L 75.684 0 L 90.82 0 L 90.82 58.887 L 119.775 58.887 L 119.775 71.387 Z\" }, void 0), { width: 120, height: 75 }));\r\nconst FontFamilyHandDrawnIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z\" }, void 0), { width: 448, height: 512 }));\r\nconst FontFamilyNormalIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 63.818 71.68 L 54.492 71.68 L 45.898 49.561 L 17.578 49.561 L 9.082 71.68 L 0 71.68 L 27.881 0 L 35.986 0 L 63.818 71.68 Z M 20.605 41.602 L 43.213 41.602 L 35.205 19.971 L 31.787 9.277 Q 30.322 15.137 28.711 19.971 L 20.605 41.602 Z\" }, void 0), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M 68.994 71.68 L 52.686 71.68 L 47.51 54.688 L 21.484 54.688 L 16.309 71.68 L 0 71.68 L 25.195 0 L 43.701 0 L 68.994 71.68 Z M 25.293 41.992 L 43.896 41.992 A 27590.463 27590.463 0 0 1 42.2 36.532 Q 36.965 19.676 35.937 16.273 A 120.932 120.932 0 0 1 35.815 15.869 A 131.65 131.65 0 0 1 35.396 14.435 Q 34.951 12.879 34.675 11.741 A 34.866 34.866 0 0 1 34.521 11.084 A 141.762 141.762 0 0 1 33.706 14.075 Q 31.482 21.957 25.293 41.992 Z\" }, void 0)] }, void 0), { width: 70, height: 78 }));\r\nconst FontFamilyCodeIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { fill: iconFillColor(theme), d: \"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\" }, void 0) }, void 0), { width: 640, height: 512 }));\r\nconst TextAlignLeftIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M12.83 352h262.34A12.82 12.82 0 00288 339.17v-38.34A12.82 12.82 0 00275.17 288H12.83A12.82 12.82 0 000 300.83v38.34A12.82 12.82 0 0012.83 352zm0-256h262.34A12.82 12.82 0 00288 83.17V44.83A12.82 12.82 0 00275.17 32H12.83A12.82 12.82 0 000 44.83v38.34A12.82 12.82 0 0012.83 96zM432 160H16a16 16 0 00-16 16v32a16 16 0 0016 16h416a16 16 0 0016-16v-32a16 16 0 00-16-16zm0 256H16a16 16 0 00-16 16v32a16 16 0 0016 16h416a16 16 0 0016-16v-32a16 16 0 00-16-16z\", fill: iconFillColor(theme), strokeLinecap: \"round\" }, void 0), { width: 448, height: 512 }));\r\nconst TextAlignCenterIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M432 160H16a16 16 0 00-16 16v32a16 16 0 0016 16h416a16 16 0 0016-16v-32a16 16 0 00-16-16zm0 256H16a16 16 0 00-16 16v32a16 16 0 0016 16h416a16 16 0 0016-16v-32a16 16 0 00-16-16zM108.1 96h231.81A12.09 12.09 0 00352 83.9V44.09A12.09 12.09 0 00339.91 32H108.1A12.09 12.09 0 0096 44.09V83.9A12.1 12.1 0 00108.1 96zm231.81 256A12.09 12.09 0 00352 339.9v-39.81A12.09 12.09 0 00339.91 288H108.1A12.09 12.09 0 0096 300.09v39.81a12.1 12.1 0 0012.1 12.1z\", fill: iconFillColor(theme) }, void 0), { width: 448, height: 512 }));\r\nconst TextAlignRightIcon = react__WEBPACK_IMPORTED_MODULE_1___default().memo(({ theme }) => createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M16 224h416a16 16 0 0016-16v-32a16 16 0 00-16-16H16a16 16 0 00-16 16v32a16 16 0 0016 16zm416 192H16a16 16 0 00-16 16v32a16 16 0 0016 16h416a16 16 0 0016-16v-32a16 16 0 00-16-16zm3.17-384H172.83A12.82 12.82 0 00160 44.83v38.34A12.82 12.82 0 00172.83 96h262.34A12.82 12.82 0 00448 83.17V44.83A12.82 12.82 0 00435.17 32zm0 256H172.83A12.82 12.82 0 00160 300.83v38.34A12.82 12.82 0 00172.83 352h262.34A12.82 12.82 0 00448 339.17v-38.34A12.82 12.82 0 00435.17 288z\", fill: iconFillColor(theme), strokeLinecap: \"round\" }, void 0), { width: 448, height: 512 }));\r\nconst publishIcon = createIcon((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"path\", { d: \"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z\", fill: \"currentColor\" }, void 0), { width: 640, height: 512 });\r\nconst home = createIcon(\"M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z\");\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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VSxDQUM1Qix1ZUFBdWUsQ0FDeGUsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uLi8uLi9jb21wb25lbnRzL2ljb25zLnRzeD9hNTA3Il0sInNvdXJjZXNDb250ZW50IjpbIi8vXG4vLyBBbGwgaWNvbnMgYXJlIGltcG9ydGVkIGZyb20gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vaWNvbnM/ZD1nYWxsZXJ5XG4vLyBJY29ucyBhcmUgdW5kZXIgdGhlIGxpY2Vuc2UgaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZVxuLy9cblxuLy8gTm90ZTogd2hlbiBhZGRpbmcgbmV3IGljb25zLCByZXZpZXcgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9Nb3ppbGxhL0RldmVsb3Blcl9ndWlkZS9SVExfR3VpZGVsaW5lc1xuLy8gdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IHRoZSBpY29ucyBzaG91bGQgYmUgbWlycm9yZWQgaW4gcmlnaHQtdG8tbGVmdCBsYW5ndWFnZXMuXG5cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IG9jIGZyb20gXCJvcGVuLWNvbG9yXCI7XG5pbXBvcnQgY2xzeCBmcm9tIFwiY2xzeFwiO1xuaW1wb3J0IHsgVGhlbWUgfSBmcm9tIFwiLi4vZWxlbWVudC90eXBlc1wiO1xuaW1wb3J0IHsgVEhFTUUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IGFjdGl2ZUVsZW1lbnRDb2xvciA9ICh0aGVtZTogVGhlbWUpID0+XG4gIHRoZW1lID09PSBUSEVNRS5MSUdIVCA/IG9jLm9yYW5nZVs0XSA6IG9jLm9yYW5nZVs5XTtcblxuY29uc3QgaWNvbkZpbGxDb2xvciA9ICh0aGVtZTogVGhlbWUpID0+IFwidmFyKC0taWNvbi1maWxsLWNvbG9yKVwiO1xuXG5jb25zdCBoYW5kbGVyQ29sb3IgPSAodGhlbWU6IFRoZW1lKSA9PlxuICB0aGVtZSA9PT0gVEhFTUUuTElHSFQgPyBvYy53aGl0ZSA6IFwiIzFlMWUxZVwiO1xuXG50eXBlIE9wdHMgPSB7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIG1pcnJvcj86IHRydWU7XG59ICYgUmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD47XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVJY29uID0gKFxuICBkOiBzdHJpbmcgfCBSZWFjdC5SZWFjdE5vZGUsXG4gIG9wdHM6IG51bWJlciB8IE9wdHMgPSA1MTIsXG4pID0+IHtcbiAgY29uc3Qge1xuICAgIHdpZHRoID0gNTEyLFxuICAgIGhlaWdodCA9IHdpZHRoLFxuICAgIG1pcnJvcixcbiAgICBzdHlsZSxcbiAgfSA9IHR5cGVvZiBvcHRzID09PSBcIm51bWJlclwiID8gKHsgd2lkdGg6IG9wdHMgfSBhcyBPcHRzKSA6IG9wdHM7XG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgIHJvbGU9XCJpbWdcIlxuICAgICAgdmlld0JveD17YDAgMCAke3dpZHRofSAke2hlaWdodH1gfVxuICAgICAgY2xhc3NOYW1lPXtjbHN4KHsgXCJydGwtbWlycm9yXCI6IG1pcnJvciB9KX1cbiAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICA+XG4gICAgICB7dHlwZW9mIGQgPT09IFwic3RyaW5nXCIgPyA8cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD17ZH0gLz4gOiBkfVxuICAgIDwvc3ZnPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNoZWNrSWNvbiA9IGNyZWF0ZUljb24oXG4gIDxwb2x5bGluZSBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHBvaW50cz1cIjIwIDYgOSAxNyA0IDEyXCIgLz4sXG4gIHtcbiAgICB3aWR0aDogMjQsXG4gICAgaGVpZ2h0OiAyNCxcbiAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBsaW5rID0gY3JlYXRlSWNvbihcbiAgXCJNMzI2LjYxMiAxODUuMzkxYzU5Ljc0NyA1OS44MDkgNTguOTI3IDE1NS42OTguMzYgMjE0LjU5LS4xMS4xMi0uMjQuMjUtLjM2LjM3bC02Ny4yIDY3LjJjLTU5LjI3IDU5LjI3LTE1NS42OTkgNTkuMjYyLTIxNC45NiAwLTU5LjI3LTU5LjI2LTU5LjI3LTE1NS43IDAtMjE0Ljk2bDM3LjEwNi0zNy4xMDZjOS44NC05Ljg0IDI2Ljc4Ni0zLjMgMjcuMjk0IDEwLjYwNi42NDggMTcuNzIyIDMuODI2IDM1LjUyNyA5LjY5IDUyLjcyMSAxLjk4NiA1LjgyMi41NjcgMTIuMjYyLTMuNzgzIDE2LjYxMmwtMTMuMDg3IDEzLjA4N2MtMjguMDI2IDI4LjAyNi0yOC45MDUgNzMuNjYtMS4xNTUgMTAxLjk2IDI4LjAyNCAyOC41NzkgNzQuMDg2IDI4Ljc0OSAxMDIuMzI1LjUxbDY3LjItNjcuMTljMjguMTkxLTI4LjE5MSAyOC4wNzMtNzMuNzU3IDAtMTAxLjgzLTMuNzAxLTMuNjk0LTcuNDI5LTYuNTY0LTEwLjM0MS04LjU2OWExNi4wMzcgMTYuMDM3IDAgMCAxLTYuOTQ3LTEyLjYwNmMtLjM5Ni0xMC41NjcgMy4zNDgtMjEuNDU2IDExLjY5OC0yOS44MDZsMjEuMDU0LTIxLjA1NWM1LjUyMS01LjUyMSAxNC4xODItNi4xOTkgMjAuNTg0LTEuNzMxYTE1Mi40ODIgMTUyLjQ4MiAwIDAgMSAyMC41MjIgMTcuMTk3ek00NjcuNTQ3IDQ0LjQ0OWMtNTkuMjYxLTU5LjI2Mi0xNTUuNjktNTkuMjctMjE0Ljk2IDBsLTY3LjIgNjcuMmMtLjEyLjEyLS4yNS4yNS0uMzYuMzctNTguNTY2IDU4Ljg5Mi01OS4zODcgMTU0Ljc4MS4zNiAyMTQuNTlhMTUyLjQ1NCAxNTIuNDU0IDAgMCAwIDIwLjUyMSAxNy4xOTZjNi40MDIgNC40NjggMTUuMDY0IDMuNzg5IDIwLjU4NC0xLjczMWwyMS4wNTQtMjEuMDU1YzguMzUtOC4zNSAxMi4wOTQtMTkuMjM5IDExLjY5OC0yOS44MDZhMTYuMDM3IDE2LjAzNyAwIDAgMC02Ljk0Ny0xMi42MDZjLTIuOTEyLTIuMDA1LTYuNjQtNC44NzUtMTAuMzQxLTguNTY5LTI4LjA3My0yOC4wNzMtMjguMTkxLTczLjYzOSAwLTEwMS44M2w2Ny4yLTY3LjE5YzI4LjIzOS0yOC4yMzkgNzQuMy0yOC4wNjkgMTAyLjMyNS41MSAyNy43NSAyOC4zIDI2Ljg3MiA3My45MzQtMS4xNTUgMTAxLjk2bC0xMy4wODcgMTMuMDg3Yy00LjM1IDQuMzUtNS43NjkgMTAuNzktMy43ODMgMTYuNjEyIDUuODY0IDE3LjE5NCA5LjA0MiAzNC45OTkgOS42OSA1Mi43MjEuNTA5IDEzLjkwNiAxNy40NTQgMjAuNDQ2IDI3LjI5NCAxMC42MDZsMzcuMTA2LTM3LjEwNmM1OS4yNzEtNTkuMjU5IDU5LjI3MS0xNTUuNjk5LjAwMS0yMTQuOTU5elwiLFxuICB7IG1pcnJvcjogdHJ1ZSB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHNhdmUgPSBjcmVhdGVJY29uKFxuICBcIk00MzMuOTQxIDEyOS45NDFsLTgzLjg4Mi04My44ODJBNDggNDggMCAwIDAgMzE2LjExOCAzMkg0OEMyMS40OSAzMiAwIDUzLjQ5IDAgODB2MzUyYzAgMjYuNTEgMjEuNDkgNDggNDggNDhoMzUyYzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWMTYzLjg4MmE0OCA0OCAwIDAgMC0xNC4wNTktMzMuOTQxek0yMjQgNDE2Yy0zNS4zNDYgMC02NC0yOC42NTQtNjQtNjQgMC0zNS4zNDYgMjguNjU0LTY0IDY0LTY0czY0IDI4LjY1NCA2NCA2NGMwIDM1LjM0Ni0yOC42NTQgNjQtNjQgNjR6bTk2LTMwNC41MlYyMTJjMCA2LjYyNy01LjM3MyAxMi0xMiAxMkg3NmMtNi42MjcgMC0xMi01LjM3My0xMi0xMlYxMDhjMC02LjYyNyA1LjM3My0xMiAxMi0xMmgyMjguNTJjMy4xODMgMCA2LjIzNSAxLjI2NCA4LjQ4NSAzLjUxNWwzLjQ4IDMuNDhBMTEuOTk2IDExLjk5NiAwIDAgMSAzMjAgMTExLjQ4elwiLFxuICB7IHdpZHRoOiA0NDgsIGhlaWdodDogNTEyIH0sXG4pO1xuXG5leHBvcnQgY29uc3Qgc2F2ZUFzID0gY3JlYXRlSWNvbihcbiAgXCJNMjUyIDU0TDIwMyA4YTI4IDI3IDAgMDAtMjAtOEgyOEMxMiAwIDAgMTIgMCAyN3YxOTVjMCAxNSAxMiAyNiAyOCAyNmgyMDRjMTUgMCAyOC0xMSAyOC0yNlY3M2EyOCAyNyAwIDAwLTgtMTl6TTEzMCAyMTNjLTIxIDAtMzctMTYtMzctMzYgMC0xOSAxNi0zNSAzNy0zNSAyMCAwIDM3IDE2IDM3IDM1IDAgMjAtMTcgMzYtMzcgMzZ6bTU2LTE2OXY1NmMwIDQtNCA2LTcgNkg0NGMtNCAwLTctMi03LTZWNDJjMC00IDMtNyA3LTdoMTMzbDQgMiAzIDJhNyA3IDAgMDEyIDV6IE0yOTYgMjAxbDg3IDk1LTE4OCAyMDUtNzggOWMtMTAgMS0xOS04LTE4LTIwbDktODR6bTE0MS0xNGwtNDEtNDRhMzEgMzEgMCAwMC00NiAwbC0zOCA0MSA4NyA5NSAzOC00MmMxMy0xNCAxMy0zNiAwLTUwelwiLFxuICB7IHdpZHRoOiA0NDgsIGhlaWdodDogNTEyIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgbG9hZCA9IGNyZWF0ZUljb24oXG4gIFwiTTU3Mi42OTQgMjkyLjA5M0w1MDAuMjcgNDE2LjI0OEE2My45OTcgNjMuOTk3IDAgMCAxIDQ0NC45ODkgNDQ4SDQ1LjAyNWMtMTguNTIzIDAtMzAuMDY0LTIwLjA5My0yMC43MzEtMzYuMDkzbDcyLjQyNC0xMjQuMTU1QTY0IDY0IDAgMCAxIDE1MiAyNTZoMzk5Ljk2NGMxOC41MjMgMCAzMC4wNjQgMjAuMDkzIDIwLjczIDM2LjA5M3pNMTUyIDIyNGgzMjh2LTQ4YzAtMjYuNTEtMjEuNDktNDgtNDgtNDhIMjcybC02NC02NEg0OEMyMS40OSA2NCAwIDg1LjQ5IDAgMTEydjI3OC4wNDZsNjkuMDc3LTExOC40MThDODYuMjE0IDI0Mi4yNSAxMTcuOTg5IDIyNCAxNTIgMjI0elwiLFxuICB7IHdpZHRoOiA1NzYsIGhlaWdodDogNTEyLCBtaXJyb3I6IHRydWUgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBjbGlwYm9hcmQgPSBjcmVhdGVJY29uKFxuICBcIk0zODQgMTEydjM1MmMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4SDQ4Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4VjExMmMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDgwYzAtMzUuMjkgMjguNzEtNjQgNjQtNjRzNjQgMjguNzEgNjQgNjRoODBjMjYuNTEgMCA0OCAyMS40OSA0OCA0OHpNMTkyIDQwYy0xMy4yNTUgMC0yNCAxMC43NDUtMjQgMjRzMTAuNzQ1IDI0IDI0IDI0IDI0LTEwLjc0NSAyNC0yNC0xMC43NDUtMjQtMjQtMjRtOTYgMTE0di0yMGE2IDYgMCAwIDAtNi02SDEwMmE2IDYgMCAwIDAtNiA2djIwYTYgNiAwIDAgMCA2IDZoMTgwYTYgNiAwIDAgMCA2LTZ6XCIsXG4gIHsgd2lkdGg6IDM4NCwgaGVpZ2h0OiA1MTIgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB0cmFzaCA9IGNyZWF0ZUljb24oXG4gIFwiTTMyIDQ2NGE0OCA0OCAwIDAgMCA0OCA0OGgyODhhNDggNDggMCAwIDAgNDgtNDhWMTI4SDMyem0yNzItMjU2YTE2IDE2IDAgMCAxIDMyIDB2MjI0YTE2IDE2IDAgMCAxLTMyIDB6bS05NiAwYTE2IDE2IDAgMCAxIDMyIDB2MjI0YTE2IDE2IDAgMCAxLTMyIDB6bS05NiAwYTE2IDE2IDAgMCAxIDMyIDB2MjI0YTE2IDE2IDAgMCAxLTMyIDB6TTQzMiAzMkgzMTJsLTkuNC0xOC43QTI0IDI0IDAgMCAwIDI4MS4xIDBIMTY2LjhhMjMuNzIgMjMuNzIgMCAwIDAtMjEuNCAxMy4zTDEzNiAzMkgxNkExNiAxNiAwIDAgMCAwIDQ4djMyYTE2IDE2IDAgMCAwIDE2IDE2aDQxNmExNiAxNiAwIDAgMCAxNi0xNlY0OGExNiAxNiAwIDAgMC0xNi0xNnpcIixcblxuICB7IHdpZHRoOiA0NDgsIGhlaWdodDogNTEyIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgcGFsZXR0ZSA9IGNyZWF0ZUljb24oXG4gIFwiTTIwNC4zIDVDMTA0LjkgMjQuNCAyNC44IDEwNC4zIDUuMiAyMDMuNGMtMzcgMTg3IDEzMS43IDMyNi40IDI1OC44IDMwNi43IDQxLjItNi40IDYxLjQtNTQuNiA0Mi41LTkxLjctMjMuMS00NS40IDkuOS05OC40IDYwLjktOTguNGg3OS43YzM1LjggMCA2NC44LTI5LjYgNjQuOS02NS4zQzUxMS41IDk3LjEgMzY4LjEtMjYuOSAyMDQuMyA1ek05NiAzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzIgMzIgMTQuMyAzMiAzMi0xNC4zIDMyLTMyIDMyem0zMi0xMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzIgMzIgMTQuMyAzMiAzMi0xNC4zIDMyLTMyIDMyem0xMjgtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzIgMzIgMTQuMyAzMiAzMi0xNC4zIDMyLTMyIDMyem0xMjggNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzIgMzIgMTQuMyAzMiAzMi0xNC4zIDMyLTMyIDMyelwiLFxuKTtcblxuZXhwb3J0IGNvbnN0IGV4cG9ydEZpbGUgPSBjcmVhdGVJY29uKFxuICBcIk0zODQgMTIxLjljMC02LjMtMi41LTEyLjQtNy0xNi45TDI3OS4xIDdjLTQuNS00LjUtMTAuNi03LTE3LTdIMjU2djEyOGgxMjh6TTU3MSAzMDhsLTk1LjctOTYuNGMtMTAuMS0xMC4xLTI3LjQtMy0yNy40IDExLjNWMjg4aC02NHY2NGg2NHY2NS4yYzAgMTQuMyAxNy4zIDIxLjQgMjcuNCAxMS4zTDU3MSAzMzJjNi42LTYuNiA2LjYtMTcuNCAwLTI0em0tMzc5IDI4di0zMmMwLTguOCA3LjItMTYgMTYtMTZoMTc2VjE2MEgyNDhjLTEzLjIgMC0yNC0xMC44LTI0LTI0VjBIMjRDMTAuNyAwIDAgMTAuNyAwIDI0djQ2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNGgzMzZjMTMuMyAwIDI0LTEwLjcgMjQtMjRWMzUySDIwOGMtOC44IDAtMTYtNy4yLTE2LTE2elwiLFxuICB7IHdpZHRoOiA1NzYsIGhlaWdodDogNTEyLCBtaXJyb3I6IHRydWUgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBleHBvcnRJbWFnZSA9IGNyZWF0ZUljb24oXG4gIDw+XG4gICAgPHBhdGggZD1cIk01NzEgMzA4bC05NS43LTk2LjRjLTEwLjEtMTAuMS0yNy40LTMtMjcuNCAxMS4zVjI4OGgtNjR2NjRoNjR2NjUuMmMwIDE0LjMgMTcuMyAyMS40IDI3LjQgMTEuM0w1NzEgMzMyYzYuNi02LjYgNi42LTE3LjQgMC0yNHptLTE4NyA0NHYtNjQgNjR6XCIgLz5cbiAgICA8cGF0aCBkPVwiTTM4NCAxMjEuOTQxVjEyOEgyNTZWMGg2LjA1OWM2LjM2MiAwIDEyLjQ3MSAyLjUzIDE2Ljk3IDcuMDI5bDk3Ljk0MSA5Ny45NDFhMjQuMDEgMjQuMDEgMCAwMTcuMDMgMTYuOTcxek0yNDggMTYwYy0xMy4yIDAtMjQtMTAuOC0yNC0yNFYwSDI0QzEwLjc0NSAwIDAgMTAuNzQ1IDAgMjR2NDY0YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgzMzZjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjE2MEgyNDh6bS0xMzUuNDU1IDE2YzI2LjUxIDAgNDggMjEuNDkgNDggNDhzLTIxLjQ5IDQ4LTQ4IDQ4LTQ4LTIxLjQ5LTQ4LTQ4IDIxLjQ5MS00OCA0OC00OHptMjA4IDI0MGgtMjU2bC40ODUtNDguNDg1TDEwNC41NDUgMzI4YzQuNjg2LTQuNjg2IDExLjc5OS00LjIwMSAxNi40ODUuNDg1TDE2MC41NDUgMzY4IDI2NC4wNiAyNjQuNDg1YzQuNjg2LTQuNjg2IDEyLjI4NC00LjY4NiAxNi45NzEgMEwzMjAuNTQ1IDMwNHYxMTJ6XCIgLz5cbiAgPC8+LFxuICB7IHdpZHRoOiA1NzYsIGhlaWdodDogNTEyLCBtaXJyb3I6IHRydWUgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBleHBvcnRUb0ZpbGVJY29uID0gY3JlYXRlSWNvbihcbiAgXCJNMjE2IDBoODBjMTMuMyAwIDI0IDEwLjcgMjQgMjR2MTY4aDg3LjdjMTcuOCAwIDI2LjcgMjEuNSAxNC4xIDM0LjFMMjY5LjcgMzc4LjNjLTcuNSA3LjUtMTkuOCA3LjUtMjcuMyAwTDkwLjEgMjI2LjFjLTEyLjYtMTIuNi0zLjctMzQuMSAxNC4xLTM0LjFIMTkyVjI0YzAtMTMuMyAxMC43LTI0IDI0LTI0em0yOTYgMzc2djExMmMwIDEzLjMtMTAuNyAyNC0yNCAyNEgyNGMtMTMuMyAwLTI0LTEwLjctMjQtMjRWMzc2YzAtMTMuMyAxMC43LTI0IDI0LTI0aDE0Ni43bDQ5IDQ5YzIwLjEgMjAuMSA1Mi41IDIwLjEgNzIuNiAwbDQ5LTQ5SDQ4OGMxMy4zIDAgMjQgMTAuNyAyNCAyNHptLTEyNCA4OGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjAgOSAyMCAyMCAyMCAyMC05IDIwLTIwem02NCAwYzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMCA5IDIwIDIwIDIwIDIwLTkgMjAtMjB6XCIsXG4gIHsgd2lkdGg6IDUxMiwgaGVpZ2h0OiA1MTIgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB6b29tSW4gPSBjcmVhdGVJY29uKFxuICBcIk00MTYgMjA4SDI3MlY2NGMwLTE3LjY3LTE0LjMzLTMyLTMyLTMyaC0zMmMtMTcuNjcgMC0zMiAxNC4zMy0zMiAzMnYxNDRIMzJjLTE3LjY3IDAtMzIgMTQuMzMtMzIgMzJ2MzJjMCAxNy42NyAxNC4zMyAzMiAzMiAzMmgxNDR2MTQ0YzAgMTcuNjcgMTQuMzMgMzIgMzIgMzJoMzJjMTcuNjcgMCAzMi0xNC4zMyAzMi0zMlYzMDRoMTQ0YzE3LjY3IDAgMzItMTQuMzMgMzItMzJ2LTMyYzAtMTcuNjctMTQuMzMtMzItMzItMzJ6XCIsXG4gIHsgd2lkdGg6IDQ0OCwgaGVpZ2h0OiA1MTIgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB6b29tT3V0ID0gY3JlYXRlSWNvbihcbiAgXCJNNDE2IDIwOEgzMmMtMTcuNjcgMC0zMiAxNC4zMy0zMiAzMnYzMmMwIDE3LjY3IDE0LjMzIDMyIDMyIDMyaDM4NGMxNy42NyAwIDMyLTE0LjMzIDMyLTMydi0zMmMwLTE3LjY3LTE0LjMzLTMyLTMyLTMyelwiLFxuICB7IHdpZHRoOiA0NDgsIGhlaWdodDogNTEyIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgZG9uZSA9IGNyZWF0ZUljb24oXG4gIFwiTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxelwiLFxuKTtcblxuZXhwb3J0IGNvbnN0IG1lbnUgPSBjcmVhdGVJY29uKFxuICBcIk0xNiAxMzJoNDE2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZWNzZjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNkM3LjE2MyA2MCAwIDY3LjE2MyAwIDc2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6bTAgMTYwaDQxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6bTAgMTYwaDQxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6XCIsXG4pO1xuXG5leHBvcnQgY29uc3QgdW5kbyA9IGNyZWF0ZUljb24oXG4gIFwiTTI1NS41NDUgOGMtNjYuMjY5LjExOS0xMjYuNDM4IDI2LjIzMy0xNzAuODYgNjguNjg1TDQ4Ljk3MSA0MC45NzFDMzMuODUxIDI1Ljg1MSA4IDM2LjU1OSA4IDU3Ljk0MVYxOTJjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDEzNC4wNTljMjEuMzgyIDAgMzIuMDktMjUuODUxIDE2Ljk3MS00MC45NzFsLTQxLjc1LTQxLjc1YzMwLjg2NC0yOC44OTkgNzAuODAxLTQ0LjkwNyAxMTMuMjMtNDUuMjczIDkyLjM5OC0uNzk4IDE3MC4yODMgNzMuOTc3IDE2OS40ODQgMTY5LjQ0MkM0MjMuMjM2IDM0OC4wMDkgMzQ5LjgxNiA0MjQgMjU2IDQyNGMtNDEuMTI3IDAtNzkuOTk3LTE0LjY3OC0xMTAuNjMtNDEuNTU2LTQuNzQzLTQuMTYxLTExLjkwNi0zLjkwOC0xNi4zNjguNTUzTDg5LjM0IDQyMi42NTljLTQuODcyIDQuODcyLTQuNjMxIDEyLjgxNS40ODIgMTcuNDMzQzEzMy43OTggNDc5LjgxMyAxOTIuMDc0IDUwNCAyNTYgNTA0YzEzNi45NjYgMCAyNDcuOTk5LTExMS4wMzMgMjQ4LTI0Ny45OThDNTA0LjAwMSAxMTkuMTkzIDM5Mi4zNTQgNy43NTUgMjU1LjU0NSA4elwiLFxuICB7IG1pcnJvcjogdHJ1ZSB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHJlZG8gPSBjcmVhdGVJY29uKFxuICBcIk0yNTYuNDU1IDhjNjYuMjY5LjExOSAxMjYuNDM3IDI2LjIzMyAxNzAuODU5IDY4LjY4NWwzNS43MTUtMzUuNzE1QzQ3OC4xNDkgMjUuODUxIDUwNCAzNi41NTkgNTA0IDU3Ljk0MVYxOTJjMCAxMy4yNTUtMTAuNzQ1IDI0LTI0IDI0SDM0NS45NDFjLTIxLjM4MiAwLTMyLjA5LTI1Ljg1MS0xNi45NzEtNDAuOTcxbDQxLjc1LTQxLjc1Yy0zMC44NjQtMjguODk5LTcwLjgwMS00NC45MDctMTEzLjIzLTQ1LjI3My05Mi4zOTgtLjc5OC0xNzAuMjgzIDczLjk3Ny0xNjkuNDg0IDE2OS40NDJDODguNzY0IDM0OC4wMDkgMTYyLjE4NCA0MjQgMjU2IDQyNGM0MS4xMjcgMCA3OS45OTctMTQuNjc4IDExMC42MjktNDEuNTU2IDQuNzQzLTQuMTYxIDExLjkwNi0zLjkwOCAxNi4zNjguNTUzbDM5LjY2MiAzOS42NjJjNC44NzIgNC44NzIgNC42MzEgMTIuODE1LS40ODIgMTcuNDMzQzM3OC4yMDIgNDc5LjgxMyAzMTkuOTI2IDUwNCAyNTYgNTA0IDExOS4wMzQgNTA0IDguMDAxIDM5Mi45NjcgOCAyNTYuMDAyIDcuOTk5IDExOS4xOTMgMTE5LjY0NiA3Ljc1NSAyNTYuNDU1IDh6XCIsXG4gIHsgbWlycm9yOiB0cnVlIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgcXVlc3Rpb25DaXJjbGUgPSBjcmVhdGVJY29uKFxuICBcIk01MDQgMjU2YzAgMTM2Ljk5Ny0xMTEuMDQzIDI0OC0yNDggMjQ4UzggMzkyLjk5NyA4IDI1NkM4IDExOS4wODMgMTE5LjA0MyA4IDI1NiA4czI0OCAxMTEuMDgzIDI0OCAyNDh6TTI2Mi42NTUgOTBjLTU0LjQ5NyAwLTg5LjI1NSAyMi45NTctMTE2LjU0OSA2My43NTgtMy41MzYgNS4yODYtMi4zNTMgMTIuNDE1IDIuNzE1IDE2LjI1OGwzNC42OTkgMjYuMzFjNS4yMDUgMy45NDcgMTIuNjIxIDMuMDA4IDE2LjY2NS0yLjEyMiAxNy44NjQtMjIuNjU4IDMwLjExMy0zNS43OTcgNTcuMzAzLTM1Ljc5NyAyMC40MjkgMCA0NS42OTggMTMuMTQ4IDQ1LjY5OCAzMi45NTggMCAxNC45NzYtMTIuMzYzIDIyLjY2Ny0zMi41MzQgMzMuOTc2QzI0Ny4xMjggMjM4LjUyOCAyMTYgMjU0Ljk0MSAyMTYgMjk2djRjMCA2LjYyNyA1LjM3MyAxMiAxMiAxMmg1NmM2LjYyNyAwIDEyLTUuMzczIDEyLTEydi0xLjMzM2MwLTI4LjQ2MiA4My4xODYtMjkuNjQ3IDgzLjE4Ni0xMDYuNjY3IDAtNTguMDAyLTYwLjE2NS0xMDItMTE2LjUzMS0xMDJ6TTI1NiAzMzhjLTI1LjM2NSAwLTQ2IDIwLjYzNS00NiA0NiAwIDI1LjM2NCAyMC42MzUgNDYgNDYgNDZzNDYtMjAuNjM2IDQ2LTQ2YzAtMjUuMzY1LTIwLjYzNS00Ni00Ni00NnpcIixcbiAgeyBtaXJyb3I6IHRydWUgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBzaGFyZSA9IGNyZWF0ZUljb24oXG4gIFwiTTE4IDE2LjA4Yy0uNzYgMC0xLjQ0LjMtMS45Ni43N0w4LjkxIDEyLjdjLjA1LS4yMy4wOS0uNDYuMDktLjdzLS4wNC0uNDctLjA5LS43bDcuMDUtNC4xMWMuNTQuNSAxLjI1LjgxIDIuMDQuODEgMS42NiAwIDMtMS4zNCAzLTNzLTEuMzQtMy0zLTMtMyAxLjM0LTMgM2MwIC4yNC4wNC40Ny4wOS43TDguMDQgOS44MUM3LjUgOS4zMSA2Ljc5IDkgNiA5Yy0xLjY2IDAtMyAxLjM0LTMgM3MxLjM0IDMgMyAzYy43OSAwIDEuNS0uMzEgMi4wNC0uODFsNy4xMiA0LjE2Yy0uMDUuMjEtLjA4LjQzLS4wOC42NSAwIDEuNjEgMS4zMSAyLjkyIDIuOTIgMi45MiAxLjYxIDAgMi45Mi0xLjMxIDIuOTItMi45MnMtMS4zMS0yLjkyLTIuOTItMi45MnpcIixcbiAgeyB3aWR0aDogMjQsIGhlaWdodDogMjQgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBzaGFyZUlPUyA9IGNyZWF0ZUljb24oXG4gIFwiTTE2IDVsLTEuNDIgMS40Mi0xLjU5LTEuNTlWMTZoLTEuOThWNC44M0w5LjQyIDYuNDIgOCA1bDQtNCA0IDR6bTQgNXYxMWMwIDEuMS0uOSAyLTIgMkg2Yy0xLjExIDAtMi0uOS0yLTJWMTBjMC0xLjExLjg5LTIgMi0yaDN2Mkg2djExaDEyVjEwaC0zVjhoM2MxLjEgMCAyIC44OSAyIDJ6XCIsXG4gIHsgd2lkdGg6IDI0LCBoZWlnaHQ6IDI0IH0sXG4pO1xuXG5leHBvcnQgY29uc3Qgc2hhcmVXaW5kb3dzID0gY3JlYXRlSWNvbihcbiAgPD5cbiAgICA8cGF0aFxuICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgZD1cIk00MCA1LjZ2Ni4xbC00LjEuN2MtOC45IDEuNC0xNi41IDYuOS0yMC42IDE1QzEzIDMyIDEwLjkgNDMgMTIuNCA0M2MuNCAwIDIuNC0xLjMgNC40LTMgNS0zLjkgMTIuMS03IDE4LjItNy43bDUtLjZ2MTIuOGwxMS4yLTExLjNMNjIuNSAyMiA1MS4yIDEwLjggNDAtLjV2Ni4xem0xMC4yIDIyLjZMNDQgMzQuNXYtNi44bC02LjkuNmMtMy45LjMtOS44IDEuNy0xMy4yIDMuMS0zLjUgMS40LTYuNSAyLjQtNi43IDIuMi0uOS0xIDMtNy41IDYuNC0xMC44QzI4IDE4LjYgMzQuNCAxNiA0MC4xIDE2YzMuNyAwIDMuOS0uMSAzLjktMy4yVjkuNWw2LjIgNi4zIDYuMyA2LjItNi4zIDYuMnpcIlxuICAgIC8+XG4gICAgPHBhdGhcbiAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgIGQ9XCJNMCAzNnYyMGg0OHYtNi4yYzAtNiAwLTYuMS0yLTQuMy0xLjEgMS0yIDIuOS0yIDQuMlY1Mkg0VjM0YzAtMTcuMy0uMS0xOC0yLTE4cy0yIC43LTIgMjB6XCJcbiAgICAvPlxuICA8Lz4sXG4gIHsgd2lkdGg6IDY0LCBoZWlnaHQ6IDY0IH0sXG4pO1xuXG4vLyBJY29uIGltcG9ydGVkIGZvcm0gU3Rvcnlib29rXG4vLyBTdG9yeWJvb2sgaXMgbGljZW5zZWQgdW5kZXIgTUlUIGh0dHBzOi8vZ2l0aHViLmNvbS9zdG9yeWJvb2tqcy9zdG9yeWJvb2svYmxvYi9uZXh0L0xJQ0VOU0VcbmV4cG9ydCBjb25zdCByZXNldFpvb20gPSBjcmVhdGVJY29uKFxuICA8cGF0aFxuICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgc3Ryb2tlV2lkdGg9XCI0MFwiXG4gICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgZD1cIk0xNDggNTYwYTMxOCAzMTggMCAwIDAgNTIyIDExMCAzMTYgMzE2IDAgMCAwIDAtNDUwIDMxNiAzMTYgMCAwIDAtNDUwIDBjLTExIDExLTIxIDIyLTMwIDM0djRoNDdjMjUgMCA0NiAyMSA0NiA0NnMtMjEgNDUtNDYgNDVIOTBjLTEzIDAtMjUtNi0zMy0xNC05LTktMTQtMjAtMTQtMzNWMTU2YzAtMjUgMjAtNDUgNDUtNDVzNDUgMjAgNDUgNDV2MzJsMSAxYTQwMSA0MDEgMCAwIDEgNjIzIDUwOWwyMTIgMjEyYTQyIDQyIDAgMCAxLTU5IDU5TDY5OCA3NTdBNDAxIDQwMSAwIDAgMSA2NSA1NzBhNDIgNDIgMCAwIDEgODMtMTB6XCJcbiAgLz4sXG4gIHsgd2lkdGg6IDEwMjQgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBCcmluZ0ZvcndhcmRJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDw+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTIyIDkuNTU2QzIyIDguNjk2IDIxLjMwMyA4IDIwLjQ0NCA4SDE2djhIOHY0LjQ0NEM4IDIxLjMwNCA4LjY5NyAyMiA5LjU1NiAyMmgxMC44ODhjLjg2IDAgMS41NTYtLjY5NyAxLjU1Ni0xLjU1NlY5LjU1NnpcIlxuICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTE2IDMuNTU2QzE2IDIuNjk2IDE1LjMwMyAyIDE0LjQ0NCAySDMuNTU2QzIuNjk2IDIgMiAyLjY5NyAyIDMuNTU2djEwLjg4OEMyIDE1LjMwNCAyLjY5NyAxNiAzLjU1NiAxNmgxMC44ODhjLjg2IDAgMS41NTYtLjY5NyAxLjU1Ni0xLjU1NlYzLjU1NnpcIlxuICAgICAgICBmaWxsPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgIDwvPixcbiAgICB7IHdpZHRoOiAyNCwgbWlycm9yOiB0cnVlIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgU2VuZEJhY2t3YXJkSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8PlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xNiAzLjU1NkMxNiAyLjY5NiAxNS4zMDMgMiAxNC40NDQgMkgzLjU1NkMyLjY5NiAyIDIgMi42OTcgMiAzLjU1NnYxMC44ODhDMiAxNS4zMDQgMi42OTcgMTYgMy41NTYgMTZoMTAuODg4Yy44NiAwIDEuNTU2LS42OTcgMS41NTYtMS41NTZWMy41NTZ6XCJcbiAgICAgICAgZmlsbD17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMjIgOS41NTZDMjIgOC42OTYgMjEuMzAzIDggMjAuNDQ0IDhIOS41NTZDOC42OTYgOCA4IDguNjk3IDggOS41NTZ2MTAuODg4QzggMjEuMzA0IDguNjk3IDIyIDkuNTU2IDIyaDEwLjg4OGMuODYgMCAxLjU1Ni0uNjk3IDEuNTU2LTEuNTU2VjkuNTU2elwiXG4gICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICA8Lz4sXG4gICAgeyB3aWR0aDogMjQsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEJyaW5nVG9Gcm9udEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPD5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTMgMjFhMSAxIDAgMDAxIDFoN2ExIDEgMCAwMDEtMXYtN2ExIDEgMCAwMC0xLTFoLTN2NWgtNXYzek0xMSAzYTEgMSAwIDAwLTEtMUgzYTEgMSAwIDAwLTEgMXY3YTEgMSAwIDAwMSAxaDNWNmg1VjN6XCJcbiAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xOCA3LjMzM0MxOCA2LjU5NyAxNy40MDMgNiAxNi42NjcgNkg3LjMzM0M2LjU5NyA2IDYgNi41OTcgNiA3LjMzM3Y5LjMzNEM2IDE3LjQwMyA2LjU5NyAxOCA3LjMzMyAxOGg5LjMzNGMuNzM2IDAgMS4zMzMtLjU5NyAxLjMzMy0xLjMzM1Y3LjMzM3pcIlxuICAgICAgICBmaWxsPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgIDwvPixcbiAgICB7IHdpZHRoOiAyNCwgbWlycm9yOiB0cnVlIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgU2VuZFRvQmFja0ljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPD5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTggNy4zMzNDMTggNi41OTcgMTcuNDAzIDYgMTYuNjY3IDZINy4zMzNDNi41OTcgNiA2IDYuNTk3IDYgNy4zMzN2OS4zMzRDNiAxNy40MDMgNi41OTcgMTggNy4zMzMgMThoOS4zMzRjLjczNiAwIDEuMzMzLS41OTcgMS4zMzMtMS4zMzNWNy4zMzN6XCJcbiAgICAgICAgZmlsbD17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTEgM2ExIDEgMCAwMC0xLTFIM2ExIDEgMCAwMC0xIDF2N2ExIDEgMCAwMDEgMWg4VjN6TTIyIDE0YTEgMSAwIDAwLTEtMWgtN2ExIDEgMCAwMC0xIDF2N2ExIDEgMCAwMDEgMWg4di04elwiXG4gICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICA8Lz4sXG4gICAgeyB3aWR0aDogMjQsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuLy9cbi8vIEFsaWduIGFjdGlvbiBpY29ucyBjcmVhdGVkIGZyb20gc2NyYXRjaCB0byBtYXRjaCB0aG9zZSBvZiB6LWluZGV4IGFjdGlvbnNcbi8vIE5vdGU6IHZlcnRpY2FsIGFsaWduIGljb25zIGFyZSBmbGlwcGVkIHNvIHRoZSBsYXJnZXIgaXRlbSBpcyBhbHdheXMgdGhlXG4vLyBmaXJzdCBvbmUgdGhlIHVzZXIgc2Vlcy4gSG9yaXpvbnRhbCBhbGlnbiBpY29ucyBzaG91bGQgbm90IGJlIGZsaXBwZWQgc2luY2Vcbi8vIHRoYXQgd291bGQgbWFrZSB0aGVtIGxpZSBhYm91dCB0aGVpciBmdW5jdGlvbi5cbi8vXG5leHBvcnQgY29uc3QgQWxpZ25Ub3BJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDw+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTSAyLDUgSCAyMlwiXG4gICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNIDYsNyBDIDUuNDQ2LDcgNSw3LjQ0NiA1LDggdiA5Ljk5OTk5MiBjIDAsMC41NTQgMC40NDYsMSAxLDEgaCAzLjAwMDAwMDEgYyAwLjU1NCwwIDAuOTk5OTk5OSwtMC40NDYgMC45OTk5OTk5LC0xIFYgOCBDIDEwLDcuNDQ2IDkuNTU0MDAwMSw3IDkuMDAwMDAwMSw3IFogbSA5LDAgYyAtMC41NTQsMCAtMSwwLjQ0NiAtMSwxIHYgNS45OTk5OTIgYyAwLDAuNTU0IDAuNDQ2LDEgMSwxIGggMyBjIDAuNTU0LDAgMSwtMC40NDYgMSwtMSBWIDggQyAxOSw3LjQ0NiAxOC41NTQsNyAxOCw3IFpcIlxuICAgICAgICBmaWxsPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgIDwvPixcbiAgICB7IHdpZHRoOiAyNCwgbWlycm9yOiB0cnVlIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgQWxpZ25Cb3R0b21JY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDw+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTSAyLDE5IEggMjJcIlxuICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwibSA2LDE2Ljk5OTk5MiBjIC0wLjU1NCwwIC0xLC0wLjQ0NiAtMSwtMSBWIDYgQyA1LDUuNDQ2IDUuNDQ2LDUgNiw1IEggOS4wMDAwMDAxIEMgOS41NTQwMDAxLDUgMTAsNS40NDYgMTAsNiB2IDkuOTk5OTkyIGMgMCwwLjU1NCAtMC40NDU5OTk5LDEgLTAuOTk5OTk5OSwxIHogbSA5LDAgYyAtMC41NTQsMCAtMSwtMC40NDYgLTEsLTEgViAxMCBjIDAsLTAuNTU0IDAuNDQ2LC0xIDEsLTEgaCAzIGMgMC41NTQsMCAxLDAuNDQ2IDEsMSB2IDUuOTk5OTkyIGMgMCwwLjU1NCAtMC40NDYsMSAtMSwxIHpcIlxuICAgICAgICBmaWxsPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgIDwvPixcbiAgICB7IHdpZHRoOiAyNCwgbWlycm9yOiB0cnVlIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgQWxpZ25MZWZ0SWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8PlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0gNSwyIFYgMjJcIlxuICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwibSA3LjAwMDAwNCw1Ljk5OTk5NiBjIDAsLTAuNTU0IDAuNDQ2LC0xIDEsLTEgaCA5Ljk5OTk5MiBjIDAuNTU0LDAgMSwwLjQ0NiAxLDEgdiAzLjAwMDAwMDEgYyAwLDAuNTU0IC0wLjQ0NiwwLjk5OTk5OTkgLTEsMC45OTk5OTk5IEggOC4wMDAwMDQgYyAtMC41NTQsMCAtMSwtMC40NDU5OTk5IC0xLC0wLjk5OTk5OTkgeiBtIDAsOSBjIDAsLTAuNTU0IDAuNDQ2LC0xIDEsLTEgaCA1Ljk5OTk5MiBjIDAuNTU0LDAgMSwwLjQ0NiAxLDEgdiAzIGMgMCwwLjU1NCAtMC40NDYsMSAtMSwxIEggOC4wMDAwMDQgYyAtMC41NTQsMCAtMSwtMC40NDYgLTEsLTEgelwiXG4gICAgICAgIGZpbGw9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZT17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgPC8+LFxuICAgIHsgd2lkdGg6IDI0IH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgQWxpZ25SaWdodEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPD5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNIDE5LDIgViAyMlwiXG4gICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJtIDE2Ljk5OTk5Niw1Ljk5OTk5NiBjIDAsLTAuNTU0IC0wLjQ0NiwtMSAtMSwtMSBIIDYuMDAwMDA0IGMgLTAuNTU0LDAgLTEsMC40NDYgLTEsMSB2IDMuMDAwMDAwMSBjIDAsMC41NTQgMC40NDYsMC45OTk5OTk5IDEsMC45OTk5OTk5IGggOS45OTk5OTIgYyAwLjU1NCwwIDEsLTAuNDQ1OTk5OSAxLC0wLjk5OTk5OTkgeiBtIDAsOSBjIDAsLTAuNTU0IC0wLjQ0NiwtMSAtMSwtMSBoIC01Ljk5OTk5MiBjIC0wLjU1NCwwIC0xLDAuNDQ2IC0xLDEgdiAzIGMgMCwwLjU1NCAwLjQ0NiwxIDEsMSBoIDUuOTk5OTkyIGMgMC41NTQsMCAxLC0wLjQ0NiAxLC0xIHpcIlxuICAgICAgICBmaWxsPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgIDwvPixcbiAgICB7IHdpZHRoOiAyNCB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IERpc3RyaWJ1dGVIb3Jpem9udGFsbHlJY29uID0gUmVhY3QubWVtbyhcbiAgKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgICBjcmVhdGVJY29uKFxuICAgICAgPD5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE5IDVWMTlNNSA1VjE5XCJcbiAgICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTE1IDlDMTUuNTU0IDkgMTYgOS40NDYgMTYgMTBWMTRDMTYgMTQuNTU0IDE1LjU1NCAxNSAxNSAxNUg5QzguNDQ2IDE1IDggMTQuNTU0IDggMTRWMTBDOCA5LjQ0NiA4LjQ0NiA5IDkgOUgxNVpcIlxuICAgICAgICAgIGZpbGw9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgICAgc3Ryb2tlPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIC8+XG4gICAgICA8Lz4sXG4gICAgICB7IHdpZHRoOiAyNCB9LFxuICAgICksXG4pO1xuXG5leHBvcnQgY29uc3QgRGlzdHJpYnV0ZVZlcnRpY2FsbHlJY29uID0gUmVhY3QubWVtbyhcbiAgKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgICBjcmVhdGVJY29uKFxuICAgICAgPD5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTUgNUwxOSA1TTUgMTlIMTlcIlxuICAgICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMTUgOUMxNS41NTQgOSAxNiA5LjQ0NiAxNiAxMFYxNEMxNiAxNC41NTQgMTUuNTU0IDE1IDE1IDE1SDlDOC40NDYgMTUgOCAxNC41NTQgOCAxNFYxMEM4IDkuNDQ2IDguNDQ2IDkgOSA5SDE1WlwiXG4gICAgICAgICAgZmlsbD17YWN0aXZlRWxlbWVudENvbG9yKHRoZW1lKX1cbiAgICAgICAgICBzdHJva2U9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgLz5cbiAgICAgIDwvPixcbiAgICAgIHsgd2lkdGg6IDI0IH0sXG4gICAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBDZW50ZXJWZXJ0aWNhbGx5SWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8PlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIm0gNS4wMDAwMDQsMTYuOTk5OTk2IGMgMCwwLjU1NCAwLjQ0NiwxIDEsMSBoIDMgYyAwLjU1NCwwIDEsLTAuNDQ2IDEsLTEgdiAtMTAgYyAwLC0wLjU1NCAtMC40NDYsLTEgLTEsLTEgaCAtMyBjIC0wLjU1NCwwIC0xLDAuNDQ2IC0xLDEgeiBtIDksLTIgYyAwLDAuNTU0IDAuNDQ2LDEgMSwxIGggMyBjIDAuNTU0LDAgMSwtMC40NDYgMSwtMSB2IC02IGMgMCwtMC41NTQgLTAuNDQ2LC0xIC0xLC0xIGggLTMgYyAtMC41NTQsMCAtMSwwLjQ0NiAtMSwxIHpcIlxuICAgICAgICBmaWxsPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0gMiwxMiBIIDIyXCJcbiAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZURhc2hhcnJheT1cIjEsIDIuOFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvPixcbiAgICB7IHdpZHRoOiAyNCwgbWlycm9yOiB0cnVlIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgQ2VudGVySG9yaXpvbnRhbGx5SWNvbiA9IFJlYWN0Lm1lbW8oXG4gICh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gICAgY3JlYXRlSWNvbihcbiAgICAgIDw+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0gNyA1IEMgNi40NDYgNSA2IDUuNDQ2IDYgNiBMIDYgOSBDIDYgOS41NTQgNi40NDYgMTAgNyAxMCBMIDE3IDEwIEMgMTcuNTU0IDEwIDE4IDkuNTU0IDE4IDkgTCAxOCA2IEMgMTggNS40NDYgMTcuNTU0IDUgMTcgNSBMIDcgNSB6IE0gOSAxNCBDIDguNDQ2IDE0IDggMTQuNDQ2IDggMTUgTCA4IDE4IEMgOCAxOC41NTQgOC40NDYgMTkgOSAxOSBMIDE1IDE5IEMgMTUuNTU0IDE5IDE2IDE4LjU1NCAxNiAxOCBMIDE2IDE1IEMgMTYgMTQuNDQ2IDE1LjU1NCAxNCAxNSAxNCBMIDkgMTQgeiBcIlxuICAgICAgICAgIGZpbGw9e2FjdGl2ZUVsZW1lbnRDb2xvcih0aGVtZSl9XG4gICAgICAgICAgc3Ryb2tlPXthY3RpdmVFbGVtZW50Q29sb3IodGhlbWUpfVxuICAgICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0gMTIsMiBWIDIyXCJcbiAgICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgICAgc3Ryb2tlRGFzaGFycmF5PVwiMSwgMi44XCJcbiAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAvPlxuICAgICAgPC8+LFxuICAgICAgeyB3aWR0aDogMjQgfSxcbiAgICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJzID0gY3JlYXRlSWNvbihcbiAgXCJNMTkyIDI1NmM2MS45IDAgMTEyLTUwLjEgMTEyLTExMlMyNTMuOSAzMiAxOTIgMzIgODAgODIuMSA4MCAxNDRzNTAuMSAxMTIgMTEyIDExMnptNzYuOCAzMmgtOC4zYy0yMC44IDEwLTQzLjkgMTYtNjguNSAxNnMtNDcuNi02LTY4LjUtMTZoLTguM0M1MS42IDI4OCAwIDMzOS42IDAgNDAzLjJWNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OHYtMjguOGMwLTYzLjYtNTEuNi0xMTUuMi0xMTUuMi0xMTUuMnpNNDgwIDI1NmM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05Ni05NiA0My05NiA5NiA0MyA5NiA5NiA5NnptNDggMzJoLTMuOGMtMTMuOSA0LjgtMjguNiA4LTQ0LjIgOHMtMzAuMy0zLjItNDQuMi04SDQzMmMtMjAuNCAwLTM5LjIgNS45LTU1LjcgMTUuNCAyNC40IDI2LjMgMzkuNyA2MS4yIDM5LjcgOTkuOHYzOC40YzAgMi4yLS41IDQuMy0uNiA2LjRINTkyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4IDAtNjEuOS01MC4xLTExMi0xMTItMTEyelwiLFxuICB7IHdpZHRoOiA2NDAsIGhlaWdodDogNTEyLCBtaXJyb3I6IHRydWUgfSxcbik7XG5cbi8vIG5vdCBtaXJyb3JlZCBiZWNhdXNlIGl0J3MgaW5zcGlyZWQgYnkgYSBwbGF5YmFjayBjb250cm9sLCB3aGljaCBpcyBhbHdheXMgUlRMXG5leHBvcnQgY29uc3Qgc3RhcnQgPSBjcmVhdGVJY29uKFxuICBcIk0yNTYgOEMxMTkgOCA4IDExOSA4IDI1NnMxMTEgMjQ4IDI0OCAyNDggMjQ4LTExMSAyNDgtMjQ4UzM5MyA4IDI1NiA4em0xMTUuNyAyNzJsLTE3NiAxMDFjLTE1LjggOC44LTM1LjctMi41LTM1LjctMjFWMTUyYzAtMTguNCAxOS44LTI5LjggMzUuNy0yMWwxNzYgMTA3YzE2LjQgOS4yIDE2LjQgMzIuOSAwIDQyelwiLFxuKTtcblxuZXhwb3J0IGNvbnN0IHN0b3AgPSBjcmVhdGVJY29uKFxuICBcIk0yNTYgOEMxMTkgOCA4IDExOSA4IDI1NnMxMTEgMjQ4IDI0OCAyNDggMjQ4LTExMSAyNDgtMjQ4UzM5MyA4IDI1NiA4em05NiAzMjhjMCA4LjgtNy4yIDE2LTE2IDE2SDE3NmMtOC44IDAtMTYtNy4yLTE2LTE2VjE3NmMwLTguOCA3LjItMTYgMTYtMTZoMTYwYzguOCAwIDE2IDcuMiAxNiAxNnYxNjB6XCIsXG4pO1xuXG5leHBvcnQgY29uc3QgY2xvc2UgPSBjcmVhdGVJY29uKFxuICBcIk0yNDIuNzIgMjU2bDEwMC4wNy0xMDAuMDdjMTIuMjgtMTIuMjggMTIuMjgtMzIuMTkgMC00NC40OGwtMjIuMjQtMjIuMjRjLTEyLjI4LTEyLjI4LTMyLjE5LTEyLjI4LTQ0LjQ4IDBMMTc2IDE4OS4yOCA3NS45MyA4OS4yMWMtMTIuMjgtMTIuMjgtMzIuMTktMTIuMjgtNDQuNDggMEw5LjIxIDExMS40NWMtMTIuMjggMTIuMjgtMTIuMjggMzIuMTkgMCA0NC40OEwxMDkuMjggMjU2IDkuMjEgMzU2LjA3Yy0xMi4yOCAxMi4yOC0xMi4yOCAzMi4xOSAwIDQ0LjQ4bDIyLjI0IDIyLjI0YzEyLjI4IDEyLjI4IDMyLjIgMTIuMjggNDQuNDggMEwxNzYgMzIyLjcybDEwMC4wNyAxMDAuMDdjMTIuMjggMTIuMjggMzIuMiAxMi4yOCA0NC40OCAwbDIyLjI0LTIyLjI0YzEyLjI4LTEyLjI4IDEyLjI4LTMyLjE5IDAtNDQuNDhMMjQyLjcyIDI1NnpcIixcbiAgeyB3aWR0aDogMzUyLCBoZWlnaHQ6IDUxMiB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IGJhY2sgPSBjcmVhdGVJY29uKFxuICBcIk0zNC41MiAyMzkuMDNMMjI4Ljg3IDQ0LjY5YzkuMzctOS4zNyAyNC41Ny05LjM3IDMzLjk0IDBsMjIuNjcgMjIuNjdjOS4zNiA5LjM2IDkuMzcgMjQuNTIuMDQgMzMuOUwxMzEuNDkgMjU2bDE1NC4wMiAxNTQuNzVjOS4zNCA5LjM4IDkuMzIgMjQuNTQtLjA0IDMzLjlsLTIyLjY3IDIyLjY3Yy05LjM3IDkuMzctMjQuNTcgOS4zNy0zMy45NCAwTDM0LjUyIDI3Mi45N2MtOS4zNy05LjM3LTkuMzctMjQuNTcgMC0zMy45NHpcIixcbiAgeyB3aWR0aDogMzIwLCBoZWlnaHQ6IDUxMiwgc3R5bGU6IHsgbWFyZ2luTGVmdDogXCItMC4ycmVtXCIgfSwgbWlycm9yOiB0cnVlIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgY2xvbmUgPSBjcmVhdGVJY29uKFxuICBcIk00NjQgMGMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4djI4OGMwIDI2LjUxLTIxLjQ5IDQ4LTQ4IDQ4SDE3NmMtMjYuNTEgMC00OC0yMS40OS00OC00OFY0OGMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDI4OE0xNzYgNDE2Yy00NC4xMTIgMC04MC0zNS44ODgtODAtODBWMTI4SDQ4Yy0yNi41MSAwLTQ4IDIxLjQ5LTQ4IDQ4djI4OGMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDI4OGMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4di00OEgxNzZ6XCIsXG4gIHsgbWlycm9yOiB0cnVlIH0sXG4pO1xuXG4vLyBtb2RpZmllZCBodHRwczovL2ZlYXRoZXJpY29ucy5jb20vP3F1ZXJ5PXNoaWVsZFxuZXhwb3J0IGNvbnN0IHNoaWVsZCA9IGNyZWF0ZUljb24oXG4gIFwiTTExLjU1MyAyMi44OTRhLjk5OC45OTggMCAwMC44OTQgMHMzLjAzNy0xLjUxNiA1LjQ2NS00LjA5N0MxOS42MTYgMTYuOTg3IDIxIDE0LjY2MyAyMSAxMlY1YTEgMSAwIDAwLS42NDktLjkzNmwtOC0zYS45OTguOTk4IDAgMDAtLjcwMiAwbC04IDNBMSAxIDAgMDAzIDV2N2MwIDIuNjYzIDEuMzg0IDQuOTg3IDMuMDg4IDYuNzk3IDIuNDI4IDIuNTgxIDUuNDY1IDQuMDk3IDUuNDY1IDQuMDk3em0tMS4zMDMtOC40ODFsNi42NDQtNi42NDRhLjg1Ni44NTYgMCAxMTEuMjEyIDEuMjEybC03LjI1IDcuMjVhLjg1Ni44NTYgMCAwMS0xLjIxMiAwbC0zLjc1LTMuNzVhLjg1Ni44NTYgMCAxMTEuMjEyLTEuMjEybDMuMTQ0IDMuMTQ0elwiLFxuICB7IHdpZHRoOiAyNCB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IGZpbGUgPSBjcmVhdGVJY29uKFxuICBcIk0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6TTMzMi4xIDEyOEgyNTZWNTEuOWw3Ni4xIDc2LjF6TTQ4IDQ2NFY0OGgxNjB2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYyODhINDh6bTMyLTQ4aDIyNFYyODhsLTIzLjUtMjMuNWMtNC43LTQuNy0xMi4zLTQuNy0xNyAwTDE3NiAzNTJsLTM5LjUtMzkuNWMtNC43LTQuNy0xMi4zLTQuNy0xNyAwTDgwIDM1MnY2NHptNDgtMjQwYy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4IDQ4LTIxLjUgNDgtNDgtMjEuNS00OC00OC00OHpcIixcbiAgeyB3aWR0aDogMzg0LCBoZWlnaHQ6IDUxMiB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IEdyb3VwSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8PlxuICAgICAgPHBhdGggZD1cIk0yNSAyNkgxMTFWMTExSDI1XCIgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9IC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTI1IDExMUMyNSA4MC4yMDY4IDI1IDQ5LjQxMzUgMjUgMjZNMjUgMjZDNDguNjE3NCAyNiA3Mi4yMzQ4IDI2IDExMSAyNkgyNVpNMjUgMjZDNTMuMzY3MSAyNiA4MS43MzQzIDI2IDExMSAyNkgyNVpNMTExIDI2QzExMSA1Mi4zMDMgMTExIDc4LjYwNiAxMTEgMTExVjI2Wk0xMTEgMjZDMTExIDUxLjI5NDcgMTExIDc2LjU4OTMgMTExIDExMVYyNlpNMTExIDExMUM4Ny4wNzkyIDExMSA2My4xNTg1IDExMSAyNSAxMTFIMTExWk0xMTEgMTExQzg3LjQ2NDYgMTExIDYzLjkyOTMgMTExIDI1IDExMUgxMTFaTTI1IDExMUMyNSA4MS4xNTE0IDI1IDUxLjMwMjggMjUgMjZWMTExWlwiXG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGggZD1cIk0xMDAgMTAwSDE2MFYxNjBIMTAwXCIgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9IC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTEwMCAxNjBDMTAwIDE0NC4xMDYgMTAwIDEyOC4yMTEgMTAwIDEwME0xMDAgMTAwQzExNy43MDYgMTAwIDEzNS40MTIgMTAwIDE2MCAxMDBIMTAwWk0xMDAgMTAwQzExNC4yMTQgMTAwIDEyOC40MjggMTAwIDE2MCAxMDBIMTAwWk0xNjAgMTAwQzE2MCAxMjAuMTg0IDE2MCAxNDAuMzY5IDE2MCAxNjBWMTAwWk0xNjAgMTAwQzE2MCAxMTMuMjE5IDE2MCAxMjYuNDM3IDE2MCAxNjBWMTAwWk0xNjAgMTYwQzE0NS41MzQgMTYwIDEzMS4wNjggMTYwIDEwMCAxNjBIMTYwWk0xNjAgMTYwQzE0My40NjcgMTYwIDEyNi45MzQgMTYwIDEwMCAxNjBIMTYwWk0xMDAgMTYwQzEwMCAxNDMuNjYxIDEwMCAxMjcuMzIxIDEwMCAxMDBWMTYwWlwiXG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPGdcbiAgICAgICAgZmlsbD17aGFuZGxlckNvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCI2XCJcbiAgICAgID5cbiAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIyLjVcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiAvPlxuICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjE0OS41XCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgPHJlY3QgeD1cIjE0Ny41XCIgeT1cIjE0OS41XCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgPHJlY3QgeD1cIjE0Ny41XCIgeT1cIjIuNVwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICA8L2c+XG4gICAgPC8+LFxuICAgIHsgd2lkdGg6IDE4MiwgaGVpZ2h0OiAxODIsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFVuZ3JvdXBJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDw+XG4gICAgICA8cGF0aCBkPVwiTTI1IDI2SDExMVYxMTFIMjVcIiBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX0gLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMjUgMTExQzI1IDgwLjIwNjggMjUgNDkuNDEzNSAyNSAyNk0yNSAyNkM0OC42MTc0IDI2IDcyLjIzNDggMjYgMTExIDI2SDI1Wk0yNSAyNkM1My4zNjcxIDI2IDgxLjczNDMgMjYgMTExIDI2SDI1Wk0xMTEgMjZDMTExIDUyLjMwMyAxMTEgNzguNjA2IDExMSAxMTFWMjZaTTExMSAyNkMxMTEgNTEuMjk0NyAxMTEgNzYuNTg5MyAxMTEgMTExVjI2Wk0xMTEgMTExQzg3LjA3OTIgMTExIDYzLjE1ODUgMTExIDI1IDExMUgxMTFaTTExMSAxMTFDODcuNDY0NiAxMTEgNjMuOTI5MyAxMTEgMjUgMTExSDExMVpNMjUgMTExQzI1IDgxLjE1MTQgMjUgNTEuMzAyOCAyNSAyNlYxMTFaXCJcbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aCBkPVwiTTEwMCAxMDBIMTYwVjE2MEgxMDBcIiBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX0gLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTAwIDE2MEMxMDAgMTQ0LjEwNiAxMDAgMTI4LjIxMSAxMDAgMTAwTTEwMCAxMDBDMTE3LjcwNiAxMDAgMTM1LjQxMiAxMDAgMTYwIDEwMEgxMDBaTTEwMCAxMDBDMTE0LjIxNCAxMDAgMTI4LjQyOCAxMDAgMTYwIDEwMEgxMDBaTTE2MCAxMDBDMTYwIDEyMC4xODQgMTYwIDE0MC4zNjkgMTYwIDE2MFYxMDBaTTE2MCAxMDBDMTYwIDExMy4yMTkgMTYwIDEyNi40MzcgMTYwIDE2MFYxMDBaTTE2MCAxNjBDMTQ1LjUzNCAxNjAgMTMxLjA2OCAxNjAgMTAwIDE2MEgxNjBaTTE2MCAxNjBDMTQzLjQ2NyAxNjAgMTI2LjkzNCAxNjAgMTAwIDE2MEgxNjBaTTEwMCAxNjBDMTAwIDE0My42NjEgMTAwIDEyNy4zMjEgMTAwIDEwMFYxNjBaXCJcbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8Z1xuICAgICAgICBmaWxsPXtoYW5kbGVyQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjZcIlxuICAgICAgPlxuICAgICAgICA8cmVjdCB4PVwiMi41XCIgeT1cIjIuNVwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICAgIDxyZWN0IHg9XCI3OC41XCIgeT1cIjE0OS41XCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgPHJlY3QgeD1cIjE0Ny41XCIgeT1cIjE0OS41XCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgPHJlY3QgeD1cIjE0Ny41XCIgeT1cIjc4LjVcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiAvPlxuICAgICAgICA8cmVjdCB4PVwiMTA1LjVcIiB5PVwiMi41XCIgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgLz5cbiAgICAgICAgPHJlY3QgeD1cIjIuNVwiIHk9XCIxMDIuNVwiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIC8+XG4gICAgICA8L2c+XG4gICAgPC8+LFxuICAgIHsgd2lkdGg6IDE4MiwgaGVpZ2h0OiAxODIsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEZpbGxIYWNodXJlSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8cGF0aFxuICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgIGNsaXBSdWxlPVwiZXZlbm9kZFwiXG4gICAgICBkPVwiTTIwLjEwMSAxNkgyOC4wOTM0TDM2IDguOTU5ODlWNEgzMy41Nzc5TDIwLjEwMSAxNlpNMzAuNTcwNCA0TDE3LjA5MzUgMTZIOS4xMDEwMUwyMi41Nzc5IDRIMzAuNTcwNFpNMTkuNTcwNCA0TDYuMDkzNDkgMTZINFYxMC43NDc1TDExLjU3NzkgNEgxOS41NzA0Wk04LjU3MDM2IDRINFY4LjA2OTUyTDguNTcwMzYgNFpNMzYgMTEuNjM3OEwzMS4xMDEgMTZIMzZWMTEuNjM3OFpNMiAyVjE4SDM4VjJIMlpcIlxuICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgLz4sXG4gICAgeyB3aWR0aDogNDAsIGhlaWdodDogMjAgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBGaWxsQ3Jvc3NIYXRjaEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPGcgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9IGZpbGxSdWxlPVwiZXZlbm9kZFwiIGNsaXBSdWxlPVwiZXZlbm9kZFwiPlxuICAgICAgPHBhdGggZD1cIk0yMC4xMDEgMTZIMjguMDkzNEwzNiA4Ljk1OTg5VjRIMzMuNTc3OUwyMC4xMDEgMTZaTTMwLjU3MDQgNEwxNy4wOTM1IDE2SDkuMTAxMDFMMjIuNTc3OSA0SDMwLjU3MDRaTTE5LjU3MDQgNEw2LjA5MzQ5IDE2SDRWMTAuNzQ3NUwxMS41Nzc5IDRIMTkuNTcwNFpNOC41NzAzNiA0SDRWOC4wNjk1Mkw4LjU3MDM2IDRaTTM2IDExLjYzNzhMMzEuMTAxIDE2SDM2VjExLjYzNzhaTTIgMlYxOEgzOFYySDJaXCIgLz5cbiAgICAgIDxwYXRoIGQ9XCJNMTQuMDAwMSAxOEwzLjAwMDA2IDQuMDAwMDJMNC41NzI3IDIuNzY0MzhMMTUuNTcyNyAxNi43NjQ0TDE0LjAwMDEgMThaTTI1LjAwMDEgMThMMTQuMDAwMSA0LjAwMDAyTDE1LjU3MjcgMi43NjQzOEwyNi41NzI3IDE2Ljc2NDRMMjUuMDAwMSAxOFpNMzYuMDAwMSAxOEwyNS4wMDAxIDQuMDAwMDJMMjYuNTcyNyAyLjc2NDM4TDM3LjU3MjcgMTYuNzY0NEwzNi4wMDAxIDE4WlwiIC8+XG4gICAgPC9nPixcbiAgICB7IHdpZHRoOiA0MCwgaGVpZ2h0OiAyMCB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEZpbGxTb2xpZEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oPHBhdGggZD1cIk0yIDJIMzhWMThIMlYyWlwiIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfSAvPiwge1xuICAgIHdpZHRoOiA0MCxcbiAgICBoZWlnaHQ6IDIwLFxuICB9KSxcbik7XG5cbmV4cG9ydCBjb25zdCBTdHJva2VXaWR0aEljb24gPSBSZWFjdC5tZW1vKFxuICAoeyB0aGVtZSwgc3Ryb2tlV2lkdGggfTogeyB0aGVtZTogVGhlbWU7IHN0cm9rZVdpZHRoOiBudW1iZXIgfSkgPT5cbiAgICBjcmVhdGVJY29uKFxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk02IDEwSDMyXCJcbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9e3N0cm9rZVdpZHRofVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAvPixcbiAgICAgIHsgd2lkdGg6IDQwLCBoZWlnaHQ6IDIwIH0sXG4gICAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBTdHJva2VTdHlsZVNvbGlkSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8cGF0aFxuICAgICAgZD1cIk02IDEwSDM0XCJcbiAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgLz4sXG4gICAge1xuICAgICAgd2lkdGg6IDQwLFxuICAgICAgaGVpZ2h0OiAyMCxcbiAgICB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFN0cm9rZVN0eWxlRGFzaGVkSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8cGF0aFxuICAgICAgZD1cIk02IDEwSDM0XCJcbiAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICBzdHJva2VXaWR0aD17Mi41fVxuICAgICAgc3Ryb2tlRGFzaGFycmF5PXtcIjEwLCA4XCJ9XG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgIC8+LFxuICAgIHsgd2lkdGg6IDQwLCBoZWlnaHQ6IDIwIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgU3Ryb2tlU3R5bGVEb3R0ZWRJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDxwYXRoXG4gICAgICBkPVwiTTYgMTBIMzZcIlxuICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgIHN0cm9rZVdpZHRoPXsyLjV9XG4gICAgICBzdHJva2VEYXNoYXJyYXk9e1wiMiwgNC41XCJ9XG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgIC8+LFxuICAgIHsgd2lkdGg6IDQwLCBoZWlnaHQ6IDIwIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgU2xvcHBpbmVzc0FyY2hpdGVjdEljb24gPSBSZWFjdC5tZW1vKFxuICAoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICAgIGNyZWF0ZUljb24oXG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTMuMDAwOTggMTYuMTY5MUM2LjI4Nzc0IDEzLjk3NDQgMTkuNjM5OSAyLjg5MDUgMjIuNzIxNSAzLjAwMDgyQzI1LjgwNDEgMy4xMTExMyAxOS4xMTU4IDE1LjU0ODggMjEuNDk2MiAxNi44MzA5QzIzLjg3NTcgMTguMTEzMSAzNC40MTU1IDExLjcxNDggMzcuMDAwMSAxMC42OTE5XCJcbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9ezJ9XG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgIC8+LFxuICAgICAgeyB3aWR0aDogNDAsIGhlaWdodDogMjAsIG1pcnJvcjogdHJ1ZSB9LFxuICAgICksXG4pO1xuXG5leHBvcnQgY29uc3QgU2xvcHBpbmVzc0FydGlzdEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMyAxN0M2LjY4MTU4IDE0Ljg3NTIgMTYuMTI5NiA5LjA5ODQ5IDIyLjA2NDggNi41NDkyMkMyOCAzLjk5OTk1IDIyLjI4OTYgMTMuMzIwOSAyNSAxNEMyNy43MTA0IDE0LjY3OTEgMzYuMzc1NyA5LjY0NzEgMzYuMzc1NyA5LjY0NzFNNi40MDcwNiAxNUMxMyAxMS4xOTE4IDIwLjA0NjggMS41MTA0NSAyMy4wMjM0IDMuMDA1MkMyNiA0LjQ5OTk1IDIwLjQ1NyAxMi44NjU5IDIyLjcyODUgMTYuNDMyOUMyNSAyMCAzNi4zNzU3IDEzIDM2LjM3NTcgMTNcIlxuICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIGZpbGw9XCJub25lXCJcbiAgICAvPixcbiAgICB7IHdpZHRoOiA0MCwgaGVpZ2h0OiAyMCwgbWlycm9yOiB0cnVlIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgU2xvcHBpbmVzc0NhcnRvb25pc3RJY29uID0gUmVhY3QubWVtbyhcbiAgKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgICBjcmVhdGVJY29uKFxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0zIDE1LjY0NjhDNi45MzY5MiAxMy41Mzc4IDIyLjU1NDQgMi44MTUyOCAyNi42MjA2IDMuMDAyNDJDMzAuNjg3NyAzLjE4OTU2IDI1LjY3MDggMTUuMzM0NiAyNy40MDA5IDE2Ljc3MDVDMjkuMTMwOSAxOC4yMDU1IDM1LjQwMDEgMTIuNDc2MiAzNyAxMS42MTc3TTMuOTcxNDMgMTAuNDkxN0M2LjYxMTU4IDkuMjQ1NjMgMTYuMzcwNiAyLjYxODg2IDE5LjgxMDQgMy4wMTcyNEMyMy4yNTIyIDMuNDE0NzIgMjIuMDc3MyAxMi4yMDEzIDI0LjYxODEgMTIuODc4M0MyNy4xNTk4IDEzLjU1MzYgMzMuMzE3OSA4LjA0MDY4IDM1LjA1NzEgNy4wNzI0NFwiXG4gICAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAvPixcbiAgICAgIHsgd2lkdGg6IDQwLCBoZWlnaHQ6IDIwLCBtaXJyb3I6IHRydWUgfSxcbiAgICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEVkZ2VTaGFycEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMTAgMTdMMTAgNUwzNSA1XCJcbiAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgLz4sXG4gICAgeyB3aWR0aDogNDAsIGhlaWdodDogMjAsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEVkZ2VSb3VuZEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMTAgMTdWMTVDMTAgOCAxMyA1IDIxIDVMMzMuNSA1XCJcbiAgICAgIHN0cm9rZT17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICBmaWxsPVwibm9uZVwiXG4gICAgLz4sXG4gICAgeyB3aWR0aDogNDAsIGhlaWdodDogMjAsIG1pcnJvcjogdHJ1ZSB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEFycm93aGVhZE5vbmVJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDxwYXRoXG4gICAgICBkPVwiTTYgMTBIMzRcIlxuICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgZmlsbD1cIm5vbmVcIlxuICAgIC8+LFxuICAgIHtcbiAgICAgIHdpZHRoOiA0MCxcbiAgICAgIGhlaWdodDogMjAsXG4gICAgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBBcnJvd2hlYWRBcnJvd0ljb24gPSBSZWFjdC5tZW1vKFxuICAoeyB0aGVtZSwgZmxpcCA9IGZhbHNlIH06IHsgdGhlbWU6IFRoZW1lOyBmbGlwPzogYm9vbGVhbiB9KSA9PlxuICAgIGNyZWF0ZUljb24oXG4gICAgICA8Z1xuICAgICAgICB0cmFuc2Zvcm09e2ZsaXAgPyBcInRyYW5zbGF0ZSg0MCwgMCkgc2NhbGUoLTEsIDEpXCIgOiBcIlwifVxuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgPlxuICAgICAgICA8cGF0aCBkPVwiTTM0IDEwSDZNMzQgMTBMMjcgNU0zNCAxMEwyNyAxNVwiIC8+XG4gICAgICAgIDxwYXRoIGQ9XCJNMjcuNSA1TDM0LjUgMTBMMjcuNSAxNVwiIC8+XG4gICAgICA8L2c+LFxuICAgICAgeyB3aWR0aDogNDAsIGhlaWdodDogMjAgfSxcbiAgICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEFycm93aGVhZERvdEljb24gPSBSZWFjdC5tZW1vKFxuICAoeyB0aGVtZSwgZmxpcCA9IGZhbHNlIH06IHsgdGhlbWU6IFRoZW1lOyBmbGlwPzogYm9vbGVhbiB9KSA9PlxuICAgIGNyZWF0ZUljb24oXG4gICAgICA8Z1xuICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgdHJhbnNmb3JtPXtmbGlwID8gXCJ0cmFuc2xhdGUoNDAsIDApIHNjYWxlKC0xLCAxKVwiIDogXCJcIn1cbiAgICAgID5cbiAgICAgICAgPHBhdGggZD1cIk0zMiAxMEw2IDEwXCIgc3Ryb2tlV2lkdGg9ezJ9IC8+XG4gICAgICAgIDxjaXJjbGUgcj1cIjRcIiB0cmFuc2Zvcm09XCJtYXRyaXgoLTEgMCAwIDEgMzAgMTApXCIgLz5cbiAgICAgIDwvZz4sXG4gICAgICB7IHdpZHRoOiA0MCwgaGVpZ2h0OiAyMCB9LFxuICAgICksXG4pO1xuXG5leHBvcnQgY29uc3QgQXJyb3doZWFkQmFySWNvbiA9IFJlYWN0Lm1lbW8oXG4gICh7IHRoZW1lLCBmbGlwID0gZmFsc2UgfTogeyB0aGVtZTogVGhlbWU7IGZsaXA/OiBib29sZWFuIH0pID0+XG4gICAgY3JlYXRlSWNvbihcbiAgICAgIDxnIHRyYW5zZm9ybT17ZmxpcCA/IFwidHJhbnNsYXRlKDQwLCAwKSBzY2FsZSgtMSwgMSlcIiA6IFwiXCJ9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMzQgMTBINS45OTk5Nk0zNCAxMEwzNCA1TTM0IDEwTDM0IDE1XCJcbiAgICAgICAgICBzdHJva2U9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZz4sXG4gICAgICB7IHdpZHRoOiA0MCwgaGVpZ2h0OiAyMCB9LFxuICAgICksXG4pO1xuXG5leHBvcnQgY29uc3QgQXJyb3doZWFkVHJpYW5nbGVJY29uID0gUmVhY3QubWVtbyhcbiAgKHsgdGhlbWUsIGZsaXAgPSBmYWxzZSB9OiB7IHRoZW1lOiBUaGVtZTsgZmxpcD86IGJvb2xlYW4gfSkgPT5cbiAgICBjcmVhdGVJY29uKFxuICAgICAgPGdcbiAgICAgICAgc3Ryb2tlPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIHRyYW5zZm9ybT17ZmxpcCA/IFwidHJhbnNsYXRlKDQwLCAwKSBzY2FsZSgtMSwgMSlcIiA6IFwiXCJ9XG4gICAgICA+XG4gICAgICAgIDxwYXRoIGQ9XCJNMzIgMTBMNiAxMFwiIHN0cm9rZVdpZHRoPXsyfSAvPlxuICAgICAgICA8cGF0aCBkPVwiTTI3LjUgNS41TDM0LjUgMTBMMjcuNSAxNC41TDI3LjUgNS41XCIgLz5cbiAgICAgIDwvZz4sXG4gICAgICB7IHdpZHRoOiA0MCwgaGVpZ2h0OiAyMCB9LFxuICAgICksXG4pO1xuXG5leHBvcnQgY29uc3QgRm9udFNpemVTbWFsbEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgZD1cIk0gMCA2OS4wOTIgTCAwIDU1LjAzIEEgMTI0LjI0IDEyNC4yNCAwIDAgMCA0LjcwNiA1Ny4wMiBRIDYuODI2IDU3Ljg2MyA4LjcwOCA1OC41IEEgNTMuNDY2IDUzLjQ2NiAwIDAgMCAxMi4yMzEgNTkuNTcxIFEgMTcuMjM2IDYwLjg4OSAyMS4zODcgNjAuODg5IEEgMjAuOTA5IDIwLjkwOSAwIDAgMCAyNC4yNjUgNjAuNzA0IFEgMjUuNzE5IDYwLjUwMiAyNi45MDMgNjAuMDc3IEEgOC42NDkgOC42NDkgMCAwIDAgMjkuMDI4IDU4Ljk4NSBRIDMxLjY4OSA1Ny4wOCAzMS42ODkgNTMuMzIxIFEgMzEuNjg5IDUxLjIyMSAzMC41MTggNDkuNTg1IEEgMTAuMTI2IDEwLjEyNiAwIDAgMCAyOS4yODIgNDguMTc3IFEgMjguMzUyIDQ3LjI4NyAyNy4wNzUgNDYuNDM2IEEgMjMuNzE5IDIzLjcxOSAwIDAgMCAyNS43NTIgNDUuNjI3IFEgMjMuNzc0IDQ0LjQ5MiAyMC4xNzYgNDIuNzM1IEEgMjU0LjQ0IDI1NC40NCAwIDAgMCAxNy44MjIgNDEuNjAyIFEgMTEuNTAzIDM4LjYzMSA4LjIzNiAzNS44ODggQSAxOS43NDIgMTkuNzQyIDAgMCAxIDguMDA4IDM1LjY5NCBBIDIyLjE4IDIyLjE4IDAgMCAxIDIuNzgzIDI5LjEwMiBRIDAuODMgMjUuMzQyIDAuODMgMjAuMzEzIEEgMjIuNDcxIDIyLjQ3MSAwIDAgMSAxLjczMyAxMy43NzggQSAxNy4yODMgMTcuMjgzIDAgMCAxIDcuMjUxIDUuNDIgQSAyMS40ODYgMjEuNDg2IDAgMCAxIDE1LjE3NyAxLjI3MiBRIDE4LjM2MSAwLjMzOCAyMi4xNjYgMC4wOSBBIDQzLjU3MyA0My41NzMgMCAwIDEgMjUgMCBBIDQyLjM5OSA0Mi4zOTkgMCAwIDEgMzQuMzQ5IDEuMDEgQSAzOS4wNzUgMzkuMDc1IDAgMCAxIDM1LjYyIDEuMzE5IEEgNjcuNDA3IDY3LjQwNyAwIDAgMSA0Mi4xMDggMy4zODIgQSA4My4zNTcgODMuMzU3IDAgMCAxIDQ2LjE5MSA1LjAzIEwgNDEuMzA5IDE2Ljc5NyBRIDM1LjU5NiAxNC40NTMgMzEuODYgMTMuNTI2IEEgMzAuNzYyIDMwLjc2MiAwIDAgMCAyNS40MTcgMTIuNjEyIEEgMjguMzM3IDI4LjMzNyAwIDAgMCAyNC41MTIgMTIuNTk4IEEgMTQuODQ2IDE0Ljg0NiAwIDAgMCAyMi4wMjIgMTIuNzkzIFEgMTkuNDk4IDEzLjIyNCAxNy45MiAxNC42IFEgMTUuNjI1IDE2LjYwMiAxNS42MjUgMTkuODI0IFEgMTUuNjI1IDIxLjgyNiAxNi41NTMgMjMuMzE2IFEgMTcuNDggMjQuODA1IDE5LjUwNyAyNi4xOTcgQSAxOC4zNDMgMTguMzQzIDAgMCAwIDIwLjY1OSAyNi45MTIgUSAyMi41OTYgMjguMDM1IDI2LjUxNiAyOS45NTMgQSAyOTkuOTkgMjk5Ljk5IDAgMCAwIDI5LjEwMiAzMS4yMDEgUSAzNy45MSAzNS40MTIgNDEuODQxIDM5LjY0MiBBIDE2LjU1MyAxNi41NTMgMCAwIDEgNDIuODIyIDQwLjc5NiBBIDE3LjY3NSAxNy42NzUgMCAwIDEgNDYuMzAxIDQ5LjIzMyBBIDIzLjUxNyAyMy41MTcgMCAwIDEgNDYuNTMzIDUyLjU4OCBBIDIxLjU4MSAyMS41ODEgMCAwIDEgNDUuNDcxIDU5LjUxNSBBIDE3LjczMyAxNy43MzMgMCAwIDEgMzkuNTc1IDY3LjgyMyBRIDMzLjc0NSA3Mi40ODYgMjQuMDk0IDczLjI0MyBBIDQ5LjY4MyA0OS42ODMgMCAwIDEgMjAuMjE1IDczLjM4OSBBIDUxLjcxMiA1MS43MTIgMCAwIDEgOS40NDggNzIuMzE1IEEgNDAuNjcyIDQwLjY3MiAwIDAgMSAwIDY5LjA5MiBaXCJcbiAgICAvPixcbiAgICB7IHdpZHRoOiA0NywgaGVpZ2h0OiA3NyB9LFxuICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEZvbnRTaXplTWVkaXVtSWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8cGF0aFxuICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICBkPVwiTSA0NC4wOTIgNzEuMzg3IEwgMzAuMjI1IDcxLjM4NyBMIDEzLjAzNyAxNS4zODEgTCAxMi41OTggMTUuMzgxIEEgMTUwNS4wOTMgMTUwNS4wOTMgMCAwIDEgMTIuOTU5IDIyLjMxMyBRIDEzLjQyNiAzMS43MTUgMTMuNTA4IDM2LjQgQSAxMDIuOTkxIDEwMi45OTEgMCAwIDEgMTMuNTI1IDM4LjE4NCBMIDEzLjUyNSA3MS4zODcgTCAwIDcxLjM4NyBMIDAgMCBMIDIwLjYwNSAwIEwgMzcuNSA1NC41OSBMIDM3Ljc5MyA1NC41OSBMIDU1LjcxMyAwIEwgNzYuMzE4IDAgTCA3Ni4zMTggNzEuMzg3IEwgNjIuMjA3IDcxLjM4NyBMIDYyLjIwNyAzNy41OTggUSA2Mi4yMDcgMzUuMjA1IDYyLjI4IDMyLjA4IEEgMTYwLjcwMyAxNjAuNzAzIDAgMCAxIDYyLjMyNiAzMC41NDQgUSA2Mi40NTIgMjYuNzU0IDYyLjg2NiAxNy4xNjggQSA1MzkwLjUzNiA1MzkwLjUzNiAwIDAgMSA2Mi45MzkgMTUuNDc5IEwgNjIuNSAxNS40NzkgTCA0NC4wOTIgNzEuMzg3IFpcIlxuICAgIC8+LFxuICAgIHsgd2lkdGg6IDc3LCBoZWlnaHQ6IDc1IH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgRm9udFNpemVMYXJnZUljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgZD1cIk0gNDQuMDkyIDcxLjM4NyBMIDAgNzEuMzg3IEwgMCAwIEwgMTUuMTM3IDAgTCAxNS4xMzcgNTguODg3IEwgNDQuMDkyIDU4Ljg4NyBMIDQ0LjA5MiA3MS4zODcgWlwiXG4gICAgLz4sXG4gICAgeyB3aWR0aDogNDUsIGhlaWdodDogNzUgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBGb250U2l6ZUV4dHJhTGFyZ2VJY29uID0gUmVhY3QubWVtbyhcbiAgKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgICBjcmVhdGVJY29uKFxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIGQ9XCJNIDQyLjU3OCAzNS40IEwgNjYuNjk5IDcxLjM4NyBMIDQ5LjQxNCA3MS4zODcgTCAzMi44MTMgNDQuMzg1IEwgMTYuMjExIDcxLjM4NyBMIDAgNzEuMzg3IEwgMjMuNjgyIDM0LjU3IEwgMS41MTQgMCBMIDE4LjIxMyAwIEwgMzMuNTk0IDI1LjY4NCBMIDQ4LjY4MiAwIEwgNjQuOTkgMCBMIDQyLjU3OCAzNS40IFogTSAxMTkuNzc1IDcxLjM4NyBMIDc1LjY4NCA3MS4zODcgTCA3NS42ODQgMCBMIDkwLjgyIDAgTCA5MC44MiA1OC44ODcgTCAxMTkuNzc1IDU4Ljg4NyBMIDExOS43NzUgNzEuMzg3IFpcIlxuICAgICAgLz4sXG4gICAgICB7IHdpZHRoOiAxMjAsIGhlaWdodDogNzUgfSxcbiAgICApLFxuKTtcblxuZXhwb3J0IGNvbnN0IEZvbnRGYW1pbHlIYW5kRHJhd25JY29uID0gUmVhY3QubWVtbyhcbiAgKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgICBjcmVhdGVJY29uKFxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIGQ9XCJNMjkwLjc0IDkzLjI0bDEyOC4wMiAxMjguMDItMjc3Ljk5IDI3Ny45OS0xMTQuMTQgMTIuNkMxMS4zNSA1MTMuNTQtMS41NiA1MDAuNjIuMTQgNDg1LjM0bDEyLjctMTE0LjIyIDI3Ny45LTI3Ny44OHptMjA3LjItMTkuMDZsLTYwLjExLTYwLjExYy0xOC43NS0xOC43NS00OS4xNi0xOC43NS02Ny45MSAwbC01Ni41NSA1Ni41NSAxMjguMDIgMTI4LjAyIDU2LjU1LTU2LjU1YzE4Ljc1LTE4Ljc2IDE4Ljc1LTQ5LjE2IDAtNjcuOTF6XCJcbiAgICAgIC8+LFxuICAgICAgeyB3aWR0aDogNDQ4LCBoZWlnaHQ6IDUxMiB9LFxuICAgICksXG4pO1xuXG5leHBvcnQgY29uc3QgRm9udEZhbWlseU5vcm1hbEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPD5cbiAgICAgIDxwYXRoXG4gICAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgICBkPVwiTSA2My44MTggNzEuNjggTCA1NC40OTIgNzEuNjggTCA0NS44OTggNDkuNTYxIEwgMTcuNTc4IDQ5LjU2MSBMIDkuMDgyIDcxLjY4IEwgMCA3MS42OCBMIDI3Ljg4MSAwIEwgMzUuOTg2IDAgTCA2My44MTggNzEuNjggWiBNIDIwLjYwNSA0MS42MDIgTCA0My4yMTMgNDEuNjAyIEwgMzUuMjA1IDE5Ljk3MSBMIDMxLjc4NyA5LjI3NyBRIDMwLjMyMiAxNS4xMzcgMjguNzExIDE5Ljk3MSBMIDIwLjYwNSA0MS42MDIgWlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICAgIGQ9XCJNIDY4Ljk5NCA3MS42OCBMIDUyLjY4NiA3MS42OCBMIDQ3LjUxIDU0LjY4OCBMIDIxLjQ4NCA1NC42ODggTCAxNi4zMDkgNzEuNjggTCAwIDcxLjY4IEwgMjUuMTk1IDAgTCA0My43MDEgMCBMIDY4Ljk5NCA3MS42OCBaIE0gMjUuMjkzIDQxLjk5MiBMIDQzLjg5NiA0MS45OTIgQSAyNzU5MC40NjMgMjc1OTAuNDYzIDAgMCAxIDQyLjIgMzYuNTMyIFEgMzYuOTY1IDE5LjY3NiAzNS45MzcgMTYuMjczIEEgMTIwLjkzMiAxMjAuOTMyIDAgMCAxIDM1LjgxNSAxNS44NjkgQSAxMzEuNjUgMTMxLjY1IDAgMCAxIDM1LjM5NiAxNC40MzUgUSAzNC45NTEgMTIuODc5IDM0LjY3NSAxMS43NDEgQSAzNC44NjYgMzQuODY2IDAgMCAxIDM0LjUyMSAxMS4wODQgQSAxNDEuNzYyIDE0MS43NjIgMCAwIDEgMzMuNzA2IDE0LjA3NSBRIDMxLjQ4MiAyMS45NTcgMjUuMjkzIDQxLjk5MiBaXCJcbiAgICAgIC8+XG4gICAgPC8+LFxuICAgIHsgd2lkdGg6IDcwLCBoZWlnaHQ6IDc4IH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgRm9udEZhbWlseUNvZGVJY29uID0gUmVhY3QubWVtbygoeyB0aGVtZSB9OiB7IHRoZW1lOiBUaGVtZSB9KSA9PlxuICBjcmVhdGVJY29uKFxuICAgIDw+XG4gICAgICA8cGF0aFxuICAgICAgICBmaWxsPXtpY29uRmlsbENvbG9yKHRoZW1lKX1cbiAgICAgICAgZD1cIk0yNzguOSA1MTEuNWwtNjEtMTcuN2MtNi40LTEuOC0xMC04LjUtOC4yLTE0LjlMMzQ2LjIgOC43YzEuOC02LjQgOC41LTEwIDE0LjktOC4ybDYxIDE3LjdjNi40IDEuOCAxMCA4LjUgOC4yIDE0LjlMMjkzLjggNTAzLjNjLTEuOSA2LjQtOC41IDEwLjEtMTQuOSA4LjJ6bS0xMTQtMTEyLjJsNDMuNS00Ni40YzQuNi00LjkgNC4zLTEyLjctLjgtMTcuMkwxMTcgMjU2bDkwLjYtNzkuN2M1LjEtNC41IDUuNS0xMi4zLjgtMTcuMmwtNDMuNS00Ni40Yy00LjUtNC44LTEyLjEtNS4xLTE3LS41TDMuOCAyNDcuMmMtNS4xIDQuNy01LjEgMTIuOCAwIDE3LjVsMTQ0LjEgMTM1LjFjNC45IDQuNiAxMi41IDQuNCAxNy0uNXptMzI3LjIuNmwxNDQuMS0xMzUuMWM1LjEtNC43IDUuMS0xMi44IDAtMTcuNUw0OTIuMSAxMTIuMWMtNC44LTQuNS0xMi40LTQuMy0xNyAuNUw0MzEuNiAxNTljLTQuNiA0LjktNC4zIDEyLjcuOCAxNy4yTDUyMyAyNTZsLTkwLjYgNzkuN2MtNS4xIDQuNS01LjUgMTIuMy0uOCAxNy4ybDQzLjUgNDYuNGM0LjUgNC45IDEyLjEgNS4xIDE3IC42elwiXG4gICAgICAvPlxuICAgIDwvPixcbiAgICB7IHdpZHRoOiA2NDAsIGhlaWdodDogNTEyIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgVGV4dEFsaWduTGVmdEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMTIuODMgMzUyaDI2Mi4zNEExMi44MiAxMi44MiAwIDAwMjg4IDMzOS4xN3YtMzguMzRBMTIuODIgMTIuODIgMCAwMDI3NS4xNyAyODhIMTIuODNBMTIuODIgMTIuODIgMCAwMDAgMzAwLjgzdjM4LjM0QTEyLjgyIDEyLjgyIDAgMDAxMi44MyAzNTJ6bTAtMjU2aDI2Mi4zNEExMi44MiAxMi44MiAwIDAwMjg4IDgzLjE3VjQ0LjgzQTEyLjgyIDEyLjgyIDAgMDAyNzUuMTcgMzJIMTIuODNBMTIuODIgMTIuODIgMCAwMDAgNDQuODN2MzguMzRBMTIuODIgMTIuODIgMCAwMDEyLjgzIDk2ek00MzIgMTYwSDE2YTE2IDE2IDAgMDAtMTYgMTZ2MzJhMTYgMTYgMCAwMDE2IDE2aDQxNmExNiAxNiAwIDAwMTYtMTZ2LTMyYTE2IDE2IDAgMDAtMTYtMTZ6bTAgMjU2SDE2YTE2IDE2IDAgMDAtMTYgMTZ2MzJhMTYgMTYgMCAwMDE2IDE2aDQxNmExNiAxNiAwIDAwMTYtMTZ2LTMyYTE2IDE2IDAgMDAtMTYtMTZ6XCJcbiAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAvPixcbiAgICB7IHdpZHRoOiA0NDgsIGhlaWdodDogNTEyIH0sXG4gICksXG4pO1xuXG5leHBvcnQgY29uc3QgVGV4dEFsaWduQ2VudGVySWNvbiA9IFJlYWN0Lm1lbW8oKHsgdGhlbWUgfTogeyB0aGVtZTogVGhlbWUgfSkgPT5cbiAgY3JlYXRlSWNvbihcbiAgICA8cGF0aFxuICAgICAgZD1cIk00MzIgMTYwSDE2YTE2IDE2IDAgMDAtMTYgMTZ2MzJhMTYgMTYgMCAwMDE2IDE2aDQxNmExNiAxNiAwIDAwMTYtMTZ2LTMyYTE2IDE2IDAgMDAtMTYtMTZ6bTAgMjU2SDE2YTE2IDE2IDAgMDAtMTYgMTZ2MzJhMTYgMTYgMCAwMDE2IDE2aDQxNmExNiAxNiAwIDAwMTYtMTZ2LTMyYTE2IDE2IDAgMDAtMTYtMTZ6TTEwOC4xIDk2aDIzMS44MUExMi4wOSAxMi4wOSAwIDAwMzUyIDgzLjlWNDQuMDlBMTIuMDkgMTIuMDkgMCAwMDMzOS45MSAzMkgxMDguMUExMi4wOSAxMi4wOSAwIDAwOTYgNDQuMDlWODMuOUExMi4xIDEyLjEgMCAwMDEwOC4xIDk2em0yMzEuODEgMjU2QTEyLjA5IDEyLjA5IDAgMDAzNTIgMzM5Ljl2LTM5LjgxQTEyLjA5IDEyLjA5IDAgMDAzMzkuOTEgMjg4SDEwOC4xQTEyLjA5IDEyLjA5IDAgMDA5NiAzMDAuMDl2MzkuODFhMTIuMSAxMi4xIDAgMDAxMi4xIDEyLjF6XCJcbiAgICAgIGZpbGw9e2ljb25GaWxsQ29sb3IodGhlbWUpfVxuICAgIC8+LFxuICAgIHsgd2lkdGg6IDQ0OCwgaGVpZ2h0OiA1MTIgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBUZXh0QWxpZ25SaWdodEljb24gPSBSZWFjdC5tZW1vKCh7IHRoZW1lIH06IHsgdGhlbWU6IFRoZW1lIH0pID0+XG4gIGNyZWF0ZUljb24oXG4gICAgPHBhdGhcbiAgICAgIGQ9XCJNMTYgMjI0aDQxNmExNiAxNiAwIDAwMTYtMTZ2LTMyYTE2IDE2IDAgMDAtMTYtMTZIMTZhMTYgMTYgMCAwMC0xNiAxNnYzMmExNiAxNiAwIDAwMTYgMTZ6bTQxNiAxOTJIMTZhMTYgMTYgMCAwMC0xNiAxNnYzMmExNiAxNiAwIDAwMTYgMTZoNDE2YTE2IDE2IDAgMDAxNi0xNnYtMzJhMTYgMTYgMCAwMC0xNi0xNnptMy4xNy0zODRIMTcyLjgzQTEyLjgyIDEyLjgyIDAgMDAxNjAgNDQuODN2MzguMzRBMTIuODIgMTIuODIgMCAwMDE3Mi44MyA5NmgyNjIuMzRBMTIuODIgMTIuODIgMCAwMDQ0OCA4My4xN1Y0NC44M0ExMi44MiAxMi44MiAwIDAwNDM1LjE3IDMyem0wIDI1NkgxNzIuODNBMTIuODIgMTIuODIgMCAwMDE2MCAzMDAuODN2MzguMzRBMTIuODIgMTIuODIgMCAwMDE3Mi44MyAzNTJoMjYyLjM0QTEyLjgyIDEyLjgyIDAgMDA0NDggMzM5LjE3di0zOC4zNEExMi44MiAxMi44MiAwIDAwNDM1LjE3IDI4OHpcIlxuICAgICAgZmlsbD17aWNvbkZpbGxDb2xvcih0aGVtZSl9XG4gICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgIC8+LFxuICAgIHsgd2lkdGg6IDQ0OCwgaGVpZ2h0OiA1MTIgfSxcbiAgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBwdWJsaXNoSWNvbiA9IGNyZWF0ZUljb24oXG4gIDxwYXRoXG4gICAgZD1cIk01MzcuNiAyMjYuNmM0LjEtMTAuNyA2LjQtMjIuNCA2LjQtMzQuNiAwLTUzLTQzLTk2LTk2LTk2LTE5LjcgMC0zOC4xIDYtNTMuMyAxNi4yQzM2NyA2NC4yIDMxNS4zIDMyIDI1NiAzMmMtODguNCAwLTE2MCA3MS42LTE2MCAxNjAgMCAyLjcuMSA1LjQuMiA4LjFDNDAuMiAyMTkuOCAwIDI3My4yIDAgMzM2YzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0aDM2OGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOCAwLTYxLjktNDQtMTEzLjYtMTAyLjQtMTI1LjR6TTM5My40IDI4OEgzMjh2MTEyYzAgOC44LTcuMiAxNi0xNiAxNmgtNDhjLTguOCAwLTE2LTcuMi0xNi0xNlYyODhoLTY1LjRjLTE0LjMgMC0yMS40LTE3LjItMTEuMy0yNy4zbDEwNS40LTEwNS40YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDEwNS40IDEwNS40YzEwLjEgMTAuMSAyLjkgMjcuMy0xMS4zIDI3LjN6XCJcbiAgICBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgLz4sXG4gIHsgd2lkdGg6IDY0MCwgaGVpZ2h0OiA1MTIgfSxcbik7XG5cbmV4cG9ydCBjb25zdCBob21lID0gY3JlYXRlSWNvbihcbiAgXCJNMjgwLjM3IDE0OC4yNkw5NiAzMDAuMTFWNDY0YTE2IDE2IDAgMCAwIDE2IDE2bDExMi4wNi0uMjlhMTYgMTYgMCAwIDAgMTUuOTItMTZWMzY4YTE2IDE2IDAgMCAxIDE2LTE2aDY0YTE2IDE2IDAgMCAxIDE2IDE2djk1LjY0YTE2IDE2IDAgMCAwIDE2IDE2LjA1TDQ2NCA0ODBhMTYgMTYgMCAwIDAgMTYtMTZWMzAwTDI5NS42NyAxNDguMjZhMTIuMTkgMTIuMTkgMCAwIDAtMTUuMyAwek01NzEuNiAyNTEuNDdMNDg4IDE4Mi41NlY0NC4wNWExMiAxMiAwIDAgMC0xMi0xMmgtNTZhMTIgMTIgMCAwIDAtMTIgMTJ2NzIuNjFMMzE4LjQ3IDQzYTQ4IDQ4IDAgMCAwLTYxIDBMNC4zNCAyNTEuNDdhMTIgMTIgMCAwIDAtMS42IDE2LjlsMjUuNSAzMUExMiAxMiAwIDAgMCA0NS4xNSAzMDFsMjM1LjIyLTE5My43NGExMi4xOSAxMi4xOSAwIDAgMSAxNS4zIDBMNTMwLjkgMzAxYTEyIDEyIDAgMCAwIDE2LjktMS42bDI1LjUtMzFhMTIgMTIgMCAwIDAtMS43LTE2LjkzelwiLFxuKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../components/icons.tsx\n");
|
|
2059
2080
|
|
|
2060
2081
|
/***/ }),
|
|
2061
2082
|
|
|
@@ -2143,7 +2164,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
2143
2164
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2144
2165
|
|
|
2145
2166
|
"use strict";
|
|
2146
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"AllowedExcalidrawElementTypes\": () => (/* binding */ AllowedExcalidrawElementTypes),\n/* harmony export */ \"restoreElements\": () => (/* binding */ restoreElements),\n/* harmony export */ \"restoreAppState\": () => (/* binding */ restoreAppState),\n/* harmony export */ \"restore\": () => (/* binding */ restore),\n/* harmony export */ \"restoreLibraryItems\": () => (/* binding */ restoreLibraryItems)\n/* harmony export */ });\n/* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../element */ \"../../element/index.ts\");\n/* harmony import */ var _element_typeChecks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../element/typeChecks */ \"../../element/typeChecks.ts\");\n/* harmony import */ var _random__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../random */ \"../../random.ts\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants */ \"../../constants.ts\");\n/* harmony import */ var _appState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../appState */ \"../../appState.ts\");\n/* harmony import */ var _element_linearElementEditor__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../element/linearElementEditor */ \"../../element/linearElementEditor.ts\");\n/* harmony import */ var _element_mutateElement__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../element/mutateElement */ \"../../element/mutateElement.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils */ \"../../utils.ts\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst AllowedExcalidrawElementTypes = {\r\n selection: true,\r\n text: true,\r\n rectangle: true,\r\n diamond: true,\r\n ellipse: true,\r\n line: true,\r\n image: true,\r\n arrow: true,\r\n freedraw: true,\r\n};\r\nconst getFontFamilyByName = (fontFamilyName) => {\r\n if (Object.keys(_constants__WEBPACK_IMPORTED_MODULE_3__.FONT_FAMILY).includes(fontFamilyName)) {\r\n return _constants__WEBPACK_IMPORTED_MODULE_3__.FONT_FAMILY[fontFamilyName];\r\n }\r\n return _constants__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_FONT_FAMILY;\r\n};\r\nconst restoreElementWithProperties = (element, extra) => {\r\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\r\n const base = {\r\n type: extra.type || element.type,\r\n // all elements must have version > 0 so getSceneVersion() will pick up\r\n // newly added elements\r\n version: element.version || 1,\r\n versionNonce: (_a = element.versionNonce) !== null && _a !== void 0 ? _a : 0,\r\n isDeleted: (_b = element.isDeleted) !== null && _b !== void 0 ? _b : false,\r\n id: element.id || (0,_random__WEBPACK_IMPORTED_MODULE_2__.randomId)(),\r\n fillStyle: element.fillStyle || \"hachure\",\r\n strokeWidth: element.strokeWidth || 1,\r\n strokeStyle: (_c = element.strokeStyle) !== null && _c !== void 0 ? _c : \"solid\",\r\n roughness: (_d = element.roughness) !== null && _d !== void 0 ? _d : 1,\r\n opacity: element.opacity == null ? 100 : element.opacity,\r\n angle: element.angle || 0,\r\n x: (_f = (_e = extra.x) !== null && _e !== void 0 ? _e : element.x) !== null && _f !== void 0 ? _f : 0,\r\n y: (_h = (_g = extra.y) !== null && _g !== void 0 ? _g : element.y) !== null && _h !== void 0 ? _h : 0,\r\n strokeColor: element.strokeColor,\r\n backgroundColor: element.backgroundColor,\r\n width: element.width || 0,\r\n height: element.height || 0,\r\n seed: (_j = element.seed) !== null && _j !== void 0 ? _j : 1,\r\n groupIds: (_k = element.groupIds) !== null && _k !== void 0 ? _k : [],\r\n strokeSharpness: (_l = element.strokeSharpness) !== null && _l !== void 0 ? _l : ((0,_element_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isLinearElementType)(element.type) ? \"round\" : \"sharp\"),\r\n boundElementIds: (_m = element.boundElementIds) !== null && _m !== void 0 ? _m : [],\r\n updated: (_o = element.updated) !== null && _o !== void 0 ? _o : (0,_utils__WEBPACK_IMPORTED_MODULE_7__.getUpdatedTimestamp)(),\r\n };\r\n return Object.assign(Object.assign(Object.assign({}, base), (0,_element__WEBPACK_IMPORTED_MODULE_0__.getNormalizedDimensions)(base)), extra);\r\n};\r\nconst restoreElement = (element) => {\r\n var _a;\r\n switch (element.type) {\r\n case \"text\":\r\n let fontSize = element.fontSize;\r\n let fontFamily = element.fontFamily;\r\n if (\"font\" in element) {\r\n const [fontPx, _fontFamily] = element.font.split(\" \");\r\n fontSize = parseInt(fontPx, 10);\r\n fontFamily = getFontFamilyByName(_fontFamily);\r\n }\r\n return restoreElementWithProperties(element, {\r\n fontSize,\r\n fontFamily,\r\n text: (_a = element.text) !== null && _a !== void 0 ? _a : \"\",\r\n baseline: element.baseline,\r\n textAlign: element.textAlign || _constants__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_TEXT_ALIGN,\r\n verticalAlign: element.verticalAlign || _constants__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_VERTICAL_ALIGN,\r\n });\r\n case \"freedraw\": {\r\n return restoreElementWithProperties(element, {\r\n points: element.points,\r\n lastCommittedPoint: null,\r\n simulatePressure: element.simulatePressure,\r\n pressures: element.pressures,\r\n });\r\n }\r\n case \"image\":\r\n return restoreElementWithProperties(element, {\r\n status: element.status || \"pending\",\r\n fileId: element.fileId,\r\n scale: element.scale || [1, 1],\r\n });\r\n case \"line\":\r\n // @ts-ignore LEGACY type\r\n // eslint-disable-next-line no-fallthrough\r\n case \"draw\":\r\n case \"arrow\": {\r\n const { startArrowhead = null, endArrowhead = element.type === \"arrow\" ? \"arrow\" : null, } = element;\r\n let x = element.x;\r\n let y = element.y;\r\n let points = // migrate old arrow model to new one\r\n !Array.isArray(element.points) || element.points.length < 2\r\n ? [\r\n [0, 0],\r\n [element.width, element.height],\r\n ]\r\n : element.points;\r\n if (points[0][0] !== 0 || points[0][1] !== 0) {\r\n ({ points, x, y } = _element_linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.getNormalizedPoints(element));\r\n }\r\n return restoreElementWithProperties(element, {\r\n type: element.type === \"draw\"\r\n ? \"line\"\r\n : element.type,\r\n startBinding: element.startBinding,\r\n endBinding: element.endBinding,\r\n lastCommittedPoint: null,\r\n startArrowhead,\r\n endArrowhead,\r\n points,\r\n x,\r\n y,\r\n });\r\n }\r\n // generic elements\r\n case \"ellipse\":\r\n return restoreElementWithProperties(element, {});\r\n case \"rectangle\":\r\n return restoreElementWithProperties(element, {});\r\n case \"diamond\":\r\n return restoreElementWithProperties(element, {});\r\n // Don't use default case so as to catch a missing an element type case.\r\n // We also don't want to throw, but instead return void so we filter\r\n // out these unsupported elements from the restored array.\r\n }\r\n};\r\nconst restoreElements = (elements, \r\n/** NOTE doesn't serve for reconciliation */\r\nlocalElements) => {\r\n const localElementsMap = localElements ? (0,_utils__WEBPACK_IMPORTED_MODULE_7__.arrayToMap)(localElements) : null;\r\n return (elements || []).reduce((elements, element) => {\r\n // filtering out selection, which is legacy, no longer kept in elements,\r\n // and causing issues if retained\r\n if (element.type !== \"selection\" && !(0,_element__WEBPACK_IMPORTED_MODULE_0__.isInvisiblySmallElement)(element)) {\r\n let migratedElement = restoreElement(element);\r\n if (migratedElement) {\r\n const localElement = localElementsMap === null || localElementsMap === void 0 ? void 0 : localElementsMap.get(element.id);\r\n if (localElement && localElement.version > migratedElement.version) {\r\n migratedElement = (0,_element_mutateElement__WEBPACK_IMPORTED_MODULE_6__.bumpVersion)(migratedElement, localElement.version);\r\n }\r\n elements.push(migratedElement);\r\n }\r\n }\r\n return elements;\r\n }, []);\r\n};\r\nconst restoreAppState = (appState, localAppState) => {\r\n appState = appState || {};\r\n const defaultAppState = (0,_appState__WEBPACK_IMPORTED_MODULE_4__.getDefaultAppState)();\r\n const nextAppState = {};\r\n for (const [key, defaultValue] of Object.entries(defaultAppState)) {\r\n const suppliedValue = appState[key];\r\n const localValue = localAppState ? localAppState[key] : undefined;\r\n nextAppState[key] =\r\n suppliedValue !== undefined\r\n ? suppliedValue\r\n : localValue !== undefined\r\n ? localValue\r\n : defaultValue;\r\n }\r\n return Object.assign(Object.assign({}, nextAppState), { elementType: AllowedExcalidrawElementTypes[nextAppState.elementType]\r\n ? nextAppState.elementType\r\n : \"selection\", \r\n // Migrates from previous version where appState.zoom was a number\r\n zoom: typeof appState.zoom === \"number\"\r\n ? {\r\n value: appState.zoom,\r\n translation: defaultAppState.zoom.translation,\r\n }\r\n : appState.zoom || defaultAppState.zoom });\r\n};\r\nconst restore = (data, \r\n/**\r\n * Local AppState (`this.state` or initial state from localStorage) so that we\r\n * don't overwrite local state with default values (when values not\r\n * explicitly specified).\r\n * Supply `null` if you can't get access to it.\r\n */\r\nlocalAppState, localElements) => {\r\n return {\r\n elements: restoreElements(data === null || data === void 0 ? void 0 : data.elements, localElements),\r\n appState: restoreAppState(data === null || data === void 0 ? void 0 : data.appState, localAppState || null),\r\n files: (data === null || data === void 0 ? void 0 : data.files) || {},\r\n };\r\n};\r\nconst restoreLibraryItems = (libraryItems, defaultStatus) => {\r\n const restoredItems = [];\r\n for (const item of libraryItems) {\r\n // migrate older libraries\r\n if (Array.isArray(item)) {\r\n restoredItems.push({\r\n status: defaultStatus,\r\n elements: item,\r\n id: (0,_random__WEBPACK_IMPORTED_MODULE_2__.randomId)(),\r\n created: Date.now(),\r\n });\r\n }\r\n else {\r\n const _item = item;\r\n restoredItems.push(Object.assign(Object.assign({}, _item), { id: _item.id || (0,_random__WEBPACK_IMPORTED_MODULE_2__.randomId)(), status: _item.status || defaultStatus, created: _item.created || Date.now() }));\r\n }\r\n }\r\n return restoredItems;\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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TyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxFQUFFLEVBQUUsaURBQVEsRUFBRTtnQkFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTthQUNwQixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxLQUFLLEdBQUcsSUFBa0QsQ0FBQztZQUNqRSxhQUFhLENBQUMsSUFBSSxpQ0FDYixLQUFLLEtBQ1IsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksaURBQVEsRUFBRSxFQUMxQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxhQUFhLEVBQ3JDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFDcEMsQ0FBQztTQUNKO0tBQ0Y7SUFDRCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vZGF0YS9yZXN0b3JlLnRzPzg3MjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRXhjYWxpZHJhd0VsZW1lbnQsXG4gIEV4Y2FsaWRyYXdTZWxlY3Rpb25FbGVtZW50LFxuICBGb250RmFtaWx5VmFsdWVzLFxufSBmcm9tIFwiLi4vZWxlbWVudC90eXBlc1wiO1xuaW1wb3J0IHtcbiAgQXBwU3RhdGUsXG4gIEJpbmFyeUZpbGVzLFxuICBMaWJyYXJ5SXRlbSxcbiAgTm9ybWFsaXplZFpvb21WYWx1ZSxcbn0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBJbXBvcnRlZERhdGFTdGF0ZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBnZXROb3JtYWxpemVkRGltZW5zaW9ucywgaXNJbnZpc2libHlTbWFsbEVsZW1lbnQgfSBmcm9tIFwiLi4vZWxlbWVudFwiO1xuaW1wb3J0IHsgaXNMaW5lYXJFbGVtZW50VHlwZSB9IGZyb20gXCIuLi9lbGVtZW50L3R5cGVDaGVja3NcIjtcbmltcG9ydCB7IHJhbmRvbUlkIH0gZnJvbSBcIi4uL3JhbmRvbVwiO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9GT05UX0ZBTUlMWSxcbiAgREVGQVVMVF9URVhUX0FMSUdOLFxuICBERUZBVUxUX1ZFUlRJQ0FMX0FMSUdOLFxuICBGT05UX0ZBTUlMWSxcbn0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0RGVmYXVsdEFwcFN0YXRlIH0gZnJvbSBcIi4uL2FwcFN0YXRlXCI7XG5pbXBvcnQgeyBMaW5lYXJFbGVtZW50RWRpdG9yIH0gZnJvbSBcIi4uL2VsZW1lbnQvbGluZWFyRWxlbWVudEVkaXRvclwiO1xuaW1wb3J0IHsgYnVtcFZlcnNpb24gfSBmcm9tIFwiLi4vZWxlbWVudC9tdXRhdGVFbGVtZW50XCI7XG5pbXBvcnQgeyBnZXRVcGRhdGVkVGltZXN0YW1wIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBhcnJheVRvTWFwIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbnR5cGUgUmVzdG9yZWRBcHBTdGF0ZSA9IE9taXQ8XG4gIEFwcFN0YXRlLFxuICBcIm9mZnNldFRvcFwiIHwgXCJvZmZzZXRMZWZ0XCIgfCBcIndpZHRoXCIgfCBcImhlaWdodFwiXG4+O1xuXG5leHBvcnQgY29uc3QgQWxsb3dlZEV4Y2FsaWRyYXdFbGVtZW50VHlwZXM6IFJlY29yZDxcbiAgRXhjYWxpZHJhd0VsZW1lbnRbXCJ0eXBlXCJdLFxuICB0cnVlXG4+ID0ge1xuICBzZWxlY3Rpb246IHRydWUsXG4gIHRleHQ6IHRydWUsXG4gIHJlY3RhbmdsZTogdHJ1ZSxcbiAgZGlhbW9uZDogdHJ1ZSxcbiAgZWxsaXBzZTogdHJ1ZSxcbiAgbGluZTogdHJ1ZSxcbiAgaW1hZ2U6IHRydWUsXG4gIGFycm93OiB0cnVlLFxuICBmcmVlZHJhdzogdHJ1ZSxcbn07XG5cbmV4cG9ydCB0eXBlIFJlc3RvcmVkRGF0YVN0YXRlID0ge1xuICBlbGVtZW50czogRXhjYWxpZHJhd0VsZW1lbnRbXTtcbiAgYXBwU3RhdGU6IFJlc3RvcmVkQXBwU3RhdGU7XG4gIGZpbGVzOiBCaW5hcnlGaWxlcztcbn07XG5cbmNvbnN0IGdldEZvbnRGYW1pbHlCeU5hbWUgPSAoZm9udEZhbWlseU5hbWU6IHN0cmluZyk6IEZvbnRGYW1pbHlWYWx1ZXMgPT4ge1xuICBpZiAoT2JqZWN0LmtleXMoRk9OVF9GQU1JTFkpLmluY2x1ZGVzKGZvbnRGYW1pbHlOYW1lKSkge1xuICAgIHJldHVybiBGT05UX0ZBTUlMWVtcbiAgICAgIGZvbnRGYW1pbHlOYW1lIGFzIGtleW9mIHR5cGVvZiBGT05UX0ZBTUlMWVxuICAgIF0gYXMgRm9udEZhbWlseVZhbHVlcztcbiAgfVxuICByZXR1cm4gREVGQVVMVF9GT05UX0ZBTUlMWTtcbn07XG5cbmNvbnN0IHJlc3RvcmVFbGVtZW50V2l0aFByb3BlcnRpZXMgPSA8XG4gIFQgZXh0ZW5kcyBFeGNhbGlkcmF3RWxlbWVudCxcbiAgSyBleHRlbmRzIFBpY2s8VCwga2V5b2YgT21pdDxSZXF1aXJlZDxUPiwga2V5b2YgRXhjYWxpZHJhd0VsZW1lbnQ+Pixcbj4oXG4gIGVsZW1lbnQ6IFJlcXVpcmVkPFQ+LFxuICBleHRyYTogUGljazxcbiAgICBULFxuICAgIC8vIFRoaXMgZXh0cmEgUGljazxULCBrZXlvZiBLPiBlbnN1cmUgbm8gZXhjZXNzIHByb3BlcnRpZXMgYXJlIHBhc3NlZC5cbiAgICAvLyBAdHMtaWdub3JlIFRTIGNvbXBsYWlucyBoZXJlIGJ1dCB0eXBlIGNoZWNrcyB0aGUgY2FsbCBzaXRlcyBmaW5lLlxuICAgIGtleW9mIEtcbiAgPiAmXG4gICAgUGFydGlhbDxQaWNrPEV4Y2FsaWRyYXdFbGVtZW50LCBcInR5cGVcIiB8IFwieFwiIHwgXCJ5XCI+Pixcbik6IFQgPT4ge1xuICBjb25zdCBiYXNlOiBQaWNrPFQsIGtleW9mIEV4Y2FsaWRyYXdFbGVtZW50PiA9IHtcbiAgICB0eXBlOiBleHRyYS50eXBlIHx8IGVsZW1lbnQudHlwZSxcbiAgICAvLyBhbGwgZWxlbWVudHMgbXVzdCBoYXZlIHZlcnNpb24gPiAwIHNvIGdldFNjZW5lVmVyc2lvbigpIHdpbGwgcGljayB1cFxuICAgIC8vIG5ld2x5IGFkZGVkIGVsZW1lbnRzXG4gICAgdmVyc2lvbjogZWxlbWVudC52ZXJzaW9uIHx8IDEsXG4gICAgdmVyc2lvbk5vbmNlOiBlbGVtZW50LnZlcnNpb25Ob25jZSA/PyAwLFxuICAgIGlzRGVsZXRlZDogZWxlbWVudC5pc0RlbGV0ZWQgPz8gZmFsc2UsXG4gICAgaWQ6IGVsZW1lbnQuaWQgfHwgcmFuZG9tSWQoKSxcbiAgICBmaWxsU3R5bGU6IGVsZW1lbnQuZmlsbFN0eWxlIHx8IFwiaGFjaHVyZVwiLFxuICAgIHN0cm9rZVdpZHRoOiBlbGVtZW50LnN0cm9rZVdpZHRoIHx8IDEsXG4gICAgc3Ryb2tlU3R5bGU6IGVsZW1lbnQuc3Ryb2tlU3R5bGUgPz8gXCJzb2xpZFwiLFxuICAgIHJvdWdobmVzczogZWxlbWVudC5yb3VnaG5lc3MgPz8gMSxcbiAgICBvcGFjaXR5OiBlbGVtZW50Lm9wYWNpdHkgPT0gbnVsbCA/IDEwMCA6IGVsZW1lbnQub3BhY2l0eSxcbiAgICBhbmdsZTogZWxlbWVudC5hbmdsZSB8fCAwLFxuICAgIHg6IGV4dHJhLnggPz8gZWxlbWVudC54ID8/IDAsXG4gICAgeTogZXh0cmEueSA/PyBlbGVtZW50LnkgPz8gMCxcbiAgICBzdHJva2VDb2xvcjogZWxlbWVudC5zdHJva2VDb2xvcixcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGVsZW1lbnQuYmFja2dyb3VuZENvbG9yLFxuICAgIHdpZHRoOiBlbGVtZW50LndpZHRoIHx8IDAsXG4gICAgaGVpZ2h0OiBlbGVtZW50LmhlaWdodCB8fCAwLFxuICAgIHNlZWQ6IGVsZW1lbnQuc2VlZCA/PyAxLFxuICAgIGdyb3VwSWRzOiBlbGVtZW50Lmdyb3VwSWRzID8/IFtdLFxuICAgIHN0cm9rZVNoYXJwbmVzczpcbiAgICAgIGVsZW1lbnQuc3Ryb2tlU2hhcnBuZXNzID8/XG4gICAgICAoaXNMaW5lYXJFbGVtZW50VHlwZShlbGVtZW50LnR5cGUpID8gXCJyb3VuZFwiIDogXCJzaGFycFwiKSxcbiAgICBib3VuZEVsZW1lbnRJZHM6IGVsZW1lbnQuYm91bmRFbGVtZW50SWRzID8/IFtdLFxuICAgIHVwZGF0ZWQ6IGVsZW1lbnQudXBkYXRlZCA/PyBnZXRVcGRhdGVkVGltZXN0YW1wKCksXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlLFxuICAgIC4uLmdldE5vcm1hbGl6ZWREaW1lbnNpb25zKGJhc2UpLFxuICAgIC4uLmV4dHJhLFxuICB9IGFzIHVua25vd24gYXMgVDtcbn07XG5cbmNvbnN0IHJlc3RvcmVFbGVtZW50ID0gKFxuICBlbGVtZW50OiBFeGNsdWRlPEV4Y2FsaWRyYXdFbGVtZW50LCBFeGNhbGlkcmF3U2VsZWN0aW9uRWxlbWVudD4sXG4pOiB0eXBlb2YgZWxlbWVudCB8IG51bGwgPT4ge1xuICBzd2l0Y2ggKGVsZW1lbnQudHlwZSkge1xuICAgIGNhc2UgXCJ0ZXh0XCI6XG4gICAgICBsZXQgZm9udFNpemUgPSBlbGVtZW50LmZvbnRTaXplO1xuICAgICAgbGV0IGZvbnRGYW1pbHkgPSBlbGVtZW50LmZvbnRGYW1pbHk7XG4gICAgICBpZiAoXCJmb250XCIgaW4gZWxlbWVudCkge1xuICAgICAgICBjb25zdCBbZm9udFB4LCBfZm9udEZhbWlseV06IFtzdHJpbmcsIHN0cmluZ10gPSAoXG4gICAgICAgICAgZWxlbWVudCBhcyBhbnlcbiAgICAgICAgKS5mb250LnNwbGl0KFwiIFwiKTtcbiAgICAgICAgZm9udFNpemUgPSBwYXJzZUludChmb250UHgsIDEwKTtcbiAgICAgICAgZm9udEZhbWlseSA9IGdldEZvbnRGYW1pbHlCeU5hbWUoX2ZvbnRGYW1pbHkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3RvcmVFbGVtZW50V2l0aFByb3BlcnRpZXMoZWxlbWVudCwge1xuICAgICAgICBmb250U2l6ZSxcbiAgICAgICAgZm9udEZhbWlseSxcbiAgICAgICAgdGV4dDogZWxlbWVudC50ZXh0ID8/IFwiXCIsXG4gICAgICAgIGJhc2VsaW5lOiBlbGVtZW50LmJhc2VsaW5lLFxuICAgICAgICB0ZXh0QWxpZ246IGVsZW1lbnQudGV4dEFsaWduIHx8IERFRkFVTFRfVEVYVF9BTElHTixcbiAgICAgICAgdmVydGljYWxBbGlnbjogZWxlbWVudC52ZXJ0aWNhbEFsaWduIHx8IERFRkFVTFRfVkVSVElDQUxfQUxJR04sXG4gICAgICB9KTtcbiAgICBjYXNlIFwiZnJlZWRyYXdcIjoge1xuICAgICAgcmV0dXJuIHJlc3RvcmVFbGVtZW50V2l0aFByb3BlcnRpZXMoZWxlbWVudCwge1xuICAgICAgICBwb2ludHM6IGVsZW1lbnQucG9pbnRzLFxuICAgICAgICBsYXN0Q29tbWl0dGVkUG9pbnQ6IG51bGwsXG4gICAgICAgIHNpbXVsYXRlUHJlc3N1cmU6IGVsZW1lbnQuc2ltdWxhdGVQcmVzc3VyZSxcbiAgICAgICAgcHJlc3N1cmVzOiBlbGVtZW50LnByZXNzdXJlcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjYXNlIFwiaW1hZ2VcIjpcbiAgICAgIHJldHVybiByZXN0b3JlRWxlbWVudFdpdGhQcm9wZXJ0aWVzKGVsZW1lbnQsIHtcbiAgICAgICAgc3RhdHVzOiBlbGVtZW50LnN0YXR1cyB8fCBcInBlbmRpbmdcIixcbiAgICAgICAgZmlsZUlkOiBlbGVtZW50LmZpbGVJZCxcbiAgICAgICAgc2NhbGU6IGVsZW1lbnQuc2NhbGUgfHwgWzEsIDFdLFxuICAgICAgfSk7XG4gICAgY2FzZSBcImxpbmVcIjpcbiAgICAvLyBAdHMtaWdub3JlIExFR0FDWSB0eXBlXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgY2FzZSBcImRyYXdcIjpcbiAgICBjYXNlIFwiYXJyb3dcIjoge1xuICAgICAgY29uc3Qge1xuICAgICAgICBzdGFydEFycm93aGVhZCA9IG51bGwsXG4gICAgICAgIGVuZEFycm93aGVhZCA9IGVsZW1lbnQudHlwZSA9PT0gXCJhcnJvd1wiID8gXCJhcnJvd1wiIDogbnVsbCxcbiAgICAgIH0gPSBlbGVtZW50O1xuXG4gICAgICBsZXQgeCA9IGVsZW1lbnQueDtcbiAgICAgIGxldCB5ID0gZWxlbWVudC55O1xuICAgICAgbGV0IHBvaW50cyA9IC8vIG1pZ3JhdGUgb2xkIGFycm93IG1vZGVsIHRvIG5ldyBvbmVcbiAgICAgICAgIUFycmF5LmlzQXJyYXkoZWxlbWVudC5wb2ludHMpIHx8IGVsZW1lbnQucG9pbnRzLmxlbmd0aCA8IDJcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgWzAsIDBdLFxuICAgICAgICAgICAgICBbZWxlbWVudC53aWR0aCwgZWxlbWVudC5oZWlnaHRdLFxuICAgICAgICAgICAgXVxuICAgICAgICAgIDogZWxlbWVudC5wb2ludHM7XG5cbiAgICAgIGlmIChwb2ludHNbMF1bMF0gIT09IDAgfHwgcG9pbnRzWzBdWzFdICE9PSAwKSB7XG4gICAgICAgICh7IHBvaW50cywgeCwgeSB9ID0gTGluZWFyRWxlbWVudEVkaXRvci5nZXROb3JtYWxpemVkUG9pbnRzKGVsZW1lbnQpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3RvcmVFbGVtZW50V2l0aFByb3BlcnRpZXMoZWxlbWVudCwge1xuICAgICAgICB0eXBlOlxuICAgICAgICAgIChlbGVtZW50LnR5cGUgYXMgRXhjYWxpZHJhd0VsZW1lbnRbXCJ0eXBlXCJdIHwgXCJkcmF3XCIpID09PSBcImRyYXdcIlxuICAgICAgICAgICAgPyBcImxpbmVcIlxuICAgICAgICAgICAgOiBlbGVtZW50LnR5cGUsXG4gICAgICAgIHN0YXJ0QmluZGluZzogZWxlbWVudC5zdGFydEJpbmRpbmcsXG4gICAgICAgIGVuZEJpbmRpbmc6IGVsZW1lbnQuZW5kQmluZGluZyxcbiAgICAgICAgbGFzdENvbW1pdHRlZFBvaW50OiBudWxsLFxuICAgICAgICBzdGFydEFycm93aGVhZCxcbiAgICAgICAgZW5kQXJyb3doZWFkLFxuICAgICAgICBwb2ludHMsXG4gICAgICAgIHgsXG4gICAgICAgIHksXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gZ2VuZXJpYyBlbGVtZW50c1xuICAgIGNhc2UgXCJlbGxpcHNlXCI6XG4gICAgICByZXR1cm4gcmVzdG9yZUVsZW1lbnRXaXRoUHJvcGVydGllcyhlbGVtZW50LCB7fSk7XG4gICAgY2FzZSBcInJlY3RhbmdsZVwiOlxuICAgICAgcmV0dXJuIHJlc3RvcmVFbGVtZW50V2l0aFByb3BlcnRpZXMoZWxlbWVudCwge30pO1xuICAgIGNhc2UgXCJkaWFtb25kXCI6XG4gICAgICByZXR1cm4gcmVzdG9yZUVsZW1lbnRXaXRoUHJvcGVydGllcyhlbGVtZW50LCB7fSk7XG5cbiAgICAvLyBEb24ndCB1c2UgZGVmYXVsdCBjYXNlIHNvIGFzIHRvIGNhdGNoIGEgbWlzc2luZyBhbiBlbGVtZW50IHR5cGUgY2FzZS5cbiAgICAvLyBXZSBhbHNvIGRvbid0IHdhbnQgdG8gdGhyb3csIGJ1dCBpbnN0ZWFkIHJldHVybiB2b2lkIHNvIHdlIGZpbHRlclxuICAgIC8vIG91dCB0aGVzZSB1bnN1cHBvcnRlZCBlbGVtZW50cyBmcm9tIHRoZSByZXN0b3JlZCBhcnJheS5cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJlc3RvcmVFbGVtZW50cyA9IChcbiAgZWxlbWVudHM6IEltcG9ydGVkRGF0YVN0YXRlW1wiZWxlbWVudHNcIl0sXG4gIC8qKiBOT1RFIGRvZXNuJ3Qgc2VydmUgZm9yIHJlY29uY2lsaWF0aW9uICovXG4gIGxvY2FsRWxlbWVudHM6IHJlYWRvbmx5IEV4Y2FsaWRyYXdFbGVtZW50W10gfCBudWxsIHwgdW5kZWZpbmVkLFxuKTogRXhjYWxpZHJhd0VsZW1lbnRbXSA9PiB7XG4gIGNvbnN0IGxvY2FsRWxlbWVudHNNYXAgPSBsb2NhbEVsZW1lbnRzID8gYXJyYXlUb01hcChsb2NhbEVsZW1lbnRzKSA6IG51bGw7XG4gIHJldHVybiAoZWxlbWVudHMgfHwgW10pLnJlZHVjZSgoZWxlbWVudHMsIGVsZW1lbnQpID0+IHtcbiAgICAvLyBmaWx0ZXJpbmcgb3V0IHNlbGVjdGlvbiwgd2hpY2ggaXMgbGVnYWN5LCBubyBsb25nZXIga2VwdCBpbiBlbGVtZW50cyxcbiAgICAvLyBhbmQgY2F1c2luZyBpc3N1ZXMgaWYgcmV0YWluZWRcbiAgICBpZiAoZWxlbWVudC50eXBlICE9PSBcInNlbGVjdGlvblwiICYmICFpc0ludmlzaWJseVNtYWxsRWxlbWVudChlbGVtZW50KSkge1xuICAgICAgbGV0IG1pZ3JhdGVkRWxlbWVudDogRXhjYWxpZHJhd0VsZW1lbnQgfCBudWxsID0gcmVzdG9yZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICBpZiAobWlncmF0ZWRFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGxvY2FsRWxlbWVudCA9IGxvY2FsRWxlbWVudHNNYXA/LmdldChlbGVtZW50LmlkKTtcbiAgICAgICAgaWYgKGxvY2FsRWxlbWVudCAmJiBsb2NhbEVsZW1lbnQudmVyc2lvbiA+IG1pZ3JhdGVkRWxlbWVudC52ZXJzaW9uKSB7XG4gICAgICAgICAgbWlncmF0ZWRFbGVtZW50ID0gYnVtcFZlcnNpb24obWlncmF0ZWRFbGVtZW50LCBsb2NhbEVsZW1lbnQudmVyc2lvbik7XG4gICAgICAgIH1cbiAgICAgICAgZWxlbWVudHMucHVzaChtaWdyYXRlZEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZWxlbWVudHM7XG4gIH0sIFtdIGFzIEV4Y2FsaWRyYXdFbGVtZW50W10pO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlc3RvcmVBcHBTdGF0ZSA9IChcbiAgYXBwU3RhdGU6IEltcG9ydGVkRGF0YVN0YXRlW1wiYXBwU3RhdGVcIl0sXG4gIGxvY2FsQXBwU3RhdGU6IFBhcnRpYWw8QXBwU3RhdGU+IHwgbnVsbCB8IHVuZGVmaW5lZCxcbik6IFJlc3RvcmVkQXBwU3RhdGUgPT4ge1xuICBhcHBTdGF0ZSA9IGFwcFN0YXRlIHx8IHt9O1xuXG4gIGNvbnN0IGRlZmF1bHRBcHBTdGF0ZSA9IGdldERlZmF1bHRBcHBTdGF0ZSgpO1xuICBjb25zdCBuZXh0QXBwU3RhdGUgPSB7fSBhcyB0eXBlb2YgZGVmYXVsdEFwcFN0YXRlO1xuXG4gIGZvciAoY29uc3QgW2tleSwgZGVmYXVsdFZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkZWZhdWx0QXBwU3RhdGUpIGFzIFtcbiAgICBrZXlvZiB0eXBlb2YgZGVmYXVsdEFwcFN0YXRlLFxuICAgIGFueSxcbiAgXVtdKSB7XG4gICAgY29uc3Qgc3VwcGxpZWRWYWx1ZSA9IGFwcFN0YXRlW2tleV07XG4gICAgY29uc3QgbG9jYWxWYWx1ZSA9IGxvY2FsQXBwU3RhdGUgPyBsb2NhbEFwcFN0YXRlW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgKG5leHRBcHBTdGF0ZSBhcyBhbnkpW2tleV0gPVxuICAgICAgc3VwcGxpZWRWYWx1ZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gc3VwcGxpZWRWYWx1ZVxuICAgICAgICA6IGxvY2FsVmFsdWUgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IGxvY2FsVmFsdWVcbiAgICAgICAgOiBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLm5leHRBcHBTdGF0ZSxcbiAgICBlbGVtZW50VHlwZTogQWxsb3dlZEV4Y2FsaWRyYXdFbGVtZW50VHlwZXNbbmV4dEFwcFN0YXRlLmVsZW1lbnRUeXBlXVxuICAgICAgPyBuZXh0QXBwU3RhdGUuZWxlbWVudFR5cGVcbiAgICAgIDogXCJzZWxlY3Rpb25cIixcbiAgICAvLyBNaWdyYXRlcyBmcm9tIHByZXZpb3VzIHZlcnNpb24gd2hlcmUgYXBwU3RhdGUuem9vbSB3YXMgYSBudW1iZXJcbiAgICB6b29tOlxuICAgICAgdHlwZW9mIGFwcFN0YXRlLnpvb20gPT09IFwibnVtYmVyXCJcbiAgICAgICAgPyB7XG4gICAgICAgICAgICB2YWx1ZTogYXBwU3RhdGUuem9vbSBhcyBOb3JtYWxpemVkWm9vbVZhbHVlLFxuICAgICAgICAgICAgdHJhbnNsYXRpb246IGRlZmF1bHRBcHBTdGF0ZS56b29tLnRyYW5zbGF0aW9uLFxuICAgICAgICAgIH1cbiAgICAgICAgOiBhcHBTdGF0ZS56b29tIHx8IGRlZmF1bHRBcHBTdGF0ZS56b29tLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHJlc3RvcmUgPSAoXG4gIGRhdGE6IEltcG9ydGVkRGF0YVN0YXRlIHwgbnVsbCxcbiAgLyoqXG4gICAqIExvY2FsIEFwcFN0YXRlIChgdGhpcy5zdGF0ZWAgb3IgaW5pdGlhbCBzdGF0ZSBmcm9tIGxvY2FsU3RvcmFnZSkgc28gdGhhdCB3ZVxuICAgKiBkb24ndCBvdmVyd3JpdGUgbG9jYWwgc3RhdGUgd2l0aCBkZWZhdWx0IHZhbHVlcyAod2hlbiB2YWx1ZXMgbm90XG4gICAqIGV4cGxpY2l0bHkgc3BlY2lmaWVkKS5cbiAgICogU3VwcGx5IGBudWxsYCBpZiB5b3UgY2FuJ3QgZ2V0IGFjY2VzcyB0byBpdC5cbiAgICovXG4gIGxvY2FsQXBwU3RhdGU6IFBhcnRpYWw8QXBwU3RhdGU+IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgbG9jYWxFbGVtZW50czogcmVhZG9ubHkgRXhjYWxpZHJhd0VsZW1lbnRbXSB8IG51bGwgfCB1bmRlZmluZWQsXG4pOiBSZXN0b3JlZERhdGFTdGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgZWxlbWVudHM6IHJlc3RvcmVFbGVtZW50cyhkYXRhPy5lbGVtZW50cywgbG9jYWxFbGVtZW50cyksXG4gICAgYXBwU3RhdGU6IHJlc3RvcmVBcHBTdGF0ZShkYXRhPy5hcHBTdGF0ZSwgbG9jYWxBcHBTdGF0ZSB8fCBudWxsKSxcbiAgICBmaWxlczogZGF0YT8uZmlsZXMgfHwge30sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVzdG9yZUxpYnJhcnlJdGVtcyA9IChcbiAgbGlicmFyeUl0ZW1zOiBOb25PcHRpb25hbDxJbXBvcnRlZERhdGFTdGF0ZVtcImxpYnJhcnlJdGVtc1wiXT4sXG4gIGRlZmF1bHRTdGF0dXM6IExpYnJhcnlJdGVtW1wic3RhdHVzXCJdLFxuKSA9PiB7XG4gIGNvbnN0IHJlc3RvcmVkSXRlbXM6IExpYnJhcnlJdGVtW10gPSBbXTtcbiAgZm9yIChjb25zdCBpdGVtIG9mIGxpYnJhcnlJdGVtcykge1xuICAgIC8vIG1pZ3JhdGUgb2xkZXIgbGlicmFyaWVzXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpIHtcbiAgICAgIHJlc3RvcmVkSXRlbXMucHVzaCh7XG4gICAgICAgIHN0YXR1czogZGVmYXVsdFN0YXR1cyxcbiAgICAgICAgZWxlbWVudHM6IGl0ZW0sXG4gICAgICAgIGlkOiByYW5kb21JZCgpLFxuICAgICAgICBjcmVhdGVkOiBEYXRlLm5vdygpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IF9pdGVtID0gaXRlbSBhcyBNYXJrT3B0aW9uYWw8TGlicmFyeUl0ZW0sIFwiaWRcIiB8IFwic3RhdHVzXCI+O1xuICAgICAgcmVzdG9yZWRJdGVtcy5wdXNoKHtcbiAgICAgICAgLi4uX2l0ZW0sXG4gICAgICAgIGlkOiBfaXRlbS5pZCB8fCByYW5kb21JZCgpLFxuICAgICAgICBzdGF0dXM6IF9pdGVtLnN0YXR1cyB8fCBkZWZhdWx0U3RhdHVzLFxuICAgICAgICBjcmVhdGVkOiBfaXRlbS5jcmVhdGVkIHx8IERhdGUubm93KCksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3RvcmVkSXRlbXM7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../data/restore.ts\n");
|
|
2167
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"AllowedExcalidrawElementTypes\": () => (/* binding */ AllowedExcalidrawElementTypes),\n/* harmony export */ \"restoreElements\": () => (/* binding */ restoreElements),\n/* harmony export */ \"restoreAppState\": () => (/* binding */ restoreAppState),\n/* harmony export */ \"restore\": () => (/* binding */ restore),\n/* harmony export */ \"restoreLibraryItems\": () => (/* binding */ restoreLibraryItems)\n/* harmony export */ });\n/* harmony import */ var _element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../element */ \"../../element/index.ts\");\n/* harmony import */ var _element_typeChecks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../element/typeChecks */ \"../../element/typeChecks.ts\");\n/* harmony import */ var _random__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../random */ \"../../random.ts\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants */ \"../../constants.ts\");\n/* harmony import */ var _appState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../appState */ \"../../appState.ts\");\n/* harmony import */ var _element_linearElementEditor__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../element/linearElementEditor */ \"../../element/linearElementEditor.ts\");\n/* harmony import */ var _element_mutateElement__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../element/mutateElement */ \"../../element/mutateElement.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils */ \"../../utils.ts\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst AllowedExcalidrawElementTypes = {\r\n selection: true,\r\n text: true,\r\n rectangle: true,\r\n diamond: true,\r\n ellipse: true,\r\n line: true,\r\n image: true,\r\n arrow: true,\r\n freedraw: true,\r\n};\r\nconst getFontFamilyByName = (fontFamilyName) => {\r\n if (Object.keys(_constants__WEBPACK_IMPORTED_MODULE_3__.FONT_FAMILY).includes(fontFamilyName)) {\r\n return _constants__WEBPACK_IMPORTED_MODULE_3__.FONT_FAMILY[fontFamilyName];\r\n }\r\n return _constants__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_FONT_FAMILY;\r\n};\r\nconst restoreElementWithProperties = (element, extra) => {\r\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\r\n const base = {\r\n type: extra.type || element.type,\r\n // all elements must have version > 0 so getSceneVersion() will pick up\r\n // newly added elements\r\n version: element.version || 1,\r\n versionNonce: (_a = element.versionNonce) !== null && _a !== void 0 ? _a : 0,\r\n isDeleted: (_b = element.isDeleted) !== null && _b !== void 0 ? _b : false,\r\n id: element.id || (0,_random__WEBPACK_IMPORTED_MODULE_2__.randomId)(),\r\n fillStyle: element.fillStyle || \"hachure\",\r\n strokeWidth: element.strokeWidth || 1,\r\n strokeStyle: (_c = element.strokeStyle) !== null && _c !== void 0 ? _c : \"solid\",\r\n roughness: (_d = element.roughness) !== null && _d !== void 0 ? _d : 1,\r\n opacity: element.opacity == null ? 100 : element.opacity,\r\n angle: element.angle || 0,\r\n x: (_f = (_e = extra.x) !== null && _e !== void 0 ? _e : element.x) !== null && _f !== void 0 ? _f : 0,\r\n y: (_h = (_g = extra.y) !== null && _g !== void 0 ? _g : element.y) !== null && _h !== void 0 ? _h : 0,\r\n strokeColor: element.strokeColor,\r\n backgroundColor: element.backgroundColor,\r\n width: element.width || 0,\r\n height: element.height || 0,\r\n seed: (_j = element.seed) !== null && _j !== void 0 ? _j : 1,\r\n groupIds: (_k = element.groupIds) !== null && _k !== void 0 ? _k : [],\r\n strokeSharpness: (_l = element.strokeSharpness) !== null && _l !== void 0 ? _l : ((0,_element_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isLinearElementType)(element.type) ? \"round\" : \"sharp\"),\r\n boundElements: element.boundElementIds\r\n ? element.boundElementIds.map((id) => ({ type: \"arrow\", id }))\r\n : (_m = element.boundElements) !== null && _m !== void 0 ? _m : [],\r\n updated: (_o = element.updated) !== null && _o !== void 0 ? _o : (0,_utils__WEBPACK_IMPORTED_MODULE_7__.getUpdatedTimestamp)(),\r\n };\r\n return Object.assign(Object.assign(Object.assign({}, base), (0,_element__WEBPACK_IMPORTED_MODULE_0__.getNormalizedDimensions)(base)), extra);\r\n};\r\nconst restoreElement = (element) => {\r\n var _a;\r\n switch (element.type) {\r\n case \"text\":\r\n let fontSize = element.fontSize;\r\n let fontFamily = element.fontFamily;\r\n if (\"font\" in element) {\r\n const [fontPx, _fontFamily] = element.font.split(\" \");\r\n fontSize = parseInt(fontPx, 10);\r\n fontFamily = getFontFamilyByName(_fontFamily);\r\n }\r\n return restoreElementWithProperties(element, {\r\n fontSize,\r\n fontFamily,\r\n text: (_a = element.text) !== null && _a !== void 0 ? _a : \"\",\r\n baseline: element.baseline,\r\n textAlign: element.textAlign || _constants__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_TEXT_ALIGN,\r\n verticalAlign: element.verticalAlign || _constants__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_VERTICAL_ALIGN,\r\n });\r\n case \"freedraw\": {\r\n return restoreElementWithProperties(element, {\r\n points: element.points,\r\n lastCommittedPoint: null,\r\n simulatePressure: element.simulatePressure,\r\n pressures: element.pressures,\r\n });\r\n }\r\n case \"image\":\r\n return restoreElementWithProperties(element, {\r\n status: element.status || \"pending\",\r\n fileId: element.fileId,\r\n scale: element.scale || [1, 1],\r\n });\r\n case \"line\":\r\n // @ts-ignore LEGACY type\r\n // eslint-disable-next-line no-fallthrough\r\n case \"draw\":\r\n case \"arrow\": {\r\n const { startArrowhead = null, endArrowhead = element.type === \"arrow\" ? \"arrow\" : null, } = element;\r\n let x = element.x;\r\n let y = element.y;\r\n let points = // migrate old arrow model to new one\r\n !Array.isArray(element.points) || element.points.length < 2\r\n ? [\r\n [0, 0],\r\n [element.width, element.height],\r\n ]\r\n : element.points;\r\n if (points[0][0] !== 0 || points[0][1] !== 0) {\r\n ({ points, x, y } = _element_linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.getNormalizedPoints(element));\r\n }\r\n return restoreElementWithProperties(element, {\r\n type: element.type === \"draw\"\r\n ? \"line\"\r\n : element.type,\r\n startBinding: element.startBinding,\r\n endBinding: element.endBinding,\r\n lastCommittedPoint: null,\r\n startArrowhead,\r\n endArrowhead,\r\n points,\r\n x,\r\n y,\r\n });\r\n }\r\n // generic elements\r\n case \"ellipse\":\r\n return restoreElementWithProperties(element, {});\r\n case \"rectangle\":\r\n return restoreElementWithProperties(element, {});\r\n case \"diamond\":\r\n return restoreElementWithProperties(element, {});\r\n // Don't use default case so as to catch a missing an element type case.\r\n // We also don't want to throw, but instead return void so we filter\r\n // out these unsupported elements from the restored array.\r\n }\r\n};\r\nconst restoreElements = (elements, \r\n/** NOTE doesn't serve for reconciliation */\r\nlocalElements) => {\r\n const localElementsMap = localElements ? (0,_utils__WEBPACK_IMPORTED_MODULE_7__.arrayToMap)(localElements) : null;\r\n return (elements || []).reduce((elements, element) => {\r\n // filtering out selection, which is legacy, no longer kept in elements,\r\n // and causing issues if retained\r\n if (element.type !== \"selection\" && !(0,_element__WEBPACK_IMPORTED_MODULE_0__.isInvisiblySmallElement)(element)) {\r\n let migratedElement = restoreElement(element);\r\n if (migratedElement) {\r\n const localElement = localElementsMap === null || localElementsMap === void 0 ? void 0 : localElementsMap.get(element.id);\r\n if (localElement && localElement.version > migratedElement.version) {\r\n migratedElement = (0,_element_mutateElement__WEBPACK_IMPORTED_MODULE_6__.bumpVersion)(migratedElement, localElement.version);\r\n }\r\n elements.push(migratedElement);\r\n }\r\n }\r\n return elements;\r\n }, []);\r\n};\r\nconst restoreAppState = (appState, localAppState) => {\r\n appState = appState || {};\r\n const defaultAppState = (0,_appState__WEBPACK_IMPORTED_MODULE_4__.getDefaultAppState)();\r\n const nextAppState = {};\r\n for (const [key, defaultValue] of Object.entries(defaultAppState)) {\r\n const suppliedValue = appState[key];\r\n const localValue = localAppState ? localAppState[key] : undefined;\r\n nextAppState[key] =\r\n suppliedValue !== undefined\r\n ? suppliedValue\r\n : localValue !== undefined\r\n ? localValue\r\n : defaultValue;\r\n }\r\n return Object.assign(Object.assign({}, nextAppState), { elementType: AllowedExcalidrawElementTypes[nextAppState.elementType]\r\n ? nextAppState.elementType\r\n : \"selection\", \r\n // Migrates from previous version where appState.zoom was a number\r\n zoom: typeof appState.zoom === \"number\"\r\n ? {\r\n value: appState.zoom,\r\n translation: defaultAppState.zoom.translation,\r\n }\r\n : appState.zoom || defaultAppState.zoom });\r\n};\r\nconst restore = (data, \r\n/**\r\n * Local AppState (`this.state` or initial state from localStorage) so that we\r\n * don't overwrite local state with default values (when values not\r\n * explicitly specified).\r\n * Supply `null` if you can't get access to it.\r\n */\r\nlocalAppState, localElements) => {\r\n return {\r\n elements: restoreElements(data === null || data === void 0 ? void 0 : data.elements, localElements),\r\n appState: restoreAppState(data === null || data === void 0 ? void 0 : data.appState, localAppState || null),\r\n files: (data === null || data === void 0 ? void 0 : data.files) || {},\r\n };\r\n};\r\nconst restoreLibraryItems = (libraryItems, defaultStatus) => {\r\n const restoredItems = [];\r\n for (const item of libraryItems) {\r\n // migrate older libraries\r\n if (Array.isArray(item)) {\r\n restoredItems.push({\r\n status: defaultStatus,\r\n elements: item,\r\n id: (0,_random__WEBPACK_IMPORTED_MODULE_2__.randomId)(),\r\n created: Date.now(),\r\n });\r\n }\r\n else {\r\n const _item = item;\r\n restoredItems.push(Object.assign(Object.assign({}, _item), { id: _item.id || (0,_random__WEBPACK_IMPORTED_MODULE_2__.randomId)(), status: _item.status || defaultStatus, created: _item.created || Date.now() }));\r\n }\r\n }\r\n return restoredItems;\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QkFBbUIsR0FBRyxDQUNqQyxZQUE0RCxFQUM1RCxhQUFvQyxFQUNwQyxFQUFFO0lBQ0YsTUFBTSxhQUFhLEdBQWtCLEVBQUUsQ0FBQztJQUN4QyxLQUFLLE1BQU0sSUFBSSxJQUFJLFlBQVksRUFBRTtRQUMvQiwwQkFBMEI7UUFDMUIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxFQUFFLEVBQUUsaURBQVEsRUFBRTtnQkFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTthQUNwQixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsTUFBTSxLQUFLLEdBQUcsSUFBa0QsQ0FBQztZQUNqRSxhQUFhLENBQUMsSUFBSSxpQ0FDYixLQUFLLEtBQ1IsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksaURBQVEsRUFBRSxFQUMxQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxhQUFhLEVBQ3JDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFDcEMsQ0FBQztTQUNKO0tBQ0Y7SUFDRCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vLi4vZGF0YS9yZXN0b3JlLnRzPzg3MjAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRXhjYWxpZHJhd0VsZW1lbnQsXG4gIEV4Y2FsaWRyYXdTZWxlY3Rpb25FbGVtZW50LFxuICBGb250RmFtaWx5VmFsdWVzLFxufSBmcm9tIFwiLi4vZWxlbWVudC90eXBlc1wiO1xuaW1wb3J0IHtcbiAgQXBwU3RhdGUsXG4gIEJpbmFyeUZpbGVzLFxuICBMaWJyYXJ5SXRlbSxcbiAgTm9ybWFsaXplZFpvb21WYWx1ZSxcbn0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBJbXBvcnRlZERhdGFTdGF0ZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBnZXROb3JtYWxpemVkRGltZW5zaW9ucywgaXNJbnZpc2libHlTbWFsbEVsZW1lbnQgfSBmcm9tIFwiLi4vZWxlbWVudFwiO1xuaW1wb3J0IHsgaXNMaW5lYXJFbGVtZW50VHlwZSB9IGZyb20gXCIuLi9lbGVtZW50L3R5cGVDaGVja3NcIjtcbmltcG9ydCB7IHJhbmRvbUlkIH0gZnJvbSBcIi4uL3JhbmRvbVwiO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9GT05UX0ZBTUlMWSxcbiAgREVGQVVMVF9URVhUX0FMSUdOLFxuICBERUZBVUxUX1ZFUlRJQ0FMX0FMSUdOLFxuICBGT05UX0ZBTUlMWSxcbn0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0RGVmYXVsdEFwcFN0YXRlIH0gZnJvbSBcIi4uL2FwcFN0YXRlXCI7XG5pbXBvcnQgeyBMaW5lYXJFbGVtZW50RWRpdG9yIH0gZnJvbSBcIi4uL2VsZW1lbnQvbGluZWFyRWxlbWVudEVkaXRvclwiO1xuaW1wb3J0IHsgYnVtcFZlcnNpb24gfSBmcm9tIFwiLi4vZWxlbWVudC9tdXRhdGVFbGVtZW50XCI7XG5pbXBvcnQgeyBnZXRVcGRhdGVkVGltZXN0YW1wIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBhcnJheVRvTWFwIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbnR5cGUgUmVzdG9yZWRBcHBTdGF0ZSA9IE9taXQ8XG4gIEFwcFN0YXRlLFxuICBcIm9mZnNldFRvcFwiIHwgXCJvZmZzZXRMZWZ0XCIgfCBcIndpZHRoXCIgfCBcImhlaWdodFwiXG4+O1xuXG5leHBvcnQgY29uc3QgQWxsb3dlZEV4Y2FsaWRyYXdFbGVtZW50VHlwZXM6IFJlY29yZDxcbiAgRXhjYWxpZHJhd0VsZW1lbnRbXCJ0eXBlXCJdLFxuICB0cnVlXG4+ID0ge1xuICBzZWxlY3Rpb246IHRydWUsXG4gIHRleHQ6IHRydWUsXG4gIHJlY3RhbmdsZTogdHJ1ZSxcbiAgZGlhbW9uZDogdHJ1ZSxcbiAgZWxsaXBzZTogdHJ1ZSxcbiAgbGluZTogdHJ1ZSxcbiAgaW1hZ2U6IHRydWUsXG4gIGFycm93OiB0cnVlLFxuICBmcmVlZHJhdzogdHJ1ZSxcbn07XG5cbmV4cG9ydCB0eXBlIFJlc3RvcmVkRGF0YVN0YXRlID0ge1xuICBlbGVtZW50czogRXhjYWxpZHJhd0VsZW1lbnRbXTtcbiAgYXBwU3RhdGU6IFJlc3RvcmVkQXBwU3RhdGU7XG4gIGZpbGVzOiBCaW5hcnlGaWxlcztcbn07XG5cbmNvbnN0IGdldEZvbnRGYW1pbHlCeU5hbWUgPSAoZm9udEZhbWlseU5hbWU6IHN0cmluZyk6IEZvbnRGYW1pbHlWYWx1ZXMgPT4ge1xuICBpZiAoT2JqZWN0LmtleXMoRk9OVF9GQU1JTFkpLmluY2x1ZGVzKGZvbnRGYW1pbHlOYW1lKSkge1xuICAgIHJldHVybiBGT05UX0ZBTUlMWVtcbiAgICAgIGZvbnRGYW1pbHlOYW1lIGFzIGtleW9mIHR5cGVvZiBGT05UX0ZBTUlMWVxuICAgIF0gYXMgRm9udEZhbWlseVZhbHVlcztcbiAgfVxuICByZXR1cm4gREVGQVVMVF9GT05UX0ZBTUlMWTtcbn07XG5cbmNvbnN0IHJlc3RvcmVFbGVtZW50V2l0aFByb3BlcnRpZXMgPSA8XG4gIFQgZXh0ZW5kcyBFeGNhbGlkcmF3RWxlbWVudCxcbiAgSyBleHRlbmRzIFBpY2s8VCwga2V5b2YgT21pdDxSZXF1aXJlZDxUPiwga2V5b2YgRXhjYWxpZHJhd0VsZW1lbnQ+Pixcbj4oXG4gIGVsZW1lbnQ6IFJlcXVpcmVkPFQ+ICYge1xuICAgIC8qKiBAZGVwcmVjYXRlZCAqL1xuICAgIGJvdW5kRWxlbWVudElkcz86IHJlYWRvbmx5IEV4Y2FsaWRyYXdFbGVtZW50W1wiaWRcIl1bXTtcbiAgfSxcbiAgZXh0cmE6IFBpY2s8XG4gICAgVCxcbiAgICAvLyBUaGlzIGV4dHJhIFBpY2s8VCwga2V5b2YgSz4gZW5zdXJlIG5vIGV4Y2VzcyBwcm9wZXJ0aWVzIGFyZSBwYXNzZWQuXG4gICAgLy8gQHRzLWlnbm9yZSBUUyBjb21wbGFpbnMgaGVyZSBidXQgdHlwZSBjaGVja3MgdGhlIGNhbGwgc2l0ZXMgZmluZS5cbiAgICBrZXlvZiBLXG4gID4gJlxuICAgIFBhcnRpYWw8UGljazxFeGNhbGlkcmF3RWxlbWVudCwgXCJ0eXBlXCIgfCBcInhcIiB8IFwieVwiPj4sXG4pOiBUID0+IHtcbiAgY29uc3QgYmFzZTogUGljazxULCBrZXlvZiBFeGNhbGlkcmF3RWxlbWVudD4gPSB7XG4gICAgdHlwZTogZXh0cmEudHlwZSB8fCBlbGVtZW50LnR5cGUsXG4gICAgLy8gYWxsIGVsZW1lbnRzIG11c3QgaGF2ZSB2ZXJzaW9uID4gMCBzbyBnZXRTY2VuZVZlcnNpb24oKSB3aWxsIHBpY2sgdXBcbiAgICAvLyBuZXdseSBhZGRlZCBlbGVtZW50c1xuICAgIHZlcnNpb246IGVsZW1lbnQudmVyc2lvbiB8fCAxLFxuICAgIHZlcnNpb25Ob25jZTogZWxlbWVudC52ZXJzaW9uTm9uY2UgPz8gMCxcbiAgICBpc0RlbGV0ZWQ6IGVsZW1lbnQuaXNEZWxldGVkID8/IGZhbHNlLFxuICAgIGlkOiBlbGVtZW50LmlkIHx8IHJhbmRvbUlkKCksXG4gICAgZmlsbFN0eWxlOiBlbGVtZW50LmZpbGxTdHlsZSB8fCBcImhhY2h1cmVcIixcbiAgICBzdHJva2VXaWR0aDogZWxlbWVudC5zdHJva2VXaWR0aCB8fCAxLFxuICAgIHN0cm9rZVN0eWxlOiBlbGVtZW50LnN0cm9rZVN0eWxlID8/IFwic29saWRcIixcbiAgICByb3VnaG5lc3M6IGVsZW1lbnQucm91Z2huZXNzID8/IDEsXG4gICAgb3BhY2l0eTogZWxlbWVudC5vcGFjaXR5ID09IG51bGwgPyAxMDAgOiBlbGVtZW50Lm9wYWNpdHksXG4gICAgYW5nbGU6IGVsZW1lbnQuYW5nbGUgfHwgMCxcbiAgICB4OiBleHRyYS54ID8/IGVsZW1lbnQueCA/PyAwLFxuICAgIHk6IGV4dHJhLnkgPz8gZWxlbWVudC55ID8/IDAsXG4gICAgc3Ryb2tlQ29sb3I6IGVsZW1lbnQuc3Ryb2tlQ29sb3IsXG4gICAgYmFja2dyb3VuZENvbG9yOiBlbGVtZW50LmJhY2tncm91bmRDb2xvcixcbiAgICB3aWR0aDogZWxlbWVudC53aWR0aCB8fCAwLFxuICAgIGhlaWdodDogZWxlbWVudC5oZWlnaHQgfHwgMCxcbiAgICBzZWVkOiBlbGVtZW50LnNlZWQgPz8gMSxcbiAgICBncm91cElkczogZWxlbWVudC5ncm91cElkcyA/PyBbXSxcbiAgICBzdHJva2VTaGFycG5lc3M6XG4gICAgICBlbGVtZW50LnN0cm9rZVNoYXJwbmVzcyA/P1xuICAgICAgKGlzTGluZWFyRWxlbWVudFR5cGUoZWxlbWVudC50eXBlKSA/IFwicm91bmRcIiA6IFwic2hhcnBcIiksXG4gICAgYm91bmRFbGVtZW50czogZWxlbWVudC5ib3VuZEVsZW1lbnRJZHNcbiAgICAgID8gZWxlbWVudC5ib3VuZEVsZW1lbnRJZHMubWFwKChpZCkgPT4gKHsgdHlwZTogXCJhcnJvd1wiLCBpZCB9KSlcbiAgICAgIDogZWxlbWVudC5ib3VuZEVsZW1lbnRzID8/IFtdLFxuICAgIHVwZGF0ZWQ6IGVsZW1lbnQudXBkYXRlZCA/PyBnZXRVcGRhdGVkVGltZXN0YW1wKCksXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlLFxuICAgIC4uLmdldE5vcm1hbGl6ZWREaW1lbnNpb25zKGJhc2UpLFxuICAgIC4uLmV4dHJhLFxuICB9IGFzIHVua25vd24gYXMgVDtcbn07XG5cbmNvbnN0IHJlc3RvcmVFbGVtZW50ID0gKFxuICBlbGVtZW50OiBFeGNsdWRlPEV4Y2FsaWRyYXdFbGVtZW50LCBFeGNhbGlkcmF3U2VsZWN0aW9uRWxlbWVudD4sXG4pOiB0eXBlb2YgZWxlbWVudCB8IG51bGwgPT4ge1xuICBzd2l0Y2ggKGVsZW1lbnQudHlwZSkge1xuICAgIGNhc2UgXCJ0ZXh0XCI6XG4gICAgICBsZXQgZm9udFNpemUgPSBlbGVtZW50LmZvbnRTaXplO1xuICAgICAgbGV0IGZvbnRGYW1pbHkgPSBlbGVtZW50LmZvbnRGYW1pbHk7XG4gICAgICBpZiAoXCJmb250XCIgaW4gZWxlbWVudCkge1xuICAgICAgICBjb25zdCBbZm9udFB4LCBfZm9udEZhbWlseV06IFtzdHJpbmcsIHN0cmluZ10gPSAoXG4gICAgICAgICAgZWxlbWVudCBhcyBhbnlcbiAgICAgICAgKS5mb250LnNwbGl0KFwiIFwiKTtcbiAgICAgICAgZm9udFNpemUgPSBwYXJzZUludChmb250UHgsIDEwKTtcbiAgICAgICAgZm9udEZhbWlseSA9IGdldEZvbnRGYW1pbHlCeU5hbWUoX2ZvbnRGYW1pbHkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3RvcmVFbGVtZW50V2l0aFByb3BlcnRpZXMoZWxlbWVudCwge1xuICAgICAgICBmb250U2l6ZSxcbiAgICAgICAgZm9udEZhbWlseSxcbiAgICAgICAgdGV4dDogZWxlbWVudC50ZXh0ID8/IFwiXCIsXG4gICAgICAgIGJhc2VsaW5lOiBlbGVtZW50LmJhc2VsaW5lLFxuICAgICAgICB0ZXh0QWxpZ246IGVsZW1lbnQudGV4dEFsaWduIHx8IERFRkFVTFRfVEVYVF9BTElHTixcbiAgICAgICAgdmVydGljYWxBbGlnbjogZWxlbWVudC52ZXJ0aWNhbEFsaWduIHx8IERFRkFVTFRfVkVSVElDQUxfQUxJR04sXG4gICAgICB9KTtcbiAgICBjYXNlIFwiZnJlZWRyYXdcIjoge1xuICAgICAgcmV0dXJuIHJlc3RvcmVFbGVtZW50V2l0aFByb3BlcnRpZXMoZWxlbWVudCwge1xuICAgICAgICBwb2ludHM6IGVsZW1lbnQucG9pbnRzLFxuICAgICAgICBsYXN0Q29tbWl0dGVkUG9pbnQ6IG51bGwsXG4gICAgICAgIHNpbXVsYXRlUHJlc3N1cmU6IGVsZW1lbnQuc2ltdWxhdGVQcmVzc3VyZSxcbiAgICAgICAgcHJlc3N1cmVzOiBlbGVtZW50LnByZXNzdXJlcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjYXNlIFwiaW1hZ2VcIjpcbiAgICAgIHJldHVybiByZXN0b3JlRWxlbWVudFdpdGhQcm9wZXJ0aWVzKGVsZW1lbnQsIHtcbiAgICAgICAgc3RhdHVzOiBlbGVtZW50LnN0YXR1cyB8fCBcInBlbmRpbmdcIixcbiAgICAgICAgZmlsZUlkOiBlbGVtZW50LmZpbGVJZCxcbiAgICAgICAgc2NhbGU6IGVsZW1lbnQuc2NhbGUgfHwgWzEsIDFdLFxuICAgICAgfSk7XG4gICAgY2FzZSBcImxpbmVcIjpcbiAgICAvLyBAdHMtaWdub3JlIExFR0FDWSB0eXBlXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgY2FzZSBcImRyYXdcIjpcbiAgICBjYXNlIFwiYXJyb3dcIjoge1xuICAgICAgY29uc3Qge1xuICAgICAgICBzdGFydEFycm93aGVhZCA9IG51bGwsXG4gICAgICAgIGVuZEFycm93aGVhZCA9IGVsZW1lbnQudHlwZSA9PT0gXCJhcnJvd1wiID8gXCJhcnJvd1wiIDogbnVsbCxcbiAgICAgIH0gPSBlbGVtZW50O1xuXG4gICAgICBsZXQgeCA9IGVsZW1lbnQueDtcbiAgICAgIGxldCB5ID0gZWxlbWVudC55O1xuICAgICAgbGV0IHBvaW50cyA9IC8vIG1pZ3JhdGUgb2xkIGFycm93IG1vZGVsIHRvIG5ldyBvbmVcbiAgICAgICAgIUFycmF5LmlzQXJyYXkoZWxlbWVudC5wb2ludHMpIHx8IGVsZW1lbnQucG9pbnRzLmxlbmd0aCA8IDJcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgWzAsIDBdLFxuICAgICAgICAgICAgICBbZWxlbWVudC53aWR0aCwgZWxlbWVudC5oZWlnaHRdLFxuICAgICAgICAgICAgXVxuICAgICAgICAgIDogZWxlbWVudC5wb2ludHM7XG5cbiAgICAgIGlmIChwb2ludHNbMF1bMF0gIT09IDAgfHwgcG9pbnRzWzBdWzFdICE9PSAwKSB7XG4gICAgICAgICh7IHBvaW50cywgeCwgeSB9ID0gTGluZWFyRWxlbWVudEVkaXRvci5nZXROb3JtYWxpemVkUG9pbnRzKGVsZW1lbnQpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3RvcmVFbGVtZW50V2l0aFByb3BlcnRpZXMoZWxlbWVudCwge1xuICAgICAgICB0eXBlOlxuICAgICAgICAgIChlbGVtZW50LnR5cGUgYXMgRXhjYWxpZHJhd0VsZW1lbnRbXCJ0eXBlXCJdIHwgXCJkcmF3XCIpID09PSBcImRyYXdcIlxuICAgICAgICAgICAgPyBcImxpbmVcIlxuICAgICAgICAgICAgOiBlbGVtZW50LnR5cGUsXG4gICAgICAgIHN0YXJ0QmluZGluZzogZWxlbWVudC5zdGFydEJpbmRpbmcsXG4gICAgICAgIGVuZEJpbmRpbmc6IGVsZW1lbnQuZW5kQmluZGluZyxcbiAgICAgICAgbGFzdENvbW1pdHRlZFBvaW50OiBudWxsLFxuICAgICAgICBzdGFydEFycm93aGVhZCxcbiAgICAgICAgZW5kQXJyb3doZWFkLFxuICAgICAgICBwb2ludHMsXG4gICAgICAgIHgsXG4gICAgICAgIHksXG4gICAgICB9KTtcbiAgICB9XG4gICAgLy8gZ2VuZXJpYyBlbGVtZW50c1xuICAgIGNhc2UgXCJlbGxpcHNlXCI6XG4gICAgICByZXR1cm4gcmVzdG9yZUVsZW1lbnRXaXRoUHJvcGVydGllcyhlbGVtZW50LCB7fSk7XG4gICAgY2FzZSBcInJlY3RhbmdsZVwiOlxuICAgICAgcmV0dXJuIHJlc3RvcmVFbGVtZW50V2l0aFByb3BlcnRpZXMoZWxlbWVudCwge30pO1xuICAgIGNhc2UgXCJkaWFtb25kXCI6XG4gICAgICByZXR1cm4gcmVzdG9yZUVsZW1lbnRXaXRoUHJvcGVydGllcyhlbGVtZW50LCB7fSk7XG5cbiAgICAvLyBEb24ndCB1c2UgZGVmYXVsdCBjYXNlIHNvIGFzIHRvIGNhdGNoIGEgbWlzc2luZyBhbiBlbGVtZW50IHR5cGUgY2FzZS5cbiAgICAvLyBXZSBhbHNvIGRvbid0IHdhbnQgdG8gdGhyb3csIGJ1dCBpbnN0ZWFkIHJldHVybiB2b2lkIHNvIHdlIGZpbHRlclxuICAgIC8vIG91dCB0aGVzZSB1bnN1cHBvcnRlZCBlbGVtZW50cyBmcm9tIHRoZSByZXN0b3JlZCBhcnJheS5cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJlc3RvcmVFbGVtZW50cyA9IChcbiAgZWxlbWVudHM6IEltcG9ydGVkRGF0YVN0YXRlW1wiZWxlbWVudHNcIl0sXG4gIC8qKiBOT1RFIGRvZXNuJ3Qgc2VydmUgZm9yIHJlY29uY2lsaWF0aW9uICovXG4gIGxvY2FsRWxlbWVudHM6IHJlYWRvbmx5IEV4Y2FsaWRyYXdFbGVtZW50W10gfCBudWxsIHwgdW5kZWZpbmVkLFxuKTogRXhjYWxpZHJhd0VsZW1lbnRbXSA9PiB7XG4gIGNvbnN0IGxvY2FsRWxlbWVudHNNYXAgPSBsb2NhbEVsZW1lbnRzID8gYXJyYXlUb01hcChsb2NhbEVsZW1lbnRzKSA6IG51bGw7XG4gIHJldHVybiAoZWxlbWVudHMgfHwgW10pLnJlZHVjZSgoZWxlbWVudHMsIGVsZW1lbnQpID0+IHtcbiAgICAvLyBmaWx0ZXJpbmcgb3V0IHNlbGVjdGlvbiwgd2hpY2ggaXMgbGVnYWN5LCBubyBsb25nZXIga2VwdCBpbiBlbGVtZW50cyxcbiAgICAvLyBhbmQgY2F1c2luZyBpc3N1ZXMgaWYgcmV0YWluZWRcbiAgICBpZiAoZWxlbWVudC50eXBlICE9PSBcInNlbGVjdGlvblwiICYmICFpc0ludmlzaWJseVNtYWxsRWxlbWVudChlbGVtZW50KSkge1xuICAgICAgbGV0IG1pZ3JhdGVkRWxlbWVudDogRXhjYWxpZHJhd0VsZW1lbnQgfCBudWxsID0gcmVzdG9yZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICBpZiAobWlncmF0ZWRFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGxvY2FsRWxlbWVudCA9IGxvY2FsRWxlbWVudHNNYXA/LmdldChlbGVtZW50LmlkKTtcbiAgICAgICAgaWYgKGxvY2FsRWxlbWVudCAmJiBsb2NhbEVsZW1lbnQudmVyc2lvbiA+IG1pZ3JhdGVkRWxlbWVudC52ZXJzaW9uKSB7XG4gICAgICAgICAgbWlncmF0ZWRFbGVtZW50ID0gYnVtcFZlcnNpb24obWlncmF0ZWRFbGVtZW50LCBsb2NhbEVsZW1lbnQudmVyc2lvbik7XG4gICAgICAgIH1cbiAgICAgICAgZWxlbWVudHMucHVzaChtaWdyYXRlZEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZWxlbWVudHM7XG4gIH0sIFtdIGFzIEV4Y2FsaWRyYXdFbGVtZW50W10pO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlc3RvcmVBcHBTdGF0ZSA9IChcbiAgYXBwU3RhdGU6IEltcG9ydGVkRGF0YVN0YXRlW1wiYXBwU3RhdGVcIl0sXG4gIGxvY2FsQXBwU3RhdGU6IFBhcnRpYWw8QXBwU3RhdGU+IHwgbnVsbCB8IHVuZGVmaW5lZCxcbik6IFJlc3RvcmVkQXBwU3RhdGUgPT4ge1xuICBhcHBTdGF0ZSA9IGFwcFN0YXRlIHx8IHt9O1xuXG4gIGNvbnN0IGRlZmF1bHRBcHBTdGF0ZSA9IGdldERlZmF1bHRBcHBTdGF0ZSgpO1xuICBjb25zdCBuZXh0QXBwU3RhdGUgPSB7fSBhcyB0eXBlb2YgZGVmYXVsdEFwcFN0YXRlO1xuXG4gIGZvciAoY29uc3QgW2tleSwgZGVmYXVsdFZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhkZWZhdWx0QXBwU3RhdGUpIGFzIFtcbiAgICBrZXlvZiB0eXBlb2YgZGVmYXVsdEFwcFN0YXRlLFxuICAgIGFueSxcbiAgXVtdKSB7XG4gICAgY29uc3Qgc3VwcGxpZWRWYWx1ZSA9IGFwcFN0YXRlW2tleV07XG4gICAgY29uc3QgbG9jYWxWYWx1ZSA9IGxvY2FsQXBwU3RhdGUgPyBsb2NhbEFwcFN0YXRlW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgKG5leHRBcHBTdGF0ZSBhcyBhbnkpW2tleV0gPVxuICAgICAgc3VwcGxpZWRWYWx1ZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gc3VwcGxpZWRWYWx1ZVxuICAgICAgICA6IGxvY2FsVmFsdWUgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IGxvY2FsVmFsdWVcbiAgICAgICAgOiBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLm5leHRBcHBTdGF0ZSxcbiAgICBlbGVtZW50VHlwZTogQWxsb3dlZEV4Y2FsaWRyYXdFbGVtZW50VHlwZXNbbmV4dEFwcFN0YXRlLmVsZW1lbnRUeXBlXVxuICAgICAgPyBuZXh0QXBwU3RhdGUuZWxlbWVudFR5cGVcbiAgICAgIDogXCJzZWxlY3Rpb25cIixcbiAgICAvLyBNaWdyYXRlcyBmcm9tIHByZXZpb3VzIHZlcnNpb24gd2hlcmUgYXBwU3RhdGUuem9vbSB3YXMgYSBudW1iZXJcbiAgICB6b29tOlxuICAgICAgdHlwZW9mIGFwcFN0YXRlLnpvb20gPT09IFwibnVtYmVyXCJcbiAgICAgICAgPyB7XG4gICAgICAgICAgICB2YWx1ZTogYXBwU3RhdGUuem9vbSBhcyBOb3JtYWxpemVkWm9vbVZhbHVlLFxuICAgICAgICAgICAgdHJhbnNsYXRpb246IGRlZmF1bHRBcHBTdGF0ZS56b29tLnRyYW5zbGF0aW9uLFxuICAgICAgICAgIH1cbiAgICAgICAgOiBhcHBTdGF0ZS56b29tIHx8IGRlZmF1bHRBcHBTdGF0ZS56b29tLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHJlc3RvcmUgPSAoXG4gIGRhdGE6IEltcG9ydGVkRGF0YVN0YXRlIHwgbnVsbCxcbiAgLyoqXG4gICAqIExvY2FsIEFwcFN0YXRlIChgdGhpcy5zdGF0ZWAgb3IgaW5pdGlhbCBzdGF0ZSBmcm9tIGxvY2FsU3RvcmFnZSkgc28gdGhhdCB3ZVxuICAgKiBkb24ndCBvdmVyd3JpdGUgbG9jYWwgc3RhdGUgd2l0aCBkZWZhdWx0IHZhbHVlcyAod2hlbiB2YWx1ZXMgbm90XG4gICAqIGV4cGxpY2l0bHkgc3BlY2lmaWVkKS5cbiAgICogU3VwcGx5IGBudWxsYCBpZiB5b3UgY2FuJ3QgZ2V0IGFjY2VzcyB0byBpdC5cbiAgICovXG4gIGxvY2FsQXBwU3RhdGU6IFBhcnRpYWw8QXBwU3RhdGU+IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgbG9jYWxFbGVtZW50czogcmVhZG9ubHkgRXhjYWxpZHJhd0VsZW1lbnRbXSB8IG51bGwgfCB1bmRlZmluZWQsXG4pOiBSZXN0b3JlZERhdGFTdGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgZWxlbWVudHM6IHJlc3RvcmVFbGVtZW50cyhkYXRhPy5lbGVtZW50cywgbG9jYWxFbGVtZW50cyksXG4gICAgYXBwU3RhdGU6IHJlc3RvcmVBcHBTdGF0ZShkYXRhPy5hcHBTdGF0ZSwgbG9jYWxBcHBTdGF0ZSB8fCBudWxsKSxcbiAgICBmaWxlczogZGF0YT8uZmlsZXMgfHwge30sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgcmVzdG9yZUxpYnJhcnlJdGVtcyA9IChcbiAgbGlicmFyeUl0ZW1zOiBOb25PcHRpb25hbDxJbXBvcnRlZERhdGFTdGF0ZVtcImxpYnJhcnlJdGVtc1wiXT4sXG4gIGRlZmF1bHRTdGF0dXM6IExpYnJhcnlJdGVtW1wic3RhdHVzXCJdLFxuKSA9PiB7XG4gIGNvbnN0IHJlc3RvcmVkSXRlbXM6IExpYnJhcnlJdGVtW10gPSBbXTtcbiAgZm9yIChjb25zdCBpdGVtIG9mIGxpYnJhcnlJdGVtcykge1xuICAgIC8vIG1pZ3JhdGUgb2xkZXIgbGlicmFyaWVzXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpIHtcbiAgICAgIHJlc3RvcmVkSXRlbXMucHVzaCh7XG4gICAgICAgIHN0YXR1czogZGVmYXVsdFN0YXR1cyxcbiAgICAgICAgZWxlbWVudHM6IGl0ZW0sXG4gICAgICAgIGlkOiByYW5kb21JZCgpLFxuICAgICAgICBjcmVhdGVkOiBEYXRlLm5vdygpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IF9pdGVtID0gaXRlbSBhcyBNYXJrT3B0aW9uYWw8TGlicmFyeUl0ZW0sIFwiaWRcIiB8IFwic3RhdHVzXCI+O1xuICAgICAgcmVzdG9yZWRJdGVtcy5wdXNoKHtcbiAgICAgICAgLi4uX2l0ZW0sXG4gICAgICAgIGlkOiBfaXRlbS5pZCB8fCByYW5kb21JZCgpLFxuICAgICAgICBzdGF0dXM6IF9pdGVtLnN0YXR1cyB8fCBkZWZhdWx0U3RhdHVzLFxuICAgICAgICBjcmVhdGVkOiBfaXRlbS5jcmVhdGVkIHx8IERhdGUubm93KCksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3RvcmVkSXRlbXM7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../data/restore.ts\n");
|
|
2147
2168
|
|
|
2148
2169
|
/***/ }),
|
|
2149
2170
|
|
|
@@ -2165,7 +2186,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
2165
2186
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2166
2187
|
|
|
2167
2188
|
"use strict";
|
|
2168
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"shouldEnableBindingForPointerEvent\": () => (/* binding */ shouldEnableBindingForPointerEvent),\n/* harmony export */ \"isBindingEnabled\": () => (/* binding */ isBindingEnabled),\n/* harmony export */ \"bindOrUnbindLinearElement\": () => (/* binding */ bindOrUnbindLinearElement),\n/* harmony export */ \"bindOrUnbindSelectedElements\": () => (/* binding */ bindOrUnbindSelectedElements),\n/* harmony export */ \"maybeBindLinearElement\": () => (/* binding */ maybeBindLinearElement),\n/* harmony export */ \"isLinearElementSimpleAndAlreadyBound\": () => (/* binding */ isLinearElementSimpleAndAlreadyBound),\n/* harmony export */ \"unbindLinearElements\": () => (/* binding */ unbindLinearElements),\n/* harmony export */ \"getHoveredElementForBinding\": () => (/* binding */ getHoveredElementForBinding),\n/* harmony export */ \"updateBoundElements\": () => (/* binding */ updateBoundElements),\n/* harmony export */ \"getEligibleElementsForBinding\": () => (/* binding */ getEligibleElementsForBinding),\n/* harmony export */ \"fixBindingsAfterDuplication\": () => (/* binding */ fixBindingsAfterDuplication),\n/* harmony export */ \"fixBindingsAfterDeletion\": () => (/* binding */ fixBindingsAfterDeletion)\n/* harmony export */ });\n/* harmony import */ var _scene__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scene */ \"../../scene/index.ts\");\n/* harmony import */ var _typeChecks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./typeChecks */ \"../../element/typeChecks.ts\");\n/* harmony import */ var _collision__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./collision */ \"../../element/collision.ts\");\n/* harmony import */ var _mutateElement__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mutateElement */ \"../../element/mutateElement.ts\");\n/* harmony import */ var _scene_Scene__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../scene/Scene */ \"../../scene/Scene.ts\");\n/* harmony import */ var _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./linearElementEditor */ \"../../element/linearElementEditor.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils */ \"../../utils.ts\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../keys */ \"../../keys.ts\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst shouldEnableBindingForPointerEvent = (event) => {\r\n return !event[_keys__WEBPACK_IMPORTED_MODULE_7__.KEYS.CTRL_OR_CMD];\r\n};\r\nconst isBindingEnabled = (appState) => {\r\n return appState.isBindingEnabled;\r\n};\r\nconst bindOrUnbindLinearElement = (linearElement, startBindingElement, endBindingElement) => {\r\n const boundToElementIds = new Set();\r\n const unboundFromElementIds = new Set();\r\n bindOrUnbindLinearElementEdge(linearElement, startBindingElement, endBindingElement, \"start\", boundToElementIds, unboundFromElementIds);\r\n bindOrUnbindLinearElementEdge(linearElement, endBindingElement, startBindingElement, \"end\", boundToElementIds, unboundFromElementIds);\r\n const onlyUnbound = Array.from(unboundFromElementIds).filter((id) => !boundToElementIds.has(id));\r\n _scene_Scene__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getScene(linearElement)\r\n .getNonDeletedElements(onlyUnbound)\r\n .forEach((element) => {\r\n var _a;\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(element, {\r\n boundElementIds: (_a = element.boundElementIds) === null || _a === void 0 ? void 0 : _a.filter((id) => id !== linearElement.id),\r\n });\r\n });\r\n};\r\nconst bindOrUnbindLinearElementEdge = (linearElement, bindableElement, otherEdgeBindableElement, startOrEnd, \r\n// Is mutated\r\nboundToElementIds, \r\n// Is mutated\r\nunboundFromElementIds) => {\r\n if (bindableElement !== \"keep\") {\r\n if (bindableElement != null) {\r\n // Don't bind if we're trying to bind or are already bound to the same\r\n // element on the other edge already (\"start\" edge takes precedence).\r\n if (otherEdgeBindableElement == null ||\r\n (otherEdgeBindableElement === \"keep\"\r\n ? !isLinearElementSimpleAndAlreadyBoundOnOppositeEdge(linearElement, bindableElement, startOrEnd)\r\n : startOrEnd === \"start\" ||\r\n otherEdgeBindableElement.id !== bindableElement.id)) {\r\n bindLinearElement(linearElement, bindableElement, startOrEnd);\r\n boundToElementIds.add(bindableElement.id);\r\n }\r\n }\r\n else {\r\n const unbound = unbindLinearElement(linearElement, startOrEnd);\r\n if (unbound != null) {\r\n unboundFromElementIds.add(unbound);\r\n }\r\n }\r\n }\r\n};\r\nconst bindOrUnbindSelectedElements = (elements) => {\r\n elements.forEach((element) => {\r\n if ((0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindingElement)(element)) {\r\n bindOrUnbindLinearElement(element, getElligibleElementForBindingElement(element, \"start\"), getElligibleElementForBindingElement(element, \"end\"));\r\n }\r\n else if ((0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindableElement)(element)) {\r\n maybeBindBindableElement(element);\r\n }\r\n });\r\n};\r\nconst maybeBindBindableElement = (bindableElement) => {\r\n getElligibleElementsForBindableElementAndWhere(bindableElement).forEach(([linearElement, where]) => bindOrUnbindLinearElement(linearElement, where === \"end\" ? \"keep\" : bindableElement, where === \"start\" ? \"keep\" : bindableElement));\r\n};\r\nconst maybeBindLinearElement = (linearElement, appState, scene, pointerCoords) => {\r\n if (appState.startBoundElement != null) {\r\n bindLinearElement(linearElement, appState.startBoundElement, \"start\");\r\n }\r\n const hoveredElement = getHoveredElementForBinding(pointerCoords, scene);\r\n if (hoveredElement != null &&\r\n !isLinearElementSimpleAndAlreadyBoundOnOppositeEdge(linearElement, hoveredElement, \"end\")) {\r\n bindLinearElement(linearElement, hoveredElement, \"end\");\r\n }\r\n};\r\nconst bindLinearElement = (linearElement, hoveredElement, startOrEnd) => {\r\n var _a;\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(linearElement, {\r\n [startOrEnd === \"start\" ? \"startBinding\" : \"endBinding\"]: Object.assign({ elementId: hoveredElement.id }, calculateFocusAndGap(linearElement, hoveredElement, startOrEnd)),\r\n });\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(hoveredElement, {\r\n boundElementIds: Array.from(new Set([...((_a = hoveredElement.boundElementIds) !== null && _a !== void 0 ? _a : []), linearElement.id])),\r\n });\r\n};\r\n// Don't bind both ends of a simple segment\r\nconst isLinearElementSimpleAndAlreadyBoundOnOppositeEdge = (linearElement, bindableElement, startOrEnd) => {\r\n const otherBinding = linearElement[startOrEnd === \"start\" ? \"endBinding\" : \"startBinding\"];\r\n return isLinearElementSimpleAndAlreadyBound(linearElement, otherBinding === null || otherBinding === void 0 ? void 0 : otherBinding.elementId, bindableElement);\r\n};\r\nconst isLinearElementSimpleAndAlreadyBound = (linearElement, alreadyBoundToId, bindableElement) => {\r\n return (alreadyBoundToId === bindableElement.id && linearElement.points.length < 3);\r\n};\r\nconst unbindLinearElements = (elements) => {\r\n elements.forEach((element) => {\r\n if ((0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindingElement)(element)) {\r\n bindOrUnbindLinearElement(element, null, null);\r\n }\r\n });\r\n};\r\nconst unbindLinearElement = (linearElement, startOrEnd) => {\r\n const field = startOrEnd === \"start\" ? \"startBinding\" : \"endBinding\";\r\n const binding = linearElement[field];\r\n if (binding == null) {\r\n return null;\r\n }\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(linearElement, { [field]: null });\r\n return binding.elementId;\r\n};\r\nconst getHoveredElementForBinding = (pointerCoords, scene) => {\r\n const hoveredElement = (0,_scene__WEBPACK_IMPORTED_MODULE_0__.getElementAtPosition)(scene.getElements(), (element) => (0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindableElement)(element) && (0,_collision__WEBPACK_IMPORTED_MODULE_2__.bindingBorderTest)(element, pointerCoords));\r\n return hoveredElement;\r\n};\r\nconst calculateFocusAndGap = (linearElement, hoveredElement, startOrEnd) => {\r\n const direction = startOrEnd === \"start\" ? -1 : 1;\r\n const edgePointIndex = direction === -1 ? 0 : linearElement.points.length - 1;\r\n const adjacentPointIndex = edgePointIndex - direction;\r\n const edgePoint = _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.getPointAtIndexGlobalCoordinates(linearElement, edgePointIndex);\r\n const adjacentPoint = _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.getPointAtIndexGlobalCoordinates(linearElement, adjacentPointIndex);\r\n return {\r\n focus: (0,_collision__WEBPACK_IMPORTED_MODULE_2__.determineFocusDistance)(hoveredElement, adjacentPoint, edgePoint),\r\n gap: Math.max(1, (0,_collision__WEBPACK_IMPORTED_MODULE_2__.distanceToBindableElement)(hoveredElement, edgePoint)),\r\n };\r\n};\r\n// Supports translating, rotating and scaling `changedElement` with bound\r\n// linear elements.\r\n// Because scaling involves moving the focus points as well, it is\r\n// done before the `changedElement` is updated, and the `newSize` is passed\r\n// in explicitly.\r\nconst updateBoundElements = (changedElement, options) => {\r\n var _a;\r\n const boundElementIds = (_a = changedElement.boundElementIds) !== null && _a !== void 0 ? _a : [];\r\n if (boundElementIds.length === 0) {\r\n return;\r\n }\r\n const { newSize, simultaneouslyUpdated } = options !== null && options !== void 0 ? options : {};\r\n const simultaneouslyUpdatedElementIds = getSimultaneouslyUpdatedElementIds(simultaneouslyUpdated);\r\n _scene_Scene__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getScene(changedElement).getNonDeletedElements(boundElementIds).forEach((linearElement) => {\r\n const bindableElement = changedElement;\r\n // In case the boundElementIds are stale\r\n if (!doesNeedUpdate(linearElement, bindableElement)) {\r\n return;\r\n }\r\n const startBinding = maybeCalculateNewGapWhenScaling(bindableElement, linearElement.startBinding, newSize);\r\n const endBinding = maybeCalculateNewGapWhenScaling(bindableElement, linearElement.endBinding, newSize);\r\n // `linearElement` is being moved/scaled already, just update the binding\r\n if (simultaneouslyUpdatedElementIds.has(linearElement.id)) {\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(linearElement, { startBinding, endBinding });\r\n return;\r\n }\r\n updateBoundPoint(linearElement, \"start\", startBinding, changedElement);\r\n updateBoundPoint(linearElement, \"end\", endBinding, changedElement);\r\n });\r\n};\r\nconst doesNeedUpdate = (boundElement, changedElement) => {\r\n var _a, _b;\r\n return (((_a = boundElement.startBinding) === null || _a === void 0 ? void 0 : _a.elementId) === changedElement.id ||\r\n ((_b = boundElement.endBinding) === null || _b === void 0 ? void 0 : _b.elementId) === changedElement.id);\r\n};\r\nconst getSimultaneouslyUpdatedElementIds = (simultaneouslyUpdated) => {\r\n return new Set((simultaneouslyUpdated || []).map((element) => element.id));\r\n};\r\nconst updateBoundPoint = (linearElement, startOrEnd, binding, changedElement) => {\r\n if (binding == null ||\r\n // We only need to update the other end if this is a 2 point line element\r\n (binding.elementId !== changedElement.id && linearElement.points.length > 2)) {\r\n return;\r\n }\r\n const bindingElement = _scene_Scene__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getScene(linearElement).getElement(binding.elementId);\r\n if (bindingElement == null) {\r\n // We're not cleaning up after deleted elements atm., so handle this case\r\n return;\r\n }\r\n const direction = startOrEnd === \"start\" ? -1 : 1;\r\n const edgePointIndex = direction === -1 ? 0 : linearElement.points.length - 1;\r\n const adjacentPointIndex = edgePointIndex - direction;\r\n const adjacentPoint = _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.getPointAtIndexGlobalCoordinates(linearElement, adjacentPointIndex);\r\n const focusPointAbsolute = (0,_collision__WEBPACK_IMPORTED_MODULE_2__.determineFocusPoint)(bindingElement, binding.focus, adjacentPoint);\r\n let newEdgePoint;\r\n // The linear element was not originally pointing inside the bound shape,\r\n // we can point directly at the focus point\r\n if (binding.gap === 0) {\r\n newEdgePoint = focusPointAbsolute;\r\n }\r\n else {\r\n const intersections = (0,_collision__WEBPACK_IMPORTED_MODULE_2__.intersectElementWithLine)(bindingElement, adjacentPoint, focusPointAbsolute, binding.gap);\r\n if (intersections.length === 0) {\r\n // This should never happen, since focusPoint should always be\r\n // inside the element, but just in case, bail out\r\n newEdgePoint = focusPointAbsolute;\r\n }\r\n else {\r\n // Guaranteed to intersect because focusPoint is always inside the shape\r\n newEdgePoint = intersections[0];\r\n }\r\n }\r\n _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.movePoints(linearElement, [\r\n {\r\n index: edgePointIndex,\r\n point: _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.pointFromAbsoluteCoords(linearElement, newEdgePoint),\r\n },\r\n ], { [startOrEnd === \"start\" ? \"startBinding\" : \"endBinding\"]: binding });\r\n};\r\nconst maybeCalculateNewGapWhenScaling = (changedElement, currentBinding, newSize) => {\r\n if (currentBinding == null || newSize == null) {\r\n return currentBinding;\r\n }\r\n const { gap, focus, elementId } = currentBinding;\r\n const { width: newWidth, height: newHeight } = newSize;\r\n const { width, height } = changedElement;\r\n const newGap = Math.max(1, Math.min((0,_collision__WEBPACK_IMPORTED_MODULE_2__.maxBindingGap)(changedElement, newWidth, newHeight), gap * (newWidth < newHeight ? newWidth / width : newHeight / height)));\r\n return { elementId, gap: newGap, focus };\r\n};\r\nconst getEligibleElementsForBinding = (elements) => {\r\n const includedElementIds = new Set(elements.map(({ id }) => id));\r\n return elements.flatMap((element) => (0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindingElement)(element)\r\n ? getElligibleElementsForBindingElement(element).filter((element) => !includedElementIds.has(element.id))\r\n : (0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindableElement)(element)\r\n ? getElligibleElementsForBindableElementAndWhere(element).filter((binding) => !includedElementIds.has(binding[0].id))\r\n : []);\r\n};\r\nconst getElligibleElementsForBindingElement = (linearElement) => {\r\n return [\r\n getElligibleElementForBindingElement(linearElement, \"start\"),\r\n getElligibleElementForBindingElement(linearElement, \"end\"),\r\n ].filter((element) => element != null);\r\n};\r\nconst getElligibleElementForBindingElement = (linearElement, startOrEnd) => {\r\n return getHoveredElementForBinding(getLinearElementEdgeCoors(linearElement, startOrEnd), _scene_Scene__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getScene(linearElement));\r\n};\r\nconst getLinearElementEdgeCoors = (linearElement, startOrEnd) => {\r\n const index = startOrEnd === \"start\" ? 0 : -1;\r\n return (0,_utils__WEBPACK_IMPORTED_MODULE_6__.tupleToCoors)(_linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.getPointAtIndexGlobalCoordinates(linearElement, index));\r\n};\r\nconst getElligibleElementsForBindableElementAndWhere = (bindableElement) => {\r\n return _scene_Scene__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getScene(bindableElement)\r\n .getElements()\r\n .map((element) => {\r\n if (!(0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindingElement)(element)) {\r\n return null;\r\n }\r\n const canBindStart = isLinearElementEligibleForNewBindingByBindable(element, \"start\", bindableElement);\r\n const canBindEnd = isLinearElementEligibleForNewBindingByBindable(element, \"end\", bindableElement);\r\n if (!canBindStart && !canBindEnd) {\r\n return null;\r\n }\r\n return [\r\n element,\r\n canBindStart && canBindEnd ? \"both\" : canBindStart ? \"start\" : \"end\",\r\n bindableElement,\r\n ];\r\n })\r\n .filter((maybeElement) => maybeElement != null);\r\n};\r\nconst isLinearElementEligibleForNewBindingByBindable = (linearElement, startOrEnd, bindableElement) => {\r\n const existingBinding = linearElement[startOrEnd === \"start\" ? \"startBinding\" : \"endBinding\"];\r\n return (existingBinding == null &&\r\n !isLinearElementSimpleAndAlreadyBoundOnOppositeEdge(linearElement, bindableElement, startOrEnd) &&\r\n (0,_collision__WEBPACK_IMPORTED_MODULE_2__.bindingBorderTest)(bindableElement, getLinearElementEdgeCoors(linearElement, startOrEnd)));\r\n};\r\n// We need to:\r\n// 1: Update elements not selected to point to duplicated elements\r\n// 2: Update duplicated elements to point to other duplicated elements\r\nconst fixBindingsAfterDuplication = (sceneElements, oldElements, oldIdToDuplicatedId, \r\n// There are three copying mechanisms: Copy-paste, duplication and alt-drag.\r\n// Only when alt-dragging the new \"duplicates\" act as the \"old\", while\r\n// the \"old\" elements act as the \"new copy\" - essentially working reverse\r\n// to the other two.\r\nduplicatesServeAsOld) => {\r\n // First collect all the binding/bindable elements, so we only update\r\n // each once, regardless of whether they were duplicated or not.\r\n const allBoundElementIds = new Set();\r\n const allBindableElementIds = new Set();\r\n const shouldReverseRoles = duplicatesServeAsOld === \"duplicatesServeAsOld\";\r\n oldElements.forEach((oldElement) => {\r\n const { boundElementIds } = oldElement;\r\n if (boundElementIds != null && boundElementIds.length > 0) {\r\n boundElementIds.forEach((boundElementId) => {\r\n if (shouldReverseRoles && !oldIdToDuplicatedId.has(boundElementId)) {\r\n allBoundElementIds.add(boundElementId);\r\n }\r\n });\r\n allBindableElementIds.add(oldIdToDuplicatedId.get(oldElement.id));\r\n }\r\n if ((0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindingElement)(oldElement)) {\r\n if (oldElement.startBinding != null) {\r\n const { elementId } = oldElement.startBinding;\r\n if (shouldReverseRoles && !oldIdToDuplicatedId.has(elementId)) {\r\n allBindableElementIds.add(elementId);\r\n }\r\n }\r\n if (oldElement.endBinding != null) {\r\n const { elementId } = oldElement.endBinding;\r\n if (shouldReverseRoles && !oldIdToDuplicatedId.has(elementId)) {\r\n allBindableElementIds.add(elementId);\r\n }\r\n }\r\n if (oldElement.startBinding != null || oldElement.endBinding != null) {\r\n allBoundElementIds.add(oldIdToDuplicatedId.get(oldElement.id));\r\n }\r\n }\r\n });\r\n // Update the linear elements\r\n sceneElements.filter(({ id }) => allBoundElementIds.has(id)).forEach((element) => {\r\n const { startBinding, endBinding } = element;\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(element, {\r\n startBinding: newBindingAfterDuplication(startBinding, oldIdToDuplicatedId),\r\n endBinding: newBindingAfterDuplication(endBinding, oldIdToDuplicatedId),\r\n });\r\n });\r\n // Update the bindable shapes\r\n sceneElements\r\n .filter(({ id }) => allBindableElementIds.has(id))\r\n .forEach((bindableElement) => {\r\n const { boundElementIds } = bindableElement;\r\n if (boundElementIds != null && boundElementIds.length > 0) {\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(bindableElement, {\r\n boundElementIds: boundElementIds.map((boundElementId) => { var _a; return (_a = oldIdToDuplicatedId.get(boundElementId)) !== null && _a !== void 0 ? _a : boundElementId; }),\r\n });\r\n }\r\n });\r\n};\r\nconst newBindingAfterDuplication = (binding, oldIdToDuplicatedId) => {\r\n var _a;\r\n if (binding == null) {\r\n return null;\r\n }\r\n const { elementId, focus, gap } = binding;\r\n return {\r\n focus,\r\n gap,\r\n elementId: (_a = oldIdToDuplicatedId.get(elementId)) !== null && _a !== void 0 ? _a : elementId,\r\n };\r\n};\r\nconst fixBindingsAfterDeletion = (sceneElements, deletedElements) => {\r\n const deletedElementIds = new Set(deletedElements.map((element) => element.id));\r\n // Non deleted and need an update\r\n const boundElementIds = new Set();\r\n deletedElements.forEach((deletedElement) => {\r\n var _a;\r\n if ((0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindableElement)(deletedElement)) {\r\n (_a = deletedElement.boundElementIds) === null || _a === void 0 ? void 0 : _a.forEach((id) => {\r\n if (!deletedElementIds.has(id)) {\r\n boundElementIds.add(id);\r\n }\r\n });\r\n }\r\n });\r\n sceneElements.filter(({ id }) => boundElementIds.has(id)).forEach((element) => {\r\n const { startBinding, endBinding } = element;\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(element, {\r\n startBinding: newBindingAfterDeletion(startBinding, deletedElementIds),\r\n endBinding: newBindingAfterDeletion(endBinding, deletedElementIds),\r\n });\r\n });\r\n};\r\nconst newBindingAfterDeletion = (binding, deletedElementIds) => {\r\n if (binding == null || deletedElementIds.has(binding.elementId)) {\r\n return null;\r\n }\r\n return binding;\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4uLy4uL2VsZW1lbnQvYmluZGluZy50cz9hMjY4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50LFxuICBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50LFxuICBOb25EZWxldGVkLFxuICBOb25EZWxldGVkRXhjYWxpZHJhd0VsZW1lbnQsXG4gIFBvaW50QmluZGluZyxcbiAgRXhjYWxpZHJhd0VsZW1lbnQsXG59IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBnZXRFbGVtZW50QXRQb3NpdGlvbiB9IGZyb20gXCIuLi9zY2VuZVwiO1xuaW1wb3J0IHsgQXBwU3RhdGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IGlzQmluZGFibGVFbGVtZW50LCBpc0JpbmRpbmdFbGVtZW50IH0gZnJvbSBcIi4vdHlwZUNoZWNrc1wiO1xuaW1wb3J0IHtcbiAgYmluZGluZ0JvcmRlclRlc3QsXG4gIGRpc3RhbmNlVG9CaW5kYWJsZUVsZW1lbnQsXG4gIG1heEJpbmRpbmdHYXAsXG4gIGRldGVybWluZUZvY3VzRGlzdGFuY2UsXG4gIGludGVyc2VjdEVsZW1lbnRXaXRoTGluZSxcbiAgZGV0ZXJtaW5lRm9jdXNQb2ludCxcbn0gZnJvbSBcIi4vY29sbGlzaW9uXCI7XG5pbXBvcnQgeyBtdXRhdGVFbGVtZW50IH0gZnJvbSBcIi4vbXV0YXRlRWxlbWVudFwiO1xuaW1wb3J0IFNjZW5lIGZyb20gXCIuLi9zY2VuZS9TY2VuZVwiO1xuaW1wb3J0IHsgTGluZWFyRWxlbWVudEVkaXRvciB9IGZyb20gXCIuL2xpbmVhckVsZW1lbnRFZGl0b3JcIjtcbmltcG9ydCB7IHR1cGxlVG9Db29ycyB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgS0VZUyB9IGZyb20gXCIuLi9rZXlzXCI7XG5cbmV4cG9ydCB0eXBlIFN1Z2dlc3RlZEJpbmRpbmcgPVxuICB8IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudD5cbiAgfCBTdWdnZXN0ZWRQb2ludEJpbmRpbmc7XG5cbmV4cG9ydCB0eXBlIFN1Z2dlc3RlZFBvaW50QmluZGluZyA9IFtcbiAgTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIFwic3RhcnRcIiB8IFwiZW5kXCIgfCBcImJvdGhcIixcbiAgTm9uRGVsZXRlZDxFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50Pixcbl07XG5cbmV4cG9ydCBjb25zdCBzaG91bGRFbmFibGVCaW5kaW5nRm9yUG9pbnRlckV2ZW50ID0gKFxuICBldmVudDogUmVhY3QuUG9pbnRlckV2ZW50PEhUTUxDYW52YXNFbGVtZW50PixcbikgPT4ge1xuICByZXR1cm4gIWV2ZW50W0tFWVMuQ1RSTF9PUl9DTURdO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQmluZGluZ0VuYWJsZWQgPSAoYXBwU3RhdGU6IEFwcFN0YXRlKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBhcHBTdGF0ZS5pc0JpbmRpbmdFbmFibGVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRPclVuYmluZExpbmVhckVsZW1lbnQgPSAoXG4gIGxpbmVhckVsZW1lbnQ6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0xpbmVhckVsZW1lbnQ+LFxuICBzdGFydEJpbmRpbmdFbGVtZW50OiBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50IHwgbnVsbCB8IFwia2VlcFwiLFxuICBlbmRCaW5kaW5nRWxlbWVudDogRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudCB8IG51bGwgfCBcImtlZXBcIixcbik6IHZvaWQgPT4ge1xuICBjb25zdCBib3VuZFRvRWxlbWVudElkczogU2V0PEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnRbXCJpZFwiXT4gPSBuZXcgU2V0KCk7XG4gIGNvbnN0IHVuYm91bmRGcm9tRWxlbWVudElkczogU2V0PEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnRbXCJpZFwiXT4gPSBuZXcgU2V0KCk7XG4gIGJpbmRPclVuYmluZExpbmVhckVsZW1lbnRFZGdlKFxuICAgIGxpbmVhckVsZW1lbnQsXG4gICAgc3RhcnRCaW5kaW5nRWxlbWVudCxcbiAgICBlbmRCaW5kaW5nRWxlbWVudCxcbiAgICBcInN0YXJ0XCIsXG4gICAgYm91bmRUb0VsZW1lbnRJZHMsXG4gICAgdW5ib3VuZEZyb21FbGVtZW50SWRzLFxuICApO1xuICBiaW5kT3JVbmJpbmRMaW5lYXJFbGVtZW50RWRnZShcbiAgICBsaW5lYXJFbGVtZW50LFxuICAgIGVuZEJpbmRpbmdFbGVtZW50LFxuICAgIHN0YXJ0QmluZGluZ0VsZW1lbnQsXG4gICAgXCJlbmRcIixcbiAgICBib3VuZFRvRWxlbWVudElkcyxcbiAgICB1bmJvdW5kRnJvbUVsZW1lbnRJZHMsXG4gICk7XG5cbiAgY29uc3Qgb25seVVuYm91bmQgPSBBcnJheS5mcm9tKHVuYm91bmRGcm9tRWxlbWVudElkcykuZmlsdGVyKFxuICAgIChpZCkgPT4gIWJvdW5kVG9FbGVtZW50SWRzLmhhcyhpZCksXG4gICk7XG4gIFNjZW5lLmdldFNjZW5lKGxpbmVhckVsZW1lbnQpIVxuICAgIC5nZXROb25EZWxldGVkRWxlbWVudHMob25seVVuYm91bmQpXG4gICAgLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIG11dGF0ZUVsZW1lbnQoZWxlbWVudCwge1xuICAgICAgICBib3VuZEVsZW1lbnRJZHM6IGVsZW1lbnQuYm91bmRFbGVtZW50SWRzPy5maWx0ZXIoXG4gICAgICAgICAgKGlkKSA9PiBpZCAhPT0gbGluZWFyRWxlbWVudC5pZCxcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgIH0pO1xufTtcblxuY29uc3QgYmluZE9yVW5iaW5kTGluZWFyRWxlbWVudEVkZ2UgPSAoXG4gIGxpbmVhckVsZW1lbnQ6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0xpbmVhckVsZW1lbnQ+LFxuICBiaW5kYWJsZUVsZW1lbnQ6IEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQgfCBudWxsIHwgXCJrZWVwXCIsXG4gIG90aGVyRWRnZUJpbmRhYmxlRWxlbWVudDogRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudCB8IG51bGwgfCBcImtlZXBcIixcbiAgc3RhcnRPckVuZDogXCJzdGFydFwiIHwgXCJlbmRcIixcbiAgLy8gSXMgbXV0YXRlZFxuICBib3VuZFRvRWxlbWVudElkczogU2V0PEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnRbXCJpZFwiXT4sXG4gIC8vIElzIG11dGF0ZWRcbiAgdW5ib3VuZEZyb21FbGVtZW50SWRzOiBTZXQ8RXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudFtcImlkXCJdPixcbik6IHZvaWQgPT4ge1xuICBpZiAoYmluZGFibGVFbGVtZW50ICE9PSBcImtlZXBcIikge1xuICAgIGlmIChiaW5kYWJsZUVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgLy8gRG9uJ3QgYmluZCBpZiB3ZSdyZSB0cnlpbmcgdG8gYmluZCBvciBhcmUgYWxyZWFkeSBib3VuZCB0byB0aGUgc2FtZVxuICAgICAgLy8gZWxlbWVudCBvbiB0aGUgb3RoZXIgZWRnZSBhbHJlYWR5IChcInN0YXJ0XCIgZWRnZSB0YWtlcyBwcmVjZWRlbmNlKS5cbiAgICAgIGlmIChcbiAgICAgICAgb3RoZXJFZGdlQmluZGFibGVFbGVtZW50ID09IG51bGwgfHxcbiAgICAgICAgKG90aGVyRWRnZUJpbmRhYmxlRWxlbWVudCA9PT0gXCJrZWVwXCJcbiAgICAgICAgICA/ICFpc0xpbmVhckVsZW1lbnRTaW1wbGVBbmRBbHJlYWR5Qm91bmRPbk9wcG9zaXRlRWRnZShcbiAgICAgICAgICAgICAgbGluZWFyRWxlbWVudCxcbiAgICAgICAgICAgICAgYmluZGFibGVFbGVtZW50LFxuICAgICAgICAgICAgICBzdGFydE9yRW5kLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogc3RhcnRPckVuZCA9PT0gXCJzdGFydFwiIHx8XG4gICAgICAgICAgICBvdGhlckVkZ2VCaW5kYWJsZUVsZW1lbnQuaWQgIT09IGJpbmRhYmxlRWxlbWVudC5pZClcbiAgICAgICkge1xuICAgICAgICBiaW5kTGluZWFyRWxlbWVudChsaW5lYXJFbGVtZW50LCBiaW5kYWJsZUVsZW1lbnQsIHN0YXJ0T3JFbmQpO1xuICAgICAgICBib3VuZFRvRWxlbWVudElkcy5hZGQoYmluZGFibGVFbGVtZW50LmlkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdW5ib3VuZCA9IHVuYmluZExpbmVhckVsZW1lbnQobGluZWFyRWxlbWVudCwgc3RhcnRPckVuZCk7XG4gICAgICBpZiAodW5ib3VuZCAhPSBudWxsKSB7XG4gICAgICAgIHVuYm91bmRGcm9tRWxlbWVudElkcy5hZGQodW5ib3VuZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYmluZE9yVW5iaW5kU2VsZWN0ZWRFbGVtZW50cyA9IChcbiAgZWxlbWVudHM6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0VsZW1lbnQ+W10sXG4pOiB2b2lkID0+IHtcbiAgZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgIGlmIChpc0JpbmRpbmdFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgICBiaW5kT3JVbmJpbmRMaW5lYXJFbGVtZW50KFxuICAgICAgICBlbGVtZW50LFxuICAgICAgICBnZXRFbGxpZ2libGVFbGVtZW50Rm9yQmluZGluZ0VsZW1lbnQoZWxlbWVudCwgXCJzdGFydFwiKSxcbiAgICAgICAgZ2V0RWxsaWdpYmxlRWxlbWVudEZvckJpbmRpbmdFbGVtZW50KGVsZW1lbnQsIFwiZW5kXCIpLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzQmluZGFibGVFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgICBtYXliZUJpbmRCaW5kYWJsZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgfVxuICB9KTtcbn07XG5cbmNvbnN0IG1heWJlQmluZEJpbmRhYmxlRWxlbWVudCA9IChcbiAgYmluZGFibGVFbGVtZW50OiBOb25EZWxldGVkPEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQ+LFxuKTogdm9pZCA9PiB7XG4gIGdldEVsbGlnaWJsZUVsZW1lbnRzRm9yQmluZGFibGVFbGVtZW50QW5kV2hlcmUoYmluZGFibGVFbGVtZW50KS5mb3JFYWNoKFxuICAgIChbbGluZWFyRWxlbWVudCwgd2hlcmVdKSA9PlxuICAgICAgYmluZE9yVW5iaW5kTGluZWFyRWxlbWVudChcbiAgICAgICAgbGluZWFyRWxlbWVudCxcbiAgICAgICAgd2hlcmUgPT09IFwiZW5kXCIgPyBcImtlZXBcIiA6IGJpbmRhYmxlRWxlbWVudCxcbiAgICAgICAgd2hlcmUgPT09IFwic3RhcnRcIiA/IFwia2VlcFwiIDogYmluZGFibGVFbGVtZW50LFxuICAgICAgKSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXliZUJpbmRMaW5lYXJFbGVtZW50ID0gKFxuICBsaW5lYXJFbGVtZW50OiBOb25EZWxldGVkPEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50PixcbiAgYXBwU3RhdGU6IEFwcFN0YXRlLFxuICBzY2VuZTogU2NlbmUsXG4gIHBvaW50ZXJDb29yZHM6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSxcbik6IHZvaWQgPT4ge1xuICBpZiAoYXBwU3RhdGUuc3RhcnRCb3VuZEVsZW1lbnQgIT0gbnVsbCkge1xuICAgIGJpbmRMaW5lYXJFbGVtZW50KGxpbmVhckVsZW1lbnQsIGFwcFN0YXRlLnN0YXJ0Qm91bmRFbGVtZW50LCBcInN0YXJ0XCIpO1xuICB9XG4gIGNvbnN0IGhvdmVyZWRFbGVtZW50ID0gZ2V0SG92ZXJlZEVsZW1lbnRGb3JCaW5kaW5nKHBvaW50ZXJDb29yZHMsIHNjZW5lKTtcbiAgaWYgKFxuICAgIGhvdmVyZWRFbGVtZW50ICE9IG51bGwgJiZcbiAgICAhaXNMaW5lYXJFbGVtZW50U2ltcGxlQW5kQWxyZWFkeUJvdW5kT25PcHBvc2l0ZUVkZ2UoXG4gICAgICBsaW5lYXJFbGVtZW50LFxuICAgICAgaG92ZXJlZEVsZW1lbnQsXG4gICAgICBcImVuZFwiLFxuICAgIClcbiAgKSB7XG4gICAgYmluZExpbmVhckVsZW1lbnQobGluZWFyRWxlbWVudCwgaG92ZXJlZEVsZW1lbnQsIFwiZW5kXCIpO1xuICB9XG59O1xuXG5jb25zdCBiaW5kTGluZWFyRWxlbWVudCA9IChcbiAgbGluZWFyRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIGhvdmVyZWRFbGVtZW50OiBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50LFxuICBzdGFydE9yRW5kOiBcInN0YXJ0XCIgfCBcImVuZFwiLFxuKTogdm9pZCA9PiB7XG4gIG11dGF0ZUVsZW1lbnQobGluZWFyRWxlbWVudCwge1xuICAgIFtzdGFydE9yRW5kID09PSBcInN0YXJ0XCIgPyBcInN0YXJ0QmluZGluZ1wiIDogXCJlbmRCaW5kaW5nXCJdOiB7XG4gICAgICBlbGVtZW50SWQ6IGhvdmVyZWRFbGVtZW50LmlkLFxuICAgICAgLi4uY2FsY3VsYXRlRm9jdXNBbmRHYXAobGluZWFyRWxlbWVudCwgaG92ZXJlZEVsZW1lbnQsIHN0YXJ0T3JFbmQpLFxuICAgIH0gYXMgUG9pbnRCaW5kaW5nLFxuICB9KTtcbiAgbXV0YXRlRWxlbWVudChob3ZlcmVkRWxlbWVudCwge1xuICAgIGJvdW5kRWxlbWVudElkczogQXJyYXkuZnJvbShcbiAgICAgIG5ldyBTZXQoWy4uLihob3ZlcmVkRWxlbWVudC5ib3VuZEVsZW1lbnRJZHMgPz8gW10pLCBsaW5lYXJFbGVtZW50LmlkXSksXG4gICAgKSxcbiAgfSk7XG59O1xuXG4vLyBEb24ndCBiaW5kIGJvdGggZW5kcyBvZiBhIHNpbXBsZSBzZWdtZW50XG5jb25zdCBpc0xpbmVhckVsZW1lbnRTaW1wbGVBbmRBbHJlYWR5Qm91bmRPbk9wcG9zaXRlRWRnZSA9IChcbiAgbGluZWFyRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIGJpbmRhYmxlRWxlbWVudDogRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudCxcbiAgc3RhcnRPckVuZDogXCJzdGFydFwiIHwgXCJlbmRcIixcbik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBvdGhlckJpbmRpbmcgPVxuICAgIGxpbmVhckVsZW1lbnRbc3RhcnRPckVuZCA9PT0gXCJzdGFydFwiID8gXCJlbmRCaW5kaW5nXCIgOiBcInN0YXJ0QmluZGluZ1wiXTtcbiAgcmV0dXJuIGlzTGluZWFyRWxlbWVudFNpbXBsZUFuZEFscmVhZHlCb3VuZChcbiAgICBsaW5lYXJFbGVtZW50LFxuICAgIG90aGVyQmluZGluZz8uZWxlbWVudElkLFxuICAgIGJpbmRhYmxlRWxlbWVudCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0xpbmVhckVsZW1lbnRTaW1wbGVBbmRBbHJlYWR5Qm91bmQgPSAoXG4gIGxpbmVhckVsZW1lbnQ6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0xpbmVhckVsZW1lbnQ+LFxuICBhbHJlYWR5Qm91bmRUb0lkOiBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50W1wiaWRcIl0gfCB1bmRlZmluZWQsXG4gIGJpbmRhYmxlRWxlbWVudDogRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudCxcbik6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gKFxuICAgIGFscmVhZHlCb3VuZFRvSWQgPT09IGJpbmRhYmxlRWxlbWVudC5pZCAmJiBsaW5lYXJFbGVtZW50LnBvaW50cy5sZW5ndGggPCAzXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdW5iaW5kTGluZWFyRWxlbWVudHMgPSAoXG4gIGVsZW1lbnRzOiBOb25EZWxldGVkPEV4Y2FsaWRyYXdFbGVtZW50PltdLFxuKTogdm9pZCA9PiB7XG4gIGVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICBpZiAoaXNCaW5kaW5nRWxlbWVudChlbGVtZW50KSkge1xuICAgICAgYmluZE9yVW5iaW5kTGluZWFyRWxlbWVudChlbGVtZW50LCBudWxsLCBudWxsKTtcbiAgICB9XG4gIH0pO1xufTtcblxuY29uc3QgdW5iaW5kTGluZWFyRWxlbWVudCA9IChcbiAgbGluZWFyRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIHN0YXJ0T3JFbmQ6IFwic3RhcnRcIiB8IFwiZW5kXCIsXG4pOiBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50W1wiaWRcIl0gfCBudWxsID0+IHtcbiAgY29uc3QgZmllbGQgPSBzdGFydE9yRW5kID09PSBcInN0YXJ0XCIgPyBcInN0YXJ0QmluZGluZ1wiIDogXCJlbmRCaW5kaW5nXCI7XG4gIGNvbnN0IGJpbmRpbmcgPSBsaW5lYXJFbGVtZW50W2ZpZWxkXTtcbiAgaWYgKGJpbmRpbmcgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIG11dGF0ZUVsZW1lbnQobGluZWFyRWxlbWVudCwgeyBbZmllbGRdOiBudWxsIH0pO1xuICByZXR1cm4gYmluZGluZy5lbGVtZW50SWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SG92ZXJlZEVsZW1lbnRGb3JCaW5kaW5nID0gKFxuICBwb2ludGVyQ29vcmRzOiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgfSxcbiAgc2NlbmU6IFNjZW5lLFxuKTogTm9uRGVsZXRlZDxFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50PiB8IG51bGwgPT4ge1xuICBjb25zdCBob3ZlcmVkRWxlbWVudCA9IGdldEVsZW1lbnRBdFBvc2l0aW9uKFxuICAgIHNjZW5lLmdldEVsZW1lbnRzKCksXG4gICAgKGVsZW1lbnQpID0+XG4gICAgICBpc0JpbmRhYmxlRWxlbWVudChlbGVtZW50KSAmJiBiaW5kaW5nQm9yZGVyVGVzdChlbGVtZW50LCBwb2ludGVyQ29vcmRzKSxcbiAgKTtcbiAgcmV0dXJuIGhvdmVyZWRFbGVtZW50IGFzIE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudD4gfCBudWxsO1xufTtcblxuY29uc3QgY2FsY3VsYXRlRm9jdXNBbmRHYXAgPSAoXG4gIGxpbmVhckVsZW1lbnQ6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0xpbmVhckVsZW1lbnQ+LFxuICBob3ZlcmVkRWxlbWVudDogRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudCxcbiAgc3RhcnRPckVuZDogXCJzdGFydFwiIHwgXCJlbmRcIixcbik6IHsgZm9jdXM6IG51bWJlcjsgZ2FwOiBudW1iZXIgfSA9PiB7XG4gIGNvbnN0IGRpcmVjdGlvbiA9IHN0YXJ0T3JFbmQgPT09IFwic3RhcnRcIiA/IC0xIDogMTtcbiAgY29uc3QgZWRnZVBvaW50SW5kZXggPSBkaXJlY3Rpb24gPT09IC0xID8gMCA6IGxpbmVhckVsZW1lbnQucG9pbnRzLmxlbmd0aCAtIDE7XG4gIGNvbnN0IGFkamFjZW50UG9pbnRJbmRleCA9IGVkZ2VQb2ludEluZGV4IC0gZGlyZWN0aW9uO1xuICBjb25zdCBlZGdlUG9pbnQgPSBMaW5lYXJFbGVtZW50RWRpdG9yLmdldFBvaW50QXRJbmRleEdsb2JhbENvb3JkaW5hdGVzKFxuICAgIGxpbmVhckVsZW1lbnQsXG4gICAgZWRnZVBvaW50SW5kZXgsXG4gICk7XG4gIGNvbnN0IGFkamFjZW50UG9pbnQgPSBMaW5lYXJFbGVtZW50RWRpdG9yLmdldFBvaW50QXRJbmRleEdsb2JhbENvb3JkaW5hdGVzKFxuICAgIGxpbmVhckVsZW1lbnQsXG4gICAgYWRqYWNlbnRQb2ludEluZGV4LFxuICApO1xuICByZXR1cm4ge1xuICAgIGZvY3VzOiBkZXRlcm1pbmVGb2N1c0Rpc3RhbmNlKGhvdmVyZWRFbGVtZW50LCBhZGphY2VudFBvaW50LCBlZGdlUG9pbnQpLFxuICAgIGdhcDogTWF0aC5tYXgoMSwgZGlzdGFuY2VUb0JpbmRhYmxlRWxlbWVudChob3ZlcmVkRWxlbWVudCwgZWRnZVBvaW50KSksXG4gIH07XG59O1xuXG4vLyBTdXBwb3J0cyB0cmFuc2xhdGluZywgcm90YXRpbmcgYW5kIHNjYWxpbmcgYGNoYW5nZWRFbGVtZW50YCB3aXRoIGJvdW5kXG4vLyBsaW5lYXIgZWxlbWVudHMuXG4vLyBCZWNhdXNlIHNjYWxpbmcgaW52b2x2ZXMgbW92aW5nIHRoZSBmb2N1cyBwb2ludHMgYXMgd2VsbCwgaXQgaXNcbi8vIGRvbmUgYmVmb3JlIHRoZSBgY2hhbmdlZEVsZW1lbnRgIGlzIHVwZGF0ZWQsIGFuZCB0aGUgYG5ld1NpemVgIGlzIHBhc3NlZFxuLy8gaW4gZXhwbGljaXRseS5cbmV4cG9ydCBjb25zdCB1cGRhdGVCb3VuZEVsZW1lbnRzID0gKFxuICBjaGFuZ2VkRWxlbWVudDogTm9uRGVsZXRlZEV4Y2FsaWRyYXdFbGVtZW50LFxuICBvcHRpb25zPzoge1xuICAgIHNpbXVsdGFuZW91c2x5VXBkYXRlZD86IHJlYWRvbmx5IEV4Y2FsaWRyYXdFbGVtZW50W107XG4gICAgbmV3U2l6ZT86IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfTtcbiAgfSxcbikgPT4ge1xuICBjb25zdCBib3VuZEVsZW1lbnRJZHMgPSBjaGFuZ2VkRWxlbWVudC5ib3VuZEVsZW1lbnRJZHMgPz8gW107XG4gIGlmIChib3VuZEVsZW1lbnRJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IHsgbmV3U2l6ZSwgc2ltdWx0YW5lb3VzbHlVcGRhdGVkIH0gPSBvcHRpb25zID8/IHt9O1xuICBjb25zdCBzaW11bHRhbmVvdXNseVVwZGF0ZWRFbGVtZW50SWRzID0gZ2V0U2ltdWx0YW5lb3VzbHlVcGRhdGVkRWxlbWVudElkcyhcbiAgICBzaW11bHRhbmVvdXNseVVwZGF0ZWQsXG4gICk7XG4gIChcbiAgICBTY2VuZS5nZXRTY2VuZShjaGFuZ2VkRWxlbWVudCkhLmdldE5vbkRlbGV0ZWRFbGVtZW50cyhcbiAgICAgIGJvdW5kRWxlbWVudElkcyxcbiAgICApIGFzIE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0xpbmVhckVsZW1lbnQ+W11cbiAgKS5mb3JFYWNoKChsaW5lYXJFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgYmluZGFibGVFbGVtZW50ID0gY2hhbmdlZEVsZW1lbnQgYXMgRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudDtcbiAgICAvLyBJbiBjYXNlIHRoZSBib3VuZEVsZW1lbnRJZHMgYXJlIHN0YWxlXG4gICAgaWYgKCFkb2VzTmVlZFVwZGF0ZShsaW5lYXJFbGVtZW50LCBiaW5kYWJsZUVsZW1lbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0YXJ0QmluZGluZyA9IG1heWJlQ2FsY3VsYXRlTmV3R2FwV2hlblNjYWxpbmcoXG4gICAgICBiaW5kYWJsZUVsZW1lbnQsXG4gICAgICBsaW5lYXJFbGVtZW50LnN0YXJ0QmluZGluZyxcbiAgICAgIG5ld1NpemUsXG4gICAgKTtcbiAgICBjb25zdCBlbmRCaW5kaW5nID0gbWF5YmVDYWxjdWxhdGVOZXdHYXBXaGVuU2NhbGluZyhcbiAgICAgIGJpbmRhYmxlRWxlbWVudCxcbiAgICAgIGxpbmVhckVsZW1lbnQuZW5kQmluZGluZyxcbiAgICAgIG5ld1NpemUsXG4gICAgKTtcbiAgICAvLyBgbGluZWFyRWxlbWVudGAgaXMgYmVpbmcgbW92ZWQvc2NhbGVkIGFscmVhZHksIGp1c3QgdXBkYXRlIHRoZSBiaW5kaW5nXG4gICAgaWYgKHNpbXVsdGFuZW91c2x5VXBkYXRlZEVsZW1lbnRJZHMuaGFzKGxpbmVhckVsZW1lbnQuaWQpKSB7XG4gICAgICBtdXRhdGVFbGVtZW50KGxpbmVhckVsZW1lbnQsIHsgc3RhcnRCaW5kaW5nLCBlbmRCaW5kaW5nIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB1cGRhdGVCb3VuZFBvaW50KFxuICAgICAgbGluZWFyRWxlbWVudCxcbiAgICAgIFwic3RhcnRcIixcbiAgICAgIHN0YXJ0QmluZGluZyxcbiAgICAgIGNoYW5nZWRFbGVtZW50IGFzIEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQsXG4gICAgKTtcbiAgICB1cGRhdGVCb3VuZFBvaW50KFxuICAgICAgbGluZWFyRWxlbWVudCxcbiAgICAgIFwiZW5kXCIsXG4gICAgICBlbmRCaW5kaW5nLFxuICAgICAgY2hhbmdlZEVsZW1lbnQgYXMgRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudCxcbiAgICApO1xuICB9KTtcbn07XG5cbmNvbnN0IGRvZXNOZWVkVXBkYXRlID0gKFxuICBib3VuZEVsZW1lbnQ6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0xpbmVhckVsZW1lbnQ+LFxuICBjaGFuZ2VkRWxlbWVudDogRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudCxcbikgPT4ge1xuICByZXR1cm4gKFxuICAgIGJvdW5kRWxlbWVudC5zdGFydEJpbmRpbmc/LmVsZW1lbnRJZCA9PT0gY2hhbmdlZEVsZW1lbnQuaWQgfHxcbiAgICBib3VuZEVsZW1lbnQuZW5kQmluZGluZz8uZWxlbWVudElkID09PSBjaGFuZ2VkRWxlbWVudC5pZFxuICApO1xufTtcblxuY29uc3QgZ2V0U2ltdWx0YW5lb3VzbHlVcGRhdGVkRWxlbWVudElkcyA9IChcbiAgc2ltdWx0YW5lb3VzbHlVcGRhdGVkOiByZWFkb25seSBFeGNhbGlkcmF3RWxlbWVudFtdIHwgdW5kZWZpbmVkLFxuKTogU2V0PEV4Y2FsaWRyYXdFbGVtZW50W1wiaWRcIl0+ID0+IHtcbiAgcmV0dXJuIG5ldyBTZXQoKHNpbXVsdGFuZW91c2x5VXBkYXRlZCB8fCBbXSkubWFwKChlbGVtZW50KSA9PiBlbGVtZW50LmlkKSk7XG59O1xuXG5jb25zdCB1cGRhdGVCb3VuZFBvaW50ID0gKFxuICBsaW5lYXJFbGVtZW50OiBOb25EZWxldGVkPEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50PixcbiAgc3RhcnRPckVuZDogXCJzdGFydFwiIHwgXCJlbmRcIixcbiAgYmluZGluZzogUG9pbnRCaW5kaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgY2hhbmdlZEVsZW1lbnQ6IEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQsXG4pOiB2b2lkID0+IHtcbiAgaWYgKFxuICAgIGJpbmRpbmcgPT0gbnVsbCB8fFxuICAgIC8vIFdlIG9ubHkgbmVlZCB0byB1cGRhdGUgdGhlIG90aGVyIGVuZCBpZiB0aGlzIGlzIGEgMiBwb2ludCBsaW5lIGVsZW1lbnRcbiAgICAoYmluZGluZy5lbGVtZW50SWQgIT09IGNoYW5nZWRFbGVtZW50LmlkICYmIGxpbmVhckVsZW1lbnQucG9pbnRzLmxlbmd0aCA+IDIpXG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBiaW5kaW5nRWxlbWVudCA9IFNjZW5lLmdldFNjZW5lKGxpbmVhckVsZW1lbnQpIS5nZXRFbGVtZW50KFxuICAgIGJpbmRpbmcuZWxlbWVudElkLFxuICApIGFzIEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQgfCBudWxsO1xuICBpZiAoYmluZGluZ0VsZW1lbnQgPT0gbnVsbCkge1xuICAgIC8vIFdlJ3JlIG5vdCBjbGVhbmluZyB1cCBhZnRlciBkZWxldGVkIGVsZW1lbnRzIGF0bS4sIHNvIGhhbmRsZSB0aGlzIGNhc2VcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZGlyZWN0aW9uID0gc3RhcnRPckVuZCA9PT0gXCJzdGFydFwiID8gLTEgOiAxO1xuICBjb25zdCBlZGdlUG9pbnRJbmRleCA9IGRpcmVjdGlvbiA9PT0gLTEgPyAwIDogbGluZWFyRWxlbWVudC5wb2ludHMubGVuZ3RoIC0gMTtcbiAgY29uc3QgYWRqYWNlbnRQb2ludEluZGV4ID0gZWRnZVBvaW50SW5kZXggLSBkaXJlY3Rpb247XG4gIGNvbnN0IGFkamFjZW50UG9pbnQgPSBMaW5lYXJFbGVtZW50RWRpdG9yLmdldFBvaW50QXRJbmRleEdsb2JhbENvb3JkaW5hdGVzKFxuICAgIGxpbmVhckVsZW1lbnQsXG4gICAgYWRqYWNlbnRQb2ludEluZGV4LFxuICApO1xuICBjb25zdCBmb2N1c1BvaW50QWJzb2x1dGUgPSBkZXRlcm1pbmVGb2N1c1BvaW50KFxuICAgIGJpbmRpbmdFbGVtZW50LFxuICAgIGJpbmRpbmcuZm9jdXMsXG4gICAgYWRqYWNlbnRQb2ludCxcbiAgKTtcbiAgbGV0IG5ld0VkZ2VQb2ludDtcbiAgLy8gVGhlIGxpbmVhciBlbGVtZW50IHdhcyBub3Qgb3JpZ2luYWxseSBwb2ludGluZyBpbnNpZGUgdGhlIGJvdW5kIHNoYXBlLFxuICAvLyB3ZSBjYW4gcG9pbnQgZGlyZWN0bHkgYXQgdGhlIGZvY3VzIHBvaW50XG4gIGlmIChiaW5kaW5nLmdhcCA9PT0gMCkge1xuICAgIG5ld0VkZ2VQb2ludCA9IGZvY3VzUG9pbnRBYnNvbHV0ZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBpbnRlcnNlY3Rpb25zID0gaW50ZXJzZWN0RWxlbWVudFdpdGhMaW5lKFxuICAgICAgYmluZGluZ0VsZW1lbnQsXG4gICAgICBhZGphY2VudFBvaW50LFxuICAgICAgZm9jdXNQb2ludEFic29sdXRlLFxuICAgICAgYmluZGluZy5nYXAsXG4gICAgKTtcbiAgICBpZiAoaW50ZXJzZWN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbiwgc2luY2UgZm9jdXNQb2ludCBzaG91bGQgYWx3YXlzIGJlXG4gICAgICAvLyBpbnNpZGUgdGhlIGVsZW1lbnQsIGJ1dCBqdXN0IGluIGNhc2UsIGJhaWwgb3V0XG4gICAgICBuZXdFZGdlUG9pbnQgPSBmb2N1c1BvaW50QWJzb2x1dGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEd1YXJhbnRlZWQgdG8gaW50ZXJzZWN0IGJlY2F1c2UgZm9jdXNQb2ludCBpcyBhbHdheXMgaW5zaWRlIHRoZSBzaGFwZVxuICAgICAgbmV3RWRnZVBvaW50ID0gaW50ZXJzZWN0aW9uc1swXTtcbiAgICB9XG4gIH1cbiAgTGluZWFyRWxlbWVudEVkaXRvci5tb3ZlUG9pbnRzKFxuICAgIGxpbmVhckVsZW1lbnQsXG4gICAgW1xuICAgICAge1xuICAgICAgICBpbmRleDogZWRnZVBvaW50SW5kZXgsXG4gICAgICAgIHBvaW50OiBMaW5lYXJFbGVtZW50RWRpdG9yLnBvaW50RnJvbUFic29sdXRlQ29vcmRzKFxuICAgICAgICAgIGxpbmVhckVsZW1lbnQsXG4gICAgICAgICAgbmV3RWRnZVBvaW50LFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHsgW3N0YXJ0T3JFbmQgPT09IFwic3RhcnRcIiA/IFwic3RhcnRCaW5kaW5nXCIgOiBcImVuZEJpbmRpbmdcIl06IGJpbmRpbmcgfSxcbiAgKTtcbn07XG5cbmNvbnN0IG1heWJlQ2FsY3VsYXRlTmV3R2FwV2hlblNjYWxpbmcgPSAoXG4gIGNoYW5nZWRFbGVtZW50OiBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50LFxuICBjdXJyZW50QmluZGluZzogUG9pbnRCaW5kaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgbmV3U2l6ZTogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9IHwgdW5kZWZpbmVkLFxuKTogUG9pbnRCaW5kaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmIChjdXJyZW50QmluZGluZyA9PSBudWxsIHx8IG5ld1NpemUgPT0gbnVsbCkge1xuICAgIHJldHVybiBjdXJyZW50QmluZGluZztcbiAgfVxuICBjb25zdCB7IGdhcCwgZm9jdXMsIGVsZW1lbnRJZCB9ID0gY3VycmVudEJpbmRpbmc7XG4gIGNvbnN0IHsgd2lkdGg6IG5ld1dpZHRoLCBoZWlnaHQ6IG5ld0hlaWdodCB9ID0gbmV3U2l6ZTtcbiAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBjaGFuZ2VkRWxlbWVudDtcbiAgY29uc3QgbmV3R2FwID0gTWF0aC5tYXgoXG4gICAgMSxcbiAgICBNYXRoLm1pbihcbiAgICAgIG1heEJpbmRpbmdHYXAoY2hhbmdlZEVsZW1lbnQsIG5ld1dpZHRoLCBuZXdIZWlnaHQpLFxuICAgICAgZ2FwICogKG5ld1dpZHRoIDwgbmV3SGVpZ2h0ID8gbmV3V2lkdGggLyB3aWR0aCA6IG5ld0hlaWdodCAvIGhlaWdodCksXG4gICAgKSxcbiAgKTtcbiAgcmV0dXJuIHsgZWxlbWVudElkLCBnYXA6IG5ld0dhcCwgZm9jdXMgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbGlnaWJsZUVsZW1lbnRzRm9yQmluZGluZyA9IChcbiAgZWxlbWVudHM6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0VsZW1lbnQ+W10sXG4pOiBTdWdnZXN0ZWRCaW5kaW5nW10gPT4ge1xuICBjb25zdCBpbmNsdWRlZEVsZW1lbnRJZHMgPSBuZXcgU2V0KGVsZW1lbnRzLm1hcCgoeyBpZCB9KSA9PiBpZCkpO1xuICByZXR1cm4gZWxlbWVudHMuZmxhdE1hcCgoZWxlbWVudCkgPT5cbiAgICBpc0JpbmRpbmdFbGVtZW50KGVsZW1lbnQpXG4gICAgICA/IChnZXRFbGxpZ2libGVFbGVtZW50c0ZvckJpbmRpbmdFbGVtZW50KFxuICAgICAgICAgIGVsZW1lbnQgYXMgTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gICAgICAgICkuZmlsdGVyKFxuICAgICAgICAgIChlbGVtZW50KSA9PiAhaW5jbHVkZWRFbGVtZW50SWRzLmhhcyhlbGVtZW50LmlkKSxcbiAgICAgICAgKSBhcyBTdWdnZXN0ZWRCaW5kaW5nW10pXG4gICAgICA6IGlzQmluZGFibGVFbGVtZW50KGVsZW1lbnQpXG4gICAgICA/IGdldEVsbGlnaWJsZUVsZW1lbnRzRm9yQmluZGFibGVFbGVtZW50QW5kV2hlcmUoZWxlbWVudCkuZmlsdGVyKFxuICAgICAgICAgIChiaW5kaW5nKSA9PiAhaW5jbHVkZWRFbGVtZW50SWRzLmhhcyhiaW5kaW5nWzBdLmlkKSxcbiAgICAgICAgKVxuICAgICAgOiBbXSxcbiAgKTtcbn07XG5cbmNvbnN0IGdldEVsbGlnaWJsZUVsZW1lbnRzRm9yQmluZGluZ0VsZW1lbnQgPSAoXG4gIGxpbmVhckVsZW1lbnQ6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0xpbmVhckVsZW1lbnQ+LFxuKTogTm9uRGVsZXRlZDxFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50PltdID0+IHtcbiAgcmV0dXJuIFtcbiAgICBnZXRFbGxpZ2libGVFbGVtZW50Rm9yQmluZGluZ0VsZW1lbnQobGluZWFyRWxlbWVudCwgXCJzdGFydFwiKSxcbiAgICBnZXRFbGxpZ2libGVFbGVtZW50Rm9yQmluZGluZ0VsZW1lbnQobGluZWFyRWxlbWVudCwgXCJlbmRcIiksXG4gIF0uZmlsdGVyKFxuICAgIChlbGVtZW50KTogZWxlbWVudCBpcyBOb25EZWxldGVkPEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQ+ID0+XG4gICAgICBlbGVtZW50ICE9IG51bGwsXG4gICk7XG59O1xuXG5jb25zdCBnZXRFbGxpZ2libGVFbGVtZW50Rm9yQmluZGluZ0VsZW1lbnQgPSAoXG4gIGxpbmVhckVsZW1lbnQ6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0xpbmVhckVsZW1lbnQ+LFxuICBzdGFydE9yRW5kOiBcInN0YXJ0XCIgfCBcImVuZFwiLFxuKTogTm9uRGVsZXRlZDxFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50PiB8IG51bGwgPT4ge1xuICByZXR1cm4gZ2V0SG92ZXJlZEVsZW1lbnRGb3JCaW5kaW5nKFxuICAgIGdldExpbmVhckVsZW1lbnRFZGdlQ29vcnMobGluZWFyRWxlbWVudCwgc3RhcnRPckVuZCksXG4gICAgU2NlbmUuZ2V0U2NlbmUobGluZWFyRWxlbWVudCkhLFxuICApO1xufTtcblxuY29uc3QgZ2V0TGluZWFyRWxlbWVudEVkZ2VDb29ycyA9IChcbiAgbGluZWFyRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIHN0YXJ0T3JFbmQ6IFwic3RhcnRcIiB8IFwiZW5kXCIsXG4pOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0gPT4ge1xuICBjb25zdCBpbmRleCA9IHN0YXJ0T3JFbmQgPT09IFwic3RhcnRcIiA/IDAgOiAtMTtcbiAgcmV0dXJuIHR1cGxlVG9Db29ycyhcbiAgICBMaW5lYXJFbGVtZW50RWRpdG9yLmdldFBvaW50QXRJbmRleEdsb2JhbENvb3JkaW5hdGVzKGxpbmVhckVsZW1lbnQsIGluZGV4KSxcbiAgKTtcbn07XG5cbmNvbnN0IGdldEVsbGlnaWJsZUVsZW1lbnRzRm9yQmluZGFibGVFbGVtZW50QW5kV2hlcmUgPSAoXG4gIGJpbmRhYmxlRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50Pixcbik6IFN1Z2dlc3RlZFBvaW50QmluZGluZ1tdID0+IHtcbiAgcmV0dXJuIFNjZW5lLmdldFNjZW5lKGJpbmRhYmxlRWxlbWVudCkhXG4gICAgLmdldEVsZW1lbnRzKClcbiAgICAubWFwKChlbGVtZW50KSA9PiB7XG4gICAgICBpZiAoIWlzQmluZGluZ0VsZW1lbnQoZWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBjYW5CaW5kU3RhcnQgPSBpc0xpbmVhckVsZW1lbnRFbGlnaWJsZUZvck5ld0JpbmRpbmdCeUJpbmRhYmxlKFxuICAgICAgICBlbGVtZW50LFxuICAgICAgICBcInN0YXJ0XCIsXG4gICAgICAgIGJpbmRhYmxlRWxlbWVudCxcbiAgICAgICk7XG4gICAgICBjb25zdCBjYW5CaW5kRW5kID0gaXNMaW5lYXJFbGVtZW50RWxpZ2libGVGb3JOZXdCaW5kaW5nQnlCaW5kYWJsZShcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgXCJlbmRcIixcbiAgICAgICAgYmluZGFibGVFbGVtZW50LFxuICAgICAgKTtcbiAgICAgIGlmICghY2FuQmluZFN0YXJ0ICYmICFjYW5CaW5kRW5kKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgY2FuQmluZFN0YXJ0ICYmIGNhbkJpbmRFbmQgPyBcImJvdGhcIiA6IGNhbkJpbmRTdGFydCA/IFwic3RhcnRcIiA6IFwiZW5kXCIsXG4gICAgICAgIGJpbmRhYmxlRWxlbWVudCxcbiAgICAgIF07XG4gICAgfSlcbiAgICAuZmlsdGVyKChtYXliZUVsZW1lbnQpID0+IG1heWJlRWxlbWVudCAhPSBudWxsKSBhcyBTdWdnZXN0ZWRQb2ludEJpbmRpbmdbXTtcbn07XG5cbmNvbnN0IGlzTGluZWFyRWxlbWVudEVsaWdpYmxlRm9yTmV3QmluZGluZ0J5QmluZGFibGUgPSAoXG4gIGxpbmVhckVsZW1lbnQ6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0xpbmVhckVsZW1lbnQ+LFxuICBzdGFydE9yRW5kOiBcInN0YXJ0XCIgfCBcImVuZFwiLFxuICBiaW5kYWJsZUVsZW1lbnQ6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudD4sXG4pOiBib29sZWFuID0+IHtcbiAgY29uc3QgZXhpc3RpbmdCaW5kaW5nID1cbiAgICBsaW5lYXJFbGVtZW50W3N0YXJ0T3JFbmQgPT09IFwic3RhcnRcIiA/IFwic3RhcnRCaW5kaW5nXCIgOiBcImVuZEJpbmRpbmdcIl07XG4gIHJldHVybiAoXG4gICAgZXhpc3RpbmdCaW5kaW5nID09IG51bGwgJiZcbiAgICAhaXNMaW5lYXJFbGVtZW50U2ltcGxlQW5kQWxyZWFkeUJvdW5kT25PcHBvc2l0ZUVkZ2UoXG4gICAgICBsaW5lYXJFbGVtZW50LFxuICAgICAgYmluZGFibGVFbGVtZW50LFxuICAgICAgc3RhcnRPckVuZCxcbiAgICApICYmXG4gICAgYmluZGluZ0JvcmRlclRlc3QoXG4gICAgICBiaW5kYWJsZUVsZW1lbnQsXG4gICAgICBnZXRMaW5lYXJFbGVtZW50RWRnZUNvb3JzKGxpbmVhckVsZW1lbnQsIHN0YXJ0T3JFbmQpLFxuICAgIClcbiAgKTtcbn07XG5cbi8vIFdlIG5lZWQgdG86XG4vLyAxOiBVcGRhdGUgZWxlbWVudHMgbm90IHNlbGVjdGVkIHRvIHBvaW50IHRvIGR1cGxpY2F0ZWQgZWxlbWVudHNcbi8vIDI6IFVwZGF0ZSBkdXBsaWNhdGVkIGVsZW1lbnRzIHRvIHBvaW50IHRvIG90aGVyIGR1cGxpY2F0ZWQgZWxlbWVudHNcbmV4cG9ydCBjb25zdCBmaXhCaW5kaW5nc0FmdGVyRHVwbGljYXRpb24gPSAoXG4gIHNjZW5lRWxlbWVudHM6IHJlYWRvbmx5IEV4Y2FsaWRyYXdFbGVtZW50W10sXG4gIG9sZEVsZW1lbnRzOiByZWFkb25seSBFeGNhbGlkcmF3RWxlbWVudFtdLFxuICBvbGRJZFRvRHVwbGljYXRlZElkOiBNYXA8RXhjYWxpZHJhd0VsZW1lbnRbXCJpZFwiXSwgRXhjYWxpZHJhd0VsZW1lbnRbXCJpZFwiXT4sXG4gIC8vIFRoZXJlIGFyZSB0aHJlZSBjb3B5aW5nIG1lY2hhbmlzbXM6IENvcHktcGFzdGUsIGR1cGxpY2F0aW9uIGFuZCBhbHQtZHJhZy5cbiAgLy8gT25seSB3aGVuIGFsdC1kcmFnZ2luZyB0aGUgbmV3IFwiZHVwbGljYXRlc1wiIGFjdCBhcyB0aGUgXCJvbGRcIiwgd2hpbGVcbiAgLy8gdGhlIFwib2xkXCIgZWxlbWVudHMgYWN0IGFzIHRoZSBcIm5ldyBjb3B5XCIgLSBlc3NlbnRpYWxseSB3b3JraW5nIHJldmVyc2VcbiAgLy8gdG8gdGhlIG90aGVyIHR3by5cbiAgZHVwbGljYXRlc1NlcnZlQXNPbGQ/OiBcImR1cGxpY2F0ZXNTZXJ2ZUFzT2xkXCIgfCB1bmRlZmluZWQsXG4pOiB2b2lkID0+IHtcbiAgLy8gRmlyc3QgY29sbGVjdCBhbGwgdGhlIGJpbmRpbmcvYmluZGFibGUgZWxlbWVudHMsIHNvIHdlIG9ubHkgdXBkYXRlXG4gIC8vIGVhY2ggb25jZSwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZXkgd2VyZSBkdXBsaWNhdGVkIG9yIG5vdC5cbiAgY29uc3QgYWxsQm91bmRFbGVtZW50SWRzOiBTZXQ8RXhjYWxpZHJhd0VsZW1lbnRbXCJpZFwiXT4gPSBuZXcgU2V0KCk7XG4gIGNvbnN0IGFsbEJpbmRhYmxlRWxlbWVudElkczogU2V0PEV4Y2FsaWRyYXdFbGVtZW50W1wiaWRcIl0+ID0gbmV3IFNldCgpO1xuICBjb25zdCBzaG91bGRSZXZlcnNlUm9sZXMgPSBkdXBsaWNhdGVzU2VydmVBc09sZCA9PT0gXCJkdXBsaWNhdGVzU2VydmVBc09sZFwiO1xuICBvbGRFbGVtZW50cy5mb3JFYWNoKChvbGRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyBib3VuZEVsZW1lbnRJZHMgfSA9IG9sZEVsZW1lbnQ7XG4gICAgaWYgKGJvdW5kRWxlbWVudElkcyAhPSBudWxsICYmIGJvdW5kRWxlbWVudElkcy5sZW5ndGggPiAwKSB7XG4gICAgICBib3VuZEVsZW1lbnRJZHMuZm9yRWFjaCgoYm91bmRFbGVtZW50SWQpID0+IHtcbiAgICAgICAgaWYgKHNob3VsZFJldmVyc2VSb2xlcyAmJiAhb2xkSWRUb0R1cGxpY2F0ZWRJZC5oYXMoYm91bmRFbGVtZW50SWQpKSB7XG4gICAgICAgICAgYWxsQm91bmRFbGVtZW50SWRzLmFkZChib3VuZEVsZW1lbnRJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgYWxsQmluZGFibGVFbGVtZW50SWRzLmFkZChvbGRJZFRvRHVwbGljYXRlZElkLmdldChvbGRFbGVtZW50LmlkKSEpO1xuICAgIH1cbiAgICBpZiAoaXNCaW5kaW5nRWxlbWVudChvbGRFbGVtZW50KSkge1xuICAgICAgaWYgKG9sZEVsZW1lbnQuc3RhcnRCaW5kaW5nICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgeyBlbGVtZW50SWQgfSA9IG9sZEVsZW1lbnQuc3RhcnRCaW5kaW5nO1xuICAgICAgICBpZiAoc2hvdWxkUmV2ZXJzZVJvbGVzICYmICFvbGRJZFRvRHVwbGljYXRlZElkLmhhcyhlbGVtZW50SWQpKSB7XG4gICAgICAgICAgYWxsQmluZGFibGVFbGVtZW50SWRzLmFkZChlbGVtZW50SWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAob2xkRWxlbWVudC5lbmRCaW5kaW5nICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgeyBlbGVtZW50SWQgfSA9IG9sZEVsZW1lbnQuZW5kQmluZGluZztcbiAgICAgICAgaWYgKHNob3VsZFJldmVyc2VSb2xlcyAmJiAhb2xkSWRUb0R1cGxpY2F0ZWRJZC5oYXMoZWxlbWVudElkKSkge1xuICAgICAgICAgIGFsbEJpbmRhYmxlRWxlbWVudElkcy5hZGQoZWxlbWVudElkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG9sZEVsZW1lbnQuc3RhcnRCaW5kaW5nICE9IG51bGwgfHwgb2xkRWxlbWVudC5lbmRCaW5kaW5nICE9IG51bGwpIHtcbiAgICAgICAgYWxsQm91bmRFbGVtZW50SWRzLmFkZChvbGRJZFRvRHVwbGljYXRlZElkLmdldChvbGRFbGVtZW50LmlkKSEpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgLy8gVXBkYXRlIHRoZSBsaW5lYXIgZWxlbWVudHNcbiAgKFxuICAgIHNjZW5lRWxlbWVudHMuZmlsdGVyKCh7IGlkIH0pID0+XG4gICAgICBhbGxCb3VuZEVsZW1lbnRJZHMuaGFzKGlkKSxcbiAgICApIGFzIEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50W11cbiAgKS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyBzdGFydEJpbmRpbmcsIGVuZEJpbmRpbmcgfSA9IGVsZW1lbnQ7XG4gICAgbXV0YXRlRWxlbWVudChlbGVtZW50LCB7XG4gICAgICBzdGFydEJpbmRpbmc6IG5ld0JpbmRpbmdBZnRlckR1cGxpY2F0aW9uKFxuICAgICAgICBzdGFydEJpbmRpbmcsXG4gICAgICAgIG9sZElkVG9EdXBsaWNhdGVkSWQsXG4gICAgICApLFxuICAgICAgZW5kQmluZGluZzogbmV3QmluZGluZ0FmdGVyRHVwbGljYXRpb24oZW5kQmluZGluZywgb2xkSWRUb0R1cGxpY2F0ZWRJZCksXG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIFVwZGF0ZSB0aGUgYmluZGFibGUgc2hhcGVzXG4gIHNjZW5lRWxlbWVudHNcbiAgICAuZmlsdGVyKCh7IGlkIH0pID0+IGFsbEJpbmRhYmxlRWxlbWVudElkcy5oYXMoaWQpKVxuICAgIC5mb3JFYWNoKChiaW5kYWJsZUVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHsgYm91bmRFbGVtZW50SWRzIH0gPSBiaW5kYWJsZUVsZW1lbnQ7XG4gICAgICBpZiAoYm91bmRFbGVtZW50SWRzICE9IG51bGwgJiYgYm91bmRFbGVtZW50SWRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbXV0YXRlRWxlbWVudChiaW5kYWJsZUVsZW1lbnQsIHtcbiAgICAgICAgICBib3VuZEVsZW1lbnRJZHM6IGJvdW5kRWxlbWVudElkcy5tYXAoXG4gICAgICAgICAgICAoYm91bmRFbGVtZW50SWQpID0+XG4gICAgICAgICAgICAgIG9sZElkVG9EdXBsaWNhdGVkSWQuZ2V0KGJvdW5kRWxlbWVudElkKSA/PyBib3VuZEVsZW1lbnRJZCxcbiAgICAgICAgICApLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbn07XG5cbmNvbnN0IG5ld0JpbmRpbmdBZnRlckR1cGxpY2F0aW9uID0gKFxuICBiaW5kaW5nOiBQb2ludEJpbmRpbmcgfCBudWxsLFxuICBvbGRJZFRvRHVwbGljYXRlZElkOiBNYXA8RXhjYWxpZHJhd0VsZW1lbnRbXCJpZFwiXSwgRXhjYWxpZHJhd0VsZW1lbnRbXCJpZFwiXT4sXG4pOiBQb2ludEJpbmRpbmcgfCBudWxsID0+IHtcbiAgaWYgKGJpbmRpbmcgPT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHsgZWxlbWVudElkLCBmb2N1cywgZ2FwIH0gPSBiaW5kaW5nO1xuICByZXR1cm4ge1xuICAgIGZvY3VzLFxuICAgIGdhcCxcbiAgICBlbGVtZW50SWQ6IG9sZElkVG9EdXBsaWNhdGVkSWQuZ2V0KGVsZW1lbnRJZCkgPz8gZWxlbWVudElkLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGZpeEJpbmRpbmdzQWZ0ZXJEZWxldGlvbiA9IChcbiAgc2NlbmVFbGVtZW50czogcmVhZG9ubHkgRXhjYWxpZHJhd0VsZW1lbnRbXSxcbiAgZGVsZXRlZEVsZW1lbnRzOiByZWFkb25seSBFeGNhbGlkcmF3RWxlbWVudFtdLFxuKTogdm9pZCA9PiB7XG4gIGNvbnN0IGRlbGV0ZWRFbGVtZW50SWRzID0gbmV3IFNldChcbiAgICBkZWxldGVkRWxlbWVudHMubWFwKChlbGVtZW50KSA9PiBlbGVtZW50LmlkKSxcbiAgKTtcbiAgLy8gTm9uIGRlbGV0ZWQgYW5kIG5lZWQgYW4gdXBkYXRlXG4gIGNvbnN0IGJvdW5kRWxlbWVudElkczogU2V0PEV4Y2FsaWRyYXdFbGVtZW50W1wiaWRcIl0+ID0gbmV3IFNldCgpO1xuICBkZWxldGVkRWxlbWVudHMuZm9yRWFjaCgoZGVsZXRlZEVsZW1lbnQpID0+IHtcbiAgICBpZiAoaXNCaW5kYWJsZUVsZW1lbnQoZGVsZXRlZEVsZW1lbnQpKSB7XG4gICAgICBkZWxldGVkRWxlbWVudC5ib3VuZEVsZW1lbnRJZHM/LmZvckVhY2goKGlkKSA9PiB7XG4gICAgICAgIGlmICghZGVsZXRlZEVsZW1lbnRJZHMuaGFzKGlkKSkge1xuICAgICAgICAgIGJvdW5kRWxlbWVudElkcy5hZGQoaWQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuICAoXG4gICAgc2NlbmVFbGVtZW50cy5maWx0ZXIoKHsgaWQgfSkgPT5cbiAgICAgIGJvdW5kRWxlbWVudElkcy5oYXMoaWQpLFxuICAgICkgYXMgRXhjYWxpZHJhd0xpbmVhckVsZW1lbnRbXVxuICApLmZvckVhY2goKGVsZW1lbnQ6IEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyBzdGFydEJpbmRpbmcsIGVuZEJpbmRpbmcgfSA9IGVsZW1lbnQ7XG4gICAgbXV0YXRlRWxlbWVudChlbGVtZW50LCB7XG4gICAgICBzdGFydEJpbmRpbmc6IG5ld0JpbmRpbmdBZnRlckRlbGV0aW9uKHN0YXJ0QmluZGluZywgZGVsZXRlZEVsZW1lbnRJZHMpLFxuICAgICAgZW5kQmluZGluZzogbmV3QmluZGluZ0FmdGVyRGVsZXRpb24oZW5kQmluZGluZywgZGVsZXRlZEVsZW1lbnRJZHMpLFxuICAgIH0pO1xuICB9KTtcbn07XG5cbmNvbnN0IG5ld0JpbmRpbmdBZnRlckRlbGV0aW9uID0gKFxuICBiaW5kaW5nOiBQb2ludEJpbmRpbmcgfCBudWxsLFxuICBkZWxldGVkRWxlbWVudElkczogU2V0PEV4Y2FsaWRyYXdFbGVtZW50W1wiaWRcIl0+LFxuKTogUG9pbnRCaW5kaW5nIHwgbnVsbCA9PiB7XG4gIGlmIChiaW5kaW5nID09IG51bGwgfHwgZGVsZXRlZEVsZW1lbnRJZHMuaGFzKGJpbmRpbmcuZWxlbWVudElkKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBiaW5kaW5nO1xufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../element/binding.ts\n");
|
|
2189
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"shouldEnableBindingForPointerEvent\": () => (/* binding */ shouldEnableBindingForPointerEvent),\n/* harmony export */ \"isBindingEnabled\": () => (/* binding */ isBindingEnabled),\n/* harmony export */ \"bindOrUnbindLinearElement\": () => (/* binding */ bindOrUnbindLinearElement),\n/* harmony export */ \"bindOrUnbindSelectedElements\": () => (/* binding */ bindOrUnbindSelectedElements),\n/* harmony export */ \"maybeBindLinearElement\": () => (/* binding */ maybeBindLinearElement),\n/* harmony export */ \"isLinearElementSimpleAndAlreadyBound\": () => (/* binding */ isLinearElementSimpleAndAlreadyBound),\n/* harmony export */ \"unbindLinearElements\": () => (/* binding */ unbindLinearElements),\n/* harmony export */ \"getHoveredElementForBinding\": () => (/* binding */ getHoveredElementForBinding),\n/* harmony export */ \"updateBoundElements\": () => (/* binding */ updateBoundElements),\n/* harmony export */ \"getEligibleElementsForBinding\": () => (/* binding */ getEligibleElementsForBinding),\n/* harmony export */ \"fixBindingsAfterDuplication\": () => (/* binding */ fixBindingsAfterDuplication),\n/* harmony export */ \"fixBindingsAfterDeletion\": () => (/* binding */ fixBindingsAfterDeletion)\n/* harmony export */ });\n/* harmony import */ var _scene__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../scene */ \"../../scene/index.ts\");\n/* harmony import */ var _typeChecks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./typeChecks */ \"../../element/typeChecks.ts\");\n/* harmony import */ var _collision__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./collision */ \"../../element/collision.ts\");\n/* harmony import */ var _mutateElement__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mutateElement */ \"../../element/mutateElement.ts\");\n/* harmony import */ var _scene_Scene__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../scene/Scene */ \"../../scene/Scene.ts\");\n/* harmony import */ var _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./linearElementEditor */ \"../../element/linearElementEditor.ts\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils */ \"../../utils.ts\");\n/* harmony import */ var _keys__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../keys */ \"../../keys.ts\");\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst shouldEnableBindingForPointerEvent = (event) => {\r\n return !event[_keys__WEBPACK_IMPORTED_MODULE_7__.KEYS.CTRL_OR_CMD];\r\n};\r\nconst isBindingEnabled = (appState) => {\r\n return appState.isBindingEnabled;\r\n};\r\nconst bindOrUnbindLinearElement = (linearElement, startBindingElement, endBindingElement) => {\r\n const boundToElementIds = new Set();\r\n const unboundFromElementIds = new Set();\r\n bindOrUnbindLinearElementEdge(linearElement, startBindingElement, endBindingElement, \"start\", boundToElementIds, unboundFromElementIds);\r\n bindOrUnbindLinearElementEdge(linearElement, endBindingElement, startBindingElement, \"end\", boundToElementIds, unboundFromElementIds);\r\n const onlyUnbound = Array.from(unboundFromElementIds).filter((id) => !boundToElementIds.has(id));\r\n _scene_Scene__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getScene(linearElement)\r\n .getNonDeletedElements(onlyUnbound)\r\n .forEach((element) => {\r\n var _a;\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(element, {\r\n boundElements: (_a = element.boundElements) === null || _a === void 0 ? void 0 : _a.filter((element) => element.type !== \"arrow\" || element.id !== linearElement.id),\r\n });\r\n });\r\n};\r\nconst bindOrUnbindLinearElementEdge = (linearElement, bindableElement, otherEdgeBindableElement, startOrEnd, \r\n// Is mutated\r\nboundToElementIds, \r\n// Is mutated\r\nunboundFromElementIds) => {\r\n if (bindableElement !== \"keep\") {\r\n if (bindableElement != null) {\r\n // Don't bind if we're trying to bind or are already bound to the same\r\n // element on the other edge already (\"start\" edge takes precedence).\r\n if (otherEdgeBindableElement == null ||\r\n (otherEdgeBindableElement === \"keep\"\r\n ? !isLinearElementSimpleAndAlreadyBoundOnOppositeEdge(linearElement, bindableElement, startOrEnd)\r\n : startOrEnd === \"start\" ||\r\n otherEdgeBindableElement.id !== bindableElement.id)) {\r\n bindLinearElement(linearElement, bindableElement, startOrEnd);\r\n boundToElementIds.add(bindableElement.id);\r\n }\r\n }\r\n else {\r\n const unbound = unbindLinearElement(linearElement, startOrEnd);\r\n if (unbound != null) {\r\n unboundFromElementIds.add(unbound);\r\n }\r\n }\r\n }\r\n};\r\nconst bindOrUnbindSelectedElements = (elements) => {\r\n elements.forEach((element) => {\r\n if ((0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindingElement)(element)) {\r\n bindOrUnbindLinearElement(element, getElligibleElementForBindingElement(element, \"start\"), getElligibleElementForBindingElement(element, \"end\"));\r\n }\r\n else if ((0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindableElement)(element)) {\r\n maybeBindBindableElement(element);\r\n }\r\n });\r\n};\r\nconst maybeBindBindableElement = (bindableElement) => {\r\n getElligibleElementsForBindableElementAndWhere(bindableElement).forEach(([linearElement, where]) => bindOrUnbindLinearElement(linearElement, where === \"end\" ? \"keep\" : bindableElement, where === \"start\" ? \"keep\" : bindableElement));\r\n};\r\nconst maybeBindLinearElement = (linearElement, appState, scene, pointerCoords) => {\r\n if (appState.startBoundElement != null) {\r\n bindLinearElement(linearElement, appState.startBoundElement, \"start\");\r\n }\r\n const hoveredElement = getHoveredElementForBinding(pointerCoords, scene);\r\n if (hoveredElement != null &&\r\n !isLinearElementSimpleAndAlreadyBoundOnOppositeEdge(linearElement, hoveredElement, \"end\")) {\r\n bindLinearElement(linearElement, hoveredElement, \"end\");\r\n }\r\n};\r\nconst bindLinearElement = (linearElement, hoveredElement, startOrEnd) => {\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(linearElement, {\r\n [startOrEnd === \"start\" ? \"startBinding\" : \"endBinding\"]: Object.assign({ elementId: hoveredElement.id }, calculateFocusAndGap(linearElement, hoveredElement, startOrEnd)),\r\n });\r\n const boundElementsMap = (0,_utils__WEBPACK_IMPORTED_MODULE_6__.arrayToMap)(hoveredElement.boundElements || []);\r\n if (!boundElementsMap.has(linearElement.id)) {\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(hoveredElement, {\r\n boundElements: (hoveredElement.boundElements || []).concat({\r\n id: linearElement.id,\r\n type: \"arrow\",\r\n }),\r\n });\r\n }\r\n};\r\n// Don't bind both ends of a simple segment\r\nconst isLinearElementSimpleAndAlreadyBoundOnOppositeEdge = (linearElement, bindableElement, startOrEnd) => {\r\n const otherBinding = linearElement[startOrEnd === \"start\" ? \"endBinding\" : \"startBinding\"];\r\n return isLinearElementSimpleAndAlreadyBound(linearElement, otherBinding === null || otherBinding === void 0 ? void 0 : otherBinding.elementId, bindableElement);\r\n};\r\nconst isLinearElementSimpleAndAlreadyBound = (linearElement, alreadyBoundToId, bindableElement) => {\r\n return (alreadyBoundToId === bindableElement.id && linearElement.points.length < 3);\r\n};\r\nconst unbindLinearElements = (elements) => {\r\n elements.forEach((element) => {\r\n if ((0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindingElement)(element)) {\r\n bindOrUnbindLinearElement(element, null, null);\r\n }\r\n });\r\n};\r\nconst unbindLinearElement = (linearElement, startOrEnd) => {\r\n const field = startOrEnd === \"start\" ? \"startBinding\" : \"endBinding\";\r\n const binding = linearElement[field];\r\n if (binding == null) {\r\n return null;\r\n }\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(linearElement, { [field]: null });\r\n return binding.elementId;\r\n};\r\nconst getHoveredElementForBinding = (pointerCoords, scene) => {\r\n const hoveredElement = (0,_scene__WEBPACK_IMPORTED_MODULE_0__.getElementAtPosition)(scene.getElements(), (element) => (0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindableElement)(element) && (0,_collision__WEBPACK_IMPORTED_MODULE_2__.bindingBorderTest)(element, pointerCoords));\r\n return hoveredElement;\r\n};\r\nconst calculateFocusAndGap = (linearElement, hoveredElement, startOrEnd) => {\r\n const direction = startOrEnd === \"start\" ? -1 : 1;\r\n const edgePointIndex = direction === -1 ? 0 : linearElement.points.length - 1;\r\n const adjacentPointIndex = edgePointIndex - direction;\r\n const edgePoint = _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.getPointAtIndexGlobalCoordinates(linearElement, edgePointIndex);\r\n const adjacentPoint = _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.getPointAtIndexGlobalCoordinates(linearElement, adjacentPointIndex);\r\n return {\r\n focus: (0,_collision__WEBPACK_IMPORTED_MODULE_2__.determineFocusDistance)(hoveredElement, adjacentPoint, edgePoint),\r\n gap: Math.max(1, (0,_collision__WEBPACK_IMPORTED_MODULE_2__.distanceToBindableElement)(hoveredElement, edgePoint)),\r\n };\r\n};\r\n// Supports translating, rotating and scaling `changedElement` with bound\r\n// linear elements.\r\n// Because scaling involves moving the focus points as well, it is\r\n// done before the `changedElement` is updated, and the `newSize` is passed\r\n// in explicitly.\r\nconst updateBoundElements = (changedElement, options) => {\r\n var _a;\r\n const boundLinearElements = ((_a = changedElement.boundElements) !== null && _a !== void 0 ? _a : []).filter((el) => el.type === \"arrow\");\r\n if (boundLinearElements.length === 0) {\r\n return;\r\n }\r\n const { newSize, simultaneouslyUpdated } = options !== null && options !== void 0 ? options : {};\r\n const simultaneouslyUpdatedElementIds = getSimultaneouslyUpdatedElementIds(simultaneouslyUpdated);\r\n _scene_Scene__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getScene(changedElement)\r\n .getNonDeletedElements(boundLinearElements.map((el) => el.id))\r\n .forEach((element) => {\r\n if (!(0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isLinearElement)(element)) {\r\n return;\r\n }\r\n const bindableElement = changedElement;\r\n // In case the boundElements are stale\r\n if (!doesNeedUpdate(element, bindableElement)) {\r\n return;\r\n }\r\n const startBinding = maybeCalculateNewGapWhenScaling(bindableElement, element.startBinding, newSize);\r\n const endBinding = maybeCalculateNewGapWhenScaling(bindableElement, element.endBinding, newSize);\r\n // `linearElement` is being moved/scaled already, just update the binding\r\n if (simultaneouslyUpdatedElementIds.has(element.id)) {\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(element, { startBinding, endBinding });\r\n return;\r\n }\r\n updateBoundPoint(element, \"start\", startBinding, changedElement);\r\n updateBoundPoint(element, \"end\", endBinding, changedElement);\r\n });\r\n};\r\nconst doesNeedUpdate = (boundElement, changedElement) => {\r\n var _a, _b;\r\n return (((_a = boundElement.startBinding) === null || _a === void 0 ? void 0 : _a.elementId) === changedElement.id ||\r\n ((_b = boundElement.endBinding) === null || _b === void 0 ? void 0 : _b.elementId) === changedElement.id);\r\n};\r\nconst getSimultaneouslyUpdatedElementIds = (simultaneouslyUpdated) => {\r\n return new Set((simultaneouslyUpdated || []).map((element) => element.id));\r\n};\r\nconst updateBoundPoint = (linearElement, startOrEnd, binding, changedElement) => {\r\n if (binding == null ||\r\n // We only need to update the other end if this is a 2 point line element\r\n (binding.elementId !== changedElement.id && linearElement.points.length > 2)) {\r\n return;\r\n }\r\n const bindingElement = _scene_Scene__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getScene(linearElement).getElement(binding.elementId);\r\n if (bindingElement == null) {\r\n // We're not cleaning up after deleted elements atm., so handle this case\r\n return;\r\n }\r\n const direction = startOrEnd === \"start\" ? -1 : 1;\r\n const edgePointIndex = direction === -1 ? 0 : linearElement.points.length - 1;\r\n const adjacentPointIndex = edgePointIndex - direction;\r\n const adjacentPoint = _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.getPointAtIndexGlobalCoordinates(linearElement, adjacentPointIndex);\r\n const focusPointAbsolute = (0,_collision__WEBPACK_IMPORTED_MODULE_2__.determineFocusPoint)(bindingElement, binding.focus, adjacentPoint);\r\n let newEdgePoint;\r\n // The linear element was not originally pointing inside the bound shape,\r\n // we can point directly at the focus point\r\n if (binding.gap === 0) {\r\n newEdgePoint = focusPointAbsolute;\r\n }\r\n else {\r\n const intersections = (0,_collision__WEBPACK_IMPORTED_MODULE_2__.intersectElementWithLine)(bindingElement, adjacentPoint, focusPointAbsolute, binding.gap);\r\n if (intersections.length === 0) {\r\n // This should never happen, since focusPoint should always be\r\n // inside the element, but just in case, bail out\r\n newEdgePoint = focusPointAbsolute;\r\n }\r\n else {\r\n // Guaranteed to intersect because focusPoint is always inside the shape\r\n newEdgePoint = intersections[0];\r\n }\r\n }\r\n _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.movePoints(linearElement, [\r\n {\r\n index: edgePointIndex,\r\n point: _linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.pointFromAbsoluteCoords(linearElement, newEdgePoint),\r\n },\r\n ], { [startOrEnd === \"start\" ? \"startBinding\" : \"endBinding\"]: binding });\r\n};\r\nconst maybeCalculateNewGapWhenScaling = (changedElement, currentBinding, newSize) => {\r\n if (currentBinding == null || newSize == null) {\r\n return currentBinding;\r\n }\r\n const { gap, focus, elementId } = currentBinding;\r\n const { width: newWidth, height: newHeight } = newSize;\r\n const { width, height } = changedElement;\r\n const newGap = Math.max(1, Math.min((0,_collision__WEBPACK_IMPORTED_MODULE_2__.maxBindingGap)(changedElement, newWidth, newHeight), gap * (newWidth < newHeight ? newWidth / width : newHeight / height)));\r\n return { elementId, gap: newGap, focus };\r\n};\r\nconst getEligibleElementsForBinding = (elements) => {\r\n const includedElementIds = new Set(elements.map(({ id }) => id));\r\n return elements.flatMap((element) => (0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindingElement)(element)\r\n ? getElligibleElementsForBindingElement(element).filter((element) => !includedElementIds.has(element.id))\r\n : (0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindableElement)(element)\r\n ? getElligibleElementsForBindableElementAndWhere(element).filter((binding) => !includedElementIds.has(binding[0].id))\r\n : []);\r\n};\r\nconst getElligibleElementsForBindingElement = (linearElement) => {\r\n return [\r\n getElligibleElementForBindingElement(linearElement, \"start\"),\r\n getElligibleElementForBindingElement(linearElement, \"end\"),\r\n ].filter((element) => element != null);\r\n};\r\nconst getElligibleElementForBindingElement = (linearElement, startOrEnd) => {\r\n return getHoveredElementForBinding(getLinearElementEdgeCoors(linearElement, startOrEnd), _scene_Scene__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getScene(linearElement));\r\n};\r\nconst getLinearElementEdgeCoors = (linearElement, startOrEnd) => {\r\n const index = startOrEnd === \"start\" ? 0 : -1;\r\n return (0,_utils__WEBPACK_IMPORTED_MODULE_6__.tupleToCoors)(_linearElementEditor__WEBPACK_IMPORTED_MODULE_5__.LinearElementEditor.getPointAtIndexGlobalCoordinates(linearElement, index));\r\n};\r\nconst getElligibleElementsForBindableElementAndWhere = (bindableElement) => {\r\n return _scene_Scene__WEBPACK_IMPORTED_MODULE_4__[\"default\"].getScene(bindableElement)\r\n .getElements()\r\n .map((element) => {\r\n if (!(0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindingElement)(element)) {\r\n return null;\r\n }\r\n const canBindStart = isLinearElementEligibleForNewBindingByBindable(element, \"start\", bindableElement);\r\n const canBindEnd = isLinearElementEligibleForNewBindingByBindable(element, \"end\", bindableElement);\r\n if (!canBindStart && !canBindEnd) {\r\n return null;\r\n }\r\n return [\r\n element,\r\n canBindStart && canBindEnd ? \"both\" : canBindStart ? \"start\" : \"end\",\r\n bindableElement,\r\n ];\r\n })\r\n .filter((maybeElement) => maybeElement != null);\r\n};\r\nconst isLinearElementEligibleForNewBindingByBindable = (linearElement, startOrEnd, bindableElement) => {\r\n const existingBinding = linearElement[startOrEnd === \"start\" ? \"startBinding\" : \"endBinding\"];\r\n return (existingBinding == null &&\r\n !isLinearElementSimpleAndAlreadyBoundOnOppositeEdge(linearElement, bindableElement, startOrEnd) &&\r\n (0,_collision__WEBPACK_IMPORTED_MODULE_2__.bindingBorderTest)(bindableElement, getLinearElementEdgeCoors(linearElement, startOrEnd)));\r\n};\r\n// We need to:\r\n// 1: Update elements not selected to point to duplicated elements\r\n// 2: Update duplicated elements to point to other duplicated elements\r\nconst fixBindingsAfterDuplication = (sceneElements, oldElements, oldIdToDuplicatedId, \r\n// There are three copying mechanisms: Copy-paste, duplication and alt-drag.\r\n// Only when alt-dragging the new \"duplicates\" act as the \"old\", while\r\n// the \"old\" elements act as the \"new copy\" - essentially working reverse\r\n// to the other two.\r\nduplicatesServeAsOld) => {\r\n // First collect all the binding/bindable elements, so we only update\r\n // each once, regardless of whether they were duplicated or not.\r\n const allBoundElementIds = new Set();\r\n const allBindableElementIds = new Set();\r\n const shouldReverseRoles = duplicatesServeAsOld === \"duplicatesServeAsOld\";\r\n oldElements.forEach((oldElement) => {\r\n const { boundElements } = oldElement;\r\n if (boundElements != null && boundElements.length > 0) {\r\n boundElements.forEach((boundElement) => {\r\n if (shouldReverseRoles && !oldIdToDuplicatedId.has(boundElement.id)) {\r\n allBoundElementIds.add(boundElement.id);\r\n }\r\n });\r\n allBindableElementIds.add(oldIdToDuplicatedId.get(oldElement.id));\r\n }\r\n if ((0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindingElement)(oldElement)) {\r\n if (oldElement.startBinding != null) {\r\n const { elementId } = oldElement.startBinding;\r\n if (shouldReverseRoles && !oldIdToDuplicatedId.has(elementId)) {\r\n allBindableElementIds.add(elementId);\r\n }\r\n }\r\n if (oldElement.endBinding != null) {\r\n const { elementId } = oldElement.endBinding;\r\n if (shouldReverseRoles && !oldIdToDuplicatedId.has(elementId)) {\r\n allBindableElementIds.add(elementId);\r\n }\r\n }\r\n if (oldElement.startBinding != null || oldElement.endBinding != null) {\r\n allBoundElementIds.add(oldIdToDuplicatedId.get(oldElement.id));\r\n }\r\n }\r\n });\r\n // Update the linear elements\r\n sceneElements.filter(({ id }) => allBoundElementIds.has(id)).forEach((element) => {\r\n const { startBinding, endBinding } = element;\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(element, {\r\n startBinding: newBindingAfterDuplication(startBinding, oldIdToDuplicatedId),\r\n endBinding: newBindingAfterDuplication(endBinding, oldIdToDuplicatedId),\r\n });\r\n });\r\n // Update the bindable shapes\r\n sceneElements\r\n .filter(({ id }) => allBindableElementIds.has(id))\r\n .forEach((bindableElement) => {\r\n const { boundElements } = bindableElement;\r\n if (boundElements != null && boundElements.length > 0) {\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(bindableElement, {\r\n boundElements: boundElements.map((boundElement) => oldIdToDuplicatedId.has(boundElement.id)\r\n ? {\r\n id: oldIdToDuplicatedId.get(boundElement.id),\r\n type: boundElement.type,\r\n }\r\n : boundElement),\r\n });\r\n }\r\n });\r\n};\r\nconst newBindingAfterDuplication = (binding, oldIdToDuplicatedId) => {\r\n var _a;\r\n if (binding == null) {\r\n return null;\r\n }\r\n const { elementId, focus, gap } = binding;\r\n return {\r\n focus,\r\n gap,\r\n elementId: (_a = oldIdToDuplicatedId.get(elementId)) !== null && _a !== void 0 ? _a : elementId,\r\n };\r\n};\r\nconst fixBindingsAfterDeletion = (sceneElements, deletedElements) => {\r\n const deletedElementIds = new Set(deletedElements.map((element) => element.id));\r\n // Non deleted and need an update\r\n const boundElementIds = new Set();\r\n deletedElements.forEach((deletedElement) => {\r\n var _a;\r\n if ((0,_typeChecks__WEBPACK_IMPORTED_MODULE_1__.isBindableElement)(deletedElement)) {\r\n (_a = deletedElement.boundElements) === null || _a === void 0 ? void 0 : _a.forEach((element) => {\r\n if (!deletedElementIds.has(element.id)) {\r\n boundElementIds.add(element.id);\r\n }\r\n });\r\n }\r\n });\r\n sceneElements.filter(({ id }) => boundElementIds.has(id)).forEach((element) => {\r\n const { startBinding, endBinding } = element;\r\n (0,_mutateElement__WEBPACK_IMPORTED_MODULE_3__.mutateElement)(element, {\r\n startBinding: newBindingAfterDeletion(startBinding, deletedElementIds),\r\n endBinding: newBindingAfterDeletion(endBinding, deletedElementIds),\r\n });\r\n });\r\n};\r\nconst newBindingAfterDeletion = (binding, deletedElementIds) => {\r\n if (binding == null || deletedElementIds.has(binding.elementId)) {\r\n return null;\r\n }\r\n return binding;\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQzlCLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBRTFCLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBZ0MsRUFBRSxFQUFFO1FBQzdDLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzdDLDZEQUFhLENBQUMsT0FBTyxFQUFFO1lBQ3JCLFlBQVksRUFBRSx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUM7WUFDdEUsVUFBVSxFQUFFLHVCQUF1QixDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztTQUNuRSxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sdUJBQXVCLEdBQUcsQ0FDOUIsT0FBNEIsRUFDNUIsaUJBQStDLEVBQzFCLEVBQUU7SUFDdkIsSUFBSSxPQUFPLElBQUksSUFBSSxJQUFJLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDL0QsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uLi8uLi9lbGVtZW50L2JpbmRpbmcudHM/YTI2OCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFeGNhbGlkcmF3TGluZWFyRWxlbWVudCxcbiAgRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudCxcbiAgTm9uRGVsZXRlZCxcbiAgTm9uRGVsZXRlZEV4Y2FsaWRyYXdFbGVtZW50LFxuICBQb2ludEJpbmRpbmcsXG4gIEV4Y2FsaWRyYXdFbGVtZW50LFxufSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0RWxlbWVudEF0UG9zaXRpb24gfSBmcm9tIFwiLi4vc2NlbmVcIjtcbmltcG9ydCB7IEFwcFN0YXRlIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQge1xuICBpc0JpbmRhYmxlRWxlbWVudCxcbiAgaXNCaW5kaW5nRWxlbWVudCxcbiAgaXNMaW5lYXJFbGVtZW50LFxufSBmcm9tIFwiLi90eXBlQ2hlY2tzXCI7XG5pbXBvcnQge1xuICBiaW5kaW5nQm9yZGVyVGVzdCxcbiAgZGlzdGFuY2VUb0JpbmRhYmxlRWxlbWVudCxcbiAgbWF4QmluZGluZ0dhcCxcbiAgZGV0ZXJtaW5lRm9jdXNEaXN0YW5jZSxcbiAgaW50ZXJzZWN0RWxlbWVudFdpdGhMaW5lLFxuICBkZXRlcm1pbmVGb2N1c1BvaW50LFxufSBmcm9tIFwiLi9jb2xsaXNpb25cIjtcbmltcG9ydCB7IG11dGF0ZUVsZW1lbnQgfSBmcm9tIFwiLi9tdXRhdGVFbGVtZW50XCI7XG5pbXBvcnQgU2NlbmUgZnJvbSBcIi4uL3NjZW5lL1NjZW5lXCI7XG5pbXBvcnQgeyBMaW5lYXJFbGVtZW50RWRpdG9yIH0gZnJvbSBcIi4vbGluZWFyRWxlbWVudEVkaXRvclwiO1xuaW1wb3J0IHsgYXJyYXlUb01hcCwgdHVwbGVUb0Nvb3JzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBLRVlTIH0gZnJvbSBcIi4uL2tleXNcIjtcblxuZXhwb3J0IHR5cGUgU3VnZ2VzdGVkQmluZGluZyA9XG4gIHwgTm9uRGVsZXRlZDxFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50PlxuICB8IFN1Z2dlc3RlZFBvaW50QmluZGluZztcblxuZXhwb3J0IHR5cGUgU3VnZ2VzdGVkUG9pbnRCaW5kaW5nID0gW1xuICBOb25EZWxldGVkPEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50PixcbiAgXCJzdGFydFwiIHwgXCJlbmRcIiB8IFwiYm90aFwiLFxuICBOb25EZWxldGVkPEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQ+LFxuXTtcblxuZXhwb3J0IGNvbnN0IHNob3VsZEVuYWJsZUJpbmRpbmdGb3JQb2ludGVyRXZlbnQgPSAoXG4gIGV2ZW50OiBSZWFjdC5Qb2ludGVyRXZlbnQ8SFRNTENhbnZhc0VsZW1lbnQ+LFxuKSA9PiB7XG4gIHJldHVybiAhZXZlbnRbS0VZUy5DVFJMX09SX0NNRF07XG59O1xuXG5leHBvcnQgY29uc3QgaXNCaW5kaW5nRW5hYmxlZCA9IChhcHBTdGF0ZTogQXBwU3RhdGUpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIGFwcFN0YXRlLmlzQmluZGluZ0VuYWJsZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgYmluZE9yVW5iaW5kTGluZWFyRWxlbWVudCA9IChcbiAgbGluZWFyRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIHN0YXJ0QmluZGluZ0VsZW1lbnQ6IEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQgfCBudWxsIHwgXCJrZWVwXCIsXG4gIGVuZEJpbmRpbmdFbGVtZW50OiBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50IHwgbnVsbCB8IFwia2VlcFwiLFxuKTogdm9pZCA9PiB7XG4gIGNvbnN0IGJvdW5kVG9FbGVtZW50SWRzOiBTZXQ8RXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudFtcImlkXCJdPiA9IG5ldyBTZXQoKTtcbiAgY29uc3QgdW5ib3VuZEZyb21FbGVtZW50SWRzOiBTZXQ8RXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudFtcImlkXCJdPiA9IG5ldyBTZXQoKTtcbiAgYmluZE9yVW5iaW5kTGluZWFyRWxlbWVudEVkZ2UoXG4gICAgbGluZWFyRWxlbWVudCxcbiAgICBzdGFydEJpbmRpbmdFbGVtZW50LFxuICAgIGVuZEJpbmRpbmdFbGVtZW50LFxuICAgIFwic3RhcnRcIixcbiAgICBib3VuZFRvRWxlbWVudElkcyxcbiAgICB1bmJvdW5kRnJvbUVsZW1lbnRJZHMsXG4gICk7XG4gIGJpbmRPclVuYmluZExpbmVhckVsZW1lbnRFZGdlKFxuICAgIGxpbmVhckVsZW1lbnQsXG4gICAgZW5kQmluZGluZ0VsZW1lbnQsXG4gICAgc3RhcnRCaW5kaW5nRWxlbWVudCxcbiAgICBcImVuZFwiLFxuICAgIGJvdW5kVG9FbGVtZW50SWRzLFxuICAgIHVuYm91bmRGcm9tRWxlbWVudElkcyxcbiAgKTtcblxuICBjb25zdCBvbmx5VW5ib3VuZCA9IEFycmF5LmZyb20odW5ib3VuZEZyb21FbGVtZW50SWRzKS5maWx0ZXIoXG4gICAgKGlkKSA9PiAhYm91bmRUb0VsZW1lbnRJZHMuaGFzKGlkKSxcbiAgKTtcbiAgU2NlbmUuZ2V0U2NlbmUobGluZWFyRWxlbWVudCkhXG4gICAgLmdldE5vbkRlbGV0ZWRFbGVtZW50cyhvbmx5VW5ib3VuZClcbiAgICAuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgbXV0YXRlRWxlbWVudChlbGVtZW50LCB7XG4gICAgICAgIGJvdW5kRWxlbWVudHM6IGVsZW1lbnQuYm91bmRFbGVtZW50cz8uZmlsdGVyKFxuICAgICAgICAgIChlbGVtZW50KSA9PlxuICAgICAgICAgICAgZWxlbWVudC50eXBlICE9PSBcImFycm93XCIgfHwgZWxlbWVudC5pZCAhPT0gbGluZWFyRWxlbWVudC5pZCxcbiAgICAgICAgKSxcbiAgICAgIH0pO1xuICAgIH0pO1xufTtcblxuY29uc3QgYmluZE9yVW5iaW5kTGluZWFyRWxlbWVudEVkZ2UgPSAoXG4gIGxpbmVhckVsZW1lbnQ6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0xpbmVhckVsZW1lbnQ+LFxuICBiaW5kYWJsZUVsZW1lbnQ6IEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQgfCBudWxsIHwgXCJrZWVwXCIsXG4gIG90aGVyRWRnZUJpbmRhYmxlRWxlbWVudDogRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudCB8IG51bGwgfCBcImtlZXBcIixcbiAgc3RhcnRPckVuZDogXCJzdGFydFwiIHwgXCJlbmRcIixcbiAgLy8gSXMgbXV0YXRlZFxuICBib3VuZFRvRWxlbWVudElkczogU2V0PEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnRbXCJpZFwiXT4sXG4gIC8vIElzIG11dGF0ZWRcbiAgdW5ib3VuZEZyb21FbGVtZW50SWRzOiBTZXQ8RXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudFtcImlkXCJdPixcbik6IHZvaWQgPT4ge1xuICBpZiAoYmluZGFibGVFbGVtZW50ICE9PSBcImtlZXBcIikge1xuICAgIGlmIChiaW5kYWJsZUVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgLy8gRG9uJ3QgYmluZCBpZiB3ZSdyZSB0cnlpbmcgdG8gYmluZCBvciBhcmUgYWxyZWFkeSBib3VuZCB0byB0aGUgc2FtZVxuICAgICAgLy8gZWxlbWVudCBvbiB0aGUgb3RoZXIgZWRnZSBhbHJlYWR5IChcInN0YXJ0XCIgZWRnZSB0YWtlcyBwcmVjZWRlbmNlKS5cbiAgICAgIGlmIChcbiAgICAgICAgb3RoZXJFZGdlQmluZGFibGVFbGVtZW50ID09IG51bGwgfHxcbiAgICAgICAgKG90aGVyRWRnZUJpbmRhYmxlRWxlbWVudCA9PT0gXCJrZWVwXCJcbiAgICAgICAgICA/ICFpc0xpbmVhckVsZW1lbnRTaW1wbGVBbmRBbHJlYWR5Qm91bmRPbk9wcG9zaXRlRWRnZShcbiAgICAgICAgICAgICAgbGluZWFyRWxlbWVudCxcbiAgICAgICAgICAgICAgYmluZGFibGVFbGVtZW50LFxuICAgICAgICAgICAgICBzdGFydE9yRW5kLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogc3RhcnRPckVuZCA9PT0gXCJzdGFydFwiIHx8XG4gICAgICAgICAgICBvdGhlckVkZ2VCaW5kYWJsZUVsZW1lbnQuaWQgIT09IGJpbmRhYmxlRWxlbWVudC5pZClcbiAgICAgICkge1xuICAgICAgICBiaW5kTGluZWFyRWxlbWVudChsaW5lYXJFbGVtZW50LCBiaW5kYWJsZUVsZW1lbnQsIHN0YXJ0T3JFbmQpO1xuICAgICAgICBib3VuZFRvRWxlbWVudElkcy5hZGQoYmluZGFibGVFbGVtZW50LmlkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdW5ib3VuZCA9IHVuYmluZExpbmVhckVsZW1lbnQobGluZWFyRWxlbWVudCwgc3RhcnRPckVuZCk7XG4gICAgICBpZiAodW5ib3VuZCAhPSBudWxsKSB7XG4gICAgICAgIHVuYm91bmRGcm9tRWxlbWVudElkcy5hZGQodW5ib3VuZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYmluZE9yVW5iaW5kU2VsZWN0ZWRFbGVtZW50cyA9IChcbiAgZWxlbWVudHM6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0VsZW1lbnQ+W10sXG4pOiB2b2lkID0+IHtcbiAgZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgIGlmIChpc0JpbmRpbmdFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgICBiaW5kT3JVbmJpbmRMaW5lYXJFbGVtZW50KFxuICAgICAgICBlbGVtZW50LFxuICAgICAgICBnZXRFbGxpZ2libGVFbGVtZW50Rm9yQmluZGluZ0VsZW1lbnQoZWxlbWVudCwgXCJzdGFydFwiKSxcbiAgICAgICAgZ2V0RWxsaWdpYmxlRWxlbWVudEZvckJpbmRpbmdFbGVtZW50KGVsZW1lbnQsIFwiZW5kXCIpLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzQmluZGFibGVFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgICBtYXliZUJpbmRCaW5kYWJsZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgfVxuICB9KTtcbn07XG5cbmNvbnN0IG1heWJlQmluZEJpbmRhYmxlRWxlbWVudCA9IChcbiAgYmluZGFibGVFbGVtZW50OiBOb25EZWxldGVkPEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQ+LFxuKTogdm9pZCA9PiB7XG4gIGdldEVsbGlnaWJsZUVsZW1lbnRzRm9yQmluZGFibGVFbGVtZW50QW5kV2hlcmUoYmluZGFibGVFbGVtZW50KS5mb3JFYWNoKFxuICAgIChbbGluZWFyRWxlbWVudCwgd2hlcmVdKSA9PlxuICAgICAgYmluZE9yVW5iaW5kTGluZWFyRWxlbWVudChcbiAgICAgICAgbGluZWFyRWxlbWVudCxcbiAgICAgICAgd2hlcmUgPT09IFwiZW5kXCIgPyBcImtlZXBcIiA6IGJpbmRhYmxlRWxlbWVudCxcbiAgICAgICAgd2hlcmUgPT09IFwic3RhcnRcIiA/IFwia2VlcFwiIDogYmluZGFibGVFbGVtZW50LFxuICAgICAgKSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXliZUJpbmRMaW5lYXJFbGVtZW50ID0gKFxuICBsaW5lYXJFbGVtZW50OiBOb25EZWxldGVkPEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50PixcbiAgYXBwU3RhdGU6IEFwcFN0YXRlLFxuICBzY2VuZTogU2NlbmUsXG4gIHBvaW50ZXJDb29yZHM6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSxcbik6IHZvaWQgPT4ge1xuICBpZiAoYXBwU3RhdGUuc3RhcnRCb3VuZEVsZW1lbnQgIT0gbnVsbCkge1xuICAgIGJpbmRMaW5lYXJFbGVtZW50KGxpbmVhckVsZW1lbnQsIGFwcFN0YXRlLnN0YXJ0Qm91bmRFbGVtZW50LCBcInN0YXJ0XCIpO1xuICB9XG4gIGNvbnN0IGhvdmVyZWRFbGVtZW50ID0gZ2V0SG92ZXJlZEVsZW1lbnRGb3JCaW5kaW5nKHBvaW50ZXJDb29yZHMsIHNjZW5lKTtcbiAgaWYgKFxuICAgIGhvdmVyZWRFbGVtZW50ICE9IG51bGwgJiZcbiAgICAhaXNMaW5lYXJFbGVtZW50U2ltcGxlQW5kQWxyZWFkeUJvdW5kT25PcHBvc2l0ZUVkZ2UoXG4gICAgICBsaW5lYXJFbGVtZW50LFxuICAgICAgaG92ZXJlZEVsZW1lbnQsXG4gICAgICBcImVuZFwiLFxuICAgIClcbiAgKSB7XG4gICAgYmluZExpbmVhckVsZW1lbnQobGluZWFyRWxlbWVudCwgaG92ZXJlZEVsZW1lbnQsIFwiZW5kXCIpO1xuICB9XG59O1xuXG5jb25zdCBiaW5kTGluZWFyRWxlbWVudCA9IChcbiAgbGluZWFyRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIGhvdmVyZWRFbGVtZW50OiBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50LFxuICBzdGFydE9yRW5kOiBcInN0YXJ0XCIgfCBcImVuZFwiLFxuKTogdm9pZCA9PiB7XG4gIG11dGF0ZUVsZW1lbnQobGluZWFyRWxlbWVudCwge1xuICAgIFtzdGFydE9yRW5kID09PSBcInN0YXJ0XCIgPyBcInN0YXJ0QmluZGluZ1wiIDogXCJlbmRCaW5kaW5nXCJdOiB7XG4gICAgICBlbGVtZW50SWQ6IGhvdmVyZWRFbGVtZW50LmlkLFxuICAgICAgLi4uY2FsY3VsYXRlRm9jdXNBbmRHYXAobGluZWFyRWxlbWVudCwgaG92ZXJlZEVsZW1lbnQsIHN0YXJ0T3JFbmQpLFxuICAgIH0gYXMgUG9pbnRCaW5kaW5nLFxuICB9KTtcblxuICBjb25zdCBib3VuZEVsZW1lbnRzTWFwID0gYXJyYXlUb01hcChob3ZlcmVkRWxlbWVudC5ib3VuZEVsZW1lbnRzIHx8IFtdKTtcbiAgaWYgKCFib3VuZEVsZW1lbnRzTWFwLmhhcyhsaW5lYXJFbGVtZW50LmlkKSkge1xuICAgIG11dGF0ZUVsZW1lbnQoaG92ZXJlZEVsZW1lbnQsIHtcbiAgICAgIGJvdW5kRWxlbWVudHM6IChob3ZlcmVkRWxlbWVudC5ib3VuZEVsZW1lbnRzIHx8IFtdKS5jb25jYXQoe1xuICAgICAgICBpZDogbGluZWFyRWxlbWVudC5pZCxcbiAgICAgICAgdHlwZTogXCJhcnJvd1wiLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cbn07XG5cbi8vIERvbid0IGJpbmQgYm90aCBlbmRzIG9mIGEgc2ltcGxlIHNlZ21lbnRcbmNvbnN0IGlzTGluZWFyRWxlbWVudFNpbXBsZUFuZEFscmVhZHlCb3VuZE9uT3Bwb3NpdGVFZGdlID0gKFxuICBsaW5lYXJFbGVtZW50OiBOb25EZWxldGVkPEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50PixcbiAgYmluZGFibGVFbGVtZW50OiBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50LFxuICBzdGFydE9yRW5kOiBcInN0YXJ0XCIgfCBcImVuZFwiLFxuKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IG90aGVyQmluZGluZyA9XG4gICAgbGluZWFyRWxlbWVudFtzdGFydE9yRW5kID09PSBcInN0YXJ0XCIgPyBcImVuZEJpbmRpbmdcIiA6IFwic3RhcnRCaW5kaW5nXCJdO1xuICByZXR1cm4gaXNMaW5lYXJFbGVtZW50U2ltcGxlQW5kQWxyZWFkeUJvdW5kKFxuICAgIGxpbmVhckVsZW1lbnQsXG4gICAgb3RoZXJCaW5kaW5nPy5lbGVtZW50SWQsXG4gICAgYmluZGFibGVFbGVtZW50LFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzTGluZWFyRWxlbWVudFNpbXBsZUFuZEFscmVhZHlCb3VuZCA9IChcbiAgbGluZWFyRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIGFscmVhZHlCb3VuZFRvSWQ6IEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnRbXCJpZFwiXSB8IHVuZGVmaW5lZCxcbiAgYmluZGFibGVFbGVtZW50OiBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50LFxuKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiAoXG4gICAgYWxyZWFkeUJvdW5kVG9JZCA9PT0gYmluZGFibGVFbGVtZW50LmlkICYmIGxpbmVhckVsZW1lbnQucG9pbnRzLmxlbmd0aCA8IDNcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1bmJpbmRMaW5lYXJFbGVtZW50cyA9IChcbiAgZWxlbWVudHM6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0VsZW1lbnQ+W10sXG4pOiB2b2lkID0+IHtcbiAgZWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgIGlmIChpc0JpbmRpbmdFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgICBiaW5kT3JVbmJpbmRMaW5lYXJFbGVtZW50KGVsZW1lbnQsIG51bGwsIG51bGwpO1xuICAgIH1cbiAgfSk7XG59O1xuXG5jb25zdCB1bmJpbmRMaW5lYXJFbGVtZW50ID0gKFxuICBsaW5lYXJFbGVtZW50OiBOb25EZWxldGVkPEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50PixcbiAgc3RhcnRPckVuZDogXCJzdGFydFwiIHwgXCJlbmRcIixcbik6IEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnRbXCJpZFwiXSB8IG51bGwgPT4ge1xuICBjb25zdCBmaWVsZCA9IHN0YXJ0T3JFbmQgPT09IFwic3RhcnRcIiA/IFwic3RhcnRCaW5kaW5nXCIgOiBcImVuZEJpbmRpbmdcIjtcbiAgY29uc3QgYmluZGluZyA9IGxpbmVhckVsZW1lbnRbZmllbGRdO1xuICBpZiAoYmluZGluZyA9PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgbXV0YXRlRWxlbWVudChsaW5lYXJFbGVtZW50LCB7IFtmaWVsZF06IG51bGwgfSk7XG4gIHJldHVybiBiaW5kaW5nLmVsZW1lbnRJZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIb3ZlcmVkRWxlbWVudEZvckJpbmRpbmcgPSAoXG4gIHBvaW50ZXJDb29yZHM6IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9LFxuICBzY2VuZTogU2NlbmUsXG4pOiBOb25EZWxldGVkPEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQ+IHwgbnVsbCA9PiB7XG4gIGNvbnN0IGhvdmVyZWRFbGVtZW50ID0gZ2V0RWxlbWVudEF0UG9zaXRpb24oXG4gICAgc2NlbmUuZ2V0RWxlbWVudHMoKSxcbiAgICAoZWxlbWVudCkgPT5cbiAgICAgIGlzQmluZGFibGVFbGVtZW50KGVsZW1lbnQpICYmIGJpbmRpbmdCb3JkZXJUZXN0KGVsZW1lbnQsIHBvaW50ZXJDb29yZHMpLFxuICApO1xuICByZXR1cm4gaG92ZXJlZEVsZW1lbnQgYXMgTm9uRGVsZXRlZDxFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50PiB8IG51bGw7XG59O1xuXG5jb25zdCBjYWxjdWxhdGVGb2N1c0FuZEdhcCA9IChcbiAgbGluZWFyRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIGhvdmVyZWRFbGVtZW50OiBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50LFxuICBzdGFydE9yRW5kOiBcInN0YXJ0XCIgfCBcImVuZFwiLFxuKTogeyBmb2N1czogbnVtYmVyOyBnYXA6IG51bWJlciB9ID0+IHtcbiAgY29uc3QgZGlyZWN0aW9uID0gc3RhcnRPckVuZCA9PT0gXCJzdGFydFwiID8gLTEgOiAxO1xuICBjb25zdCBlZGdlUG9pbnRJbmRleCA9IGRpcmVjdGlvbiA9PT0gLTEgPyAwIDogbGluZWFyRWxlbWVudC5wb2ludHMubGVuZ3RoIC0gMTtcbiAgY29uc3QgYWRqYWNlbnRQb2ludEluZGV4ID0gZWRnZVBvaW50SW5kZXggLSBkaXJlY3Rpb247XG4gIGNvbnN0IGVkZ2VQb2ludCA9IExpbmVhckVsZW1lbnRFZGl0b3IuZ2V0UG9pbnRBdEluZGV4R2xvYmFsQ29vcmRpbmF0ZXMoXG4gICAgbGluZWFyRWxlbWVudCxcbiAgICBlZGdlUG9pbnRJbmRleCxcbiAgKTtcbiAgY29uc3QgYWRqYWNlbnRQb2ludCA9IExpbmVhckVsZW1lbnRFZGl0b3IuZ2V0UG9pbnRBdEluZGV4R2xvYmFsQ29vcmRpbmF0ZXMoXG4gICAgbGluZWFyRWxlbWVudCxcbiAgICBhZGphY2VudFBvaW50SW5kZXgsXG4gICk7XG4gIHJldHVybiB7XG4gICAgZm9jdXM6IGRldGVybWluZUZvY3VzRGlzdGFuY2UoaG92ZXJlZEVsZW1lbnQsIGFkamFjZW50UG9pbnQsIGVkZ2VQb2ludCksXG4gICAgZ2FwOiBNYXRoLm1heCgxLCBkaXN0YW5jZVRvQmluZGFibGVFbGVtZW50KGhvdmVyZWRFbGVtZW50LCBlZGdlUG9pbnQpKSxcbiAgfTtcbn07XG5cbi8vIFN1cHBvcnRzIHRyYW5zbGF0aW5nLCByb3RhdGluZyBhbmQgc2NhbGluZyBgY2hhbmdlZEVsZW1lbnRgIHdpdGggYm91bmRcbi8vIGxpbmVhciBlbGVtZW50cy5cbi8vIEJlY2F1c2Ugc2NhbGluZyBpbnZvbHZlcyBtb3ZpbmcgdGhlIGZvY3VzIHBvaW50cyBhcyB3ZWxsLCBpdCBpc1xuLy8gZG9uZSBiZWZvcmUgdGhlIGBjaGFuZ2VkRWxlbWVudGAgaXMgdXBkYXRlZCwgYW5kIHRoZSBgbmV3U2l6ZWAgaXMgcGFzc2VkXG4vLyBpbiBleHBsaWNpdGx5LlxuZXhwb3J0IGNvbnN0IHVwZGF0ZUJvdW5kRWxlbWVudHMgPSAoXG4gIGNoYW5nZWRFbGVtZW50OiBOb25EZWxldGVkRXhjYWxpZHJhd0VsZW1lbnQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2ltdWx0YW5lb3VzbHlVcGRhdGVkPzogcmVhZG9ubHkgRXhjYWxpZHJhd0VsZW1lbnRbXTtcbiAgICBuZXdTaXplPzogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9O1xuICB9LFxuKSA9PiB7XG4gIGNvbnN0IGJvdW5kTGluZWFyRWxlbWVudHMgPSAoY2hhbmdlZEVsZW1lbnQuYm91bmRFbGVtZW50cyA/PyBbXSkuZmlsdGVyKFxuICAgIChlbCkgPT4gZWwudHlwZSA9PT0gXCJhcnJvd1wiLFxuICApO1xuICBpZiAoYm91bmRMaW5lYXJFbGVtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgeyBuZXdTaXplLCBzaW11bHRhbmVvdXNseVVwZGF0ZWQgfSA9IG9wdGlvbnMgPz8ge307XG4gIGNvbnN0IHNpbXVsdGFuZW91c2x5VXBkYXRlZEVsZW1lbnRJZHMgPSBnZXRTaW11bHRhbmVvdXNseVVwZGF0ZWRFbGVtZW50SWRzKFxuICAgIHNpbXVsdGFuZW91c2x5VXBkYXRlZCxcbiAgKTtcbiAgU2NlbmUuZ2V0U2NlbmUoY2hhbmdlZEVsZW1lbnQpIVxuICAgIC5nZXROb25EZWxldGVkRWxlbWVudHMoYm91bmRMaW5lYXJFbGVtZW50cy5tYXAoKGVsKSA9PiBlbC5pZCkpXG4gICAgLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIGlmICghaXNMaW5lYXJFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYmluZGFibGVFbGVtZW50ID0gY2hhbmdlZEVsZW1lbnQgYXMgRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudDtcbiAgICAgIC8vIEluIGNhc2UgdGhlIGJvdW5kRWxlbWVudHMgYXJlIHN0YWxlXG4gICAgICBpZiAoIWRvZXNOZWVkVXBkYXRlKGVsZW1lbnQsIGJpbmRhYmxlRWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgc3RhcnRCaW5kaW5nID0gbWF5YmVDYWxjdWxhdGVOZXdHYXBXaGVuU2NhbGluZyhcbiAgICAgICAgYmluZGFibGVFbGVtZW50LFxuICAgICAgICBlbGVtZW50LnN0YXJ0QmluZGluZyxcbiAgICAgICAgbmV3U2l6ZSxcbiAgICAgICk7XG4gICAgICBjb25zdCBlbmRCaW5kaW5nID0gbWF5YmVDYWxjdWxhdGVOZXdHYXBXaGVuU2NhbGluZyhcbiAgICAgICAgYmluZGFibGVFbGVtZW50LFxuICAgICAgICBlbGVtZW50LmVuZEJpbmRpbmcsXG4gICAgICAgIG5ld1NpemUsXG4gICAgICApO1xuICAgICAgLy8gYGxpbmVhckVsZW1lbnRgIGlzIGJlaW5nIG1vdmVkL3NjYWxlZCBhbHJlYWR5LCBqdXN0IHVwZGF0ZSB0aGUgYmluZGluZ1xuICAgICAgaWYgKHNpbXVsdGFuZW91c2x5VXBkYXRlZEVsZW1lbnRJZHMuaGFzKGVsZW1lbnQuaWQpKSB7XG4gICAgICAgIG11dGF0ZUVsZW1lbnQoZWxlbWVudCwgeyBzdGFydEJpbmRpbmcsIGVuZEJpbmRpbmcgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHVwZGF0ZUJvdW5kUG9pbnQoXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIFwic3RhcnRcIixcbiAgICAgICAgc3RhcnRCaW5kaW5nLFxuICAgICAgICBjaGFuZ2VkRWxlbWVudCBhcyBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50LFxuICAgICAgKTtcbiAgICAgIHVwZGF0ZUJvdW5kUG9pbnQoXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIFwiZW5kXCIsXG4gICAgICAgIGVuZEJpbmRpbmcsXG4gICAgICAgIGNoYW5nZWRFbGVtZW50IGFzIEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQsXG4gICAgICApO1xuICAgIH0pO1xufTtcblxuY29uc3QgZG9lc05lZWRVcGRhdGUgPSAoXG4gIGJvdW5kRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIGNoYW5nZWRFbGVtZW50OiBFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50LFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgYm91bmRFbGVtZW50LnN0YXJ0QmluZGluZz8uZWxlbWVudElkID09PSBjaGFuZ2VkRWxlbWVudC5pZCB8fFxuICAgIGJvdW5kRWxlbWVudC5lbmRCaW5kaW5nPy5lbGVtZW50SWQgPT09IGNoYW5nZWRFbGVtZW50LmlkXG4gICk7XG59O1xuXG5jb25zdCBnZXRTaW11bHRhbmVvdXNseVVwZGF0ZWRFbGVtZW50SWRzID0gKFxuICBzaW11bHRhbmVvdXNseVVwZGF0ZWQ6IHJlYWRvbmx5IEV4Y2FsaWRyYXdFbGVtZW50W10gfCB1bmRlZmluZWQsXG4pOiBTZXQ8RXhjYWxpZHJhd0VsZW1lbnRbXCJpZFwiXT4gPT4ge1xuICByZXR1cm4gbmV3IFNldCgoc2ltdWx0YW5lb3VzbHlVcGRhdGVkIHx8IFtdKS5tYXAoKGVsZW1lbnQpID0+IGVsZW1lbnQuaWQpKTtcbn07XG5cbmNvbnN0IHVwZGF0ZUJvdW5kUG9pbnQgPSAoXG4gIGxpbmVhckVsZW1lbnQ6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0xpbmVhckVsZW1lbnQ+LFxuICBzdGFydE9yRW5kOiBcInN0YXJ0XCIgfCBcImVuZFwiLFxuICBiaW5kaW5nOiBQb2ludEJpbmRpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxuICBjaGFuZ2VkRWxlbWVudDogRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudCxcbik6IHZvaWQgPT4ge1xuICBpZiAoXG4gICAgYmluZGluZyA9PSBudWxsIHx8XG4gICAgLy8gV2Ugb25seSBuZWVkIHRvIHVwZGF0ZSB0aGUgb3RoZXIgZW5kIGlmIHRoaXMgaXMgYSAyIHBvaW50IGxpbmUgZWxlbWVudFxuICAgIChiaW5kaW5nLmVsZW1lbnRJZCAhPT0gY2hhbmdlZEVsZW1lbnQuaWQgJiYgbGluZWFyRWxlbWVudC5wb2ludHMubGVuZ3RoID4gMilcbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGJpbmRpbmdFbGVtZW50ID0gU2NlbmUuZ2V0U2NlbmUobGluZWFyRWxlbWVudCkhLmdldEVsZW1lbnQoXG4gICAgYmluZGluZy5lbGVtZW50SWQsXG4gICkgYXMgRXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudCB8IG51bGw7XG4gIGlmIChiaW5kaW5nRWxlbWVudCA9PSBudWxsKSB7XG4gICAgLy8gV2UncmUgbm90IGNsZWFuaW5nIHVwIGFmdGVyIGRlbGV0ZWQgZWxlbWVudHMgYXRtLiwgc28gaGFuZGxlIHRoaXMgY2FzZVxuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBkaXJlY3Rpb24gPSBzdGFydE9yRW5kID09PSBcInN0YXJ0XCIgPyAtMSA6IDE7XG4gIGNvbnN0IGVkZ2VQb2ludEluZGV4ID0gZGlyZWN0aW9uID09PSAtMSA/IDAgOiBsaW5lYXJFbGVtZW50LnBvaW50cy5sZW5ndGggLSAxO1xuICBjb25zdCBhZGphY2VudFBvaW50SW5kZXggPSBlZGdlUG9pbnRJbmRleCAtIGRpcmVjdGlvbjtcbiAgY29uc3QgYWRqYWNlbnRQb2ludCA9IExpbmVhckVsZW1lbnRFZGl0b3IuZ2V0UG9pbnRBdEluZGV4R2xvYmFsQ29vcmRpbmF0ZXMoXG4gICAgbGluZWFyRWxlbWVudCxcbiAgICBhZGphY2VudFBvaW50SW5kZXgsXG4gICk7XG4gIGNvbnN0IGZvY3VzUG9pbnRBYnNvbHV0ZSA9IGRldGVybWluZUZvY3VzUG9pbnQoXG4gICAgYmluZGluZ0VsZW1lbnQsXG4gICAgYmluZGluZy5mb2N1cyxcbiAgICBhZGphY2VudFBvaW50LFxuICApO1xuICBsZXQgbmV3RWRnZVBvaW50O1xuICAvLyBUaGUgbGluZWFyIGVsZW1lbnQgd2FzIG5vdCBvcmlnaW5hbGx5IHBvaW50aW5nIGluc2lkZSB0aGUgYm91bmQgc2hhcGUsXG4gIC8vIHdlIGNhbiBwb2ludCBkaXJlY3RseSBhdCB0aGUgZm9jdXMgcG9pbnRcbiAgaWYgKGJpbmRpbmcuZ2FwID09PSAwKSB7XG4gICAgbmV3RWRnZVBvaW50ID0gZm9jdXNQb2ludEFic29sdXRlO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGludGVyc2VjdGlvbnMgPSBpbnRlcnNlY3RFbGVtZW50V2l0aExpbmUoXG4gICAgICBiaW5kaW5nRWxlbWVudCxcbiAgICAgIGFkamFjZW50UG9pbnQsXG4gICAgICBmb2N1c1BvaW50QWJzb2x1dGUsXG4gICAgICBiaW5kaW5nLmdhcCxcbiAgICApO1xuICAgIGlmIChpbnRlcnNlY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLCBzaW5jZSBmb2N1c1BvaW50IHNob3VsZCBhbHdheXMgYmVcbiAgICAgIC8vIGluc2lkZSB0aGUgZWxlbWVudCwgYnV0IGp1c3QgaW4gY2FzZSwgYmFpbCBvdXRcbiAgICAgIG5ld0VkZ2VQb2ludCA9IGZvY3VzUG9pbnRBYnNvbHV0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gR3VhcmFudGVlZCB0byBpbnRlcnNlY3QgYmVjYXVzZSBmb2N1c1BvaW50IGlzIGFsd2F5cyBpbnNpZGUgdGhlIHNoYXBlXG4gICAgICBuZXdFZGdlUG9pbnQgPSBpbnRlcnNlY3Rpb25zWzBdO1xuICAgIH1cbiAgfVxuICBMaW5lYXJFbGVtZW50RWRpdG9yLm1vdmVQb2ludHMoXG4gICAgbGluZWFyRWxlbWVudCxcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGluZGV4OiBlZGdlUG9pbnRJbmRleCxcbiAgICAgICAgcG9pbnQ6IExpbmVhckVsZW1lbnRFZGl0b3IucG9pbnRGcm9tQWJzb2x1dGVDb29yZHMoXG4gICAgICAgICAgbGluZWFyRWxlbWVudCxcbiAgICAgICAgICBuZXdFZGdlUG9pbnQsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgIF0sXG4gICAgeyBbc3RhcnRPckVuZCA9PT0gXCJzdGFydFwiID8gXCJzdGFydEJpbmRpbmdcIiA6IFwiZW5kQmluZGluZ1wiXTogYmluZGluZyB9LFxuICApO1xufTtcblxuY29uc3QgbWF5YmVDYWxjdWxhdGVOZXdHYXBXaGVuU2NhbGluZyA9IChcbiAgY2hhbmdlZEVsZW1lbnQ6IEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQsXG4gIGN1cnJlbnRCaW5kaW5nOiBQb2ludEJpbmRpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxuICBuZXdTaXplOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0gfCB1bmRlZmluZWQsXG4pOiBQb2ludEJpbmRpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKGN1cnJlbnRCaW5kaW5nID09IG51bGwgfHwgbmV3U2l6ZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGN1cnJlbnRCaW5kaW5nO1xuICB9XG4gIGNvbnN0IHsgZ2FwLCBmb2N1cywgZWxlbWVudElkIH0gPSBjdXJyZW50QmluZGluZztcbiAgY29uc3QgeyB3aWR0aDogbmV3V2lkdGgsIGhlaWdodDogbmV3SGVpZ2h0IH0gPSBuZXdTaXplO1xuICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGNoYW5nZWRFbGVtZW50O1xuICBjb25zdCBuZXdHYXAgPSBNYXRoLm1heChcbiAgICAxLFxuICAgIE1hdGgubWluKFxuICAgICAgbWF4QmluZGluZ0dhcChjaGFuZ2VkRWxlbWVudCwgbmV3V2lkdGgsIG5ld0hlaWdodCksXG4gICAgICBnYXAgKiAobmV3V2lkdGggPCBuZXdIZWlnaHQgPyBuZXdXaWR0aCAvIHdpZHRoIDogbmV3SGVpZ2h0IC8gaGVpZ2h0KSxcbiAgICApLFxuICApO1xuICByZXR1cm4geyBlbGVtZW50SWQsIGdhcDogbmV3R2FwLCBmb2N1cyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVsaWdpYmxlRWxlbWVudHNGb3JCaW5kaW5nID0gKFxuICBlbGVtZW50czogTm9uRGVsZXRlZDxFeGNhbGlkcmF3RWxlbWVudD5bXSxcbik6IFN1Z2dlc3RlZEJpbmRpbmdbXSA9PiB7XG4gIGNvbnN0IGluY2x1ZGVkRWxlbWVudElkcyA9IG5ldyBTZXQoZWxlbWVudHMubWFwKCh7IGlkIH0pID0+IGlkKSk7XG4gIHJldHVybiBlbGVtZW50cy5mbGF0TWFwKChlbGVtZW50KSA9PlxuICAgIGlzQmluZGluZ0VsZW1lbnQoZWxlbWVudClcbiAgICAgID8gKGdldEVsbGlnaWJsZUVsZW1lbnRzRm9yQmluZGluZ0VsZW1lbnQoXG4gICAgICAgICAgZWxlbWVudCBhcyBOb25EZWxldGVkPEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50PixcbiAgICAgICAgKS5maWx0ZXIoXG4gICAgICAgICAgKGVsZW1lbnQpID0+ICFpbmNsdWRlZEVsZW1lbnRJZHMuaGFzKGVsZW1lbnQuaWQpLFxuICAgICAgICApIGFzIFN1Z2dlc3RlZEJpbmRpbmdbXSlcbiAgICAgIDogaXNCaW5kYWJsZUVsZW1lbnQoZWxlbWVudClcbiAgICAgID8gZ2V0RWxsaWdpYmxlRWxlbWVudHNGb3JCaW5kYWJsZUVsZW1lbnRBbmRXaGVyZShlbGVtZW50KS5maWx0ZXIoXG4gICAgICAgICAgKGJpbmRpbmcpID0+ICFpbmNsdWRlZEVsZW1lbnRJZHMuaGFzKGJpbmRpbmdbMF0uaWQpLFxuICAgICAgICApXG4gICAgICA6IFtdLFxuICApO1xufTtcblxuY29uc3QgZ2V0RWxsaWdpYmxlRWxlbWVudHNGb3JCaW5kaW5nRWxlbWVudCA9IChcbiAgbGluZWFyRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4pOiBOb25EZWxldGVkPEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQ+W10gPT4ge1xuICByZXR1cm4gW1xuICAgIGdldEVsbGlnaWJsZUVsZW1lbnRGb3JCaW5kaW5nRWxlbWVudChsaW5lYXJFbGVtZW50LCBcInN0YXJ0XCIpLFxuICAgIGdldEVsbGlnaWJsZUVsZW1lbnRGb3JCaW5kaW5nRWxlbWVudChsaW5lYXJFbGVtZW50LCBcImVuZFwiKSxcbiAgXS5maWx0ZXIoXG4gICAgKGVsZW1lbnQpOiBlbGVtZW50IGlzIE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0JpbmRhYmxlRWxlbWVudD4gPT5cbiAgICAgIGVsZW1lbnQgIT0gbnVsbCxcbiAgKTtcbn07XG5cbmNvbnN0IGdldEVsbGlnaWJsZUVsZW1lbnRGb3JCaW5kaW5nRWxlbWVudCA9IChcbiAgbGluZWFyRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIHN0YXJ0T3JFbmQ6IFwic3RhcnRcIiB8IFwiZW5kXCIsXG4pOiBOb25EZWxldGVkPEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQ+IHwgbnVsbCA9PiB7XG4gIHJldHVybiBnZXRIb3ZlcmVkRWxlbWVudEZvckJpbmRpbmcoXG4gICAgZ2V0TGluZWFyRWxlbWVudEVkZ2VDb29ycyhsaW5lYXJFbGVtZW50LCBzdGFydE9yRW5kKSxcbiAgICBTY2VuZS5nZXRTY2VuZShsaW5lYXJFbGVtZW50KSEsXG4gICk7XG59O1xuXG5jb25zdCBnZXRMaW5lYXJFbGVtZW50RWRnZUNvb3JzID0gKFxuICBsaW5lYXJFbGVtZW50OiBOb25EZWxldGVkPEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50PixcbiAgc3RhcnRPckVuZDogXCJzdGFydFwiIHwgXCJlbmRcIixcbik6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSA9PiB7XG4gIGNvbnN0IGluZGV4ID0gc3RhcnRPckVuZCA9PT0gXCJzdGFydFwiID8gMCA6IC0xO1xuICByZXR1cm4gdHVwbGVUb0Nvb3JzKFxuICAgIExpbmVhckVsZW1lbnRFZGl0b3IuZ2V0UG9pbnRBdEluZGV4R2xvYmFsQ29vcmRpbmF0ZXMobGluZWFyRWxlbWVudCwgaW5kZXgpLFxuICApO1xufTtcblxuY29uc3QgZ2V0RWxsaWdpYmxlRWxlbWVudHNGb3JCaW5kYWJsZUVsZW1lbnRBbmRXaGVyZSA9IChcbiAgYmluZGFibGVFbGVtZW50OiBOb25EZWxldGVkPEV4Y2FsaWRyYXdCaW5kYWJsZUVsZW1lbnQ+LFxuKTogU3VnZ2VzdGVkUG9pbnRCaW5kaW5nW10gPT4ge1xuICByZXR1cm4gU2NlbmUuZ2V0U2NlbmUoYmluZGFibGVFbGVtZW50KSFcbiAgICAuZ2V0RWxlbWVudHMoKVxuICAgIC5tYXAoKGVsZW1lbnQpID0+IHtcbiAgICAgIGlmICghaXNCaW5kaW5nRWxlbWVudChlbGVtZW50KSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNhbkJpbmRTdGFydCA9IGlzTGluZWFyRWxlbWVudEVsaWdpYmxlRm9yTmV3QmluZGluZ0J5QmluZGFibGUoXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIFwic3RhcnRcIixcbiAgICAgICAgYmluZGFibGVFbGVtZW50LFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGNhbkJpbmRFbmQgPSBpc0xpbmVhckVsZW1lbnRFbGlnaWJsZUZvck5ld0JpbmRpbmdCeUJpbmRhYmxlKFxuICAgICAgICBlbGVtZW50LFxuICAgICAgICBcImVuZFwiLFxuICAgICAgICBiaW5kYWJsZUVsZW1lbnQsXG4gICAgICApO1xuICAgICAgaWYgKCFjYW5CaW5kU3RhcnQgJiYgIWNhbkJpbmRFbmQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gW1xuICAgICAgICBlbGVtZW50LFxuICAgICAgICBjYW5CaW5kU3RhcnQgJiYgY2FuQmluZEVuZCA/IFwiYm90aFwiIDogY2FuQmluZFN0YXJ0ID8gXCJzdGFydFwiIDogXCJlbmRcIixcbiAgICAgICAgYmluZGFibGVFbGVtZW50LFxuICAgICAgXTtcbiAgICB9KVxuICAgIC5maWx0ZXIoKG1heWJlRWxlbWVudCkgPT4gbWF5YmVFbGVtZW50ICE9IG51bGwpIGFzIFN1Z2dlc3RlZFBvaW50QmluZGluZ1tdO1xufTtcblxuY29uc3QgaXNMaW5lYXJFbGVtZW50RWxpZ2libGVGb3JOZXdCaW5kaW5nQnlCaW5kYWJsZSA9IChcbiAgbGluZWFyRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4sXG4gIHN0YXJ0T3JFbmQ6IFwic3RhcnRcIiB8IFwiZW5kXCIsXG4gIGJpbmRhYmxlRWxlbWVudDogTm9uRGVsZXRlZDxFeGNhbGlkcmF3QmluZGFibGVFbGVtZW50Pixcbik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBleGlzdGluZ0JpbmRpbmcgPVxuICAgIGxpbmVhckVsZW1lbnRbc3RhcnRPckVuZCA9PT0gXCJzdGFydFwiID8gXCJzdGFydEJpbmRpbmdcIiA6IFwiZW5kQmluZGluZ1wiXTtcbiAgcmV0dXJuIChcbiAgICBleGlzdGluZ0JpbmRpbmcgPT0gbnVsbCAmJlxuICAgICFpc0xpbmVhckVsZW1lbnRTaW1wbGVBbmRBbHJlYWR5Qm91bmRPbk9wcG9zaXRlRWRnZShcbiAgICAgIGxpbmVhckVsZW1lbnQsXG4gICAgICBiaW5kYWJsZUVsZW1lbnQsXG4gICAgICBzdGFydE9yRW5kLFxuICAgICkgJiZcbiAgICBiaW5kaW5nQm9yZGVyVGVzdChcbiAgICAgIGJpbmRhYmxlRWxlbWVudCxcbiAgICAgIGdldExpbmVhckVsZW1lbnRFZGdlQ29vcnMobGluZWFyRWxlbWVudCwgc3RhcnRPckVuZCksXG4gICAgKVxuICApO1xufTtcblxuLy8gV2UgbmVlZCB0bzpcbi8vIDE6IFVwZGF0ZSBlbGVtZW50cyBub3Qgc2VsZWN0ZWQgdG8gcG9pbnQgdG8gZHVwbGljYXRlZCBlbGVtZW50c1xuLy8gMjogVXBkYXRlIGR1cGxpY2F0ZWQgZWxlbWVudHMgdG8gcG9pbnQgdG8gb3RoZXIgZHVwbGljYXRlZCBlbGVtZW50c1xuZXhwb3J0IGNvbnN0IGZpeEJpbmRpbmdzQWZ0ZXJEdXBsaWNhdGlvbiA9IChcbiAgc2NlbmVFbGVtZW50czogcmVhZG9ubHkgRXhjYWxpZHJhd0VsZW1lbnRbXSxcbiAgb2xkRWxlbWVudHM6IHJlYWRvbmx5IEV4Y2FsaWRyYXdFbGVtZW50W10sXG4gIG9sZElkVG9EdXBsaWNhdGVkSWQ6IE1hcDxFeGNhbGlkcmF3RWxlbWVudFtcImlkXCJdLCBFeGNhbGlkcmF3RWxlbWVudFtcImlkXCJdPixcbiAgLy8gVGhlcmUgYXJlIHRocmVlIGNvcHlpbmcgbWVjaGFuaXNtczogQ29weS1wYXN0ZSwgZHVwbGljYXRpb24gYW5kIGFsdC1kcmFnLlxuICAvLyBPbmx5IHdoZW4gYWx0LWRyYWdnaW5nIHRoZSBuZXcgXCJkdXBsaWNhdGVzXCIgYWN0IGFzIHRoZSBcIm9sZFwiLCB3aGlsZVxuICAvLyB0aGUgXCJvbGRcIiBlbGVtZW50cyBhY3QgYXMgdGhlIFwibmV3IGNvcHlcIiAtIGVzc2VudGlhbGx5IHdvcmtpbmcgcmV2ZXJzZVxuICAvLyB0byB0aGUgb3RoZXIgdHdvLlxuICBkdXBsaWNhdGVzU2VydmVBc09sZD86IFwiZHVwbGljYXRlc1NlcnZlQXNPbGRcIiB8IHVuZGVmaW5lZCxcbik6IHZvaWQgPT4ge1xuICAvLyBGaXJzdCBjb2xsZWN0IGFsbCB0aGUgYmluZGluZy9iaW5kYWJsZSBlbGVtZW50cywgc28gd2Ugb25seSB1cGRhdGVcbiAgLy8gZWFjaCBvbmNlLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhleSB3ZXJlIGR1cGxpY2F0ZWQgb3Igbm90LlxuICBjb25zdCBhbGxCb3VuZEVsZW1lbnRJZHM6IFNldDxFeGNhbGlkcmF3RWxlbWVudFtcImlkXCJdPiA9IG5ldyBTZXQoKTtcbiAgY29uc3QgYWxsQmluZGFibGVFbGVtZW50SWRzOiBTZXQ8RXhjYWxpZHJhd0VsZW1lbnRbXCJpZFwiXT4gPSBuZXcgU2V0KCk7XG4gIGNvbnN0IHNob3VsZFJldmVyc2VSb2xlcyA9IGR1cGxpY2F0ZXNTZXJ2ZUFzT2xkID09PSBcImR1cGxpY2F0ZXNTZXJ2ZUFzT2xkXCI7XG4gIG9sZEVsZW1lbnRzLmZvckVhY2goKG9sZEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB7IGJvdW5kRWxlbWVudHMgfSA9IG9sZEVsZW1lbnQ7XG4gICAgaWYgKGJvdW5kRWxlbWVudHMgIT0gbnVsbCAmJiBib3VuZEVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGJvdW5kRWxlbWVudHMuZm9yRWFjaCgoYm91bmRFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChzaG91bGRSZXZlcnNlUm9sZXMgJiYgIW9sZElkVG9EdXBsaWNhdGVkSWQuaGFzKGJvdW5kRWxlbWVudC5pZCkpIHtcbiAgICAgICAgICBhbGxCb3VuZEVsZW1lbnRJZHMuYWRkKGJvdW5kRWxlbWVudC5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgYWxsQmluZGFibGVFbGVtZW50SWRzLmFkZChvbGRJZFRvRHVwbGljYXRlZElkLmdldChvbGRFbGVtZW50LmlkKSEpO1xuICAgIH1cbiAgICBpZiAoaXNCaW5kaW5nRWxlbWVudChvbGRFbGVtZW50KSkge1xuICAgICAgaWYgKG9sZEVsZW1lbnQuc3RhcnRCaW5kaW5nICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgeyBlbGVtZW50SWQgfSA9IG9sZEVsZW1lbnQuc3RhcnRCaW5kaW5nO1xuICAgICAgICBpZiAoc2hvdWxkUmV2ZXJzZVJvbGVzICYmICFvbGRJZFRvRHVwbGljYXRlZElkLmhhcyhlbGVtZW50SWQpKSB7XG4gICAgICAgICAgYWxsQmluZGFibGVFbGVtZW50SWRzLmFkZChlbGVtZW50SWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAob2xkRWxlbWVudC5lbmRCaW5kaW5nICE9IG51bGwpIHtcbiAgICAgICAgY29uc3QgeyBlbGVtZW50SWQgfSA9IG9sZEVsZW1lbnQuZW5kQmluZGluZztcbiAgICAgICAgaWYgKHNob3VsZFJldmVyc2VSb2xlcyAmJiAhb2xkSWRUb0R1cGxpY2F0ZWRJZC5oYXMoZWxlbWVudElkKSkge1xuICAgICAgICAgIGFsbEJpbmRhYmxlRWxlbWVudElkcy5hZGQoZWxlbWVudElkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG9sZEVsZW1lbnQuc3RhcnRCaW5kaW5nICE9IG51bGwgfHwgb2xkRWxlbWVudC5lbmRCaW5kaW5nICE9IG51bGwpIHtcbiAgICAgICAgYWxsQm91bmRFbGVtZW50SWRzLmFkZChvbGRJZFRvRHVwbGljYXRlZElkLmdldChvbGRFbGVtZW50LmlkKSEpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgLy8gVXBkYXRlIHRoZSBsaW5lYXIgZWxlbWVudHNcbiAgKFxuICAgIHNjZW5lRWxlbWVudHMuZmlsdGVyKCh7IGlkIH0pID0+XG4gICAgICBhbGxCb3VuZEVsZW1lbnRJZHMuaGFzKGlkKSxcbiAgICApIGFzIEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50W11cbiAgKS5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyBzdGFydEJpbmRpbmcsIGVuZEJpbmRpbmcgfSA9IGVsZW1lbnQ7XG4gICAgbXV0YXRlRWxlbWVudChlbGVtZW50LCB7XG4gICAgICBzdGFydEJpbmRpbmc6IG5ld0JpbmRpbmdBZnRlckR1cGxpY2F0aW9uKFxuICAgICAgICBzdGFydEJpbmRpbmcsXG4gICAgICAgIG9sZElkVG9EdXBsaWNhdGVkSWQsXG4gICAgICApLFxuICAgICAgZW5kQmluZGluZzogbmV3QmluZGluZ0FmdGVyRHVwbGljYXRpb24oZW5kQmluZGluZywgb2xkSWRUb0R1cGxpY2F0ZWRJZCksXG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIFVwZGF0ZSB0aGUgYmluZGFibGUgc2hhcGVzXG4gIHNjZW5lRWxlbWVudHNcbiAgICAuZmlsdGVyKCh7IGlkIH0pID0+IGFsbEJpbmRhYmxlRWxlbWVudElkcy5oYXMoaWQpKVxuICAgIC5mb3JFYWNoKChiaW5kYWJsZUVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHsgYm91bmRFbGVtZW50cyB9ID0gYmluZGFibGVFbGVtZW50O1xuICAgICAgaWYgKGJvdW5kRWxlbWVudHMgIT0gbnVsbCAmJiBib3VuZEVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbXV0YXRlRWxlbWVudChiaW5kYWJsZUVsZW1lbnQsIHtcbiAgICAgICAgICBib3VuZEVsZW1lbnRzOiBib3VuZEVsZW1lbnRzLm1hcCgoYm91bmRFbGVtZW50KSA9PlxuICAgICAgICAgICAgb2xkSWRUb0R1cGxpY2F0ZWRJZC5oYXMoYm91bmRFbGVtZW50LmlkKVxuICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIGlkOiBvbGRJZFRvRHVwbGljYXRlZElkLmdldChib3VuZEVsZW1lbnQuaWQpISxcbiAgICAgICAgICAgICAgICAgIHR5cGU6IGJvdW5kRWxlbWVudC50eXBlLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOiBib3VuZEVsZW1lbnQsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG59O1xuXG5jb25zdCBuZXdCaW5kaW5nQWZ0ZXJEdXBsaWNhdGlvbiA9IChcbiAgYmluZGluZzogUG9pbnRCaW5kaW5nIHwgbnVsbCxcbiAgb2xkSWRUb0R1cGxpY2F0ZWRJZDogTWFwPEV4Y2FsaWRyYXdFbGVtZW50W1wiaWRcIl0sIEV4Y2FsaWRyYXdFbGVtZW50W1wiaWRcIl0+LFxuKTogUG9pbnRCaW5kaW5nIHwgbnVsbCA9PiB7XG4gIGlmIChiaW5kaW5nID09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCB7IGVsZW1lbnRJZCwgZm9jdXMsIGdhcCB9ID0gYmluZGluZztcbiAgcmV0dXJuIHtcbiAgICBmb2N1cyxcbiAgICBnYXAsXG4gICAgZWxlbWVudElkOiBvbGRJZFRvRHVwbGljYXRlZElkLmdldChlbGVtZW50SWQpID8/IGVsZW1lbnRJZCxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaXhCaW5kaW5nc0FmdGVyRGVsZXRpb24gPSAoXG4gIHNjZW5lRWxlbWVudHM6IHJlYWRvbmx5IEV4Y2FsaWRyYXdFbGVtZW50W10sXG4gIGRlbGV0ZWRFbGVtZW50czogcmVhZG9ubHkgRXhjYWxpZHJhd0VsZW1lbnRbXSxcbik6IHZvaWQgPT4ge1xuICBjb25zdCBkZWxldGVkRWxlbWVudElkcyA9IG5ldyBTZXQoXG4gICAgZGVsZXRlZEVsZW1lbnRzLm1hcCgoZWxlbWVudCkgPT4gZWxlbWVudC5pZCksXG4gICk7XG4gIC8vIE5vbiBkZWxldGVkIGFuZCBuZWVkIGFuIHVwZGF0ZVxuICBjb25zdCBib3VuZEVsZW1lbnRJZHM6IFNldDxFeGNhbGlkcmF3RWxlbWVudFtcImlkXCJdPiA9IG5ldyBTZXQoKTtcbiAgZGVsZXRlZEVsZW1lbnRzLmZvckVhY2goKGRlbGV0ZWRFbGVtZW50KSA9PiB7XG4gICAgaWYgKGlzQmluZGFibGVFbGVtZW50KGRlbGV0ZWRFbGVtZW50KSkge1xuICAgICAgZGVsZXRlZEVsZW1lbnQuYm91bmRFbGVtZW50cz8uZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoIWRlbGV0ZWRFbGVtZW50SWRzLmhhcyhlbGVtZW50LmlkKSkge1xuICAgICAgICAgIGJvdW5kRWxlbWVudElkcy5hZGQoZWxlbWVudC5pZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG4gIChcbiAgICBzY2VuZUVsZW1lbnRzLmZpbHRlcigoeyBpZCB9KSA9PlxuICAgICAgYm91bmRFbGVtZW50SWRzLmhhcyhpZCksXG4gICAgKSBhcyBFeGNhbGlkcmF3TGluZWFyRWxlbWVudFtdXG4gICkuZm9yRWFjaCgoZWxlbWVudDogRXhjYWxpZHJhd0xpbmVhckVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB7IHN0YXJ0QmluZGluZywgZW5kQmluZGluZyB9ID0gZWxlbWVudDtcbiAgICBtdXRhdGVFbGVtZW50KGVsZW1lbnQsIHtcbiAgICAgIHN0YXJ0QmluZGluZzogbmV3QmluZGluZ0FmdGVyRGVsZXRpb24oc3RhcnRCaW5kaW5nLCBkZWxldGVkRWxlbWVudElkcyksXG4gICAgICBlbmRCaW5kaW5nOiBuZXdCaW5kaW5nQWZ0ZXJEZWxldGlvbihlbmRCaW5kaW5nLCBkZWxldGVkRWxlbWVudElkcyksXG4gICAgfSk7XG4gIH0pO1xufTtcblxuY29uc3QgbmV3QmluZGluZ0FmdGVyRGVsZXRpb24gPSAoXG4gIGJpbmRpbmc6IFBvaW50QmluZGluZyB8IG51bGwsXG4gIGRlbGV0ZWRFbGVtZW50SWRzOiBTZXQ8RXhjYWxpZHJhd0VsZW1lbnRbXCJpZFwiXT4sXG4pOiBQb2ludEJpbmRpbmcgfCBudWxsID0+IHtcbiAgaWYgKGJpbmRpbmcgPT0gbnVsbCB8fCBkZWxldGVkRWxlbWVudElkcy5oYXMoYmluZGluZy5lbGVtZW50SWQpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIGJpbmRpbmc7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../element/binding.ts\n");
|
|
2169
2190
|
|
|
2170
2191
|
/***/ }),
|
|
2171
2192
|
|
|
@@ -2253,7 +2274,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
2253
2274
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
2254
2275
|
|
|
2255
2276
|
"use strict";
|
|
2256
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"newElement\": () => (/* binding */ newElement),\n/* harmony export */ \"newTextElement\": () => (/* binding */ newTextElement),\n/* harmony export */ \"updateTextElement\": () => (/* binding */ updateTextElement),\n/* harmony export */ \"newFreeDrawElement\": () => (/* binding */ newFreeDrawElement),\n/* harmony export */ \"newLinearElement\": () => (/* binding */ newLinearElement),\n/* harmony export */ \"newImageElement\": () => (/* binding */ newImageElement),\n/* harmony export */ \"deepCopyElement\": () => (/* binding */ deepCopyElement),\n/* harmony export */ \"duplicateElement\": () => (/* binding */ duplicateElement)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../../utils.ts\");\n/* harmony import */ var _random__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../random */ \"../../random.ts\");\n/* harmony import */ var _mutateElement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mutateElement */ \"../../element/mutateElement.ts\");\n/* harmony import */ var _groups__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../groups */ \"../../groups.ts\");\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! . */ \"../../element/index.ts\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../math */ \"../../math.ts\");\n/* harmony import */ var _bounds__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./bounds */ \"../../element/bounds.ts\");\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst _newElementBase = (type, _a) => {\r\n var _b, _c;\r\n var { x, y, strokeColor, backgroundColor, fillStyle, strokeWidth, strokeStyle, roughness, opacity, width = 0, height = 0, angle = 0, groupIds = [], strokeSharpness, boundElementIds = null } = _a, rest = __rest(_a, [\"x\", \"y\", \"strokeColor\", \"backgroundColor\", \"fillStyle\", \"strokeWidth\", \"strokeStyle\", \"roughness\", \"opacity\", \"width\", \"height\", \"angle\", \"groupIds\", \"strokeSharpness\", \"boundElementIds\"]);\r\n return ({\r\n id: rest.id || (0,_random__WEBPACK_IMPORTED_MODULE_1__.randomId)(),\r\n type,\r\n x,\r\n y,\r\n width,\r\n height,\r\n angle,\r\n strokeColor,\r\n backgroundColor,\r\n fillStyle,\r\n strokeWidth,\r\n strokeStyle,\r\n roughness,\r\n opacity,\r\n groupIds,\r\n strokeSharpness,\r\n seed: (_b = rest.seed) !== null && _b !== void 0 ? _b : (0,_random__WEBPACK_IMPORTED_MODULE_1__.randomInteger)(),\r\n version: rest.version || 1,\r\n versionNonce: (_c = rest.versionNonce) !== null && _c !== void 0 ? _c : 0,\r\n isDeleted: false,\r\n boundElementIds,\r\n updated: (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getUpdatedTimestamp)(),\r\n });\r\n};\r\nconst newElement = (opts) => _newElementBase(opts.type, opts);\r\n/** computes element x/y offset based on textAlign/verticalAlign */\r\nconst getTextElementPositionOffsets = (opts, metrics) => {\r\n return {\r\n x: opts.textAlign === \"center\"\r\n ? metrics.width / 2\r\n : opts.textAlign === \"right\"\r\n ? metrics.width\r\n : 0,\r\n y: opts.verticalAlign === \"middle\" ? metrics.height / 2 : 0,\r\n };\r\n};\r\nconst newTextElement = (opts) => {\r\n const metrics = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.measureText)(opts.text, (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getFontString)(opts));\r\n const offsets = getTextElementPositionOffsets(opts, metrics);\r\n const textElement = (0,_mutateElement__WEBPACK_IMPORTED_MODULE_2__.newElementWith)(Object.assign(Object.assign({}, _newElementBase(\"text\", opts)), { text: opts.text, fontSize: opts.fontSize, fontFamily: opts.fontFamily, textAlign: opts.textAlign, verticalAlign: opts.verticalAlign, x: opts.x - offsets.x, y: opts.y - offsets.y, width: metrics.width, height: metrics.height, baseline: metrics.baseline }), {});\r\n return textElement;\r\n};\r\nconst getAdjustedDimensions = (element, nextText) => {\r\n const { width: nextWidth, height: nextHeight, baseline: nextBaseline, } = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.measureText)(nextText, (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getFontString)(element));\r\n const { textAlign, verticalAlign } = element;\r\n let x;\r\n let y;\r\n if (textAlign === \"center\" && verticalAlign === \"middle\") {\r\n const prevMetrics = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.measureText)(element.text, (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getFontString)(element));\r\n const offsets = getTextElementPositionOffsets(element, {\r\n width: nextWidth - prevMetrics.width,\r\n height: nextHeight - prevMetrics.height,\r\n });\r\n x = element.x - offsets.x;\r\n y = element.y - offsets.y;\r\n }\r\n else {\r\n const [x1, y1, x2, y2] = (0,___WEBPACK_IMPORTED_MODULE_4__.getElementAbsoluteCoords)(element);\r\n const [nextX1, nextY1, nextX2, nextY2] = (0,_bounds__WEBPACK_IMPORTED_MODULE_6__.getResizedElementAbsoluteCoords)(element, nextWidth, nextHeight);\r\n const deltaX1 = (x1 - nextX1) / 2;\r\n const deltaY1 = (y1 - nextY1) / 2;\r\n const deltaX2 = (x2 - nextX2) / 2;\r\n const deltaY2 = (y2 - nextY2) / 2;\r\n [x, y] = (0,_math__WEBPACK_IMPORTED_MODULE_5__.adjustXYWithRotation)({\r\n s: true,\r\n e: textAlign === \"center\" || textAlign === \"left\",\r\n w: textAlign === \"center\" || textAlign === \"right\",\r\n }, element.x, element.y, element.angle, deltaX1, deltaY1, deltaX2, deltaY2);\r\n }\r\n return {\r\n width: nextWidth,\r\n height: nextHeight,\r\n x: Number.isFinite(x) ? x : element.x,\r\n y: Number.isFinite(y) ? y : element.y,\r\n baseline: nextBaseline,\r\n };\r\n};\r\nconst updateTextElement = (element, { text, isDeleted }) => {\r\n return (0,_mutateElement__WEBPACK_IMPORTED_MODULE_2__.newElementWith)(element, Object.assign({ text, isDeleted: isDeleted !== null && isDeleted !== void 0 ? isDeleted : element.isDeleted }, getAdjustedDimensions(element, text)));\r\n};\r\nconst newFreeDrawElement = (opts) => {\r\n return Object.assign(Object.assign({}, _newElementBase(opts.type, opts)), { points: opts.points || [], pressures: [], simulatePressure: opts.simulatePressure, lastCommittedPoint: null });\r\n};\r\nconst newLinearElement = (opts) => {\r\n return Object.assign(Object.assign({}, _newElementBase(opts.type, opts)), { points: opts.points || [], lastCommittedPoint: null, startBinding: null, endBinding: null, startArrowhead: opts.startArrowhead, endArrowhead: opts.endArrowhead });\r\n};\r\nconst newImageElement = (opts) => {\r\n return Object.assign(Object.assign({}, _newElementBase(\"image\", opts)), { \r\n // in the future we'll support changing stroke color for some SVG elements,\r\n // and `transparent` will likely mean \"use original colors of the image\"\r\n strokeColor: \"transparent\", status: \"pending\", fileId: null, scale: [1, 1] });\r\n};\r\n// Simplified deep clone for the purpose of cloning ExcalidrawElement only\r\n// (doesn't clone Date, RegExp, Map, Set, Typed arrays etc.)\r\n//\r\n// Adapted from https://github.com/lukeed/klona\r\nconst deepCopyElement = (val, depth = 0) => {\r\n if (val == null || typeof val !== \"object\") {\r\n return val;\r\n }\r\n if (Object.prototype.toString.call(val) === \"[object Object]\") {\r\n const tmp = typeof val.constructor === \"function\"\r\n ? Object.create(Object.getPrototypeOf(val))\r\n : {};\r\n for (const key in val) {\r\n if (val.hasOwnProperty(key)) {\r\n // don't copy top-level shape property, which we want to regenerate\r\n if (depth === 0 && (key === \"shape\" || key === \"canvas\")) {\r\n continue;\r\n }\r\n tmp[key] = deepCopyElement(val[key], depth + 1);\r\n }\r\n }\r\n return tmp;\r\n }\r\n if (Array.isArray(val)) {\r\n let k = val.length;\r\n const arr = new Array(k);\r\n while (k--) {\r\n arr[k] = deepCopyElement(val[k], depth + 1);\r\n }\r\n return arr;\r\n }\r\n return val;\r\n};\r\n/**\r\n * Duplicate an element, often used in the alt-drag operation.\r\n * Note that this method has gotten a bit complicated since the\r\n * introduction of gruoping/ungrouping elements.\r\n * @param editingGroupId The current group being edited. The new\r\n * element will inherit this group and its\r\n * parents.\r\n * @param groupIdMapForOperation A Map that maps old group IDs to\r\n * duplicated ones. If you are duplicating\r\n * multiple elements at once, share this map\r\n * amongst all of them\r\n * @param element Element to duplicate\r\n * @param overrides Any element properties to override\r\n */\r\nconst duplicateElement = (editingGroupId, groupIdMapForOperation, element, overrides) => {\r\n var _a, _b;\r\n let copy = deepCopyElement(element);\r\n if (false) {}\r\n else {\r\n copy.id = (0,_random__WEBPACK_IMPORTED_MODULE_1__.randomId)();\r\n }\r\n copy.updated = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getUpdatedTimestamp)();\r\n copy.seed = (0,_random__WEBPACK_IMPORTED_MODULE_1__.randomInteger)();\r\n copy.groupIds = (0,_groups__WEBPACK_IMPORTED_MODULE_3__.getNewGroupIdsForDuplication)(copy.groupIds, editingGroupId, (groupId) => {\r\n if (!groupIdMapForOperation.has(groupId)) {\r\n groupIdMapForOperation.set(groupId, (0,_random__WEBPACK_IMPORTED_MODULE_1__.randomId)());\r\n }\r\n return groupIdMapForOperation.get(groupId);\r\n });\r\n if (overrides) {\r\n copy = Object.assign(copy, overrides);\r\n }\r\n return copy;\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNGLENBQUM7SUFDRixJQUFJLFNBQVMsRUFBRTtRQUNiLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztLQUN2QztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4uLy4uL2VsZW1lbnQvbmV3RWxlbWVudC50cz8xMjUzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEV4Y2FsaWRyYXdFbGVtZW50LFxuICBFeGNhbGlkcmF3SW1hZ2VFbGVtZW50LFxuICBFeGNhbGlkcmF3VGV4dEVsZW1lbnQsXG4gIEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50LFxuICBFeGNhbGlkcmF3R2VuZXJpY0VsZW1lbnQsXG4gIE5vbkRlbGV0ZWQsXG4gIFRleHRBbGlnbixcbiAgR3JvdXBJZCxcbiAgVmVydGljYWxBbGlnbixcbiAgQXJyb3doZWFkLFxuICBFeGNhbGlkcmF3RnJlZURyYXdFbGVtZW50LFxuICBGb250RmFtaWx5VmFsdWVzLFxufSBmcm9tIFwiLi4vZWxlbWVudC90eXBlc1wiO1xuaW1wb3J0IHsgbWVhc3VyZVRleHQsIGdldEZvbnRTdHJpbmcsIGdldFVwZGF0ZWRUaW1lc3RhbXAgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IHJhbmRvbUludGVnZXIsIHJhbmRvbUlkIH0gZnJvbSBcIi4uL3JhbmRvbVwiO1xuaW1wb3J0IHsgbmV3RWxlbWVudFdpdGggfSBmcm9tIFwiLi9tdXRhdGVFbGVtZW50XCI7XG5pbXBvcnQgeyBnZXROZXdHcm91cElkc0ZvckR1cGxpY2F0aW9uIH0gZnJvbSBcIi4uL2dyb3Vwc1wiO1xuaW1wb3J0IHsgQXBwU3RhdGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IGdldEVsZW1lbnRBYnNvbHV0ZUNvb3JkcyB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBhZGp1c3RYWVdpdGhSb3RhdGlvbiB9IGZyb20gXCIuLi9tYXRoXCI7XG5pbXBvcnQgeyBnZXRSZXNpemVkRWxlbWVudEFic29sdXRlQ29vcmRzIH0gZnJvbSBcIi4vYm91bmRzXCI7XG5cbnR5cGUgRWxlbWVudENvbnN0cnVjdG9yT3B0cyA9IE1hcmtPcHRpb25hbDxcbiAgT21pdDxFeGNhbGlkcmF3R2VuZXJpY0VsZW1lbnQsIFwiaWRcIiB8IFwidHlwZVwiIHwgXCJpc0RlbGV0ZWRcIiB8IFwidXBkYXRlZFwiPixcbiAgfCBcIndpZHRoXCJcbiAgfCBcImhlaWdodFwiXG4gIHwgXCJhbmdsZVwiXG4gIHwgXCJncm91cElkc1wiXG4gIHwgXCJib3VuZEVsZW1lbnRJZHNcIlxuICB8IFwic2VlZFwiXG4gIHwgXCJ2ZXJzaW9uXCJcbiAgfCBcInZlcnNpb25Ob25jZVwiXG4+O1xuXG5jb25zdCBfbmV3RWxlbWVudEJhc2UgPSA8VCBleHRlbmRzIEV4Y2FsaWRyYXdFbGVtZW50PihcbiAgdHlwZTogVFtcInR5cGVcIl0sXG4gIHtcbiAgICB4LFxuICAgIHksXG4gICAgc3Ryb2tlQ29sb3IsXG4gICAgYmFja2dyb3VuZENvbG9yLFxuICAgIGZpbGxTdHlsZSxcbiAgICBzdHJva2VXaWR0aCxcbiAgICBzdHJva2VTdHlsZSxcbiAgICByb3VnaG5lc3MsXG4gICAgb3BhY2l0eSxcbiAgICB3aWR0aCA9IDAsXG4gICAgaGVpZ2h0ID0gMCxcbiAgICBhbmdsZSA9IDAsXG4gICAgZ3JvdXBJZHMgPSBbXSxcbiAgICBzdHJva2VTaGFycG5lc3MsXG4gICAgYm91bmRFbGVtZW50SWRzID0gbnVsbCxcbiAgICAuLi5yZXN0XG4gIH06IEVsZW1lbnRDb25zdHJ1Y3Rvck9wdHMgJiBPbWl0PFBhcnRpYWw8RXhjYWxpZHJhd0dlbmVyaWNFbGVtZW50PiwgXCJ0eXBlXCI+LFxuKSA9PiAoe1xuICBpZDogcmVzdC5pZCB8fCByYW5kb21JZCgpLFxuICB0eXBlLFxuICB4LFxuICB5LFxuICB3aWR0aCxcbiAgaGVpZ2h0LFxuICBhbmdsZSxcbiAgc3Ryb2tlQ29sb3IsXG4gIGJhY2tncm91bmRDb2xvcixcbiAgZmlsbFN0eWxlLFxuICBzdHJva2VXaWR0aCxcbiAgc3Ryb2tlU3R5bGUsXG4gIHJvdWdobmVzcyxcbiAgb3BhY2l0eSxcbiAgZ3JvdXBJZHMsXG4gIHN0cm9rZVNoYXJwbmVzcyxcbiAgc2VlZDogcmVzdC5zZWVkID8/IHJhbmRvbUludGVnZXIoKSxcbiAgdmVyc2lvbjogcmVzdC52ZXJzaW9uIHx8IDEsXG4gIHZlcnNpb25Ob25jZTogcmVzdC52ZXJzaW9uTm9uY2UgPz8gMCxcbiAgaXNEZWxldGVkOiBmYWxzZSBhcyBmYWxzZSxcbiAgYm91bmRFbGVtZW50SWRzLFxuICB1cGRhdGVkOiBnZXRVcGRhdGVkVGltZXN0YW1wKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IG5ld0VsZW1lbnQgPSAoXG4gIG9wdHM6IHtcbiAgICB0eXBlOiBFeGNhbGlkcmF3R2VuZXJpY0VsZW1lbnRbXCJ0eXBlXCJdO1xuICB9ICYgRWxlbWVudENvbnN0cnVjdG9yT3B0cyxcbik6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0dlbmVyaWNFbGVtZW50PiA9PlxuICBfbmV3RWxlbWVudEJhc2U8RXhjYWxpZHJhd0dlbmVyaWNFbGVtZW50PihvcHRzLnR5cGUsIG9wdHMpO1xuXG4vKiogY29tcHV0ZXMgZWxlbWVudCB4L3kgb2Zmc2V0IGJhc2VkIG9uIHRleHRBbGlnbi92ZXJ0aWNhbEFsaWduICovXG5jb25zdCBnZXRUZXh0RWxlbWVudFBvc2l0aW9uT2Zmc2V0cyA9IChcbiAgb3B0czoge1xuICAgIHRleHRBbGlnbjogRXhjYWxpZHJhd1RleHRFbGVtZW50W1widGV4dEFsaWduXCJdO1xuICAgIHZlcnRpY2FsQWxpZ246IEV4Y2FsaWRyYXdUZXh0RWxlbWVudFtcInZlcnRpY2FsQWxpZ25cIl07XG4gIH0sXG4gIG1ldHJpY3M6IHtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICB9LFxuKSA9PiB7XG4gIHJldHVybiB7XG4gICAgeDpcbiAgICAgIG9wdHMudGV4dEFsaWduID09PSBcImNlbnRlclwiXG4gICAgICAgID8gbWV0cmljcy53aWR0aCAvIDJcbiAgICAgICAgOiBvcHRzLnRleHRBbGlnbiA9PT0gXCJyaWdodFwiXG4gICAgICAgID8gbWV0cmljcy53aWR0aFxuICAgICAgICA6IDAsXG4gICAgeTogb3B0cy52ZXJ0aWNhbEFsaWduID09PSBcIm1pZGRsZVwiID8gbWV0cmljcy5oZWlnaHQgLyAyIDogMCxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBuZXdUZXh0RWxlbWVudCA9IChcbiAgb3B0czoge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBmb250U2l6ZTogbnVtYmVyO1xuICAgIGZvbnRGYW1pbHk6IEZvbnRGYW1pbHlWYWx1ZXM7XG4gICAgdGV4dEFsaWduOiBUZXh0QWxpZ247XG4gICAgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbjtcbiAgfSAmIEVsZW1lbnRDb25zdHJ1Y3Rvck9wdHMsXG4pOiBOb25EZWxldGVkPEV4Y2FsaWRyYXdUZXh0RWxlbWVudD4gPT4ge1xuICBjb25zdCBtZXRyaWNzID0gbWVhc3VyZVRleHQob3B0cy50ZXh0LCBnZXRGb250U3RyaW5nKG9wdHMpKTtcbiAgY29uc3Qgb2Zmc2V0cyA9IGdldFRleHRFbGVtZW50UG9zaXRpb25PZmZzZXRzKG9wdHMsIG1ldHJpY3MpO1xuICBjb25zdCB0ZXh0RWxlbWVudCA9IG5ld0VsZW1lbnRXaXRoKFxuICAgIHtcbiAgICAgIC4uLl9uZXdFbGVtZW50QmFzZTxFeGNhbGlkcmF3VGV4dEVsZW1lbnQ+KFwidGV4dFwiLCBvcHRzKSxcbiAgICAgIHRleHQ6IG9wdHMudGV4dCxcbiAgICAgIGZvbnRTaXplOiBvcHRzLmZvbnRTaXplLFxuICAgICAgZm9udEZhbWlseTogb3B0cy5mb250RmFtaWx5LFxuICAgICAgdGV4dEFsaWduOiBvcHRzLnRleHRBbGlnbixcbiAgICAgIHZlcnRpY2FsQWxpZ246IG9wdHMudmVydGljYWxBbGlnbixcbiAgICAgIHg6IG9wdHMueCAtIG9mZnNldHMueCxcbiAgICAgIHk6IG9wdHMueSAtIG9mZnNldHMueSxcbiAgICAgIHdpZHRoOiBtZXRyaWNzLndpZHRoLFxuICAgICAgaGVpZ2h0OiBtZXRyaWNzLmhlaWdodCxcbiAgICAgIGJhc2VsaW5lOiBtZXRyaWNzLmJhc2VsaW5lLFxuICAgIH0sXG4gICAge30sXG4gICk7XG4gIHJldHVybiB0ZXh0RWxlbWVudDtcbn07XG5cbmNvbnN0IGdldEFkanVzdGVkRGltZW5zaW9ucyA9IChcbiAgZWxlbWVudDogRXhjYWxpZHJhd1RleHRFbGVtZW50LFxuICBuZXh0VGV4dDogc3RyaW5nLFxuKToge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGJhc2VsaW5lOiBudW1iZXI7XG59ID0+IHtcbiAgY29uc3Qge1xuICAgIHdpZHRoOiBuZXh0V2lkdGgsXG4gICAgaGVpZ2h0OiBuZXh0SGVpZ2h0LFxuICAgIGJhc2VsaW5lOiBuZXh0QmFzZWxpbmUsXG4gIH0gPSBtZWFzdXJlVGV4dChuZXh0VGV4dCwgZ2V0Rm9udFN0cmluZyhlbGVtZW50KSk7XG4gIGNvbnN0IHsgdGV4dEFsaWduLCB2ZXJ0aWNhbEFsaWduIH0gPSBlbGVtZW50O1xuXG4gIGxldCB4OiBudW1iZXI7XG4gIGxldCB5OiBudW1iZXI7XG5cbiAgaWYgKHRleHRBbGlnbiA9PT0gXCJjZW50ZXJcIiAmJiB2ZXJ0aWNhbEFsaWduID09PSBcIm1pZGRsZVwiKSB7XG4gICAgY29uc3QgcHJldk1ldHJpY3MgPSBtZWFzdXJlVGV4dChlbGVtZW50LnRleHQsIGdldEZvbnRTdHJpbmcoZWxlbWVudCkpO1xuICAgIGNvbnN0IG9mZnNldHMgPSBnZXRUZXh0RWxlbWVudFBvc2l0aW9uT2Zmc2V0cyhlbGVtZW50LCB7XG4gICAgICB3aWR0aDogbmV4dFdpZHRoIC0gcHJldk1ldHJpY3Mud2lkdGgsXG4gICAgICBoZWlnaHQ6IG5leHRIZWlnaHQgLSBwcmV2TWV0cmljcy5oZWlnaHQsXG4gICAgfSk7XG5cbiAgICB4ID0gZWxlbWVudC54IC0gb2Zmc2V0cy54O1xuICAgIHkgPSBlbGVtZW50LnkgLSBvZmZzZXRzLnk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgW3gxLCB5MSwgeDIsIHkyXSA9IGdldEVsZW1lbnRBYnNvbHV0ZUNvb3JkcyhlbGVtZW50KTtcblxuICAgIGNvbnN0IFtuZXh0WDEsIG5leHRZMSwgbmV4dFgyLCBuZXh0WTJdID0gZ2V0UmVzaXplZEVsZW1lbnRBYnNvbHV0ZUNvb3JkcyhcbiAgICAgIGVsZW1lbnQsXG4gICAgICBuZXh0V2lkdGgsXG4gICAgICBuZXh0SGVpZ2h0LFxuICAgICk7XG4gICAgY29uc3QgZGVsdGFYMSA9ICh4MSAtIG5leHRYMSkgLyAyO1xuICAgIGNvbnN0IGRlbHRhWTEgPSAoeTEgLSBuZXh0WTEpIC8gMjtcbiAgICBjb25zdCBkZWx0YVgyID0gKHgyIC0gbmV4dFgyKSAvIDI7XG4gICAgY29uc3QgZGVsdGFZMiA9ICh5MiAtIG5leHRZMikgLyAyO1xuXG4gICAgW3gsIHldID0gYWRqdXN0WFlXaXRoUm90YXRpb24oXG4gICAgICB7XG4gICAgICAgIHM6IHRydWUsXG4gICAgICAgIGU6IHRleHRBbGlnbiA9PT0gXCJjZW50ZXJcIiB8fCB0ZXh0QWxpZ24gPT09IFwibGVmdFwiLFxuICAgICAgICB3OiB0ZXh0QWxpZ24gPT09IFwiY2VudGVyXCIgfHwgdGV4dEFsaWduID09PSBcInJpZ2h0XCIsXG4gICAgICB9LFxuICAgICAgZWxlbWVudC54LFxuICAgICAgZWxlbWVudC55LFxuICAgICAgZWxlbWVudC5hbmdsZSxcbiAgICAgIGRlbHRhWDEsXG4gICAgICBkZWx0YVkxLFxuICAgICAgZGVsdGFYMixcbiAgICAgIGRlbHRhWTIsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgd2lkdGg6IG5leHRXaWR0aCxcbiAgICBoZWlnaHQ6IG5leHRIZWlnaHQsXG4gICAgeDogTnVtYmVyLmlzRmluaXRlKHgpID8geCA6IGVsZW1lbnQueCxcbiAgICB5OiBOdW1iZXIuaXNGaW5pdGUoeSkgPyB5IDogZWxlbWVudC55LFxuICAgIGJhc2VsaW5lOiBuZXh0QmFzZWxpbmUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlVGV4dEVsZW1lbnQgPSAoXG4gIGVsZW1lbnQ6IEV4Y2FsaWRyYXdUZXh0RWxlbWVudCxcbiAgeyB0ZXh0LCBpc0RlbGV0ZWQgfTogeyB0ZXh0OiBzdHJpbmc7IGlzRGVsZXRlZD86IGJvb2xlYW4gfSxcbik6IEV4Y2FsaWRyYXdUZXh0RWxlbWVudCA9PiB7XG4gIHJldHVybiBuZXdFbGVtZW50V2l0aChlbGVtZW50LCB7XG4gICAgdGV4dCxcbiAgICBpc0RlbGV0ZWQ6IGlzRGVsZXRlZCA/PyBlbGVtZW50LmlzRGVsZXRlZCxcbiAgICAuLi5nZXRBZGp1c3RlZERpbWVuc2lvbnMoZWxlbWVudCwgdGV4dCksXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IG5ld0ZyZWVEcmF3RWxlbWVudCA9IChcbiAgb3B0czoge1xuICAgIHR5cGU6IFwiZnJlZWRyYXdcIjtcbiAgICBwb2ludHM/OiBFeGNhbGlkcmF3RnJlZURyYXdFbGVtZW50W1wicG9pbnRzXCJdO1xuICAgIHNpbXVsYXRlUHJlc3N1cmU6IGJvb2xlYW47XG4gIH0gJiBFbGVtZW50Q29uc3RydWN0b3JPcHRzLFxuKTogTm9uRGVsZXRlZDxFeGNhbGlkcmF3RnJlZURyYXdFbGVtZW50PiA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uX25ld0VsZW1lbnRCYXNlPEV4Y2FsaWRyYXdGcmVlRHJhd0VsZW1lbnQ+KG9wdHMudHlwZSwgb3B0cyksXG4gICAgcG9pbnRzOiBvcHRzLnBvaW50cyB8fCBbXSxcbiAgICBwcmVzc3VyZXM6IFtdLFxuICAgIHNpbXVsYXRlUHJlc3N1cmU6IG9wdHMuc2ltdWxhdGVQcmVzc3VyZSxcbiAgICBsYXN0Q29tbWl0dGVkUG9pbnQ6IG51bGwsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgbmV3TGluZWFyRWxlbWVudCA9IChcbiAgb3B0czoge1xuICAgIHR5cGU6IEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50W1widHlwZVwiXTtcbiAgICBzdGFydEFycm93aGVhZDogQXJyb3doZWFkIHwgbnVsbDtcbiAgICBlbmRBcnJvd2hlYWQ6IEFycm93aGVhZCB8IG51bGw7XG4gICAgcG9pbnRzPzogRXhjYWxpZHJhd0xpbmVhckVsZW1lbnRbXCJwb2ludHNcIl07XG4gIH0gJiBFbGVtZW50Q29uc3RydWN0b3JPcHRzLFxuKTogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4gPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLl9uZXdFbGVtZW50QmFzZTxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4ob3B0cy50eXBlLCBvcHRzKSxcbiAgICBwb2ludHM6IG9wdHMucG9pbnRzIHx8IFtdLFxuICAgIGxhc3RDb21taXR0ZWRQb2ludDogbnVsbCxcbiAgICBzdGFydEJpbmRpbmc6IG51bGwsXG4gICAgZW5kQmluZGluZzogbnVsbCxcbiAgICBzdGFydEFycm93aGVhZDogb3B0cy5zdGFydEFycm93aGVhZCxcbiAgICBlbmRBcnJvd2hlYWQ6IG9wdHMuZW5kQXJyb3doZWFkLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG5ld0ltYWdlRWxlbWVudCA9IChcbiAgb3B0czoge1xuICAgIHR5cGU6IEV4Y2FsaWRyYXdJbWFnZUVsZW1lbnRbXCJ0eXBlXCJdO1xuICB9ICYgRWxlbWVudENvbnN0cnVjdG9yT3B0cyxcbik6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0ltYWdlRWxlbWVudD4gPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLl9uZXdFbGVtZW50QmFzZTxFeGNhbGlkcmF3SW1hZ2VFbGVtZW50PihcImltYWdlXCIsIG9wdHMpLFxuICAgIC8vIGluIHRoZSBmdXR1cmUgd2UnbGwgc3VwcG9ydCBjaGFuZ2luZyBzdHJva2UgY29sb3IgZm9yIHNvbWUgU1ZHIGVsZW1lbnRzLFxuICAgIC8vIGFuZCBgdHJhbnNwYXJlbnRgIHdpbGwgbGlrZWx5IG1lYW4gXCJ1c2Ugb3JpZ2luYWwgY29sb3JzIG9mIHRoZSBpbWFnZVwiXG4gICAgc3Ryb2tlQ29sb3I6IFwidHJhbnNwYXJlbnRcIixcbiAgICBzdGF0dXM6IFwicGVuZGluZ1wiLFxuICAgIGZpbGVJZDogbnVsbCxcbiAgICBzY2FsZTogWzEsIDFdLFxuICB9O1xufTtcblxuLy8gU2ltcGxpZmllZCBkZWVwIGNsb25lIGZvciB0aGUgcHVycG9zZSBvZiBjbG9uaW5nIEV4Y2FsaWRyYXdFbGVtZW50IG9ubHlcbi8vIChkb2Vzbid0IGNsb25lIERhdGUsIFJlZ0V4cCwgTWFwLCBTZXQsIFR5cGVkIGFycmF5cyBldGMuKVxuLy9cbi8vIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbHVrZWVkL2tsb25hXG5leHBvcnQgY29uc3QgZGVlcENvcHlFbGVtZW50ID0gKHZhbDogYW55LCBkZXB0aDogbnVtYmVyID0gMCkgPT4ge1xuICBpZiAodmFsID09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiB2YWw7XG4gIH1cblxuICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09IFwiW29iamVjdCBPYmplY3RdXCIpIHtcbiAgICBjb25zdCB0bXAgPVxuICAgICAgdHlwZW9mIHZhbC5jb25zdHJ1Y3RvciA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgID8gT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsKSlcbiAgICAgICAgOiB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB2YWwpIHtcbiAgICAgIGlmICh2YWwuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAvLyBkb24ndCBjb3B5IHRvcC1sZXZlbCBzaGFwZSBwcm9wZXJ0eSwgd2hpY2ggd2Ugd2FudCB0byByZWdlbmVyYXRlXG4gICAgICAgIGlmIChkZXB0aCA9PT0gMCAmJiAoa2V5ID09PSBcInNoYXBlXCIgfHwga2V5ID09PSBcImNhbnZhc1wiKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHRtcFtrZXldID0gZGVlcENvcHlFbGVtZW50KHZhbFtrZXldLCBkZXB0aCArIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdG1wO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgIGxldCBrID0gdmFsLmxlbmd0aDtcbiAgICBjb25zdCBhcnIgPSBuZXcgQXJyYXkoayk7XG4gICAgd2hpbGUgKGstLSkge1xuICAgICAgYXJyW2tdID0gZGVlcENvcHlFbGVtZW50KHZhbFtrXSwgZGVwdGggKyAxKTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG4gIHJldHVybiB2YWw7XG59O1xuXG4vKipcbiAqIER1cGxpY2F0ZSBhbiBlbGVtZW50LCBvZnRlbiB1c2VkIGluIHRoZSBhbHQtZHJhZyBvcGVyYXRpb24uXG4gKiBOb3RlIHRoYXQgdGhpcyBtZXRob2QgaGFzIGdvdHRlbiBhIGJpdCBjb21wbGljYXRlZCBzaW5jZSB0aGVcbiAqIGludHJvZHVjdGlvbiBvZiBncnVvcGluZy91bmdyb3VwaW5nIGVsZW1lbnRzLlxuICogQHBhcmFtIGVkaXRpbmdHcm91cElkIFRoZSBjdXJyZW50IGdyb3VwIGJlaW5nIGVkaXRlZC4gVGhlIG5ld1xuICogICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQgd2lsbCBpbmhlcml0IHRoaXMgZ3JvdXAgYW5kIGl0c1xuICogICAgICAgICAgICAgICAgICAgICAgIHBhcmVudHMuXG4gKiBAcGFyYW0gZ3JvdXBJZE1hcEZvck9wZXJhdGlvbiBBIE1hcCB0aGF0IG1hcHMgb2xkIGdyb3VwIElEcyB0b1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVwbGljYXRlZCBvbmVzLiBJZiB5b3UgYXJlIGR1cGxpY2F0aW5nXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSBlbGVtZW50cyBhdCBvbmNlLCBzaGFyZSB0aGlzIG1hcFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vbmdzdCBhbGwgb2YgdGhlbVxuICogQHBhcmFtIGVsZW1lbnQgRWxlbWVudCB0byBkdXBsaWNhdGVcbiAqIEBwYXJhbSBvdmVycmlkZXMgQW55IGVsZW1lbnQgcHJvcGVydGllcyB0byBvdmVycmlkZVxuICovXG5leHBvcnQgY29uc3QgZHVwbGljYXRlRWxlbWVudCA9IDxURWxlbWVudCBleHRlbmRzIE11dGFibGU8RXhjYWxpZHJhd0VsZW1lbnQ+PihcbiAgZWRpdGluZ0dyb3VwSWQ6IEFwcFN0YXRlW1wiZWRpdGluZ0dyb3VwSWRcIl0sXG4gIGdyb3VwSWRNYXBGb3JPcGVyYXRpb246IE1hcDxHcm91cElkLCBHcm91cElkPixcbiAgZWxlbWVudDogVEVsZW1lbnQsXG4gIG92ZXJyaWRlcz86IFBhcnRpYWw8VEVsZW1lbnQ+LFxuKTogVEVsZW1lbnQgPT4ge1xuICBsZXQgY29weTogVEVsZW1lbnQgPSBkZWVwQ29weUVsZW1lbnQoZWxlbWVudCk7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJ0ZXN0XCIpIHtcbiAgICBjb3B5LmlkID0gYCR7Y29weS5pZH1fY29weWA7XG4gICAgLy8gYHdpbmRvdy5oYCBtYXkgbm90IGJlIGRlZmluZWQgaW4gc29tZSB1bml0IHRlc3RzXG4gICAgaWYgKFxuICAgICAgd2luZG93Lmg/LmFwcFxuICAgICAgICA/LmdldFNjZW5lRWxlbWVudHNJbmNsdWRpbmdEZWxldGVkKClcbiAgICAgICAgLmZpbmQoKGVsKSA9PiBlbC5pZCA9PT0gY29weS5pZClcbiAgICApIHtcbiAgICAgIGNvcHkuaWQgKz0gXCJfY29weVwiO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb3B5LmlkID0gcmFuZG9tSWQoKTtcbiAgfVxuICBjb3B5LnVwZGF0ZWQgPSBnZXRVcGRhdGVkVGltZXN0YW1wKCk7XG4gIGNvcHkuc2VlZCA9IHJhbmRvbUludGVnZXIoKTtcbiAgY29weS5ncm91cElkcyA9IGdldE5ld0dyb3VwSWRzRm9yRHVwbGljYXRpb24oXG4gICAgY29weS5ncm91cElkcyxcbiAgICBlZGl0aW5nR3JvdXBJZCxcbiAgICAoZ3JvdXBJZCkgPT4ge1xuICAgICAgaWYgKCFncm91cElkTWFwRm9yT3BlcmF0aW9uLmhhcyhncm91cElkKSkge1xuICAgICAgICBncm91cElkTWFwRm9yT3BlcmF0aW9uLnNldChncm91cElkLCByYW5kb21JZCgpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBncm91cElkTWFwRm9yT3BlcmF0aW9uLmdldChncm91cElkKSE7XG4gICAgfSxcbiAgKTtcbiAgaWYgKG92ZXJyaWRlcykge1xuICAgIGNvcHkgPSBPYmplY3QuYXNzaWduKGNvcHksIG92ZXJyaWRlcyk7XG4gIH1cbiAgcmV0dXJuIGNvcHk7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../element/newElement.ts\n");
|
|
2277
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"newElement\": () => (/* binding */ newElement),\n/* harmony export */ \"newTextElement\": () => (/* binding */ newTextElement),\n/* harmony export */ \"updateTextElement\": () => (/* binding */ updateTextElement),\n/* harmony export */ \"newFreeDrawElement\": () => (/* binding */ newFreeDrawElement),\n/* harmony export */ \"newLinearElement\": () => (/* binding */ newLinearElement),\n/* harmony export */ \"newImageElement\": () => (/* binding */ newImageElement),\n/* harmony export */ \"deepCopyElement\": () => (/* binding */ deepCopyElement),\n/* harmony export */ \"duplicateElement\": () => (/* binding */ duplicateElement)\n/* harmony export */ });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../../utils.ts\");\n/* harmony import */ var _random__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../random */ \"../../random.ts\");\n/* harmony import */ var _mutateElement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mutateElement */ \"../../element/mutateElement.ts\");\n/* harmony import */ var _groups__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../groups */ \"../../groups.ts\");\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! . */ \"../../element/index.ts\");\n/* harmony import */ var _math__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../math */ \"../../math.ts\");\n/* harmony import */ var _bounds__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./bounds */ \"../../element/bounds.ts\");\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst _newElementBase = (type, _a) => {\r\n var _b, _c;\r\n var { x, y, strokeColor, backgroundColor, fillStyle, strokeWidth, strokeStyle, roughness, opacity, width = 0, height = 0, angle = 0, groupIds = [], strokeSharpness, boundElements = null } = _a, rest = __rest(_a, [\"x\", \"y\", \"strokeColor\", \"backgroundColor\", \"fillStyle\", \"strokeWidth\", \"strokeStyle\", \"roughness\", \"opacity\", \"width\", \"height\", \"angle\", \"groupIds\", \"strokeSharpness\", \"boundElements\"]);\r\n return ({\r\n id: rest.id || (0,_random__WEBPACK_IMPORTED_MODULE_1__.randomId)(),\r\n type,\r\n x,\r\n y,\r\n width,\r\n height,\r\n angle,\r\n strokeColor,\r\n backgroundColor,\r\n fillStyle,\r\n strokeWidth,\r\n strokeStyle,\r\n roughness,\r\n opacity,\r\n groupIds,\r\n strokeSharpness,\r\n seed: (_b = rest.seed) !== null && _b !== void 0 ? _b : (0,_random__WEBPACK_IMPORTED_MODULE_1__.randomInteger)(),\r\n version: rest.version || 1,\r\n versionNonce: (_c = rest.versionNonce) !== null && _c !== void 0 ? _c : 0,\r\n isDeleted: false,\r\n boundElements,\r\n updated: (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getUpdatedTimestamp)(),\r\n });\r\n};\r\nconst newElement = (opts) => _newElementBase(opts.type, opts);\r\n/** computes element x/y offset based on textAlign/verticalAlign */\r\nconst getTextElementPositionOffsets = (opts, metrics) => {\r\n return {\r\n x: opts.textAlign === \"center\"\r\n ? metrics.width / 2\r\n : opts.textAlign === \"right\"\r\n ? metrics.width\r\n : 0,\r\n y: opts.verticalAlign === \"middle\" ? metrics.height / 2 : 0,\r\n };\r\n};\r\nconst newTextElement = (opts) => {\r\n const metrics = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.measureText)(opts.text, (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getFontString)(opts));\r\n const offsets = getTextElementPositionOffsets(opts, metrics);\r\n const textElement = (0,_mutateElement__WEBPACK_IMPORTED_MODULE_2__.newElementWith)(Object.assign(Object.assign({}, _newElementBase(\"text\", opts)), { text: opts.text, fontSize: opts.fontSize, fontFamily: opts.fontFamily, textAlign: opts.textAlign, verticalAlign: opts.verticalAlign, x: opts.x - offsets.x, y: opts.y - offsets.y, width: metrics.width, height: metrics.height, baseline: metrics.baseline }), {});\r\n return textElement;\r\n};\r\nconst getAdjustedDimensions = (element, nextText) => {\r\n const { width: nextWidth, height: nextHeight, baseline: nextBaseline, } = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.measureText)(nextText, (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getFontString)(element));\r\n const { textAlign, verticalAlign } = element;\r\n let x;\r\n let y;\r\n if (textAlign === \"center\" && verticalAlign === \"middle\") {\r\n const prevMetrics = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.measureText)(element.text, (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getFontString)(element));\r\n const offsets = getTextElementPositionOffsets(element, {\r\n width: nextWidth - prevMetrics.width,\r\n height: nextHeight - prevMetrics.height,\r\n });\r\n x = element.x - offsets.x;\r\n y = element.y - offsets.y;\r\n }\r\n else {\r\n const [x1, y1, x2, y2] = (0,___WEBPACK_IMPORTED_MODULE_4__.getElementAbsoluteCoords)(element);\r\n const [nextX1, nextY1, nextX2, nextY2] = (0,_bounds__WEBPACK_IMPORTED_MODULE_6__.getResizedElementAbsoluteCoords)(element, nextWidth, nextHeight);\r\n const deltaX1 = (x1 - nextX1) / 2;\r\n const deltaY1 = (y1 - nextY1) / 2;\r\n const deltaX2 = (x2 - nextX2) / 2;\r\n const deltaY2 = (y2 - nextY2) / 2;\r\n [x, y] = (0,_math__WEBPACK_IMPORTED_MODULE_5__.adjustXYWithRotation)({\r\n s: true,\r\n e: textAlign === \"center\" || textAlign === \"left\",\r\n w: textAlign === \"center\" || textAlign === \"right\",\r\n }, element.x, element.y, element.angle, deltaX1, deltaY1, deltaX2, deltaY2);\r\n }\r\n return {\r\n width: nextWidth,\r\n height: nextHeight,\r\n x: Number.isFinite(x) ? x : element.x,\r\n y: Number.isFinite(y) ? y : element.y,\r\n baseline: nextBaseline,\r\n };\r\n};\r\nconst updateTextElement = (element, { text, isDeleted }) => {\r\n return (0,_mutateElement__WEBPACK_IMPORTED_MODULE_2__.newElementWith)(element, Object.assign({ text, isDeleted: isDeleted !== null && isDeleted !== void 0 ? isDeleted : element.isDeleted }, getAdjustedDimensions(element, text)));\r\n};\r\nconst newFreeDrawElement = (opts) => {\r\n return Object.assign(Object.assign({}, _newElementBase(opts.type, opts)), { points: opts.points || [], pressures: [], simulatePressure: opts.simulatePressure, lastCommittedPoint: null });\r\n};\r\nconst newLinearElement = (opts) => {\r\n return Object.assign(Object.assign({}, _newElementBase(opts.type, opts)), { points: opts.points || [], lastCommittedPoint: null, startBinding: null, endBinding: null, startArrowhead: opts.startArrowhead, endArrowhead: opts.endArrowhead });\r\n};\r\nconst newImageElement = (opts) => {\r\n return Object.assign(Object.assign({}, _newElementBase(\"image\", opts)), { \r\n // in the future we'll support changing stroke color for some SVG elements,\r\n // and `transparent` will likely mean \"use original colors of the image\"\r\n strokeColor: \"transparent\", status: \"pending\", fileId: null, scale: [1, 1] });\r\n};\r\n// Simplified deep clone for the purpose of cloning ExcalidrawElement only\r\n// (doesn't clone Date, RegExp, Map, Set, Typed arrays etc.)\r\n//\r\n// Adapted from https://github.com/lukeed/klona\r\nconst deepCopyElement = (val, depth = 0) => {\r\n if (val == null || typeof val !== \"object\") {\r\n return val;\r\n }\r\n if (Object.prototype.toString.call(val) === \"[object Object]\") {\r\n const tmp = typeof val.constructor === \"function\"\r\n ? Object.create(Object.getPrototypeOf(val))\r\n : {};\r\n for (const key in val) {\r\n if (val.hasOwnProperty(key)) {\r\n // don't copy top-level shape property, which we want to regenerate\r\n if (depth === 0 && (key === \"shape\" || key === \"canvas\")) {\r\n continue;\r\n }\r\n tmp[key] = deepCopyElement(val[key], depth + 1);\r\n }\r\n }\r\n return tmp;\r\n }\r\n if (Array.isArray(val)) {\r\n let k = val.length;\r\n const arr = new Array(k);\r\n while (k--) {\r\n arr[k] = deepCopyElement(val[k], depth + 1);\r\n }\r\n return arr;\r\n }\r\n return val;\r\n};\r\n/**\r\n * Duplicate an element, often used in the alt-drag operation.\r\n * Note that this method has gotten a bit complicated since the\r\n * introduction of gruoping/ungrouping elements.\r\n * @param editingGroupId The current group being edited. The new\r\n * element will inherit this group and its\r\n * parents.\r\n * @param groupIdMapForOperation A Map that maps old group IDs to\r\n * duplicated ones. If you are duplicating\r\n * multiple elements at once, share this map\r\n * amongst all of them\r\n * @param element Element to duplicate\r\n * @param overrides Any element properties to override\r\n */\r\nconst duplicateElement = (editingGroupId, groupIdMapForOperation, element, overrides) => {\r\n var _a, _b;\r\n let copy = deepCopyElement(element);\r\n if (false) {}\r\n else {\r\n copy.id = (0,_random__WEBPACK_IMPORTED_MODULE_1__.randomId)();\r\n }\r\n copy.updated = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getUpdatedTimestamp)();\r\n copy.seed = (0,_random__WEBPACK_IMPORTED_MODULE_1__.randomInteger)();\r\n copy.groupIds = (0,_groups__WEBPACK_IMPORTED_MODULE_3__.getNewGroupIdsForDuplication)(copy.groupIds, editingGroupId, (groupId) => {\r\n if (!groupIdMapForOperation.has(groupId)) {\r\n groupIdMapForOperation.set(groupId, (0,_random__WEBPACK_IMPORTED_MODULE_1__.randomId)());\r\n }\r\n return groupIdMapForOperation.get(groupId);\r\n });\r\n if (overrides) {\r\n copy = Object.assign(copy, overrides);\r\n }\r\n return copy;\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNGLENBQUM7SUFDRixJQUFJLFNBQVMsRUFBRTtRQUNiLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztLQUN2QztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4uLy4uL2VsZW1lbnQvbmV3RWxlbWVudC50cz8xMjUzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEV4Y2FsaWRyYXdFbGVtZW50LFxuICBFeGNhbGlkcmF3SW1hZ2VFbGVtZW50LFxuICBFeGNhbGlkcmF3VGV4dEVsZW1lbnQsXG4gIEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50LFxuICBFeGNhbGlkcmF3R2VuZXJpY0VsZW1lbnQsXG4gIE5vbkRlbGV0ZWQsXG4gIFRleHRBbGlnbixcbiAgR3JvdXBJZCxcbiAgVmVydGljYWxBbGlnbixcbiAgQXJyb3doZWFkLFxuICBFeGNhbGlkcmF3RnJlZURyYXdFbGVtZW50LFxuICBGb250RmFtaWx5VmFsdWVzLFxufSBmcm9tIFwiLi4vZWxlbWVudC90eXBlc1wiO1xuaW1wb3J0IHsgbWVhc3VyZVRleHQsIGdldEZvbnRTdHJpbmcsIGdldFVwZGF0ZWRUaW1lc3RhbXAgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IHJhbmRvbUludGVnZXIsIHJhbmRvbUlkIH0gZnJvbSBcIi4uL3JhbmRvbVwiO1xuaW1wb3J0IHsgbmV3RWxlbWVudFdpdGggfSBmcm9tIFwiLi9tdXRhdGVFbGVtZW50XCI7XG5pbXBvcnQgeyBnZXROZXdHcm91cElkc0ZvckR1cGxpY2F0aW9uIH0gZnJvbSBcIi4uL2dyb3Vwc1wiO1xuaW1wb3J0IHsgQXBwU3RhdGUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IGdldEVsZW1lbnRBYnNvbHV0ZUNvb3JkcyB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBhZGp1c3RYWVdpdGhSb3RhdGlvbiB9IGZyb20gXCIuLi9tYXRoXCI7XG5pbXBvcnQgeyBnZXRSZXNpemVkRWxlbWVudEFic29sdXRlQ29vcmRzIH0gZnJvbSBcIi4vYm91bmRzXCI7XG5cbnR5cGUgRWxlbWVudENvbnN0cnVjdG9yT3B0cyA9IE1hcmtPcHRpb25hbDxcbiAgT21pdDxFeGNhbGlkcmF3R2VuZXJpY0VsZW1lbnQsIFwiaWRcIiB8IFwidHlwZVwiIHwgXCJpc0RlbGV0ZWRcIiB8IFwidXBkYXRlZFwiPixcbiAgfCBcIndpZHRoXCJcbiAgfCBcImhlaWdodFwiXG4gIHwgXCJhbmdsZVwiXG4gIHwgXCJncm91cElkc1wiXG4gIHwgXCJib3VuZEVsZW1lbnRzXCJcbiAgfCBcInNlZWRcIlxuICB8IFwidmVyc2lvblwiXG4gIHwgXCJ2ZXJzaW9uTm9uY2VcIlxuPjtcblxuY29uc3QgX25ld0VsZW1lbnRCYXNlID0gPFQgZXh0ZW5kcyBFeGNhbGlkcmF3RWxlbWVudD4oXG4gIHR5cGU6IFRbXCJ0eXBlXCJdLFxuICB7XG4gICAgeCxcbiAgICB5LFxuICAgIHN0cm9rZUNvbG9yLFxuICAgIGJhY2tncm91bmRDb2xvcixcbiAgICBmaWxsU3R5bGUsXG4gICAgc3Ryb2tlV2lkdGgsXG4gICAgc3Ryb2tlU3R5bGUsXG4gICAgcm91Z2huZXNzLFxuICAgIG9wYWNpdHksXG4gICAgd2lkdGggPSAwLFxuICAgIGhlaWdodCA9IDAsXG4gICAgYW5nbGUgPSAwLFxuICAgIGdyb3VwSWRzID0gW10sXG4gICAgc3Ryb2tlU2hhcnBuZXNzLFxuICAgIGJvdW5kRWxlbWVudHMgPSBudWxsLFxuICAgIC4uLnJlc3RcbiAgfTogRWxlbWVudENvbnN0cnVjdG9yT3B0cyAmIE9taXQ8UGFydGlhbDxFeGNhbGlkcmF3R2VuZXJpY0VsZW1lbnQ+LCBcInR5cGVcIj4sXG4pID0+ICh7XG4gIGlkOiByZXN0LmlkIHx8IHJhbmRvbUlkKCksXG4gIHR5cGUsXG4gIHgsXG4gIHksXG4gIHdpZHRoLFxuICBoZWlnaHQsXG4gIGFuZ2xlLFxuICBzdHJva2VDb2xvcixcbiAgYmFja2dyb3VuZENvbG9yLFxuICBmaWxsU3R5bGUsXG4gIHN0cm9rZVdpZHRoLFxuICBzdHJva2VTdHlsZSxcbiAgcm91Z2huZXNzLFxuICBvcGFjaXR5LFxuICBncm91cElkcyxcbiAgc3Ryb2tlU2hhcnBuZXNzLFxuICBzZWVkOiByZXN0LnNlZWQgPz8gcmFuZG9tSW50ZWdlcigpLFxuICB2ZXJzaW9uOiByZXN0LnZlcnNpb24gfHwgMSxcbiAgdmVyc2lvbk5vbmNlOiByZXN0LnZlcnNpb25Ob25jZSA/PyAwLFxuICBpc0RlbGV0ZWQ6IGZhbHNlIGFzIGZhbHNlLFxuICBib3VuZEVsZW1lbnRzLFxuICB1cGRhdGVkOiBnZXRVcGRhdGVkVGltZXN0YW1wKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IG5ld0VsZW1lbnQgPSAoXG4gIG9wdHM6IHtcbiAgICB0eXBlOiBFeGNhbGlkcmF3R2VuZXJpY0VsZW1lbnRbXCJ0eXBlXCJdO1xuICB9ICYgRWxlbWVudENvbnN0cnVjdG9yT3B0cyxcbik6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0dlbmVyaWNFbGVtZW50PiA9PlxuICBfbmV3RWxlbWVudEJhc2U8RXhjYWxpZHJhd0dlbmVyaWNFbGVtZW50PihvcHRzLnR5cGUsIG9wdHMpO1xuXG4vKiogY29tcHV0ZXMgZWxlbWVudCB4L3kgb2Zmc2V0IGJhc2VkIG9uIHRleHRBbGlnbi92ZXJ0aWNhbEFsaWduICovXG5jb25zdCBnZXRUZXh0RWxlbWVudFBvc2l0aW9uT2Zmc2V0cyA9IChcbiAgb3B0czoge1xuICAgIHRleHRBbGlnbjogRXhjYWxpZHJhd1RleHRFbGVtZW50W1widGV4dEFsaWduXCJdO1xuICAgIHZlcnRpY2FsQWxpZ246IEV4Y2FsaWRyYXdUZXh0RWxlbWVudFtcInZlcnRpY2FsQWxpZ25cIl07XG4gIH0sXG4gIG1ldHJpY3M6IHtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICB9LFxuKSA9PiB7XG4gIHJldHVybiB7XG4gICAgeDpcbiAgICAgIG9wdHMudGV4dEFsaWduID09PSBcImNlbnRlclwiXG4gICAgICAgID8gbWV0cmljcy53aWR0aCAvIDJcbiAgICAgICAgOiBvcHRzLnRleHRBbGlnbiA9PT0gXCJyaWdodFwiXG4gICAgICAgID8gbWV0cmljcy53aWR0aFxuICAgICAgICA6IDAsXG4gICAgeTogb3B0cy52ZXJ0aWNhbEFsaWduID09PSBcIm1pZGRsZVwiID8gbWV0cmljcy5oZWlnaHQgLyAyIDogMCxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBuZXdUZXh0RWxlbWVudCA9IChcbiAgb3B0czoge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBmb250U2l6ZTogbnVtYmVyO1xuICAgIGZvbnRGYW1pbHk6IEZvbnRGYW1pbHlWYWx1ZXM7XG4gICAgdGV4dEFsaWduOiBUZXh0QWxpZ247XG4gICAgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbjtcbiAgfSAmIEVsZW1lbnRDb25zdHJ1Y3Rvck9wdHMsXG4pOiBOb25EZWxldGVkPEV4Y2FsaWRyYXdUZXh0RWxlbWVudD4gPT4ge1xuICBjb25zdCBtZXRyaWNzID0gbWVhc3VyZVRleHQob3B0cy50ZXh0LCBnZXRGb250U3RyaW5nKG9wdHMpKTtcbiAgY29uc3Qgb2Zmc2V0cyA9IGdldFRleHRFbGVtZW50UG9zaXRpb25PZmZzZXRzKG9wdHMsIG1ldHJpY3MpO1xuICBjb25zdCB0ZXh0RWxlbWVudCA9IG5ld0VsZW1lbnRXaXRoKFxuICAgIHtcbiAgICAgIC4uLl9uZXdFbGVtZW50QmFzZTxFeGNhbGlkcmF3VGV4dEVsZW1lbnQ+KFwidGV4dFwiLCBvcHRzKSxcbiAgICAgIHRleHQ6IG9wdHMudGV4dCxcbiAgICAgIGZvbnRTaXplOiBvcHRzLmZvbnRTaXplLFxuICAgICAgZm9udEZhbWlseTogb3B0cy5mb250RmFtaWx5LFxuICAgICAgdGV4dEFsaWduOiBvcHRzLnRleHRBbGlnbixcbiAgICAgIHZlcnRpY2FsQWxpZ246IG9wdHMudmVydGljYWxBbGlnbixcbiAgICAgIHg6IG9wdHMueCAtIG9mZnNldHMueCxcbiAgICAgIHk6IG9wdHMueSAtIG9mZnNldHMueSxcbiAgICAgIHdpZHRoOiBtZXRyaWNzLndpZHRoLFxuICAgICAgaGVpZ2h0OiBtZXRyaWNzLmhlaWdodCxcbiAgICAgIGJhc2VsaW5lOiBtZXRyaWNzLmJhc2VsaW5lLFxuICAgIH0sXG4gICAge30sXG4gICk7XG4gIHJldHVybiB0ZXh0RWxlbWVudDtcbn07XG5cbmNvbnN0IGdldEFkanVzdGVkRGltZW5zaW9ucyA9IChcbiAgZWxlbWVudDogRXhjYWxpZHJhd1RleHRFbGVtZW50LFxuICBuZXh0VGV4dDogc3RyaW5nLFxuKToge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGJhc2VsaW5lOiBudW1iZXI7XG59ID0+IHtcbiAgY29uc3Qge1xuICAgIHdpZHRoOiBuZXh0V2lkdGgsXG4gICAgaGVpZ2h0OiBuZXh0SGVpZ2h0LFxuICAgIGJhc2VsaW5lOiBuZXh0QmFzZWxpbmUsXG4gIH0gPSBtZWFzdXJlVGV4dChuZXh0VGV4dCwgZ2V0Rm9udFN0cmluZyhlbGVtZW50KSk7XG4gIGNvbnN0IHsgdGV4dEFsaWduLCB2ZXJ0aWNhbEFsaWduIH0gPSBlbGVtZW50O1xuXG4gIGxldCB4OiBudW1iZXI7XG4gIGxldCB5OiBudW1iZXI7XG5cbiAgaWYgKHRleHRBbGlnbiA9PT0gXCJjZW50ZXJcIiAmJiB2ZXJ0aWNhbEFsaWduID09PSBcIm1pZGRsZVwiKSB7XG4gICAgY29uc3QgcHJldk1ldHJpY3MgPSBtZWFzdXJlVGV4dChlbGVtZW50LnRleHQsIGdldEZvbnRTdHJpbmcoZWxlbWVudCkpO1xuICAgIGNvbnN0IG9mZnNldHMgPSBnZXRUZXh0RWxlbWVudFBvc2l0aW9uT2Zmc2V0cyhlbGVtZW50LCB7XG4gICAgICB3aWR0aDogbmV4dFdpZHRoIC0gcHJldk1ldHJpY3Mud2lkdGgsXG4gICAgICBoZWlnaHQ6IG5leHRIZWlnaHQgLSBwcmV2TWV0cmljcy5oZWlnaHQsXG4gICAgfSk7XG5cbiAgICB4ID0gZWxlbWVudC54IC0gb2Zmc2V0cy54O1xuICAgIHkgPSBlbGVtZW50LnkgLSBvZmZzZXRzLnk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgW3gxLCB5MSwgeDIsIHkyXSA9IGdldEVsZW1lbnRBYnNvbHV0ZUNvb3JkcyhlbGVtZW50KTtcblxuICAgIGNvbnN0IFtuZXh0WDEsIG5leHRZMSwgbmV4dFgyLCBuZXh0WTJdID0gZ2V0UmVzaXplZEVsZW1lbnRBYnNvbHV0ZUNvb3JkcyhcbiAgICAgIGVsZW1lbnQsXG4gICAgICBuZXh0V2lkdGgsXG4gICAgICBuZXh0SGVpZ2h0LFxuICAgICk7XG4gICAgY29uc3QgZGVsdGFYMSA9ICh4MSAtIG5leHRYMSkgLyAyO1xuICAgIGNvbnN0IGRlbHRhWTEgPSAoeTEgLSBuZXh0WTEpIC8gMjtcbiAgICBjb25zdCBkZWx0YVgyID0gKHgyIC0gbmV4dFgyKSAvIDI7XG4gICAgY29uc3QgZGVsdGFZMiA9ICh5MiAtIG5leHRZMikgLyAyO1xuXG4gICAgW3gsIHldID0gYWRqdXN0WFlXaXRoUm90YXRpb24oXG4gICAgICB7XG4gICAgICAgIHM6IHRydWUsXG4gICAgICAgIGU6IHRleHRBbGlnbiA9PT0gXCJjZW50ZXJcIiB8fCB0ZXh0QWxpZ24gPT09IFwibGVmdFwiLFxuICAgICAgICB3OiB0ZXh0QWxpZ24gPT09IFwiY2VudGVyXCIgfHwgdGV4dEFsaWduID09PSBcInJpZ2h0XCIsXG4gICAgICB9LFxuICAgICAgZWxlbWVudC54LFxuICAgICAgZWxlbWVudC55LFxuICAgICAgZWxlbWVudC5hbmdsZSxcbiAgICAgIGRlbHRhWDEsXG4gICAgICBkZWx0YVkxLFxuICAgICAgZGVsdGFYMixcbiAgICAgIGRlbHRhWTIsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgd2lkdGg6IG5leHRXaWR0aCxcbiAgICBoZWlnaHQ6IG5leHRIZWlnaHQsXG4gICAgeDogTnVtYmVyLmlzRmluaXRlKHgpID8geCA6IGVsZW1lbnQueCxcbiAgICB5OiBOdW1iZXIuaXNGaW5pdGUoeSkgPyB5IDogZWxlbWVudC55LFxuICAgIGJhc2VsaW5lOiBuZXh0QmFzZWxpbmUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdXBkYXRlVGV4dEVsZW1lbnQgPSAoXG4gIGVsZW1lbnQ6IEV4Y2FsaWRyYXdUZXh0RWxlbWVudCxcbiAgeyB0ZXh0LCBpc0RlbGV0ZWQgfTogeyB0ZXh0OiBzdHJpbmc7IGlzRGVsZXRlZD86IGJvb2xlYW4gfSxcbik6IEV4Y2FsaWRyYXdUZXh0RWxlbWVudCA9PiB7XG4gIHJldHVybiBuZXdFbGVtZW50V2l0aChlbGVtZW50LCB7XG4gICAgdGV4dCxcbiAgICBpc0RlbGV0ZWQ6IGlzRGVsZXRlZCA/PyBlbGVtZW50LmlzRGVsZXRlZCxcbiAgICAuLi5nZXRBZGp1c3RlZERpbWVuc2lvbnMoZWxlbWVudCwgdGV4dCksXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IG5ld0ZyZWVEcmF3RWxlbWVudCA9IChcbiAgb3B0czoge1xuICAgIHR5cGU6IFwiZnJlZWRyYXdcIjtcbiAgICBwb2ludHM/OiBFeGNhbGlkcmF3RnJlZURyYXdFbGVtZW50W1wicG9pbnRzXCJdO1xuICAgIHNpbXVsYXRlUHJlc3N1cmU6IGJvb2xlYW47XG4gIH0gJiBFbGVtZW50Q29uc3RydWN0b3JPcHRzLFxuKTogTm9uRGVsZXRlZDxFeGNhbGlkcmF3RnJlZURyYXdFbGVtZW50PiA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uX25ld0VsZW1lbnRCYXNlPEV4Y2FsaWRyYXdGcmVlRHJhd0VsZW1lbnQ+KG9wdHMudHlwZSwgb3B0cyksXG4gICAgcG9pbnRzOiBvcHRzLnBvaW50cyB8fCBbXSxcbiAgICBwcmVzc3VyZXM6IFtdLFxuICAgIHNpbXVsYXRlUHJlc3N1cmU6IG9wdHMuc2ltdWxhdGVQcmVzc3VyZSxcbiAgICBsYXN0Q29tbWl0dGVkUG9pbnQ6IG51bGwsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgbmV3TGluZWFyRWxlbWVudCA9IChcbiAgb3B0czoge1xuICAgIHR5cGU6IEV4Y2FsaWRyYXdMaW5lYXJFbGVtZW50W1widHlwZVwiXTtcbiAgICBzdGFydEFycm93aGVhZDogQXJyb3doZWFkIHwgbnVsbDtcbiAgICBlbmRBcnJvd2hlYWQ6IEFycm93aGVhZCB8IG51bGw7XG4gICAgcG9pbnRzPzogRXhjYWxpZHJhd0xpbmVhckVsZW1lbnRbXCJwb2ludHNcIl07XG4gIH0gJiBFbGVtZW50Q29uc3RydWN0b3JPcHRzLFxuKTogTm9uRGVsZXRlZDxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4gPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLl9uZXdFbGVtZW50QmFzZTxFeGNhbGlkcmF3TGluZWFyRWxlbWVudD4ob3B0cy50eXBlLCBvcHRzKSxcbiAgICBwb2ludHM6IG9wdHMucG9pbnRzIHx8IFtdLFxuICAgIGxhc3RDb21taXR0ZWRQb2ludDogbnVsbCxcbiAgICBzdGFydEJpbmRpbmc6IG51bGwsXG4gICAgZW5kQmluZGluZzogbnVsbCxcbiAgICBzdGFydEFycm93aGVhZDogb3B0cy5zdGFydEFycm93aGVhZCxcbiAgICBlbmRBcnJvd2hlYWQ6IG9wdHMuZW5kQXJyb3doZWFkLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IG5ld0ltYWdlRWxlbWVudCA9IChcbiAgb3B0czoge1xuICAgIHR5cGU6IEV4Y2FsaWRyYXdJbWFnZUVsZW1lbnRbXCJ0eXBlXCJdO1xuICB9ICYgRWxlbWVudENvbnN0cnVjdG9yT3B0cyxcbik6IE5vbkRlbGV0ZWQ8RXhjYWxpZHJhd0ltYWdlRWxlbWVudD4gPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLl9uZXdFbGVtZW50QmFzZTxFeGNhbGlkcmF3SW1hZ2VFbGVtZW50PihcImltYWdlXCIsIG9wdHMpLFxuICAgIC8vIGluIHRoZSBmdXR1cmUgd2UnbGwgc3VwcG9ydCBjaGFuZ2luZyBzdHJva2UgY29sb3IgZm9yIHNvbWUgU1ZHIGVsZW1lbnRzLFxuICAgIC8vIGFuZCBgdHJhbnNwYXJlbnRgIHdpbGwgbGlrZWx5IG1lYW4gXCJ1c2Ugb3JpZ2luYWwgY29sb3JzIG9mIHRoZSBpbWFnZVwiXG4gICAgc3Ryb2tlQ29sb3I6IFwidHJhbnNwYXJlbnRcIixcbiAgICBzdGF0dXM6IFwicGVuZGluZ1wiLFxuICAgIGZpbGVJZDogbnVsbCxcbiAgICBzY2FsZTogWzEsIDFdLFxuICB9O1xufTtcblxuLy8gU2ltcGxpZmllZCBkZWVwIGNsb25lIGZvciB0aGUgcHVycG9zZSBvZiBjbG9uaW5nIEV4Y2FsaWRyYXdFbGVtZW50IG9ubHlcbi8vIChkb2Vzbid0IGNsb25lIERhdGUsIFJlZ0V4cCwgTWFwLCBTZXQsIFR5cGVkIGFycmF5cyBldGMuKVxuLy9cbi8vIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbHVrZWVkL2tsb25hXG5leHBvcnQgY29uc3QgZGVlcENvcHlFbGVtZW50ID0gKHZhbDogYW55LCBkZXB0aDogbnVtYmVyID0gMCkgPT4ge1xuICBpZiAodmFsID09IG51bGwgfHwgdHlwZW9mIHZhbCAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiB2YWw7XG4gIH1cblxuICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09IFwiW29iamVjdCBPYmplY3RdXCIpIHtcbiAgICBjb25zdCB0bXAgPVxuICAgICAgdHlwZW9mIHZhbC5jb25zdHJ1Y3RvciA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgID8gT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsKSlcbiAgICAgICAgOiB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB2YWwpIHtcbiAgICAgIGlmICh2YWwuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAvLyBkb24ndCBjb3B5IHRvcC1sZXZlbCBzaGFwZSBwcm9wZXJ0eSwgd2hpY2ggd2Ugd2FudCB0byByZWdlbmVyYXRlXG4gICAgICAgIGlmIChkZXB0aCA9PT0gMCAmJiAoa2V5ID09PSBcInNoYXBlXCIgfHwga2V5ID09PSBcImNhbnZhc1wiKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHRtcFtrZXldID0gZGVlcENvcHlFbGVtZW50KHZhbFtrZXldLCBkZXB0aCArIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdG1wO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgIGxldCBrID0gdmFsLmxlbmd0aDtcbiAgICBjb25zdCBhcnIgPSBuZXcgQXJyYXkoayk7XG4gICAgd2hpbGUgKGstLSkge1xuICAgICAgYXJyW2tdID0gZGVlcENvcHlFbGVtZW50KHZhbFtrXSwgZGVwdGggKyAxKTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG4gIHJldHVybiB2YWw7XG59O1xuXG4vKipcbiAqIER1cGxpY2F0ZSBhbiBlbGVtZW50LCBvZnRlbiB1c2VkIGluIHRoZSBhbHQtZHJhZyBvcGVyYXRpb24uXG4gKiBOb3RlIHRoYXQgdGhpcyBtZXRob2QgaGFzIGdvdHRlbiBhIGJpdCBjb21wbGljYXRlZCBzaW5jZSB0aGVcbiAqIGludHJvZHVjdGlvbiBvZiBncnVvcGluZy91bmdyb3VwaW5nIGVsZW1lbnRzLlxuICogQHBhcmFtIGVkaXRpbmdHcm91cElkIFRoZSBjdXJyZW50IGdyb3VwIGJlaW5nIGVkaXRlZC4gVGhlIG5ld1xuICogICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQgd2lsbCBpbmhlcml0IHRoaXMgZ3JvdXAgYW5kIGl0c1xuICogICAgICAgICAgICAgICAgICAgICAgIHBhcmVudHMuXG4gKiBAcGFyYW0gZ3JvdXBJZE1hcEZvck9wZXJhdGlvbiBBIE1hcCB0aGF0IG1hcHMgb2xkIGdyb3VwIElEcyB0b1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVwbGljYXRlZCBvbmVzLiBJZiB5b3UgYXJlIGR1cGxpY2F0aW5nXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSBlbGVtZW50cyBhdCBvbmNlLCBzaGFyZSB0aGlzIG1hcFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1vbmdzdCBhbGwgb2YgdGhlbVxuICogQHBhcmFtIGVsZW1lbnQgRWxlbWVudCB0byBkdXBsaWNhdGVcbiAqIEBwYXJhbSBvdmVycmlkZXMgQW55IGVsZW1lbnQgcHJvcGVydGllcyB0byBvdmVycmlkZVxuICovXG5leHBvcnQgY29uc3QgZHVwbGljYXRlRWxlbWVudCA9IDxURWxlbWVudCBleHRlbmRzIE11dGFibGU8RXhjYWxpZHJhd0VsZW1lbnQ+PihcbiAgZWRpdGluZ0dyb3VwSWQ6IEFwcFN0YXRlW1wiZWRpdGluZ0dyb3VwSWRcIl0sXG4gIGdyb3VwSWRNYXBGb3JPcGVyYXRpb246IE1hcDxHcm91cElkLCBHcm91cElkPixcbiAgZWxlbWVudDogVEVsZW1lbnQsXG4gIG92ZXJyaWRlcz86IFBhcnRpYWw8VEVsZW1lbnQ+LFxuKTogVEVsZW1lbnQgPT4ge1xuICBsZXQgY29weTogVEVsZW1lbnQgPSBkZWVwQ29weUVsZW1lbnQoZWxlbWVudCk7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJ0ZXN0XCIpIHtcbiAgICBjb3B5LmlkID0gYCR7Y29weS5pZH1fY29weWA7XG4gICAgLy8gYHdpbmRvdy5oYCBtYXkgbm90IGJlIGRlZmluZWQgaW4gc29tZSB1bml0IHRlc3RzXG4gICAgaWYgKFxuICAgICAgd2luZG93Lmg/LmFwcFxuICAgICAgICA/LmdldFNjZW5lRWxlbWVudHNJbmNsdWRpbmdEZWxldGVkKClcbiAgICAgICAgLmZpbmQoKGVsKSA9PiBlbC5pZCA9PT0gY29weS5pZClcbiAgICApIHtcbiAgICAgIGNvcHkuaWQgKz0gXCJfY29weVwiO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb3B5LmlkID0gcmFuZG9tSWQoKTtcbiAgfVxuICBjb3B5LnVwZGF0ZWQgPSBnZXRVcGRhdGVkVGltZXN0YW1wKCk7XG4gIGNvcHkuc2VlZCA9IHJhbmRvbUludGVnZXIoKTtcbiAgY29weS5ncm91cElkcyA9IGdldE5ld0dyb3VwSWRzRm9yRHVwbGljYXRpb24oXG4gICAgY29weS5ncm91cElkcyxcbiAgICBlZGl0aW5nR3JvdXBJZCxcbiAgICAoZ3JvdXBJZCkgPT4ge1xuICAgICAgaWYgKCFncm91cElkTWFwRm9yT3BlcmF0aW9uLmhhcyhncm91cElkKSkge1xuICAgICAgICBncm91cElkTWFwRm9yT3BlcmF0aW9uLnNldChncm91cElkLCByYW5kb21JZCgpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBncm91cElkTWFwRm9yT3BlcmF0aW9uLmdldChncm91cElkKSE7XG4gICAgfSxcbiAgKTtcbiAgaWYgKG92ZXJyaWRlcykge1xuICAgIGNvcHkgPSBPYmplY3QuYXNzaWduKGNvcHksIG92ZXJyaWRlcyk7XG4gIH1cbiAgcmV0dXJuIGNvcHk7XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../element/newElement.ts\n");
|
|
2257
2278
|
|
|
2258
2279
|
/***/ }),
|
|
2259
2280
|
|
|
@@ -2880,7 +2901,7 @@ module.exports = JSON.parse('{"ar-SA":86,"bg-BG":59,"bn-BD":0,"ca-ES":78,"cs-CZ"
|
|
|
2880
2901
|
/***/ ((module) => {
|
|
2881
2902
|
|
|
2882
2903
|
"use strict";
|
|
2883
|
-
module.exports = JSON.parse('{"name":"@dwelle/excalidraw","version":"0.3.
|
|
2904
|
+
module.exports = JSON.parse('{"name":"@dwelle/excalidraw","version":"0.3.29","main":"main.js","types":"types/packages/excalidraw/index.d.ts","files":["dist/*","types/*"],"publishConfig":{"access":"public"},"description":"Excalidraw as a React component","license":"MIT","keywords":[],"browserslist":{"production":[">0.2%","not dead","not ie <= 11","not op_mini all","not safari < 12","not kaios <= 2.5","not edge < 79","not chrome < 70","not and_uc < 13","not samsung < 10"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"peerDependencies":{"react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"7.16.0","@babel/plugin-transform-arrow-functions":"7.16.0","@babel/plugin-transform-async-to-generator":"7.16.0","@babel/plugin-transform-runtime":"7.16.4","@babel/plugin-transform-typescript":"7.16.1","@babel/preset-env":"7.16.4","@babel/preset-react":"7.16.0","@babel/preset-typescript":"7.16.0","autoprefixer":"10.4.0","babel-loader":"8.2.3","babel-plugin-transform-class-properties":"6.24.1","cross-env":"7.0.3","css-loader":"6.5.1","mini-css-extract-plugin":"2.4.5","postcss-loader":"6.2.1","sass-loader":"12.4.0","terser-webpack-plugin":"5.2.5","ts-loader":"9.2.6","typescript":"4.5.3","webpack":"5.65.0","webpack-bundle-analyzer":"4.5.0","webpack-cli":"4.9.1"},"repository":"https://github.com/dwelle/excalidraw","homepage":"https://github.com/excalidraw/excalidraw/tree/master/src/packages/excalidraw","scripts":{"gen:types":"tsc --project ../../../tsconfig-types.json","build:umd":"rm -rf dist && cross-env NODE_ENV=production webpack --config webpack.prod.config.js && cross-env NODE_ENV=development webpack --config webpack.dev.config.js && yarn gen:types","build:umd:withAnalyzer":"cross-env NODE_ENV=production ANALYZER=true webpack --config webpack.prod.config.js","pack":"yarn build:umd && yarn pack"},"dependencies":{"dotenv":"10.0.0"}}');
|
|
2884
2905
|
|
|
2885
2906
|
/***/ })
|
|
2886
2907
|
|