tldraw/apps/docs/.next/static/chunks/pages/index.js
alex c893a02878
remove lock option from highlighter (#1703)
Highlighter is autolocked, so we shouldn't show the lock icon 

### Change Type

- [x] `patch` — Bug fix


[^1]: publishes a `patch` release, for devDependencies use `internal`
[^2]: will not publish a new version

### Test Plan

1. Add a step-by-step description of how to test your PR here.
2.

- [ ] Unit Tests
- [ ] End to end tests

### Release Notes

- We no longer show the tool lock option for highlighter - it didn't do
anything anyway
2023-07-04 10:41:14 +00:00

267 lines
No EOL
282 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["pages/index"],{
/***/ "../../node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Falex%2Ftldraw%2Ftldraw%2Fapps%2Fdocs%2Fpages%2Findex.tsx&page=%2F!":
/*!*************************************************************************************************************************************************************************************!*\
!*** ../../node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Falex%2Ftldraw%2Ftldraw%2Fapps%2Fdocs%2Fpages%2Findex.tsx&page=%2F! ***!
\*************************************************************************************************************************************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/\",\n function () {\n return __webpack_require__(/*! ./pages/index.tsx */ \"./pages/index.tsx\");\n }\n ]);\n if(true) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/\"])\n });\n }\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC93ZWJwYWNrL2xvYWRlcnMvbmV4dC1jbGllbnQtcGFnZXMtbG9hZGVyLmpzP2Fic29sdXRlUGFnZVBhdGg9JTJGVXNlcnMlMkZhbGV4JTJGdGxkcmF3JTJGdGxkcmF3JTJGYXBwcyUyRmRvY3MlMkZwYWdlcyUyRmluZGV4LnRzeCZwYWdlPSUyRiEuanMiLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbUJBQU8sQ0FBQyw0Q0FBbUI7QUFDMUM7QUFDQTtBQUNBLE9BQU8sSUFBVTtBQUNqQixNQUFNLFVBQVU7QUFDaEI7QUFDQSxPQUFPO0FBQ1A7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvPzI0YzUiXSwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgKHdpbmRvdy5fX05FWFRfUCA9IHdpbmRvdy5fX05FWFRfUCB8fCBbXSkucHVzaChbXG4gICAgICBcIi9cIixcbiAgICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHJlcXVpcmUoXCIuL3BhZ2VzL2luZGV4LnRzeFwiKTtcbiAgICAgIH1cbiAgICBdKTtcbiAgICBpZihtb2R1bGUuaG90KSB7XG4gICAgICBtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24gKCkge1xuICAgICAgICB3aW5kb3cuX19ORVhUX1AucHVzaChbXCIvXCJdKVxuICAgICAgfSk7XG4gICAgfVxuICAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Falex%2Ftldraw%2Ftldraw%2Fapps%2Fdocs%2Fpages%2Findex.tsx&page=%2F!\n"));
/***/ }),
/***/ "./components/ArticleDetails.tsx":
/*!***************************************!*\
!*** ./components/ArticleDetails.tsx ***!
\***************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ArticleDetails\": function() { return /* binding */ ArticleDetails; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Icon */ \"./components/Icon.tsx\");\n\n\nfunction ArticleDetails(param) {\n let { article: { sourceUrl , date } } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"article__details\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n className: \"article__details__edit\",\n href: sourceUrl,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Icon__WEBPACK_IMPORTED_MODULE_1__.Icon, {\n icon: \"edit\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleDetails.tsx\",\n lineNumber: 12,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Edit this page\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleDetails.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleDetails.tsx\",\n lineNumber: 11,\n columnNumber: 4\n }, this),\n date && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"article__details__timestamp\",\n children: [\n \"Last edited on\",\n \" \",\n Intl.DateTimeFormat(\"en-gb\", {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\"\n }).format(new Date(date))\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleDetails.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleDetails.tsx\",\n lineNumber: 10,\n columnNumber: 3\n }, this);\n}\n_c = ArticleDetails;\nvar _c;\n$RefreshReg$(_c, \"ArticleDetails\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb21wb25lbnRzL0FydGljbGVEZXRhaWxzLnRzeC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUM2QjtBQU10QixTQUFTQyxlQUFlLEtBQXFELEVBQUU7UUFBdkQsRUFBRUMsU0FBUyxFQUFFQyxVQUFTLEVBQUVDLEtBQUksRUFBRSxHQUF1QixHQUFyRDtJQUM5QixxQkFDQyw4REFBQ0M7UUFBSUMsV0FBVTs7MEJBQ2QsOERBQUNDO2dCQUFFRCxXQUFVO2dCQUF5QkUsTUFBTUw7O2tDQUMzQyw4REFBQ0gsdUNBQUlBO3dCQUFDUyxNQUFLOzs7Ozs7a0NBQ1gsOERBQUNDO2tDQUFLOzs7Ozs7Ozs7Ozs7WUFFTk4sc0JBQ0EsOERBQUNDO2dCQUFJQyxXQUFVOztvQkFBOEI7b0JBQzdCO29CQUNkSyxLQUFLQyxjQUFjLENBQUMsU0FBUzt3QkFDN0JDLE1BQU07d0JBQ05DLE9BQU87d0JBQ1BDLEtBQUs7b0JBQ04sR0FBR0MsTUFBTSxDQUFDLElBQUlDLEtBQUtiOzs7Ozs7Ozs7Ozs7O0FBS3hCLENBQUM7S0FuQmVIIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL2NvbXBvbmVudHMvQXJ0aWNsZURldGFpbHMudHN4P2M1YjQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJ0aWNsZSB9IGZyb20gJ0AvdHlwZXMvY29udGVudC10eXBlcydcbmltcG9ydCB7IEljb24gfSBmcm9tICcuL0ljb24nXG5cbnR5cGUgQXJ0aWNsZURldGFpbHNQcm9wcyA9IHtcblx0YXJ0aWNsZTogQXJ0aWNsZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXJ0aWNsZURldGFpbHMoeyBhcnRpY2xlOiB7IHNvdXJjZVVybCwgZGF0ZSB9IH06IEFydGljbGVEZXRhaWxzUHJvcHMpIHtcblx0cmV0dXJuIChcblx0XHQ8ZGl2IGNsYXNzTmFtZT1cImFydGljbGVfX2RldGFpbHNcIj5cblx0XHRcdDxhIGNsYXNzTmFtZT1cImFydGljbGVfX2RldGFpbHNfX2VkaXRcIiBocmVmPXtzb3VyY2VVcmx9PlxuXHRcdFx0XHQ8SWNvbiBpY29uPVwiZWRpdFwiIC8+XG5cdFx0XHRcdDxzcGFuPkVkaXQgdGhpcyBwYWdlPC9zcGFuPlxuXHRcdFx0PC9hPlxuXHRcdFx0e2RhdGUgJiYgKFxuXHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cImFydGljbGVfX2RldGFpbHNfX3RpbWVzdGFtcFwiPlxuXHRcdFx0XHRcdExhc3QgZWRpdGVkIG9ueycgJ31cblx0XHRcdFx0XHR7SW50bC5EYXRlVGltZUZvcm1hdCgnZW4tZ2InLCB7XG5cdFx0XHRcdFx0XHR5ZWFyOiAnbnVtZXJpYycsXG5cdFx0XHRcdFx0XHRtb250aDogJ2xvbmcnLFxuXHRcdFx0XHRcdFx0ZGF5OiAnbnVtZXJpYycsXG5cdFx0XHRcdFx0fSkuZm9ybWF0KG5ldyBEYXRlKGRhdGUpKX1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQpfVxuXHRcdDwvZGl2PlxuXHQpXG59XG4iXSwibmFtZXMiOlsiSWNvbiIsIkFydGljbGVEZXRhaWxzIiwiYXJ0aWNsZSIsInNvdXJjZVVybCIsImRhdGUiLCJkaXYiLCJjbGFzc05hbWUiLCJhIiwiaHJlZiIsImljb24iLCJzcGFuIiwiSW50bCIsIkRhdGVUaW1lRm9ybWF0IiwieWVhciIsIm1vbnRoIiwiZGF5IiwiZm9ybWF0IiwiRGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./components/ArticleDetails.tsx\n"));
/***/ }),
/***/ "./components/ArticleNavLinks.tsx":
/*!****************************************!*\
!*** ./components/ArticleNavLinks.tsx ***!
\****************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ArticleNavLinks\": function() { return /* binding */ ArticleNavLinks; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"../../node_modules/next/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Icon */ \"./components/Icon.tsx\");\n\n\n\nfunction ArticleNavLinks(param) {\n let { links: { prev , next } } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"article__links\",\n children: [\n prev && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\".concat(prev.sectionId, \"/\").concat(prev.categoryId, \"/\").concat(prev.id),\n className: \"article__links__link article__links__prev\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Icon__WEBPACK_IMPORTED_MODULE_2__.Icon, {\n icon: \"arrow-left\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleNavLinks.tsx\",\n lineNumber: 17,\n columnNumber: 6\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: prev.title\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleNavLinks.tsx\",\n lineNumber: 18,\n columnNumber: 6\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleNavLinks.tsx\",\n lineNumber: 13,\n columnNumber: 5\n }, this),\n next && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\".concat(next.sectionId, \"/\").concat(next.categoryId, \"/\").concat(next.id),\n className: \"article__links__link article__links__next\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: next.title\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleNavLinks.tsx\",\n lineNumber: 26,\n columnNumber: 6\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Icon__WEBPACK_IMPORTED_MODULE_2__.Icon, {\n icon: \"arrow-right\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleNavLinks.tsx\",\n lineNumber: 27,\n columnNumber: 6\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleNavLinks.tsx\",\n lineNumber: 22,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ArticleNavLinks.tsx\",\n lineNumber: 11,\n columnNumber: 3\n }, this);\n}\n_c = ArticleNavLinks;\nvar _c;\n$RefreshReg$(_c, \"ArticleNavLinks\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb21wb25lbnRzL0FydGljbGVOYXZMaW5rcy50c3guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUM0QjtBQUNDO0FBTXRCLFNBQVNFLGdCQUFnQixLQUErQyxFQUFFO1FBQWpELEVBQUVDLE9BQU8sRUFBRUMsS0FBSSxFQUFFQyxLQUFJLEVBQUUsR0FBd0IsR0FBL0M7SUFDL0IscUJBQ0MsOERBQUNDO1FBQUlDLFdBQVU7O1lBQ2JILHNCQUNBLDhEQUFDSixrREFBSUE7Z0JBQ0pRLE1BQU0sSUFBc0JKLE9BQWxCQSxLQUFLSyxTQUFTLEVBQUMsS0FBc0JMLE9BQW5CQSxLQUFLTSxVQUFVLEVBQUMsS0FBVyxPQUFSTixLQUFLTyxFQUFFO2dCQUN0REosV0FBVTs7a0NBRVYsOERBQUNOLHVDQUFJQTt3QkFBQ1csTUFBSzs7Ozs7O2tDQUNYLDhEQUFDQztrQ0FBTVQsS0FBS1UsS0FBSzs7Ozs7Ozs7Ozs7O1lBR2xCVCxzQkFDQSw4REFBQ0wsa0RBQUlBO2dCQUNKUSxNQUFNLElBQXNCSCxPQUFsQkEsS0FBS0ksU0FBUyxFQUFDLEtBQXNCSixPQUFuQkEsS0FBS0ssVUFBVSxFQUFDLEtBQVcsT0FBUkwsS0FBS00sRUFBRTtnQkFDdERKLFdBQVU7O2tDQUVWLDhEQUFDTTtrQ0FBTVIsS0FBS1MsS0FBSzs7Ozs7O2tDQUNqQiw4REFBQ2IsdUNBQUlBO3dCQUFDVyxNQUFLOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLaEIsQ0FBQztLQXZCZVYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vY29tcG9uZW50cy9BcnRpY2xlTmF2TGlua3MudHN4P2M2NGQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJ0aWNsZUxpbmtzIH0gZnJvbSAnQC90eXBlcy9jb250ZW50LXR5cGVzJ1xuaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4vSWNvbidcblxudHlwZSBBcnRpY2xlTmF2TGlua3NQcm9wcyA9IHtcblx0bGlua3M6IEFydGljbGVMaW5rc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQXJ0aWNsZU5hdkxpbmtzKHsgbGlua3M6IHsgcHJldiwgbmV4dCB9IH06IEFydGljbGVOYXZMaW5rc1Byb3BzKSB7XG5cdHJldHVybiAoXG5cdFx0PGRpdiBjbGFzc05hbWU9XCJhcnRpY2xlX19saW5rc1wiPlxuXHRcdFx0e3ByZXYgJiYgKFxuXHRcdFx0XHQ8TGlua1xuXHRcdFx0XHRcdGhyZWY9e2AvJHtwcmV2LnNlY3Rpb25JZH0vJHtwcmV2LmNhdGVnb3J5SWR9LyR7cHJldi5pZH1gfVxuXHRcdFx0XHRcdGNsYXNzTmFtZT1cImFydGljbGVfX2xpbmtzX19saW5rIGFydGljbGVfX2xpbmtzX19wcmV2XCJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdDxJY29uIGljb249XCJhcnJvdy1sZWZ0XCIgLz5cblx0XHRcdFx0XHQ8c3Bhbj57cHJldi50aXRsZX08L3NwYW4+XG5cdFx0XHRcdDwvTGluaz5cblx0XHRcdCl9XG5cdFx0XHR7bmV4dCAmJiAoXG5cdFx0XHRcdDxMaW5rXG5cdFx0XHRcdFx0aHJlZj17YC8ke25leHQuc2VjdGlvbklkfS8ke25leHQuY2F0ZWdvcnlJZH0vJHtuZXh0LmlkfWB9XG5cdFx0XHRcdFx0Y2xhc3NOYW1lPVwiYXJ0aWNsZV9fbGlua3NfX2xpbmsgYXJ0aWNsZV9fbGlua3NfX25leHRcIlxuXHRcdFx0XHQ+XG5cdFx0XHRcdFx0PHNwYW4+e25leHQudGl0bGV9PC9zcGFuPlxuXHRcdFx0XHRcdDxJY29uIGljb249XCJhcnJvdy1yaWdodFwiIC8+XG5cdFx0XHRcdDwvTGluaz5cblx0XHRcdCl9XG5cdFx0PC9kaXY+XG5cdClcbn1cbiJdLCJuYW1lcyI6WyJMaW5rIiwiSWNvbiIsIkFydGljbGVOYXZMaW5rcyIsImxpbmtzIiwicHJldiIsIm5leHQiLCJkaXYiLCJjbGFzc05hbWUiLCJocmVmIiwic2VjdGlvbklkIiwiY2F0ZWdvcnlJZCIsImlkIiwiaWNvbiIsInNwYW4iLCJ0aXRsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./components/ArticleNavLinks.tsx\n"));
/***/ }),
/***/ "./components/Icon.tsx":
/*!*****************************!*\
!*** ./components/Icon.tsx ***!
\*****************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Icon\": function() { return /* binding */ Icon; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction Icon(param) {\n let { icon , className } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"icon \".concat(className !== null && className !== void 0 ? className : \"\"),\n style: {\n mask: \"url(/icons/\".concat(icon, \".svg) center 100% / 100% no-repeat\"),\n WebkitMask: \"url(/icons/\".concat(icon, \".svg) center 100% / 100% no-repeat\")\n }\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Icon.tsx\",\n lineNumber: 3,\n columnNumber: 3\n }, this);\n}\n_c = Icon;\nvar _c;\n$RefreshReg$(_c, \"Icon\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb21wb25lbnRzL0ljb24udHN4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBTyxTQUFTQSxLQUFLLEtBQXlELEVBQUU7UUFBM0QsRUFBRUMsS0FBSSxFQUFFQyxVQUFTLEVBQXdDLEdBQXpEO0lBQ3BCLHFCQUNDLDhEQUFDQztRQUNBRCxXQUFXLFFBQXdCLE9BQWhCQSxzQkFBQUEsdUJBQUFBLFlBQWEsRUFBRTtRQUNsQ0UsT0FBTztZQUNOQyxNQUFNLGNBQW1CLE9BQUxKLE1BQUs7WUFDekJLLFlBQVksY0FBbUIsT0FBTEwsTUFBSztRQUNoQzs7Ozs7O0FBR0gsQ0FBQztLQVZlRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9jb21wb25lbnRzL0ljb24udHN4PzliOGYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIEljb24oeyBpY29uLCBjbGFzc05hbWUgfTogeyBpY29uOiBzdHJpbmc7IGNsYXNzTmFtZT86IHN0cmluZyB9KSB7XG5cdHJldHVybiAoXG5cdFx0PHNwYW5cblx0XHRcdGNsYXNzTmFtZT17YGljb24gJHtjbGFzc05hbWUgPz8gJyd9YH1cblx0XHRcdHN0eWxlPXt7XG5cdFx0XHRcdG1hc2s6IGB1cmwoL2ljb25zLyR7aWNvbn0uc3ZnKSBjZW50ZXIgMTAwJSAvIDEwMCUgbm8tcmVwZWF0YCxcblx0XHRcdFx0V2Via2l0TWFzazogYHVybCgvaWNvbnMvJHtpY29ufS5zdmcpIGNlbnRlciAxMDAlIC8gMTAwJSBuby1yZXBlYXRgLFxuXHRcdFx0fX1cblx0XHQvPlxuXHQpXG59XG4iXSwibmFtZXMiOlsiSWNvbiIsImljb24iLCJjbGFzc05hbWUiLCJzcGFuIiwic3R5bGUiLCJtYXNrIiwiV2Via2l0TWFzayJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./components/Icon.tsx\n"));
/***/ }),
/***/ "./components/Mdx.tsx":
/*!****************************!*\
!*** ./components/Mdx.tsx ***!
\****************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Mdx\": function() { return /* binding */ Mdx; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_mdx_remote__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-mdx-remote */ \"../../node_modules/next-mdx-remote/index.js\");\n/* harmony import */ var _mdx_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mdx-components */ \"./components/mdx-components/index.ts\");\n\n\n\nfunction Mdx(param) {\n let { mdxSource } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_mdx_remote__WEBPACK_IMPORTED_MODULE_1__.MDXRemote, {\n ...mdxSource,\n scope: _mdx_components__WEBPACK_IMPORTED_MODULE_2__.scope,\n components: _mdx_components__WEBPACK_IMPORTED_MODULE_2__.components\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Mdx.tsx\",\n lineNumber: 9,\n columnNumber: 9\n }, this);\n}\n_c = Mdx;\nvar _c;\n$RefreshReg$(_c, \"Mdx\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb21wb25lbnRzL01keC50c3guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQXFFO0FBQ2pCO0FBTTdDLFNBQVNHLElBQUksS0FBdUIsRUFBRTtRQUF6QixFQUFFQyxVQUFTLEVBQVksR0FBdkI7SUFDbkIscUJBQU8sOERBQUNKLHNEQUFTQTtRQUFFLEdBQUdJLFNBQVM7UUFBRUYsT0FBT0Esa0RBQUtBO1FBQUVELFlBQVlBLHVEQUFVQTs7Ozs7O0FBQ3RFLENBQUM7S0FGZUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vY29tcG9uZW50cy9NZHgudHN4P2FlZjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTURYUmVtb3RlLCBNRFhSZW1vdGVTZXJpYWxpemVSZXN1bHQgfSBmcm9tICduZXh0LW1keC1yZW1vdGUnXG5pbXBvcnQgeyBjb21wb25lbnRzLCBzY29wZSB9IGZyb20gJy4vbWR4LWNvbXBvbmVudHMnXG5cbmludGVyZmFjZSBNZHhQcm9wcyB7XG5cdG1keFNvdXJjZTogTURYUmVtb3RlU2VyaWFsaXplUmVzdWx0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNZHgoeyBtZHhTb3VyY2UgfTogTWR4UHJvcHMpIHtcblx0cmV0dXJuIDxNRFhSZW1vdGUgey4uLm1keFNvdXJjZX0gc2NvcGU9e3Njb3BlfSBjb21wb25lbnRzPXtjb21wb25lbnRzIGFzIGFueX0gLz5cbn1cbiJdLCJuYW1lcyI6WyJNRFhSZW1vdGUiLCJjb21wb25lbnRzIiwic2NvcGUiLCJNZHgiLCJtZHhTb3VyY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./components/Mdx.tsx\n"));
/***/ }),
/***/ "./components/Search.tsx":
/*!*******************************!*\
!*** ./components/Search.tsx ***!
\*******************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Search\": function() { return /* binding */ Search; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"../../node_modules/next/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/router */ \"../../node_modules/next/router.js\");\n/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Icon */ \"./components/Icon.tsx\");\n\nvar _s = $RefreshSig$();\n\n\n\n\nfunction Search(param) {\n let { activeId } = param;\n _s();\n const [query, setQuery] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(\"\");\n const [results, setResults] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)([]);\n const rResultsList = (0,react__WEBPACK_IMPORTED_MODULE_3__.useRef)(null);\n const [isDisabled, setIsDisabled] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(false);\n const handleChange = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((e)=>{\n setQuery(e.target.value);\n }, []);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const sendQuery = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(throttle(async (query)=>{\n const res = await fetch(\"/api/search?q=\".concat(query, \"&s=\").concat(activeId));\n const json = await res.json();\n setResults(json.results);\n }, 150), [\n activeId\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(()=>{\n const query = rInput.current.value;\n if (query.length > 2) {\n sendQuery(query);\n } else {\n setResults([]);\n }\n }, [\n sendQuery\n ]);\n const hasQuery = query.length > 0;\n const hasResults = query.length > 0;\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(()=>{\n function handleKeyUp(e) {\n if (e.key === \"Escape\" && hasResults) {\n setResults([]);\n }\n }\n function handleMouseUp(e) {\n if (rResultsList.current && !rResultsList.current.contains(e.target)) {\n setResults([]);\n }\n }\n document.body.addEventListener(\"mouseup\", handleMouseUp);\n document.body.addEventListener(\"keyup\", handleKeyUp);\n return ()=>{\n document.body.removeEventListener(\"mouseup\", handleMouseUp);\n document.body.removeEventListener(\"keyup\", handleKeyUp);\n };\n }, [\n hasResults\n ]);\n const rInput = (0,react__WEBPACK_IMPORTED_MODULE_3__.useRef)(null);\n const router = (0,next_router__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(()=>{\n setQuery(\"\");\n setResults([]);\n setIsDisabled(false);\n }, [\n router.asPath\n ]);\n const handleFocus = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)(()=>{\n if (hasQuery && !hasResults) {\n sendQuery(rInput.current.value);\n }\n }, [\n sendQuery,\n hasQuery,\n hasResults\n ]);\n const handleKeyDown = (0,react__WEBPACK_IMPORTED_MODULE_3__.useCallback)((e)=>{\n if (e.key === \"Enter\") {\n setIsDisabled(true);\n router.push(\"/search-results?q=\".concat(rInput.current.value));\n }\n }, [\n router\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"search__wrapper\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"search\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Icon__WEBPACK_IMPORTED_MODULE_4__.Icon, {\n className: \"search__icon\",\n icon: \"search\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Search.tsx\",\n lineNumber: 89,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n ref: rInput,\n type: \"text\",\n className: \"search__input\",\n placeholder: \"Search...\",\n value: query,\n onChange: handleChange,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n autoCapitalize: \"off\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n disabled: isDisabled\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Search.tsx\",\n lineNumber: 90,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Search.tsx\",\n lineNumber: 88,\n columnNumber: 4\n }, this),\n results.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"search__results__wrapper\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"search__results\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ol\", {\n ref: rResultsList,\n className: \"search__results__list\",\n children: results.map((result)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: result.url,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"sidebar__article search__results__article\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h4\", {\n children: result.subtitle\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Search.tsx\",\n lineNumber: 112,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n children: result.title\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Search.tsx\",\n lineNumber: 113,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Search.tsx\",\n lineNumber: 111,\n columnNumber: 10\n }, this)\n }, result.id, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Search.tsx\",\n lineNumber: 110,\n columnNumber: 9\n }, this))\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Search.tsx\",\n lineNumber: 108,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Search.tsx\",\n lineNumber: 107,\n columnNumber: 6\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Search.tsx\",\n lineNumber: 106,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Search.tsx\",\n lineNumber: 87,\n columnNumber: 3\n }, this);\n}\n_s(Search, \"+0HEQYH2Eaa/d+syAOSZGWBcpyQ=\", false, function() {\n return [\n next_router__WEBPACK_IMPORTED_MODULE_2__.useRouter\n ];\n});\n_c = Search;\nfunction throttle(func, limit) {\n let inThrottle;\n let lastResult;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!inThrottle) {\n inThrottle = true;\n setTimeout(()=>inThrottle = false, limit);\n lastResult = func(...args);\n }\n return lastResult;\n };\n}\nvar _c;\n$RefreshReg$(_c, \"Search\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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YUFBYSxLQUFLLEVBQUdEO1lBQ3ZDRSxhQUFhSCxRQUFRSTtRQUN0QixDQUFDO1FBQ0QsT0FBT0Q7SUFDUjtBQUNEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL2NvbXBvbmVudHMvU2VhcmNoLnRzeD9iOTZlIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJ0AvdHlwZXMvc2VhcmNoLXR5cGVzJ1xuaW1wb3J0IExpbmsgZnJvbSAnbmV4dC9saW5rJ1xuaW1wb3J0IHsgdXNlUm91dGVyIH0gZnJvbSAnbmV4dC9yb3V0ZXInXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi9JY29uJ1xuXG5leHBvcnQgZnVuY3Rpb24gU2VhcmNoKHsgYWN0aXZlSWQgfTogeyBhY3RpdmVJZDogc3RyaW5nIHwgbnVsbCB9KSB7XG5cdGNvbnN0IFtxdWVyeSwgc2V0UXVlcnldID0gdXNlU3RhdGUoJycpXG5cdGNvbnN0IFtyZXN1bHRzLCBzZXRSZXN1bHRzXSA9IHVzZVN0YXRlPFNlYXJjaFJlc3VsdFtdPihbXSlcblx0Y29uc3QgclJlc3VsdHNMaXN0ID0gdXNlUmVmPEhUTUxPTGlzdEVsZW1lbnQ+KG51bGwpXG5cdGNvbnN0IFtpc0Rpc2FibGVkLCBzZXRJc0Rpc2FibGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG5cdGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKChlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuXHRcdHNldFF1ZXJ5KGUudGFyZ2V0LnZhbHVlKVxuXHR9LCBbXSlcblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG5cdGNvbnN0IHNlbmRRdWVyeSA9IHVzZUNhbGxiYWNrKFxuXHRcdHRocm90dGxlKGFzeW5jIChxdWVyeTogc3RyaW5nKSA9PiB7XG5cdFx0XHRjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgL2FwaS9zZWFyY2g/cT0ke3F1ZXJ5fSZzPSR7YWN0aXZlSWR9YClcblx0XHRcdGNvbnN0IGpzb24gPSBhd2FpdCByZXMuanNvbigpXG5cdFx0XHRzZXRSZXN1bHRzKGpzb24ucmVzdWx0cylcblx0XHR9LCAxNTApLFxuXHRcdFthY3RpdmVJZF1cblx0KVxuXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0Y29uc3QgcXVlcnkgPSBySW5wdXQuY3VycmVudCEudmFsdWVcblx0XHRpZiAocXVlcnkubGVuZ3RoID4gMikge1xuXHRcdFx0c2VuZFF1ZXJ5KHF1ZXJ5KVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRzZXRSZXN1bHRzKFtdKVxuXHRcdH1cblx0fSwgW3NlbmRRdWVyeV0pXG5cblx0Y29uc3QgaGFzUXVlcnkgPSBxdWVyeS5sZW5ndGggPiAwXG5cdGNvbnN0IGhhc1Jlc3VsdHMgPSBxdWVyeS5sZW5ndGggPiAwXG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRmdW5jdGlvbiBoYW5kbGVLZXlVcChlOiBLZXlib2FyZEV2ZW50KSB7XG5cdFx0XHRpZiAoZS5rZXkgPT09ICdFc2NhcGUnICYmIGhhc1Jlc3VsdHMpIHtcblx0XHRcdFx0c2V0UmVzdWx0cyhbXSlcblx0XHRcdH1cblx0XHR9XG5cblx0XHRmdW5jdGlvbiBoYW5kbGVNb3VzZVVwKGU6IE1vdXNlRXZlbnQpIHtcblx0XHRcdGlmIChyUmVzdWx0c0xpc3QuY3VycmVudCAmJiAhclJlc3VsdHNMaXN0LmN1cnJlbnQuY29udGFpbnMoZS50YXJnZXQgYXMgTm9kZSkpIHtcblx0XHRcdFx0c2V0UmVzdWx0cyhbXSlcblx0XHRcdH1cblx0XHR9XG5cblx0XHRkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBoYW5kbGVNb3VzZVVwKVxuXHRcdGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBoYW5kbGVLZXlVcClcblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0ZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgaGFuZGxlTW91c2VVcClcblx0XHRcdGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBoYW5kbGVLZXlVcClcblx0XHR9XG5cdH0sIFtoYXNSZXN1bHRzXSlcblxuXHRjb25zdCBySW5wdXQgPSB1c2VSZWY8SFRNTElucHV0RWxlbWVudD4obnVsbClcblxuXHRjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxuXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0c2V0UXVlcnkoJycpXG5cdFx0c2V0UmVzdWx0cyhbXSlcblx0XHRzZXRJc0Rpc2FibGVkKGZhbHNlKVxuXHR9LCBbcm91dGVyLmFzUGF0aF0pXG5cblx0Y29uc3QgaGFuZGxlRm9jdXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG5cdFx0aWYgKGhhc1F1ZXJ5ICYmICFoYXNSZXN1bHRzKSB7XG5cdFx0XHRzZW5kUXVlcnkocklucHV0LmN1cnJlbnQhLnZhbHVlKVxuXHRcdH1cblx0fSwgW3NlbmRRdWVyeSwgaGFzUXVlcnksIGhhc1Jlc3VsdHNdKVxuXG5cdGNvbnN0IGhhbmRsZUtleURvd24gPSB1c2VDYWxsYmFjayhcblx0XHQoZTogUmVhY3QuS2V5Ym9hcmRFdmVudCkgPT4ge1xuXHRcdFx0aWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG5cdFx0XHRcdHNldElzRGlzYWJsZWQodHJ1ZSlcblx0XHRcdFx0cm91dGVyLnB1c2goYC9zZWFyY2gtcmVzdWx0cz9xPSR7cklucHV0LmN1cnJlbnQhLnZhbHVlfWApXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRbcm91dGVyXVxuXHQpXG5cblx0cmV0dXJuIChcblx0XHQ8ZGl2IGNsYXNzTmFtZT1cInNlYXJjaF9fd3JhcHBlclwiPlxuXHRcdFx0PGRpdiBjbGFzc05hbWU9XCJzZWFyY2hcIj5cblx0XHRcdFx0PEljb24gY2xhc3NOYW1lPVwic2VhcmNoX19pY29uXCIgaWNvbj1cInNlYXJjaFwiIC8+XG5cdFx0XHRcdDxpbnB1dFxuXHRcdFx0XHRcdHJlZj17cklucHV0fVxuXHRcdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcblx0XHRcdFx0XHRjbGFzc05hbWU9XCJzZWFyY2hfX2lucHV0XCJcblx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIlNlYXJjaC4uLlwiXG5cdFx0XHRcdFx0dmFsdWU9e3F1ZXJ5fVxuXHRcdFx0XHRcdG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG5cdFx0XHRcdFx0b25Gb2N1cz17aGFuZGxlRm9jdXN9XG5cdFx0XHRcdFx0b25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuXHRcdFx0XHRcdGF1dG9DYXBpdGFsaXplPVwib2ZmXCJcblx0XHRcdFx0XHRhdXRvQ29tcGxldGU9XCJvZmZcIlxuXHRcdFx0XHRcdGF1dG9Db3JyZWN0PVwib2ZmXCJcblx0XHRcdFx0XHRkaXNhYmxlZD17aXNEaXNhYmxlZH1cblx0XHRcdFx0Lz5cblx0XHRcdDwvZGl2PlxuXHRcdFx0e3Jlc3VsdHMubGVuZ3RoID4gMCAmJiAoXG5cdFx0XHRcdDxkaXYgY2xhc3NOYW1lPVwic2VhcmNoX19yZXN1bHRzX193cmFwcGVyXCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJzZWFyY2hfX3Jlc3VsdHNcIj5cblx0XHRcdFx0XHRcdDxvbCByZWY9e3JSZXN1bHRzTGlzdH0gY2xhc3NOYW1lPVwic2VhcmNoX19yZXN1bHRzX19saXN0XCI+XG5cdFx0XHRcdFx0XHRcdHtyZXN1bHRzLm1hcCgocmVzdWx0KSA9PiAoXG5cdFx0XHRcdFx0XHRcdFx0PExpbmsga2V5PXtyZXN1bHQuaWR9IGhyZWY9e3Jlc3VsdC51cmx9PlxuXHRcdFx0XHRcdFx0XHRcdFx0PGxpIGNsYXNzTmFtZT1cInNpZGViYXJfX2FydGljbGUgc2VhcmNoX19yZXN1bHRzX19hcnRpY2xlXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxoND57cmVzdWx0LnN1YnRpdGxlfTwvaDQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxoMz57cmVzdWx0LnRpdGxlfTwvaDM+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2xpPlxuXHRcdFx0XHRcdFx0XHRcdDwvTGluaz5cblx0XHRcdFx0XHRcdFx0KSl9XG5cdFx0XHRcdFx0XHQ8L29sPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdCl9XG5cdFx0PC9kaXY+XG5cdClcbn1cblxuZnVuY3Rpb24gdGhyb3R0bGU8VCBleHRlbmRzICguLi5hcmdzOiBhbnkpID0+IGFueT4oXG5cdGZ1bmM6IFQsXG5cdGxpbWl0OiBudW1iZXJcbik6ICguLi5hcmdzOiBQYXJhbWV0ZXJzPFQ+KSA9PiBSZXR1cm5UeXBlPFQ+IHtcblx0bGV0IGluVGhyb3R0bGU6IGJvb2xlYW5cblx0bGV0IGxhc3RSZXN1bHQ6IFJldHVyblR5cGU8VD5cblx0cmV0dXJuIGZ1bmN0aW9uICh0aGlzOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogUmV0dXJuVHlwZTxUPiB7XG5cdFx0aWYgKCFpblRocm90dGxlKSB7XG5cdFx0XHRpblRocm90dGxlID0gdHJ1ZVxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiAoaW5UaHJvdHRsZSA9IGZhbHNlKSwgbGltaXQpXG5cdFx0XHRsYXN0UmVzdWx0ID0gZnVuYyguLi5hcmdzKVxuXHRcdH1cblx0XHRyZXR1cm4gbGFzdFJlc3VsdFxuXHR9XG59XG4iXSwibmFtZXMiOlsiTGluayIsInVzZVJvdXRlciIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJJY29uIiwiU2VhcmNoIiwiYWN0aXZlSWQiLCJxdWVyeSIsInNldFF1ZXJ5IiwicmVzdWx0cyIsInNldFJlc3VsdHMiLCJyUmVzdWx0c0xpc3QiLCJpc0Rpc2FibGVkIiwic2V0SXNEaXNhYmxlZCIsImhhbmRsZUNoYW5nZSIsImUiLCJ0YXJnZXQiLCJ2YWx1ZSIsInNlbmRRdWVyeSIsInRocm90dGxlIiwicmVzIiwiZmV0Y2giLCJqc29uIiwicklucHV0IiwiY3VycmVudCIsImxlbmd0aCIsImhhc1F1ZXJ5IiwiaGFzUmVzdWx0cyIsImhhbmRsZUtleVVwIiwia2V5IiwiaGFuZGxlTW91c2VVcCIsImNvbnRhaW5zIiwiZG9jdW1lbnQiLCJib2R5IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyb3V0ZXIiLCJhc1BhdGgiLCJoYW5kbGVGb2N1cyIsImhhbmRsZUtleURvd24iLCJwdXNoIiwiZGl2IiwiY2xhc3NOYW1lIiwiaWNvbiIsImlucHV0IiwicmVmIiwidHlwZSIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJvbkZvY3VzIiwib25LZXlEb3duIiwiYXV0b0NhcGl0YWxpemUiLCJhdXRvQ29tcGxldGUiLCJhdXRvQ29ycmVjdCIsImRpc2FibGVkIiwib2wiLCJtYXAiLCJyZXN1bHQiLCJocmVmIiwidXJsIiwibGkiLCJoNCIsInN1YnRpdGxlIiwiaDMiLCJ0aXRsZSIsImlkIiwiZnVuYyIsImxpbWl0IiwiaW5UaHJvdHRsZSIsImxhc3RSZXN1bHQiLCJhcmdzIiwic2V0VGltZW91dCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./components/Search.tsx\n"));
/***/ }),
/***/ "./components/Sidebar.tsx":
/*!********************************!*\
!*** ./components/Sidebar.tsx ***!
\********************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Sidebar\": function() { return /* binding */ Sidebar; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"../../node_modules/next/link.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/router */ \"../../node_modules/next/router.js\");\n/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Icon */ \"./components/Icon.tsx\");\n/* harmony import */ var _Search__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Search */ \"./components/Search.tsx\");\n/* harmony import */ var _ThemeSwitcher__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ThemeSwitcher */ \"./components/ThemeSwitcher.tsx\");\n\nvar _s = $RefreshSig$();\n\n\n\n\n\n\nfunction Sidebar(param) {\n let { links , sectionId , categoryId , articleId } = param;\n _s();\n const [menuOpen, setMenuOpen] = (0,react__WEBPACK_IMPORTED_MODULE_3__.useState)(false);\n var _ref;\n const activeId = (_ref = articleId !== null && articleId !== void 0 ? articleId : categoryId) !== null && _ref !== void 0 ? _ref : sectionId;\n const router = (0,next_router__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n (0,react__WEBPACK_IMPORTED_MODULE_3__.useEffect)(()=>{\n setMenuOpen(false);\n }, [\n router.asPath\n ]);\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar\",\n \"data-open\": menuOpen,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar__buttons\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_ThemeSwitcher__WEBPACK_IMPORTED_MODULE_6__.ThemeSwitcher, {}, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 32,\n columnNumber: 6\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar__buttons__socials\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"https://twitter.com/tldraw\",\n className: \"sidebar__button icon-button\",\n title: \"twitter\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Icon__WEBPACK_IMPORTED_MODULE_4__.Icon, {\n icon: \"twitter\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 39,\n columnNumber: 8\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 34,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"https://github.com/tldraw/tldraw\",\n className: \"sidebar__button icon-button\",\n title: \"github\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Icon__WEBPACK_IMPORTED_MODULE_4__.Icon, {\n icon: \"github\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 46,\n columnNumber: 8\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 41,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"https://discord.com/invite/SBBEVCA4PG\",\n className: \"sidebar__button icon-button\",\n title: \"discord\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Icon__WEBPACK_IMPORTED_MODULE_4__.Icon, {\n icon: \"discord\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 53,\n columnNumber: 8\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 48,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 33,\n columnNumber: 6\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 31,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Search__WEBPACK_IMPORTED_MODULE_5__.Search, {\n activeId: activeId\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 57,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"nav\", {\n className: \"sidebar__nav\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"sidebar__list sidebar__sections__list\",\n children: links.map((link)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SidebarLink, {\n ...link\n }, link.url, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 61,\n columnNumber: 8\n }, this))\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 59,\n columnNumber: 6\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 58,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar__footer\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"https://www.tldraw.com\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar__lockup\",\n style: {\n mask: \"url(/lockup.svg) center 100% / 100% no-repeat\",\n WebkitMask: \"url(/lockup.svg) center 100% / 100% no-repeat\"\n }\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 67,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 66,\n columnNumber: 6\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: \"tldraw \\xa9 2023\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 75,\n columnNumber: 6\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 65,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar__close\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n onClick: ()=>setMenuOpen(false),\n children: \"Close\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 78,\n columnNumber: 6\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"icon-button\",\n onClick: ()=>setMenuOpen(false),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Icon__WEBPACK_IMPORTED_MODULE_4__.Icon, {\n icon: \"close\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 80,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 79,\n columnNumber: 6\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 77,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 30,\n columnNumber: 4\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"menu__button icon-button\",\n onClick: ()=>setMenuOpen(true),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Icon__WEBPACK_IMPORTED_MODULE_4__.Icon, {\n icon: \"menu\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 86,\n columnNumber: 5\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 85,\n columnNumber: 4\n }, this)\n ]\n }, void 0, true);\n}\n_s(Sidebar, \"aekiJHvBTKcRPKsIWnKFRFPDZa4=\", false, function() {\n return [\n next_router__WEBPACK_IMPORTED_MODULE_2__.useRouter\n ];\n});\n_c = Sidebar;\nfunction SidebarLink(props) {\n switch(props.type){\n case \"section\":\n {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SidebarSection, {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 95,\n columnNumber: 11\n }, this);\n }\n case \"article\":\n {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SidebarArticle, {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 98,\n columnNumber: 11\n }, this);\n }\n case \"category\":\n {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SidebarCategory, {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 101,\n columnNumber: 11\n }, this);\n }\n }\n}\n_c1 = SidebarLink;\nfunction SidebarSection(param) {\n let { title , url , children } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"sidebar__section\",\n children: [\n title && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: url,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar__link sidebar__section__title\",\n \"data-active\": false,\n children: title\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 111,\n columnNumber: 6\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 110,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"sidebar__list sidebar__section__list\",\n children: children.map((link)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SidebarLink, {\n ...link\n }, link.url, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 118,\n columnNumber: 6\n }, this))\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 116,\n columnNumber: 4\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 108,\n columnNumber: 3\n }, this);\n}\n_c2 = SidebarSection;\nfunction SidebarCategory(param) {\n let { title , url , children } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"sidebar__category\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: url,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar__link sidebar__category__title\",\n \"data-active\": false,\n children: title\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 129,\n columnNumber: 5\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 128,\n columnNumber: 4\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"sidebar__list sidebar__category__list\",\n children: children.map((link)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(SidebarLink, {\n ...link\n }, link.url, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 135,\n columnNumber: 6\n }, this))\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 133,\n columnNumber: 4\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"hr\", {}, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 138,\n columnNumber: 4\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 127,\n columnNumber: 3\n }, this);\n}\n_c3 = SidebarCategory;\nfunction SidebarArticle(param) {\n let { title , url } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n className: \"sidebar__article\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: url,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"sidebar__link sidebar__article__title\",\n \"data-active\": false,\n children: title\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 147,\n columnNumber: 5\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 146,\n columnNumber: 4\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/Sidebar.tsx\",\n lineNumber: 145,\n columnNumber: 3\n }, this);\n}\n_c4 = SidebarArticle;\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"Sidebar\");\n$RefreshReg$(_c1, \"SidebarLink\");\n$RefreshReg$(_c2, \"SidebarSection\");\n$RefreshReg$(_c3, \"SidebarCategory\");\n$RefreshReg$(_c4, \"SidebarArticle\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Ozs7Ozs7Ozs7O0FBS047TUFWU2lCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL2NvbXBvbmVudHMvU2lkZWJhci50c3g/NmJhOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRTaWRlYmFyQ29udGVudEFydGljbGVMaW5rLFxuXHRTaWRlYmFyQ29udGVudENhdGVnb3J5TGluayxcblx0U2lkZWJhckNvbnRlbnRMaW5rLFxuXHRTaWRlYmFyQ29udGVudExpc3QsXG5cdFNpZGViYXJDb250ZW50U2VjdGlvbkxpbmssXG59IGZyb20gJ0AvdHlwZXMvY29udGVudC10eXBlcydcbmltcG9ydCBMaW5rIGZyb20gJ25leHQvbGluaydcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gJ25leHQvcm91dGVyJ1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4vSWNvbidcbmltcG9ydCB7IFNlYXJjaCB9IGZyb20gJy4vU2VhcmNoJ1xuaW1wb3J0IHsgVGhlbWVTd2l0Y2hlciB9IGZyb20gJy4vVGhlbWVTd2l0Y2hlcidcblxudHlwZSBTaWRlYmFyUHJvcHMgPSBTaWRlYmFyQ29udGVudExpc3RcblxuZXhwb3J0IGZ1bmN0aW9uIFNpZGViYXIoeyBsaW5rcywgc2VjdGlvbklkLCBjYXRlZ29yeUlkLCBhcnRpY2xlSWQgfTogU2lkZWJhclByb3BzKSB7XG5cdGNvbnN0IFttZW51T3Blbiwgc2V0TWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG5cblx0Y29uc3QgYWN0aXZlSWQgPSBhcnRpY2xlSWQgPz8gY2F0ZWdvcnlJZCA/PyBzZWN0aW9uSWRcblxuXHRjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxuXG5cdHVzZUVmZmVjdCgoKSA9PiB7XG5cdFx0c2V0TWVudU9wZW4oZmFsc2UpXG5cdH0sIFtyb3V0ZXIuYXNQYXRoXSlcblxuXHRyZXR1cm4gKFxuXHRcdDw+XG5cdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cInNpZGViYXJcIiBkYXRhLW9wZW49e21lbnVPcGVufT5cblx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJzaWRlYmFyX19idXR0b25zXCI+XG5cdFx0XHRcdFx0PFRoZW1lU3dpdGNoZXIgLz5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cInNpZGViYXJfX2J1dHRvbnNfX3NvY2lhbHNcIj5cblx0XHRcdFx0XHRcdDxhXG5cdFx0XHRcdFx0XHRcdGhyZWY9XCJodHRwczovL3R3aXR0ZXIuY29tL3RsZHJhd1wiXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInNpZGViYXJfX2J1dHRvbiBpY29uLWJ1dHRvblwiXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwidHdpdHRlclwiXG5cdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdDxJY29uIGljb249XCJ0d2l0dGVyXCIgLz5cblx0XHRcdFx0XHRcdDwvYT5cblx0XHRcdFx0XHRcdDxhXG5cdFx0XHRcdFx0XHRcdGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vdGxkcmF3L3RsZHJhd1wiXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInNpZGViYXJfX2J1dHRvbiBpY29uLWJ1dHRvblwiXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwiZ2l0aHViXCJcblx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0PEljb24gaWNvbj1cImdpdGh1YlwiIC8+XG5cdFx0XHRcdFx0XHQ8L2E+XG5cdFx0XHRcdFx0XHQ8YVxuXHRcdFx0XHRcdFx0XHRocmVmPVwiaHR0cHM6Ly9kaXNjb3JkLmNvbS9pbnZpdGUvU0JCRVZDQTRQR1wiXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInNpZGViYXJfX2J1dHRvbiBpY29uLWJ1dHRvblwiXG5cdFx0XHRcdFx0XHRcdHRpdGxlPVwiZGlzY29yZFwiXG5cdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdDxJY29uIGljb249XCJkaXNjb3JkXCIgLz5cblx0XHRcdFx0XHRcdDwvYT5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxTZWFyY2ggYWN0aXZlSWQ9e2FjdGl2ZUlkfSAvPlxuXHRcdFx0XHQ8bmF2IGNsYXNzTmFtZT1cInNpZGViYXJfX25hdlwiPlxuXHRcdFx0XHRcdDx1bCBjbGFzc05hbWU9XCJzaWRlYmFyX19saXN0IHNpZGViYXJfX3NlY3Rpb25zX19saXN0XCI+XG5cdFx0XHRcdFx0XHR7bGlua3MubWFwKChsaW5rKSA9PiAoXG5cdFx0XHRcdFx0XHRcdDxTaWRlYmFyTGluayBrZXk9e2xpbmsudXJsfSB7Li4ubGlua30gLz5cblx0XHRcdFx0XHRcdCkpfVxuXHRcdFx0XHRcdDwvdWw+XG5cdFx0XHRcdDwvbmF2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cInNpZGViYXJfX2Zvb3RlclwiPlxuXHRcdFx0XHRcdDxhIGhyZWY9XCJodHRwczovL3d3dy50bGRyYXcuY29tXCI+XG5cdFx0XHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cInNpZGViYXJfX2xvY2t1cFwiXG5cdFx0XHRcdFx0XHRcdHN0eWxlPXt7XG5cdFx0XHRcdFx0XHRcdFx0bWFzazogYHVybCgvbG9ja3VwLnN2ZykgY2VudGVyIDEwMCUgLyAxMDAlIG5vLXJlcGVhdGAsXG5cdFx0XHRcdFx0XHRcdFx0V2Via2l0TWFzazogYHVybCgvbG9ja3VwLnN2ZykgY2VudGVyIDEwMCUgLyAxMDAlIG5vLXJlcGVhdGAsXG5cdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdDwvYT5cblx0XHRcdFx0XHQ8ZGl2PnRsZHJhdyDCqSAyMDIzPC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cInNpZGViYXJfX2Nsb3NlXCI+XG5cdFx0XHRcdFx0PHNwYW4gb25DbGljaz17KCkgPT4gc2V0TWVudU9wZW4oZmFsc2UpfT5DbG9zZTwvc3Bhbj5cblx0XHRcdFx0XHQ8YnV0dG9uIGNsYXNzTmFtZT1cImljb24tYnV0dG9uXCIgb25DbGljaz17KCkgPT4gc2V0TWVudU9wZW4oZmFsc2UpfT5cblx0XHRcdFx0XHRcdDxJY29uIGljb249XCJjbG9zZVwiIC8+XG5cdFx0XHRcdFx0PC9idXR0b24+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0XHR7LyogTWVudSAqL31cblx0XHRcdDxidXR0b24gY2xhc3NOYW1lPVwibWVudV9fYnV0dG9uIGljb24tYnV0dG9uXCIgb25DbGljaz17KCkgPT4gc2V0TWVudU9wZW4odHJ1ZSl9PlxuXHRcdFx0XHQ8SWNvbiBpY29uPVwibWVudVwiIC8+XG5cdFx0XHQ8L2J1dHRvbj5cblx0XHQ8Lz5cblx0KVxufVxuXG5mdW5jdGlvbiBTaWRlYmFyTGluayhwcm9wczogU2lkZWJhckNvbnRlbnRMaW5rKSB7XG5cdHN3aXRjaCAocHJvcHMudHlwZSkge1xuXHRcdGNhc2UgJ3NlY3Rpb24nOiB7XG5cdFx0XHRyZXR1cm4gPFNpZGViYXJTZWN0aW9uIHsuLi5wcm9wc30gLz5cblx0XHR9XG5cdFx0Y2FzZSAnYXJ0aWNsZSc6IHtcblx0XHRcdHJldHVybiA8U2lkZWJhckFydGljbGUgey4uLnByb3BzfSAvPlxuXHRcdH1cblx0XHRjYXNlICdjYXRlZ29yeSc6IHtcblx0XHRcdHJldHVybiA8U2lkZWJhckNhdGVnb3J5IHsuLi5wcm9wc30gLz5cblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gU2lkZWJhclNlY3Rpb24oeyB0aXRsZSwgdXJsLCBjaGlsZHJlbiB9OiBTaWRlYmFyQ29udGVudFNlY3Rpb25MaW5rKSB7XG5cdHJldHVybiAoXG5cdFx0PGxpIGNsYXNzTmFtZT1cInNpZGViYXJfX3NlY3Rpb25cIj5cblx0XHRcdHt0aXRsZSAmJiAoXG5cdFx0XHRcdDxMaW5rIGhyZWY9e3VybH0+XG5cdFx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJzaWRlYmFyX19saW5rIHNpZGViYXJfX3NlY3Rpb25fX3RpdGxlXCIgZGF0YS1hY3RpdmU9e2ZhbHNlfT5cblx0XHRcdFx0XHRcdHt0aXRsZX1cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9MaW5rPlxuXHRcdFx0KX1cblx0XHRcdDx1bCBjbGFzc05hbWU9XCJzaWRlYmFyX19saXN0IHNpZGViYXJfX3NlY3Rpb25fX2xpc3RcIj5cblx0XHRcdFx0e2NoaWxkcmVuLm1hcCgobGluaykgPT4gKFxuXHRcdFx0XHRcdDxTaWRlYmFyTGluayBrZXk9e2xpbmsudXJsfSB7Li4ubGlua30gLz5cblx0XHRcdFx0KSl9XG5cdFx0XHQ8L3VsPlxuXHRcdDwvbGk+XG5cdClcbn1cblxuZnVuY3Rpb24gU2lkZWJhckNhdGVnb3J5KHsgdGl0bGUsIHVybCwgY2hpbGRyZW4gfTogU2lkZWJhckNvbnRlbnRDYXRlZ29yeUxpbmspIHtcblx0cmV0dXJuIChcblx0XHQ8bGkgY2xhc3NOYW1lPVwic2lkZWJhcl9fY2F0ZWdvcnlcIj5cblx0XHRcdDxMaW5rIGhyZWY9e3VybH0+XG5cdFx0XHRcdDxkaXYgY2xhc3NOYW1lPVwic2lkZWJhcl9fbGluayBzaWRlYmFyX19jYXRlZ29yeV9fdGl0bGVcIiBkYXRhLWFjdGl2ZT17ZmFsc2V9PlxuXHRcdFx0XHRcdHt0aXRsZX1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L0xpbms+XG5cdFx0XHQ8dWwgY2xhc3NOYW1lPVwic2lkZWJhcl9fbGlzdCBzaWRlYmFyX19jYXRlZ29yeV9fbGlzdFwiPlxuXHRcdFx0XHR7Y2hpbGRyZW4ubWFwKChsaW5rKSA9PiAoXG5cdFx0XHRcdFx0PFNpZGViYXJMaW5rIGtleT17bGluay51cmx9IHsuLi5saW5rfSAvPlxuXHRcdFx0XHQpKX1cblx0XHRcdDwvdWw+XG5cdFx0XHQ8aHIgLz5cblx0XHQ8L2xpPlxuXHQpXG59XG5cbmZ1bmN0aW9uIFNpZGViYXJBcnRpY2xlKHsgdGl0bGUsIHVybCB9OiBTaWRlYmFyQ29udGVudEFydGljbGVMaW5rKSB7XG5cdHJldHVybiAoXG5cdFx0PGxpIGNsYXNzTmFtZT1cInNpZGViYXJfX2FydGljbGVcIj5cblx0XHRcdDxMaW5rIGhyZWY9e3VybH0+XG5cdFx0XHRcdDxkaXYgY2xhc3NOYW1lPVwic2lkZWJhcl9fbGluayBzaWRlYmFyX19hcnRpY2xlX190aXRsZVwiIGRhdGEtYWN0aXZlPXtmYWxzZX0+XG5cdFx0XHRcdFx0e3RpdGxlfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvTGluaz5cblx0XHQ8L2xpPlxuXHQpXG59XG4iXSwibmFtZXMiOlsiTGluayIsInVzZVJvdXRlciIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiSWNvbiIsIlNlYXJjaCIsIlRoZW1lU3dpdGNoZXIiLCJTaWRlYmFyIiwibGlua3MiLCJzZWN0aW9uSWQiLCJjYXRlZ29yeUlkIiwiYXJ0aWNsZUlkIiwibWVudU9wZW4iLCJzZXRNZW51T3BlbiIsImFjdGl2ZUlkIiwicm91dGVyIiwiYXNQYXRoIiwiZGl2IiwiY2xhc3NOYW1lIiwiZGF0YS1vcGVuIiwiYSIsImhyZWYiLCJ0aXRsZSIsImljb24iLCJuYXYiLCJ1bCIsIm1hcCIsImxpbmsiLCJTaWRlYmFyTGluayIsInVybCIsInN0eWxlIiwibWFzayIsIldlYmtpdE1hc2siLCJzcGFuIiwib25DbGljayIsImJ1dHRvbiIsInByb3BzIiwidHlwZSIsIlNpZGViYXJTZWN0aW9uIiwiU2lkZWJhckFydGljbGUiLCJTaWRlYmFyQ2F0ZWdvcnkiLCJjaGlsZHJlbiIsImxpIiwiZGF0YS1hY3RpdmUiLCJociJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./components/Sidebar.tsx\n"));
/***/ }),
/***/ "./components/ThemeSwitcher.tsx":
/*!**************************************!*\
!*** ./components/ThemeSwitcher.tsx ***!
\**************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ThemeSwitcher\": function() { return /* binding */ ThemeSwitcher; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-themes */ \"../../node_modules/next-themes/dist/index.module.js\");\n/* harmony import */ var _Icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Icon */ \"./components/Icon.tsx\");\n\nvar _s = $RefreshSig$();\n\n\nfunction ThemeSwitcher() {\n _s();\n const { theme , setTheme } = (0,next_themes__WEBPACK_IMPORTED_MODULE_1__.useTheme)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n className: \"sidebar__button icon-button\",\n onClick: ()=>setTheme(theme === \"light\" ? \"dark\" : \"light\"),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_Icon__WEBPACK_IMPORTED_MODULE_2__.Icon, {\n icon: \"light\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ThemeSwitcher.tsx\",\n lineNumber: 12,\n columnNumber: 4\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/ThemeSwitcher.tsx\",\n lineNumber: 8,\n columnNumber: 3\n }, this);\n}\n_s(ThemeSwitcher, \"5ABGV54qnXKp6rHn7MS/8MjwRhQ=\", false, function() {\n return [\n next_themes__WEBPACK_IMPORTED_MODULE_1__.useTheme\n ];\n});\n_c = ThemeSwitcher;\nvar _c;\n$RefreshReg$(_c, \"ThemeSwitcher\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb21wb25lbnRzL1RoZW1lU3dpdGNoZXIudHN4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBc0M7QUFDVDtBQUV0QixTQUFTRSxnQkFBZ0I7O0lBQy9CLE1BQU0sRUFBRUMsTUFBSyxFQUFFQyxTQUFRLEVBQUUsR0FBR0oscURBQVFBO0lBRXBDLHFCQUNDLDhEQUFDSztRQUNBQyxXQUFVO1FBQ1ZDLFNBQVMsSUFBTUgsU0FBU0QsVUFBVSxVQUFVLFNBQVMsT0FBTztrQkFFNUQsNEVBQUNGLHVDQUFJQTtZQUFDTyxNQUFLOzs7Ozs7Ozs7OztBQUdkLENBQUM7R0FYZU47O1FBQ2FGLGlEQUFRQTs7O0tBRHJCRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9jb21wb25lbnRzL1RoZW1lU3dpdGNoZXIudHN4P2ExMzEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tICduZXh0LXRoZW1lcydcbmltcG9ydCB7IEljb24gfSBmcm9tICcuL0ljb24nXG5cbmV4cG9ydCBmdW5jdGlvbiBUaGVtZVN3aXRjaGVyKCkge1xuXHRjb25zdCB7IHRoZW1lLCBzZXRUaGVtZSB9ID0gdXNlVGhlbWUoKVxuXG5cdHJldHVybiAoXG5cdFx0PGJ1dHRvblxuXHRcdFx0Y2xhc3NOYW1lPVwic2lkZWJhcl9fYnV0dG9uIGljb24tYnV0dG9uXCJcblx0XHRcdG9uQ2xpY2s9eygpID0+IHNldFRoZW1lKHRoZW1lID09PSAnbGlnaHQnID8gJ2RhcmsnIDogJ2xpZ2h0Jyl9XG5cdFx0PlxuXHRcdFx0PEljb24gaWNvbj1cImxpZ2h0XCIgLz5cblx0XHQ8L2J1dHRvbj5cblx0KVxufVxuIl0sIm5hbWVzIjpbInVzZVRoZW1lIiwiSWNvbiIsIlRoZW1lU3dpdGNoZXIiLCJ0aGVtZSIsInNldFRoZW1lIiwiYnV0dG9uIiwiY2xhc3NOYW1lIiwib25DbGljayIsImljb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./components/ThemeSwitcher.tsx\n"));
/***/ }),
/***/ "./components/article-components/index.ts":
/*!************************************************!*\
!*** ./components/article-components/index.ts ***!
\************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb21wb25lbnRzL2FydGljbGUtY29tcG9uZW50cy9pbmRleC50cy5qcyIsIm1hcHBpbmdzIjoiO0FBQVMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vY29tcG9uZW50cy9hcnRpY2xlLWNvbXBvbmVudHMvaW5kZXgudHM/N2Q5YiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge31cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./components/article-components/index.ts\n"));
/***/ }),
/***/ "./components/mdx-components/api-docs.tsx":
/*!************************************************!*\
!*** ./components/mdx-components/api-docs.tsx ***!
\************************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ParametersTable\": function() { return /* binding */ ParametersTable; },\n/* harmony export */ \"ParametersTableDescription\": function() { return /* binding */ ParametersTableDescription; },\n/* harmony export */ \"ParametersTableName\": function() { return /* binding */ ParametersTableName; },\n/* harmony export */ \"ParametersTableRow\": function() { return /* binding */ ParametersTableRow; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction ParametersTable(param) {\n let { children } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"table\", {\n className: \"parametersTable\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"thead\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n children: \"Name\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/api-docs.tsx\",\n lineNumber: 8,\n columnNumber: 6\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n children: \"Description\"\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/api-docs.tsx\",\n lineNumber: 9,\n columnNumber: 6\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/api-docs.tsx\",\n lineNumber: 7,\n columnNumber: 5\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/api-docs.tsx\",\n lineNumber: 6,\n columnNumber: 4\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tbody\", {\n children: children\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/api-docs.tsx\",\n lineNumber: 12,\n columnNumber: 4\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/api-docs.tsx\",\n lineNumber: 5,\n columnNumber: 3\n }, this);\n}\n_c = ParametersTable;\nfunction ParametersTableRow(param) {\n let { children } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n className: \"parametersTable-row\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/api-docs.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, this);\n}\n_c1 = ParametersTableRow;\nfunction ParametersTableName(param) {\n let { children } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"parametersTable-name\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/api-docs.tsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this);\n}\n_c2 = ParametersTableName;\nfunction ParametersTableDescription(param) {\n let { children } = param;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"parametersTable-description\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/api-docs.tsx\",\n lineNumber: 26,\n columnNumber: 9\n }, this);\n}\n_c3 = ParametersTableDescription;\nvar _c, _c1, _c2, _c3;\n$RefreshReg$(_c, \"ParametersTable\");\n$RefreshReg$(_c1, \"ParametersTableRow\");\n$RefreshReg$(_c2, \"ParametersTableName\");\n$RefreshReg$(_c3, \"ParametersTableDescription\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb21wb25lbnRzL21keC1jb21wb25lbnRzL2FwaS1kb2NzLnRzeC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBRU8sU0FBU0EsZ0JBQWdCLEtBQXFDLEVBQUU7UUFBdkMsRUFBRUMsU0FBUSxFQUEyQixHQUFyQztJQUMvQixxQkFDQyw4REFBQ0M7UUFBTUMsV0FBVTs7MEJBQ2hCLDhEQUFDQzswQkFDQSw0RUFBQ0M7O3NDQUNBLDhEQUFDQztzQ0FBRzs7Ozs7O3NDQUNKLDhEQUFDQTtzQ0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBR04sOERBQUNDOzBCQUFPTjs7Ozs7Ozs7Ozs7O0FBR1gsQ0FBQztLQVplRDtBQWNULFNBQVNRLG1CQUFtQixLQUFxQyxFQUFFO1FBQXZDLEVBQUVQLFNBQVEsRUFBMkIsR0FBckM7SUFDbEMscUJBQU8sOERBQUNJO1FBQUdGLFdBQVU7a0JBQXVCRjs7Ozs7O0FBQzdDLENBQUM7TUFGZU87QUFJVCxTQUFTQyxvQkFBb0IsS0FBcUMsRUFBRTtRQUF2QyxFQUFFUixTQUFRLEVBQTJCLEdBQXJDO0lBQ25DLHFCQUFPLDhEQUFDUztRQUFHUCxXQUFVO2tCQUF3QkY7Ozs7OztBQUM5QyxDQUFDO01BRmVRO0FBSVQsU0FBU0UsMkJBQTJCLEtBQXFDLEVBQUU7UUFBdkMsRUFBRVYsU0FBUSxFQUEyQixHQUFyQztJQUMxQyxxQkFBTyw4REFBQ1M7UUFBR1AsV0FBVTtrQkFBK0JGOzs7Ozs7QUFDckQsQ0FBQztNQUZlVSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9jb21wb25lbnRzL21keC1jb21wb25lbnRzL2FwaS1kb2NzLnRzeD9lYWYzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgZnVuY3Rpb24gUGFyYW1ldGVyc1RhYmxlKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pIHtcblx0cmV0dXJuIChcblx0XHQ8dGFibGUgY2xhc3NOYW1lPVwicGFyYW1ldGVyc1RhYmxlXCI+XG5cdFx0XHQ8dGhlYWQ+XG5cdFx0XHRcdDx0cj5cblx0XHRcdFx0XHQ8dGg+TmFtZTwvdGg+XG5cdFx0XHRcdFx0PHRoPkRlc2NyaXB0aW9uPC90aD5cblx0XHRcdFx0PC90cj5cblx0XHRcdDwvdGhlYWQ+XG5cdFx0XHQ8dGJvZHk+e2NoaWxkcmVufTwvdGJvZHk+XG5cdFx0PC90YWJsZT5cblx0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUGFyYW1ldGVyc1RhYmxlUm93KHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pIHtcblx0cmV0dXJuIDx0ciBjbGFzc05hbWU9XCJwYXJhbWV0ZXJzVGFibGUtcm93XCI+e2NoaWxkcmVufTwvdHI+XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQYXJhbWV0ZXJzVGFibGVOYW1lKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pIHtcblx0cmV0dXJuIDx0ZCBjbGFzc05hbWU9XCJwYXJhbWV0ZXJzVGFibGUtbmFtZVwiPntjaGlsZHJlbn08L3RkPlxufVxuXG5leHBvcnQgZnVuY3Rpb24gUGFyYW1ldGVyc1RhYmxlRGVzY3JpcHRpb24oeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfSkge1xuXHRyZXR1cm4gPHRkIGNsYXNzTmFtZT1cInBhcmFtZXRlcnNUYWJsZS1kZXNjcmlwdGlvblwiPntjaGlsZHJlbn08L3RkPlxufVxuIl0sIm5hbWVzIjpbIlBhcmFtZXRlcnNUYWJsZSIsImNoaWxkcmVuIiwidGFibGUiLCJjbGFzc05hbWUiLCJ0aGVhZCIsInRyIiwidGgiLCJ0Ym9keSIsIlBhcmFtZXRlcnNUYWJsZVJvdyIsIlBhcmFtZXRlcnNUYWJsZU5hbWUiLCJ0ZCIsIlBhcmFtZXRlcnNUYWJsZURlc2NyaXB0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./components/mdx-components/api-docs.tsx\n"));
/***/ }),
/***/ "./components/mdx-components/generic.tsx":
/*!***********************************************!*\
!*** ./components/mdx-components/generic.tsx ***!
\***********************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"A\": function() { return /* binding */ A; },\n/* harmony export */ \"Blockquote\": function() { return /* binding */ Blockquote; },\n/* harmony export */ \"Code\": function() { return /* binding */ Code; },\n/* harmony export */ \"Divider\": function() { return /* binding */ Divider; },\n/* harmony export */ \"Footnotes\": function() { return /* binding */ Footnotes; },\n/* harmony export */ \"Heading1\": function() { return /* binding */ Heading1; },\n/* harmony export */ \"Heading2\": function() { return /* binding */ Heading2; },\n/* harmony export */ \"Heading3\": function() { return /* binding */ Heading3; },\n/* harmony export */ \"Heading4\": function() { return /* binding */ Heading4; },\n/* harmony export */ \"Heading5\": function() { return /* binding */ Heading5; },\n/* harmony export */ \"Heading6\": function() { return /* binding */ Heading6; },\n/* harmony export */ \"Image\": function() { return /* binding */ Image; },\n/* harmony export */ \"ListItem\": function() { return /* binding */ ListItem; },\n/* harmony export */ \"OrderedList\": function() { return /* binding */ OrderedList; },\n/* harmony export */ \"Paragraph\": function() { return /* binding */ Paragraph; },\n/* harmony export */ \"Pre\": function() { return /* binding */ Pre; },\n/* harmony export */ \"Small\": function() { return /* binding */ Small; },\n/* harmony export */ \"TD\": function() { return /* binding */ TD; },\n/* harmony export */ \"THead\": function() { return /* binding */ THead; },\n/* harmony export */ \"TR\": function() { return /* binding */ TR; },\n/* harmony export */ \"Table\": function() { return /* binding */ Table; },\n/* harmony export */ \"UnorderedList\": function() { return /* binding */ UnorderedList; },\n/* harmony export */ \"Video\": function() { return /* binding */ Video; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* ---------------------- Lists --------------------- */ \n\nconst UnorderedList = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 6,\n columnNumber: 9\n }, undefined);\n};\n_c = UnorderedList;\nconst OrderedList = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ol\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, undefined);\n};\n_c1 = OrderedList;\nconst ListItem = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 14,\n columnNumber: 9\n }, undefined);\n};\n_c2 = ListItem;\nfunction heading(heading, props) {\n const Element = (param)=>/*#__PURE__*/ {\n let { ...props } = param;\n return react__WEBPACK_IMPORTED_MODULE_1___default().createElement(heading, props);\n };\n if (props.id) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Element, {\n ...props,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: \"#\".concat(props.id),\n children: props.children\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 26,\n columnNumber: 5\n }, this)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 25,\n columnNumber: 4\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(Element, {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 31,\n columnNumber: 9\n }, this);\n}\nconst Heading1 = (props)=>{\n return heading(\"h1\", props);\n};\n_c3 = Heading1;\nconst Heading2 = (props)=>{\n return heading(\"h2\", props);\n};\n_c4 = Heading2;\nconst Heading3 = (props)=>{\n return heading(\"h3\", props);\n};\n_c5 = Heading3;\nconst Heading4 = (props)=>{\n return heading(\"h4\", props);\n};\n_c6 = Heading4;\nconst Heading5 = (props)=>{\n return heading(\"h5\", props);\n};\n_c7 = Heading5;\nconst Heading6 = (props)=>{\n return heading(\"h6\", props);\n};\n_c8 = Heading6;\nconst Paragraph = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 59,\n columnNumber: 9\n }, undefined);\n};\n_c9 = Paragraph;\nconst A = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 63,\n columnNumber: 9\n }, undefined);\n};\n_c10 = A;\nconst Divider = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"hr\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 67,\n columnNumber: 9\n }, undefined);\n};\n_c11 = Divider;\nconst Blockquote = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"blockquote\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 71,\n columnNumber: 9\n }, undefined);\n};\n_c12 = Blockquote;\nconst Small = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"article__small\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"small\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 77,\n columnNumber: 4\n }, undefined)\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 76,\n columnNumber: 3\n }, undefined);\n};\n_c13 = Small;\n/* --------------------- Tables --------------------- */ const Table = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"table\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 85,\n columnNumber: 9\n }, undefined);\n};\n_c14 = Table;\nconst THead = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"thead\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 89,\n columnNumber: 9\n }, undefined);\n};\n_c15 = THead;\nconst TR = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 93,\n columnNumber: 9\n }, undefined);\n};\n_c16 = TR;\nconst TD = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 97,\n columnNumber: 9\n }, undefined);\n};\n_c17 = TD;\n/* --------------------- Media --------------------- */ const Image = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"artcle__image\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n alt: props.title,\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 105,\n columnNumber: 4\n }, undefined),\n props.caption && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"article__caption\",\n children: props.caption\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 106,\n columnNumber: 22\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 104,\n columnNumber: 3\n }, undefined);\n};\n_c18 = Image;\nconst Video = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"artcle__video\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"video\", {\n alt: props.title,\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 114,\n columnNumber: 4\n }, undefined),\n props.caption && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"article__caption\",\n children: props.caption\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 115,\n columnNumber: 22\n }, undefined)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 113,\n columnNumber: 3\n }, undefined);\n};\n_c19 = Video;\n/* ------------------- Code Blocks ------------------ */ const Pre = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"pre\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 123,\n columnNumber: 9\n }, undefined);\n};\n_c20 = Pre;\nconst Code = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"code\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 127,\n columnNumber: 9\n }, undefined);\n};\n_c21 = Code;\nconst Footnotes = (props)=>{\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n ...props\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/components/mdx-components/generic.tsx\",\n lineNumber: 131,\n columnNumber: 9\n }, undefined);\n};\n_c22 = Footnotes;\nvar _c, _c1, _c2, _c3, _c4, _c5, _c6, _c7, _c8, _c9, _c10, _c11, _c12, _c13, _c14, _c15, _c16, _c17, _c18, _c19, _c20, _c21, _c22;\n$RefreshReg$(_c, \"UnorderedList\");\n$RefreshReg$(_c1, \"OrderedList\");\n$RefreshReg$(_c2, \"ListItem\");\n$RefreshReg$(_c3, \"Heading1\");\n$RefreshReg$(_c4, \"Heading2\");\n$RefreshReg$(_c5, \"Heading3\");\n$RefreshReg$(_c6, \"Heading4\");\n$RefreshReg$(_c7, \"Heading5\");\n$RefreshReg$(_c8, \"Heading6\");\n$RefreshReg$(_c9, \"Paragraph\");\n$RefreshReg$(_c10, \"A\");\n$RefreshReg$(_c11, \"Divider\");\n$RefreshReg$(_c12, \"Blockquote\");\n$RefreshReg$(_c13, \"Small\");\n$RefreshReg$(_c14, \"Table\");\n$RefreshReg$(_c15, \"THead\");\n$RefreshReg$(_c16, \"TR\");\n$RefreshReg$(_c17, \"TD\");\n$RefreshReg$(_c18, \"Image\");\n$RefreshReg$(_c19, \"Video\");\n$RefreshReg$(_c20, \"Pre\");\n$RefreshReg$(_c21, \"Code\");\n$RefreshReg$(_c22, \"Footnotes\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb21wb25lbnRzL21keC1jb21wb25lbnRzL2dlbmVyaWMudHN4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFzRDtBQUU3QjtBQUVsQixNQUFNQyxnQkFBZ0IsQ0FBQ0MsUUFBZTtJQUM1QyxxQkFBTyw4REFBQ0M7UUFBSSxHQUFHRCxLQUFLOzs7Ozs7QUFDckIsRUFBQztLQUZZRDtBQUlOLE1BQU1HLGNBQWMsQ0FBQ0YsUUFBZTtJQUMxQyxxQkFBTyw4REFBQ0c7UUFBSSxHQUFHSCxLQUFLOzs7Ozs7QUFDckIsRUFBQztNQUZZRTtBQUlOLE1BQU1FLFdBQVcsQ0FBQ0osUUFBZTtJQUN2QyxxQkFBTyw4REFBQ0s7UUFBSSxHQUFHTCxLQUFLOzs7Ozs7QUFDckIsRUFBQztNQUZZSTtBQVFiLFNBQVNFLFFBQVFBLE9BQWdCLEVBQUVOLEtBQVUsRUFBRTtJQUM5QyxNQUFNTyxVQUFVLHVCQUFrQlQ7WUFBakIsRUFBRSxHQUFHRSxPQUFPO2VBQUtGLDBEQUFtQixDQUFDUSxTQUFTTjtJQUFLO0lBQ3BFLElBQUlBLE1BQU1TLEVBQUUsRUFBRTtRQUNiLHFCQUNDLDhEQUFDRjtZQUFTLEdBQUdQLEtBQUs7c0JBQ2pCLDRFQUFDVTtnQkFBRUMsTUFBTSxJQUFhLE9BQVRYLE1BQU1TLEVBQUU7MEJBQUtULE1BQU1ZLFFBQVE7Ozs7Ozs7Ozs7O0lBRzNDLENBQUM7SUFFRCxxQkFBTyw4REFBQ0w7UUFBUyxHQUFHUCxLQUFLOzs7Ozs7QUFDMUI7QUFFTyxNQUFNYSxXQUFXLENBQUNiLFFBQWU7SUFDdkMsT0FBT00sUUFBUSxNQUFNTjtBQUN0QixFQUFDO01BRllhO0FBSU4sTUFBTUMsV0FBVyxDQUFDZCxRQUFlO0lBQ3ZDLE9BQU9NLFFBQVEsTUFBTU47QUFDdEIsRUFBQztNQUZZYztBQUlOLE1BQU1DLFdBQVcsQ0FBQ2YsUUFBZTtJQUN2QyxPQUFPTSxRQUFRLE1BQU1OO0FBQ3RCLEVBQUM7TUFGWWU7QUFJTixNQUFN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b25lbnRzL2dlbmVyaWMudHN4PzUyOTQiXSwic291cmNlc0NvbnRlbnQiOlsiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBMaXN0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5leHBvcnQgY29uc3QgVW5vcmRlcmVkTGlzdCA9IChwcm9wczogYW55KSA9PiB7XG5cdHJldHVybiA8dWwgey4uLnByb3BzfSAvPlxufVxuXG5leHBvcnQgY29uc3QgT3JkZXJlZExpc3QgPSAocHJvcHM6IGFueSkgPT4ge1xuXHRyZXR1cm4gPG9sIHsuLi5wcm9wc30gLz5cbn1cblxuZXhwb3J0IGNvbnN0IExpc3RJdGVtID0gKHByb3BzOiBhbnkpID0+IHtcblx0cmV0dXJuIDxsaSB7Li4ucHJvcHN9IC8+XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0gVHlwb2dyYXBoeSAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbnR5cGUgSGVhZGluZyA9ICdoMScgfCAnaDInIHwgJ2gzJyB8ICdoNCcgfCAnaDUnIHwgJ2g2J1xuXG5mdW5jdGlvbiBoZWFkaW5nKGhlYWRpbmc6IEhlYWRpbmcsIHByb3BzOiBhbnkpIHtcblx0Y29uc3QgRWxlbWVudCA9ICh7IC4uLnByb3BzIH0pID0+IFJlYWN0LmNyZWF0ZUVsZW1lbnQoaGVhZGluZywgcHJvcHMpXG5cdGlmIChwcm9wcy5pZCkge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8RWxlbWVudCB7Li4ucHJvcHN9PlxuXHRcdFx0XHQ8YSBocmVmPXtgIyR7cHJvcHMuaWR9YH0+e3Byb3BzLmNoaWxkcmVufTwvYT5cblx0XHRcdDwvRWxlbWVudD5cblx0XHQpXG5cdH1cblxuXHRyZXR1cm4gPEVsZW1lbnQgey4uLnByb3BzfSAvPlxufVxuXG5leHBvcnQgY29uc3QgSGVhZGluZzEgPSAocHJvcHM6IGFueSkgPT4ge1xuXHRyZXR1cm4gaGVhZGluZygnaDEnLCBwcm9wcylcbn1cblxuZXhwb3J0IGNvbnN0IEhlYWRpbmcyID0gKHByb3BzOiBhbnkpID0+IHtcblx0cmV0dXJuIGhlYWRpbmcoJ2gyJywgcHJvcHMpXG59XG5cbmV4cG9ydCBjb25zdCBIZWFkaW5nMyA9IChwcm9wczogYW55KSA9PiB7XG5cdHJldHVybiBoZWFkaW5nKCdoMycsIHByb3BzKVxufVxuXG5leHBvcnQgY29uc3QgSGVhZGluZzQgPSAocHJvcHM6IGFueSkgPT4ge1xuXHRyZXR1cm4gaGVhZGluZygnaDQnLCBwcm9wcylcbn1cblxuZXhwb3J0IGNvbnN0IEhlYWRpbmc1ID0gKHByb3BzOiBhbnkpID0+IHtcblx0cmV0dXJuIGhlYWRpbmcoJ2g1JywgcHJvcHMpXG59XG5cbmV4cG9ydCBjb25zdCBIZWFkaW5nNiA9IChwcm9wczogYW55KSA9PiB7XG5cdHJldHVybiBoZWFkaW5nKCdoNicsIHByb3BzKVxufVxuXG5leHBvcnQgY29uc3QgUGFyYWdyYXBoID0gKHByb3BzOiBhbnkpID0+IHtcblx0cmV0dXJuIDxwIHsuLi5wcm9wc30gLz5cbn1cblxuZXhwb3J0IGNvbnN0IEEgPSAocHJvcHM6IGFueSkgPT4ge1xuXHRyZXR1cm4gPGEgey4uLnByb3BzfSAvPlxufVxuXG5leHBvcnQgY29uc3QgRGl2aWRlciA9IChwcm9wczogYW55KSA9PiB7XG5cdHJldHVybiA8aHIgey4uLnByb3BzfSAvPlxufVxuXG5leHBvcnQgY29uc3QgQmxvY2txdW90ZSA9IChwcm9wczogYW55KSA9PiB7XG5cdHJldHVybiA8YmxvY2txdW90ZSB7Li4ucHJvcHN9IC8+XG59XG5cbmV4cG9ydCBjb25zdCBTbWFsbCA9IChwcm9wczogYW55KSA9PiB7XG5cdHJldHVybiAoXG5cdFx0PHAgY2xhc3NOYW1lPVwiYXJ0aWNsZV9fc21hbGxcIj5cblx0XHRcdDxzbWFsbCB7Li4ucHJvcHN9IC8+XG5cdFx0PC9wPlxuXHQpXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUYWJsZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmV4cG9ydCBjb25zdCBUYWJsZSA9IChwcm9wczogYW55KSA9PiB7XG5cdHJldHVybiA8dGFibGUgey4uLnByb3BzfSAvPlxufVxuXG5leHBvcnQgY29uc3QgVEhlYWQgPSAocHJvcHM6IGFueSkgPT4ge1xuXHRyZXR1cm4gPHRoZWFkIHsuLi5wcm9wc30gLz5cbn1cblxuZXhwb3J0IGNvbnN0IFRSID0gKHByb3BzOiBhbnkpID0+IHtcblx0cmV0dXJuIDx0ciB7Li4ucHJvcHN9IC8+XG59XG5cbmV4cG9ydCBjb25zdCBURCA9IChwcm9wczogYW55KSA9PiB7XG5cdHJldHVybiA8dGQgey4uLnByb3BzfSAvPlxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gTWVkaWEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmV4cG9ydCBjb25zdCBJbWFnZSA9IChwcm9wczogYW55KSA9PiB7XG5cdHJldHVybiAoXG5cdFx0PHNwYW4gY2xhc3NOYW1lPVwiYXJ0Y2xlX19pbWFnZVwiPlxuXHRcdFx0PGltZyBhbHQ9e3Byb3BzLnRpdGxlfSB7Li4ucHJvcHN9IC8+XG5cdFx0XHR7cHJvcHMuY2FwdGlvbiAmJiA8c3BhbiBjbGFzc05hbWU9XCJhcnRpY2xlX19jYXB0aW9uXCI+e3Byb3BzLmNhcHRpb259PC9zcGFuPn1cblx0XHQ8L3NwYW4+XG5cdClcbn1cblxuZXhwb3J0IGNvbnN0IFZpZGVvID0gKHByb3BzOiBhbnkpID0+IHtcblx0cmV0dXJuIChcblx0XHQ8c3BhbiBjbGFzc05hbWU9XCJhcnRjbGVfX3ZpZGVvXCI+XG5cdFx0XHQ8dmlkZW8gYWx0PXtwcm9wcy50aXRsZX0gey4uLnByb3BzfSAvPlxuXHRcdFx0e3Byb3BzLmNhcHRpb24gJiYgPHNwYW4gY2xhc3NOYW1lPVwiYXJ0aWNsZV9fY2FwdGlvblwiPntwcm9wcy5jYXB0aW9ufTwvc3Bhbj59XG5cdFx0PC9zcGFuPlxuXHQpXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0gQ29kZSBCbG9ja3MgLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmV4cG9ydCBjb25zdCBQcmUgPSAocHJvcHM6IGFueSkgPT4ge1xuXHRyZXR1cm4gPHByZSB7Li4ucHJvcHN9IC8+XG59XG5cbmV4cG9ydCBjb25zdCBDb2RlID0gKHByb3BzOiBhbnkpID0+IHtcblx0cmV0dXJuIDxjb2RlIHsuLi5wcm9wc30gLz5cbn1cblxuZXhwb3J0IGNvbnN0IEZvb3Rub3RlcyA9IChwcm9wczogYW55KSA9PiB7XG5cdHJldHVybiA8ZGl2IHsuLi5wcm9wc30gLz5cbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsIlVub3JkZXJlZExpc3QiLCJwcm9wcyIsInVsIiwiT3JkZXJlZExpc3QiLCJvbCIsIkxpc3RJdGVtIiwibGkiLCJoZWFkaW5nIiwiRWxlbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJpZCIsImEiLCJocmVmIiwiY2hpbGRyZW4iLCJIZWFkaW5nMSIsIkhlYWRpbmcyIiwiSGVhZGluZzMiLCJIZWFkaW5nNCIsIkhlYWRpbmc1IiwiSGVhZGluZzYiLCJQYXJhZ3JhcGgiLCJwIiwiQSIsIkRpdmlkZXIiLCJociIsIkJsb2NrcXVvdGUiLCJibG9ja3F1b3RlIiwiU21hbGwiLCJjbGFzc05hbWUiLCJzbWFsbCIsIlRhYmxlIiwidGFibGUiLCJUSGVhZCIsInRoZWFkIiwiVFIiLCJ0ciIsIlREIiwidGQiLCJJbWFnZSIsInNwYW4iLCJpbWciLCJhbHQiLCJ0aXRsZSIsImNhcHRpb24iLCJWaWRlbyIsInZpZGVvIiwiUHJlIiwicHJlIiwiQ29kZSIsImNvZGUiLCJGb290bm90ZXMiLCJkaXYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./components/mdx-components/generic.tsx\n"));
/***/ }),
/***/ "./components/mdx-components/index.ts":
/*!********************************************!*\
!*** ./components/mdx-components/index.ts ***!
\********************************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"components\": function() { return /* binding */ components; },\n/* harmony export */ \"scope\": function() { return /* binding */ scope; }\n/* harmony export */ });\n/* harmony import */ var _article_components__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../article-components */ \"./components/article-components/index.ts\");\n/* harmony import */ var _api_docs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./api-docs */ \"./components/mdx-components/api-docs.tsx\");\n/* harmony import */ var _generic__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./generic */ \"./components/mdx-components/generic.tsx\");\n\n\n\nconst scope = {};\nconst components = {\n h1: _generic__WEBPACK_IMPORTED_MODULE_2__.Heading1,\n h2: _generic__WEBPACK_IMPORTED_MODULE_2__.Heading2,\n h3: _generic__WEBPACK_IMPORTED_MODULE_2__.Heading3,\n h4: _generic__WEBPACK_IMPORTED_MODULE_2__.Heading4,\n h5: _generic__WEBPACK_IMPORTED_MODULE_2__.Heading5,\n h6: _generic__WEBPACK_IMPORTED_MODULE_2__.Heading6,\n blockquote: _generic__WEBPACK_IMPORTED_MODULE_2__.Blockquote,\n hr: _generic__WEBPACK_IMPORTED_MODULE_2__.Divider,\n a: _generic__WEBPACK_IMPORTED_MODULE_2__.A,\n p: _generic__WEBPACK_IMPORTED_MODULE_2__.Paragraph,\n table: _generic__WEBPACK_IMPORTED_MODULE_2__.Table,\n thead: _generic__WEBPACK_IMPORTED_MODULE_2__.THead,\n tr: _generic__WEBPACK_IMPORTED_MODULE_2__.TR,\n td: _generic__WEBPACK_IMPORTED_MODULE_2__.TD,\n video: _generic__WEBPACK_IMPORTED_MODULE_2__.Video,\n ol: _generic__WEBPACK_IMPORTED_MODULE_2__.OrderedList,\n ul: _generic__WEBPACK_IMPORTED_MODULE_2__.UnorderedList,\n li: _generic__WEBPACK_IMPORTED_MODULE_2__.ListItem,\n img: _generic__WEBPACK_IMPORTED_MODULE_2__.Image,\n Small: _generic__WEBPACK_IMPORTED_MODULE_2__.Small,\n Image: _generic__WEBPACK_IMPORTED_MODULE_2__.Image,\n Video: _generic__WEBPACK_IMPORTED_MODULE_2__.Video,\n ..._article_components__WEBPACK_IMPORTED_MODULE_0__,\n ..._api_docs__WEBPACK_IMPORTED_MODULE_1__\n};\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jb21wb25lbnRzL21keC1jb21wb25lbnRzL2luZGV4LnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQXlEO0FBQ2Q7QUFzQnpCO0FBRVgsTUFBTXNCLFFBQVEsQ0FBQyxFQUFDO0FBRWhCLE1BQU1DLGFBQWE7SUFDekJDLElBQUluQiw4Q0FBUUE7SUFDWm9CLElBQUluQiw4Q0FBUUE7SUFDWm9CLElBQUluQiw4Q0FBUUE7SUFDWm9CLElBQUluQiw4Q0FBUUE7SUFDWm9CLElBQUluQiw4Q0FBUUE7SUFDWm9CLElBQUluQiw4Q0FBUUE7SUFDWm9CLFlBQVkzQixnREFBVUE7SUFDdEI0QixJQUFJM0IsNkNBQU9BO0lBQ1g0QixHQUFHOUIsdUNBQUNBO0lBQ0orQixHQUFHbkIsK0NBQVNBO0lBQ1pvQixPQUFPbEIsMkNBQUtBO0lBQ1ptQixPQUFPakIsMkNBQUtBO0lBQ1prQixJQUFJakIsd0NBQUVBO0lBQ05rQixJQUFJcEIsd0NBQUVBO0lBQ05xQixPQUFPakIsMkNBQUtBO0lBQ1prQixJQUFJMUIsaURBQVdBO0lBQ2YyQixJQUFJcEIsbURBQWFBO0lBQ2pCcUIsSUFBSTdCLDhDQUFRQTtJQUNaOEIsS0FBSy9CLDJDQUFLQTtJQUNWSSxPQUFPQSwyQ0FBS0E7SUFDWkosS0FBS0EsNkNBQUFBO0lBQ0xVLEtBQUtBLDZDQUFBQTtJQUNMLEdBQUdyQixnREFBZ0I7SUFDbkIsR0FBR0Msc0NBQWE7QUFDakIsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9jb21wb25lbnRzL21keC1jb21wb25lbnRzL2luZGV4LnRzPzVkMjIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3VzdG9tQ29tcG9uZW50cyBmcm9tICcuLi9hcnRpY2xlLWNvbXBvbmVudHMnXG5pbXBvcnQgKiBhcyBhcGlDb21wb25lbnRzIGZyb20gJy4vYXBpLWRvY3MnXG5pbXBvcnQge1xuXHRBLFxuXHRCbG9ja3F1b3RlLFxuXHREaXZpZGVyLFxuXHRIZWFkaW5nMSxcblx0SGVhZGluZzIsXG5cdEhlYWRpbmczLFxuXHRIZWFkaW5nNCxcblx0SGVhZGluZzUsXG5cdEhlYWRpbmc2LFxuXHRJbWFnZSxcblx0TGlzdEl0ZW0sXG5cdE9yZGVyZWRMaXN0LFxuXHRQYXJhZ3JhcGgsXG5cdFNtYWxsLFxuXHRUYWJsZSxcblx0VEQsXG5cdFRIZWFkLFxuXHRUUixcblx0VW5vcmRlcmVkTGlzdCxcblx0VmlkZW8sXG59IGZyb20gJy4vZ2VuZXJpYydcblxuZXhwb3J0IGNvbnN0IHNjb3BlID0ge31cblxuZXhwb3J0IGNvbnN0IGNvbXBvbmVudHMgPSB7XG5cdGgxOiBIZWFkaW5nMSxcblx0aDI6IEhlYWRpbmcyLFxuXHRoMzogSGVhZGluZzMsXG5cdGg0OiBIZWFkaW5nNCxcblx0aDU6IEhlYWRpbmc1LFxuXHRoNjogSGVhZGluZzYsXG5cdGJsb2NrcXVvdGU6IEJsb2NrcXVvdGUsXG5cdGhyOiBEaXZpZGVyLFxuXHRhOiBBLFxuXHRwOiBQYXJhZ3JhcGgsXG5cdHRhYmxlOiBUYWJsZSxcblx0dGhlYWQ6IFRIZWFkLFxuXHR0cjogVFIsXG5cdHRkOiBURCxcblx0dmlkZW86IFZpZGVvLFxuXHRvbDogT3JkZXJlZExpc3QsXG5cdHVsOiBVbm9yZGVyZWRMaXN0LFxuXHRsaTogTGlzdEl0ZW0sXG5cdGltZzogSW1hZ2UsXG5cdFNtYWxsOiBTbWFsbCxcblx0SW1hZ2UsXG5cdFZpZGVvLFxuXHQuLi5jdXN0b21Db21wb25lbnRzLFxuXHQuLi5hcGlDb21wb25lbnRzLFxufVxuIl0sIm5hbWVzIjpbImN1c3RvbUNvbXBvbmVudHMiLCJhcGlDb21wb25lbnRzIiwiQSIsIkJsb2NrcXVvdGUiLCJEaXZpZGVyIiwiSGVhZGluZzEiLCJIZWFkaW5nMiIsIkhlYWRpbmczIiwiSGVhZGluZzQiLCJIZWFkaW5nNSIsIkhlYWRpbmc2IiwiSW1hZ2UiLCJMaXN0SXRlbSIsIk9yZGVyZWRMaXN0IiwiUGFyYWdyYXBoIiwiU21hbGwiLCJUYWJsZSIsIlREIiwiVEhlYWQiLCJUUiIsIlVub3JkZXJlZExpc3QiLCJWaWRlbyIsInNjb3BlIiwiY29tcG9uZW50cyIsImgxIiwiaDIiLCJoMyIsImg0IiwiaDUiLCJoNiIsImJsb2NrcXVvdGUiLCJociIsImEiLCJwIiwidGFibGUiLCJ0aGVhZCIsInRyIiwidGQiLCJ2aWRlbyIsIm9sIiwidWwiLCJsaSIsImltZyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./components/mdx-components/index.ts\n"));
/***/ }),
/***/ "./pages/index.tsx":
/*!*************************!*\
!*** ./pages/index.tsx ***!
\*************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"__N_SSG\": function() { return /* binding */ __N_SSG; },\n/* harmony export */ \"default\": function() { return /* binding */ ArticlePage; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _components_ArticleDetails__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/components/ArticleDetails */ \"./components/ArticleDetails.tsx\");\n/* harmony import */ var _components_ArticleNavLinks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/ArticleNavLinks */ \"./components/ArticleNavLinks.tsx\");\n/* harmony import */ var _components_Mdx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/Mdx */ \"./components/Mdx.tsx\");\n/* harmony import */ var _components_Sidebar__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/Sidebar */ \"./components/Sidebar.tsx\");\n/* harmony import */ var next_themes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! next-themes */ \"../../node_modules/next-themes/dist/index.module.js\");\n\nvar _s = $RefreshSig$();\n\n\n\n\n\nvar __N_SSG = true;\nfunction ArticlePage(param) {\n let { mdxSource , links , sidebar , article } = param;\n _s();\n const theme = (0,next_themes__WEBPACK_IMPORTED_MODULE_5__.useTheme)();\n var _theme_theme;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"layout\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Sidebar__WEBPACK_IMPORTED_MODULE_4__.Sidebar, {\n ...sidebar\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/pages/index.tsx\",\n lineNumber: 24,\n columnNumber: 4\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"article \".concat((_theme_theme = theme.theme) !== null && _theme_theme !== void 0 ? _theme_theme : \"light\"),\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"lockup\",\n style: {\n mask: \"url(/lockup.svg) center 100% / 100% no-repeat\",\n WebkitMask: \"url(/lockup.svg) center 100% / 100% no-repeat\"\n }\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/pages/index.tsx\",\n lineNumber: 26,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_Mdx__WEBPACK_IMPORTED_MODULE_3__.Mdx, {\n mdxSource: mdxSource\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/pages/index.tsx\",\n lineNumber: 33,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ArticleDetails__WEBPACK_IMPORTED_MODULE_1__.ArticleDetails, {\n article: article\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/pages/index.tsx\",\n lineNumber: 34,\n columnNumber: 5\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_ArticleNavLinks__WEBPACK_IMPORTED_MODULE_2__.ArticleNavLinks, {\n links: links\n }, void 0, false, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/pages/index.tsx\",\n lineNumber: 35,\n columnNumber: 5\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/pages/index.tsx\",\n lineNumber: 25,\n columnNumber: 4\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/alex/tldraw/tldraw/apps/docs/pages/index.tsx\",\n lineNumber: 23,\n columnNumber: 3\n }, this);\n}\n_s(ArticlePage, \"VrMvFCCB9Haniz3VCRPNUiCauHs=\", false, function() {\n return [\n next_themes__WEBPACK_IMPORTED_MODULE_5__.useTheme\n ];\n});\n_c = ArticlePage;\nvar _c;\n$RefreshReg$(_c, \"ArticlePage\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9wYWdlcy9pbmRleC50c3guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBNEQ7QUFDRTtBQUN4QjtBQUNRO0FBTVI7O0FBU3ZCLFNBQVNLLFlBQVksS0FBNkMsRUFBRTtRQUEvQyxFQUFFQyxVQUFTLEVBQUVDLE1BQUssRUFBRUMsUUFBTyxFQUFFQyxRQUFPLEVBQVMsR0FBN0M7O0lBQ25DLE1BQU1DLFFBQVFOLHFEQUFRQTtRQUtRTTtJQUg5QixxQkFDQyw4REFBQ0M7UUFBSUMsV0FBVTs7MEJBQ2QsOERBQUNULHdEQUFPQTtnQkFBRSxHQUFHSyxPQUFPOzs7Ozs7MEJBQ3BCLDhEQUFDSztnQkFBS0QsV0FBVyxXQUFrQyxPQUF2QkYsQ0FBQUEsZUFBQUEsTUFBTUEsS0FBSyxjQUFYQSwwQkFBQUEsZUFBZSxPQUFPOztrQ0FDakQsOERBQUNDO3dCQUNBQyxXQUFVO3dCQUNWRSxPQUFPOzRCQUNOQyxNQUFPOzRCQUNQQyxZQUFhO3dCQUNkOzs7Ozs7a0NBRUQsOERBQUNkLGdEQUFHQTt3QkFBQ0ksV0FBV0E7Ozs7OztrQ0FDaEIsOERBQUNOLHNFQUFjQTt3QkFBQ1MsU0FBU0E7Ozs7OztrQ0FDekIsOERBQUNSLHdFQUFlQTt3QkFBQ00sT0FBT0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUk1QixDQUFDO0dBcEJ1QkY7O1FBQ1RELGlEQUFRQTs7O0tBRENDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3BhZ2VzL2luZGV4LnRzeD8wN2ZmIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFydGljbGVEZXRhaWxzIH0gZnJvbSAnQC9jb21wb25lbnRzL0FydGljbGVEZXRhaWxzJ1xuaW1wb3J0IHsgQXJ0aWNsZU5hdkxpbmtzIH0gZnJvbSAnQC9jb21wb25lbnRzL0FydGljbGVOYXZMaW5rcydcbmltcG9ydCB7IE1keCB9IGZyb20gJ0AvY29tcG9uZW50cy9NZHgnXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSAnQC9jb21wb25lbnRzL1NpZGViYXInXG5pbXBvcnQgeyBBcnRpY2xlLCBBcnRpY2xlTGlua3MsIFNpZGViYXJDb250ZW50TGlzdCB9IGZyb20gJ0AvdHlwZXMvY29udGVudC10eXBlcydcbmltcG9ydCB7IGdldEFydGljbGUsIGdldEFydGljbGVTb3VyY2UsIGdldExpbmtzIH0gZnJvbSAnQC91dGlscy9jb250ZW50J1xuaW1wb3J0IHsgZ2V0U2lkZWJhckNvbnRlbnRMaXN0IH0gZnJvbSAnQC91dGlscy9nZXRTaWRlYmFyQ29udGVudExpc3QnXG5pbXBvcnQgeyBHZXRTdGF0aWNQcm9wcyB9IGZyb20gJ25leHQnXG5pbXBvcnQgeyBNRFhSZW1vdGVTZXJpYWxpemVSZXN1bHQgfSBmcm9tICduZXh0LW1keC1yZW1vdGUnXG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ25leHQtdGhlbWVzJ1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuXHRhcnRpY2xlOiBBcnRpY2xlXG5cdGxpbmtzOiBBcnRpY2xlTGlua3Ncblx0c2lkZWJhcjogU2lkZWJhckNvbnRlbnRMaXN0XG5cdG1keFNvdXJjZTogTURYUmVtb3RlU2VyaWFsaXplUmVzdWx0XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFydGljbGVQYWdlKHsgbWR4U291cmNlLCBsaW5rcywgc2lkZWJhciwgYXJ0aWNsZSB9OiBQcm9wcykge1xuXHRjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcblxuXHRyZXR1cm4gKFxuXHRcdDxkaXYgY2xhc3NOYW1lPVwibGF5b3V0XCI+XG5cdFx0XHQ8U2lkZWJhciB7Li4uc2lkZWJhcn0gLz5cblx0XHRcdDxtYWluIGNsYXNzTmFtZT17YGFydGljbGUgJHt0aGVtZS50aGVtZSA/PyAnbGlnaHQnfWB9PlxuXHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0Y2xhc3NOYW1lPVwibG9ja3VwXCJcblx0XHRcdFx0XHRzdHlsZT17e1xuXHRcdFx0XHRcdFx0bWFzazogYHVybCgvbG9ja3VwLnN2ZykgY2VudGVyIDEwMCUgLyAxMDAlIG5vLXJlcGVhdGAsXG5cdFx0XHRcdFx0XHRXZWJraXRNYXNrOiBgdXJsKC9sb2NrdXAuc3ZnKSBjZW50ZXIgMTAwJSAvIDEwMCUgbm8tcmVwZWF0YCxcblx0XHRcdFx0XHR9fVxuXHRcdFx0XHQvPlxuXHRcdFx0XHQ8TWR4IG1keFNvdXJjZT17bWR4U291cmNlfSAvPlxuXHRcdFx0XHQ8QXJ0aWNsZURldGFpbHMgYXJ0aWNsZT17YXJ0aWNsZX0gLz5cblx0XHRcdFx0PEFydGljbGVOYXZMaW5rcyBsaW5rcz17bGlua3N9IC8+XG5cdFx0XHQ8L21haW4+XG5cdFx0PC9kaXY+XG5cdClcbn1cblxuY29uc3Qgc2VjdGlvbklkID0gJ2RvY3MnXG5jb25zdCBjYXRlZ29yeUlkID0gJ3VjZydcbmNvbnN0IGFydGljbGVJZCA9ICdpbnRyb2R1Y3Rpb24nXG5cbmV4cG9ydCBjb25zdCBnZXRTdGF0aWNQcm9wczogR2V0U3RhdGljUHJvcHM8UHJvcHM+ID0gYXN5bmMgKCkgPT4ge1xuXHRjb25zdCBzaWRlYmFyID0gYXdhaXQgZ2V0U2lkZWJhckNvbnRlbnRMaXN0KHsgc2VjdGlvbklkLCBjYXRlZ29yeUlkLCBhcnRpY2xlSWQgfSlcblx0Y29uc3QgYXJ0aWNsZSA9IGF3YWl0IGdldEFydGljbGUoYXJ0aWNsZUlkKVxuXHRjb25zdCBsaW5rcyA9IGF3YWl0IGdldExpbmtzKGFydGljbGVJZClcblx0Y29uc3QgbWR4U291cmNlID0gYXdhaXQgZ2V0QXJ0aWNsZVNvdXJjZShhcnRpY2xlSWQpXG5cblx0cmV0dXJuIHsgcHJvcHM6IHsgYXJ0aWNsZSwgc2lkZWJhciwgbGlua3MsIG1keFNvdXJjZSB9IH1cbn1cbiJdLCJuYW1lcyI6WyJBcnRpY2xlRGV0YWlscyIsIkFydGljbGVOYXZMaW5rcyIsIk1keCIsIlNpZGViYXIiLCJ1c2VUaGVtZSIsIkFydGljbGVQYWdlIiwibWR4U291cmNlIiwibGlua3MiLCJzaWRlYmFyIiwiYXJ0aWNsZSIsInRoZW1lIiwiZGl2IiwiY2xhc3NOYW1lIiwibWFpbiIsInN0eWxlIiwibWFzayIsIldlYmtpdE1hc2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./pages/index.tsx\n"));
/***/ }),
/***/ "../../node_modules/next/dist/client/get-domain-locale.js":
/*!****************************************************************!*\
!*** ../../node_modules/next/dist/client/get-domain-locale.js ***!
\****************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getDomainLocale = getDomainLocale;\nconst basePath = false || \"\";\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (false) {} else {\n return false;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvZ2V0LWRvbWFpbi1sb2NhbGUuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPLElBQUk7QUFDZixDQUFDLEVBQUM7QUFDRkQsdUJBQXVCLEdBQUdFO0FBQzFCLE1BQU1DLFdBQVdDLE1BQWtDLElBQUk7QUFDdkQsU0FBU0YsZ0JBQWdCSyxJQUFJLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxhQUFhLEVBQUU7SUFDM0QsSUFBSU4sS0FBK0IsRUFBRSxFQVdwQyxNQUFNO1FBQ0gsT0FBTyxLQUFLO0lBQ2hCLENBQUM7QUFDTDtBQUVBLElBQUksQ0FBQyxPQUFPSixRQUFRdUIsT0FBTyxLQUFLLGNBQWUsT0FBT3ZCLFFBQVF1QixPQUFPLEtBQUssWUFBWXZCLFFBQVF1QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU92QixRQUFRdUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySzFCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXVCLE9BQU8sRUFBRSxjQUFjO1FBQUV0QixPQUFPLElBQUk7SUFBQztJQUNuRUgsT0FBTzJCLE1BQU0sQ0FBQ3pCLFFBQVF1QixPQUFPLEVBQUV2QjtJQUMvQjBCLE9BQU8xQixPQUFPLEdBQUdBLFFBQVF1QixPQUFPO0FBQ2xDLENBQUMsQ0FFRCw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2dldC1kb21haW4tbG9jYWxlLmpzPzBkMDQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmdldERvbWFpbkxvY2FsZSA9IGdldERvbWFpbkxvY2FsZTtcbmNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCAnJztcbmZ1bmN0aW9uIGdldERvbWFpbkxvY2FsZShwYXRoLCBsb2NhbGUsIGxvY2FsZXMsIGRvbWFpbkxvY2FsZXMpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICBjb25zdCBub3JtYWxpemVMb2NhbGVQYXRoID0gcmVxdWlyZSgnLi9ub3JtYWxpemUtbG9jYWxlLXBhdGgnKS5ub3JtYWxpemVMb2NhbGVQYXRoO1xuICAgICAgICBjb25zdCBkZXRlY3REb21haW5Mb2NhbGUgPSByZXF1aXJlKCcuL2RldGVjdC1kb21haW4tbG9jYWxlJykuZGV0ZWN0RG9tYWluTG9jYWxlO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBsb2NhbGUgfHwgbm9ybWFsaXplTG9jYWxlUGF0aChwYXRoLCBsb2NhbGVzKS5kZXRlY3RlZExvY2FsZTtcbiAgICAgICAgY29uc3QgZG9tYWluID0gZGV0ZWN0RG9tYWluTG9jYWxlKGRvbWFpbkxvY2FsZXMsIHVuZGVmaW5lZCwgdGFyZ2V0KTtcbiAgICAgICAgaWYgKGRvbWFpbikge1xuICAgICAgICAgICAgY29uc3QgcHJvdG8gPSBgaHR0cCR7ZG9tYWluLmh0dHAgPyAnJyA6ICdzJ306Ly9gO1xuICAgICAgICAgICAgY29uc3QgZmluYWxMb2NhbGUgPSB0YXJnZXQgPT09IGRvbWFpbi5kZWZhdWx0TG9jYWxlID8gJycgOiBgLyR7dGFyZ2V0fWA7XG4gICAgICAgICAgICByZXR1cm4gYCR7cHJvdG99JHtkb21haW4uZG9tYWlufSR7YmFzZVBhdGh9JHtmaW5hbExvY2FsZX0ke3BhdGh9YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0LWRvbWFpbi1sb2NhbGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZ2V0RG9tYWluTG9jYWxlIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJsb2NhbGUiLCJsb2NhbGVzIiwiZG9tYWluTG9jYWxlcyIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJub3JtYWxpemVMb2NhbGVQYXRoIiwicmVxdWlyZSIsImRldGVjdERvbWFpbkxvY2FsZSIsInRhcmdldCIsImRldGVjdGVkTG9jYWxlIiwiZG9tYWluIiwidW5kZWZpbmVkIiwicHJvdG8iLCJodHRwIiwiZmluYWxMb2NhbGUiLCJkZWZhdWx0TG9jYWxlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/get-domain-locale.js\n"));
/***/ }),
/***/ "../../node_modules/next/dist/client/link.js":
/*!***************************************************!*\
!*** ../../node_modules/next/dist/client/link.js ***!
\***************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\n\"use client\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = void 0;\nvar _interop_require_default = (__webpack_require__(/*! @swc/helpers/lib/_interop_require_default.js */ \"../../node_modules/@swc/helpers/lib/_interop_require_default.js\")[\"default\"]);\nvar _object_without_properties_loose = (__webpack_require__(/*! @swc/helpers/lib/_object_without_properties_loose.js */ \"../../node_modules/@swc/helpers/lib/_object_without_properties_loose.js\")[\"default\"]);\nvar _react = _interop_require_default(__webpack_require__(/*! react */ \"../../node_modules/react/index.js\"));\nvar _resolveHref = __webpack_require__(/*! ../shared/lib/router/utils/resolve-href */ \"../../node_modules/next/dist/shared/lib/router/utils/resolve-href.js\");\nvar _isLocalUrl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"../../node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nvar _formatUrl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"../../node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nvar _utils = __webpack_require__(/*! ../shared/lib/utils */ \"../../node_modules/next/dist/shared/lib/utils.js\");\nvar _addLocale = __webpack_require__(/*! ./add-locale */ \"../../node_modules/next/dist/client/add-locale.js\");\nvar _routerContext = __webpack_require__(/*! ../shared/lib/router-context */ \"../../node_modules/next/dist/shared/lib/router-context.js\");\nvar _appRouterContext = __webpack_require__(/*! ../shared/lib/app-router-context */ \"../../node_modules/next/dist/shared/lib/app-router-context.js\");\nvar _useIntersection = __webpack_require__(/*! ./use-intersection */ \"../../node_modules/next/dist/client/use-intersection.js\");\nvar _getDomainLocale = __webpack_require__(/*! ./get-domain-locale */ \"../../node_modules/next/dist/client/get-domain-locale.js\");\nvar _addBasePath = __webpack_require__(/*! ./add-base-path */ \"../../node_modules/next/dist/client/add-base-path.js\");\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, isAppRouter) {\n if (false) {}\n // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n if (!isAppRouter && !(0, _isLocalUrl).isLocalURL(href)) {\n return;\n }\n // We should only dedupe requests when experimental.optimisticClientCache is\n // disabled.\n if (!options.bypassPrefetchedCheck) {\n const locale = typeof options.locale !== \"undefined\" ? options.locale : \"locale\" in router ? router.locale : undefined;\n const prefetchedKey = href + \"%\" + as + \"%\" + locale;\n // If we've already fetched the key, then don't prefetch it again!\n if (prefetched.has(prefetchedKey)) {\n return;\n }\n // Mark this URL as prefetched.\n prefetched.add(prefetchedKey);\n }\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n Promise.resolve(router.prefetch(href, as, options)).catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute(\"target\");\n return target && target !== \"_self\" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter, prefetchEnabled) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === \"A\";\n if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n !isAppRouter && !(0, _isLocalUrl).isLocalURL(href))) {\n // ignore click for browsers default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n if (\"beforePopState\" in router) {\n router[replace ? \"replace\" : \"push\"](href, as, {\n shallow,\n locale,\n scroll\n });\n } else {\n router[replace ? \"replace\" : \"push\"](as || href, {\n forceOptimisticNavigation: !prefetchEnabled\n });\n }\n };\n if (isAppRouter) {\n // @ts-expect-error startTransition exists.\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === \"string\") {\n return urlObjOrString;\n }\n return (0, _formatUrl).formatUrl(urlObjOrString);\n}\n/**\n * React Component that enables client-side transitions between routes.\n */ const Link = /*#__PURE__*/ _s(_react.default.forwardRef(_c = _s(function LinkComponent(props, forwardedRef) {\n _s();\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\".concat(args.key, \"` expects a \").concat(args.expected, \" in `<Link>`, but got `\").concat(args.actual, \"` instead.\") + ( true ? \"\\nOpen your browser's console to view the Component stack trace.\" : 0));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === \"href\") {\n if (props[key] == null || typeof props[key] !== \"string\" && typeof props[key] !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: props[key] === null ? \"null\" : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === \"as\") {\n if (props[key] && valType !== \"string\" && valType !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: valType\n });\n }\n } else if (key === \"locale\") {\n if (props[key] && valType !== \"string\") {\n throw createPropError({\n key,\n expected: \"`string`\",\n actual: valType\n });\n }\n } else if (key === \"onClick\" || key === \"onMouseEnter\" || key === \"onTouchStart\") {\n if (props[key] && valType !== \"function\") {\n throw createPropError({\n key,\n expected: \"`function`\",\n actual: valType\n });\n }\n } else if (key === \"replace\" || key === \"scroll\" || key === \"shallow\" || key === \"passHref\" || key === \"prefetch\" || key === \"legacyBehavior\") {\n if (props[key] != null && valType !== \"boolean\") {\n throw createPropError({\n key,\n expected: \"`boolean`\",\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current) {\n hasWarned.current = true;\n console.warn(\"Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated\");\n }\n }\n let children;\n const { href: hrefProp , as: asProp , children: childrenProp , prefetch: prefetchProp , passHref , replace , shallow , scroll , locale , onClick , onMouseEnter: onMouseEnterProp , onTouchStart: onTouchStartProp , legacyBehavior =true === false } = props, restProps = _object_without_properties_loose(props, [\n \"href\",\n \"as\",\n \"children\",\n \"prefetch\",\n \"passHref\",\n \"replace\",\n \"shallow\",\n \"scroll\",\n \"locale\",\n \"onClick\",\n \"onMouseEnter\",\n \"onTouchStart\",\n \"legacyBehavior\"\n ]);\n children = childrenProp;\n if (legacyBehavior && (typeof children === \"string\" || typeof children === \"number\")) {\n children = /*#__PURE__*/ _react.default.createElement(\"a\", null, children);\n }\n const prefetchEnabled = prefetchProp !== false;\n const pagesRouter = _react.default.useContext(_routerContext.RouterContext);\n const appRouter = _react.default.useContext(_appRouterContext.AppRouterContext);\n const router = pagesRouter != null ? pagesRouter : appRouter;\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n if (true) {\n if (isAppRouter && !asProp) {\n let href;\n if (typeof hrefProp === \"string\") {\n href = hrefProp;\n } else if (typeof hrefProp === \"object\" && typeof hrefProp.pathname === \"string\") {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split(\"/\").some((segment)=>segment.startsWith(\"[\") && segment.endsWith(\"]\"));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\".concat(href, \"` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\"));\n }\n }\n }\n }\n const { href , as } = _react.default.useMemo(()=>{\n if (!pagesRouter) {\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n const [resolvedHref, resolvedAs] = (0, _resolveHref).resolveHref(pagesRouter, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _resolveHref).resolveHref(pagesRouter, asProp) : resolvedAs || resolvedHref\n };\n }, [\n pagesRouter,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to <Link> with `href` of `'.concat(hrefProp, '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link'));\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to <Link> with `href` of `'.concat(hrefProp, '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link'));\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to <Link> with `href` of `\".concat(hrefProp, \"` but one child is required https://nextjs.org/docs/messages/link-no-children\"));\n }\n throw new Error(\"Multiple children were passed to <Link> with `href` of `\".concat(hrefProp, \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\") + ( true ? \" \\nOpen your browser's console to view the Component stack trace.\" : 0));\n }\n } else {}\n } else {\n if (true) {\n var ref;\n if (((ref = children) == null ? void 0 : ref.type) === \"a\") {\n throw new Error(\"Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor\");\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === \"object\" && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useIntersection).useIntersection({\n rootMargin: \"200px\"\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === \"function\") childRef(el);\n else if (typeof childRef === \"object\") {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect(()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, as, {\n locale\n }, isAppRouter);\n }, [\n as,\n href,\n isVisible,\n locale,\n prefetchEnabled,\n pagesRouter == null ? void 0 : pagesRouter.locale,\n router,\n isAppRouter\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === \"function\") {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === \"function\") {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter, prefetchEnabled);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === \"function\") {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === \"function\") {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, isAppRouter);\n },\n onTouchStart (e) {\n if (!legacyBehavior && typeof onTouchStartProp === \"function\") {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === \"function\") {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, isAppRouter);\n }\n };\n // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n if ((0, _utils).isAbsoluteUrl(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === \"a\" && !(\"href\" in child.props)) {\n const curLocale = typeof locale !== \"undefined\" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getDomainLocale).getDomainLocale(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n childProps.href = localeDomain || (0, _addBasePath).addBasePath((0, _addLocale).addLocale(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ _react.default.createElement(\"a\", Object.assign({}, restProps, childProps), children);\n}, \"ann5/dOH/k5dvIvXTqfdyzq9F1A=\")), \"ann5/dOH/k5dvIvXTqfdyzq9F1A=\");\n_c1 = Link;\nvar _default = Link;\nexports[\"default\"] = _default;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"Link$_react.default.forwardRef\");\n$RefreshReg$(_c1, \"Link\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvbGluay5qcy5qcyIsIm1hcHBpbmdzIjoiQUFDYTs7QUFEYjtBQUVBQSw4Q0FBNkM7SUFDekNHLE9BQU8sSUFBSTtBQUNmLENBQUMsRUFBQztBQUNGRCxrQkFBZSxHQUFHLEtBQUs7QUFDdkIsSUFBSUcsMkJBQTJCQyx1SkFBK0Q7QUFDOUYsSUFBSUMsbUNBQW1DRCx1S0FBdUU7QUFDOUcsSUFBSUUsU0FBU0gseUJBQXlCQyxtQkFBT0EsQ0FBQyxnREFBTztBQUNyRCxJQUFJRyxlQUFlSCxtQkFBT0EsQ0FBQyxxSEFBeUM7QUFDcEUsSUFBSUksY0FBY0osbUJBQU9BLENBQUMscUhBQXlDO0FBQ25FLElBQUlLLGFBQWFMLG1CQUFPQSxDQUFDLGlIQUF1QztBQUNoRSxJQUFJTSxTQUFTTixtQkFBT0EsQ0FBQyw2RUFBcUI7QUFDMUMsSUFBSU8sYUFBYVAsbUJBQU9BLENBQUMsdUVBQWM7QUFDdkMsSUFBSVEsaUJBQWlCUixtQkFBT0EsQ0FBQywrRkFBOEI7QUFDM0QsSUFBSVMsb0JBQW9CVCxtQkFBT0EsQ0FBQyx1R0FBa0M7QUFDbEUsSUFBSVUsbUJBQW1CVixtQkFBT0EsQ0FBQyxtRkFBb0I7QUFDbkQsSUFBSVcsbUJBQW1CWCxtQkFBT0EsQ0FBQyxxRkFBcUI7QUFDcEQsSUFBSVksZUFBZVosbUJBQU9BLENBQUMsNkVBQWlCO0FBRTVDLE1BQU1hLGFBQWEsSUFBSUM7QUFDdkIsU0FBU0MsU0FBU0MsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLEVBQUUsRUFBRUMsT0FBTyxFQUFFQyxXQUFXLEVBQUU7SUFDdEQsSUFBSSxLQUFrQixFQUFhLEVBRWxDO0lBQ0QsZ0pBQWdKO0lBQ2hKLElBQUksQ0FBQ0EsZUFBZSxDQUFDLENBQUMsR0FBR2hCLFdBQVcsRUFBRWlCLFVBQVUsQ0FBQ0osT0FBTztRQUNwRDtJQUNKLENBQUM7SUFDRCw0RUFBNEU7SUFDNUUsWUFBWTtJQUNaLElBQUksQ0FBQ0UsUUFBUUcscUJB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QUFXLEdBQUdoRixPQUFPSixPQUFPLENBQUNxSixZQUFZLENBQUM1QixPQUFPZSxjQUFjLFdBQVcsR0FBR3BJLE9BQU9KLE9BQU8sQ0FBQ3NHLGFBQWEsQ0FBQyxLQUFLMUcsT0FBTzBKLE1BQU0sQ0FBQyxDQUFDLEdBQUdqRCxXQUFXbUMsYUFBYTVDLFNBQVM7QUFDOUw7O0FBQ0EsSUFBSTJELFdBQVd4RjtBQUNmakUsa0JBQWUsR0FBR3lKO0FBRWxCLElBQUksQ0FBQyxPQUFPekosUUFBUUUsT0FBTyxLQUFLLGNBQWUsT0FBT0YsUUFBUUUsT0FBTyxLQUFLLFlBQVlGLFFBQVFFLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0YsUUFBUUUsT0FBTyxDQUFDd0osVUFBVSxLQUFLLGFBQWE7SUFDcks1SixPQUFPQyxjQUFjLENBQUNDLFFBQVFFLE9BQU8sRUFBRSxjQUFjO1FBQUVELE9BQU8sSUFBSTtJQUFDO0lBQ25FSCxPQUFPMEosTUFBTSxDQUFDeEosUUFBUUUsT0FBTyxFQUFFRjtJQUMvQjJKLE9BQU8zSixPQUFPLEdBQUdBLFFBQVFFLE9BQU87QUFDbEMsQ0FBQyxDQUVELGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvbGluay5qcz9jMTQ3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG52YXIgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9saWIvX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0LmpzXCIpLmRlZmF1bHQ7XG52YXIgX29iamVjdF93aXRob3V0X3Byb3BlcnRpZXNfbG9vc2UgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL2xpYi9fb2JqZWN0X3dpdGhvdXRfcHJvcGVydGllc19sb29zZS5qc1wiKS5kZWZhdWx0O1xudmFyIF9yZWFjdCA9IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwicmVhY3RcIikpO1xudmFyIF9yZXNvbHZlSHJlZiA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yZXNvbHZlLWhyZWZcIik7XG52YXIgX2lzTG9jYWxVcmwgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsXCIpO1xudmFyIF9mb3JtYXRVcmwgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybFwiKTtcbnZhciBfdXRpbHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi91dGlsc1wiKTtcbnZhciBfYWRkTG9jYWxlID0gcmVxdWlyZShcIi4vYWRkLWxvY2FsZVwiKTtcbnZhciBfcm91dGVyQ29udGV4dCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci1jb250ZXh0XCIpO1xudmFyIF9hcHBSb3V0ZXJDb250ZXh0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0XCIpO1xudmFyIF91c2VJbnRlcnNlY3Rpb24gPSByZXF1aXJlKFwiLi91c2UtaW50ZXJzZWN0aW9uXCIpO1xudmFyIF9nZXREb21haW5Mb2NhbGUgPSByZXF1aXJlKFwiLi9nZXQtZG9tYWluLWxvY2FsZVwiKTtcbnZhciBfYWRkQmFzZVBhdGggPSByZXF1aXJlKFwiLi9hZGQtYmFzZS1wYXRoXCIpO1xuXG5jb25zdCBwcmVmZXRjaGVkID0gbmV3IFNldCgpO1xuZnVuY3Rpb24gcHJlZmV0Y2gocm91dGVyLCBocmVmLCBhcywgb3B0aW9ucywgaXNBcHBSb3V0ZXIpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBhcHAtcm91dGVyIHN1cHBvcnRzIGV4dGVybmFsIHVybHMgb3V0IG9mIHRoZSBib3ggc28gaXQgc2hvdWxkbid0IHNob3J0LWNpcmN1aXQgaGVyZSBhcyBzdXBwb3J0IGZvciBlLmcuIGByZXBsYWNlYCBpcyBhZGRlZCBpbiB0aGUgYXBwLXJvdXRlci5cbiAgICBpZiAoIWlzQXBwUm91dGVyICYmICEoMCwgX2lzTG9jYWxVcmwpLmlzTG9jYWxVUkwoaHJlZikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBXZSBzaG91bGQgb25seSBkZWR1cGUgcmVxdWVzdHMgd2hlbiBleHBlcmltZW50YWwub3B0aW1pc3RpY0NsaWVudENhY2hlIGlzXG4gICAgLy8gZGlzYWJsZWQuXG4gICAgaWYgKCFvcHRpb25zLmJ5cGFzc1ByZWZldGNoZWRDaGVjaykge1xuICAgICAgICBjb25zdCBsb2NhbGUgPSAvLyBMZXQgdGhlIGxpbmsncyBsb2NhbGUgcHJvcCBvdmVycmlkZSB0aGUgZGVmYXVsdCByb3V0ZXIgbG9jYWxlLlxuICAgICAgICB0eXBlb2Ygb3B0aW9ucy5sb2NhbGUgIT09ICd1bmRlZmluZWQnID8gb3B0aW9ucy5sb2NhbGUgOiAnbG9jYWxlJyBpbiByb3V0ZXIgPyByb3V0ZXIubG9jYWxlIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBwcmVmZXRjaGVkS2V5ID0gaHJlZiArICclJyArIGFzICsgJyUnICsgbG9jYWxlO1xuICAgICAgICAvLyBJZiB3ZSd2ZSBhbHJlYWR5IGZldGNoZWQgdGhlIGtleSwgdGhlbiBkb24ndCBwcmVmZXRjaCBpdCBhZ2FpbiFcbiAgICAgICAgaWYgKHByZWZldGNoZWQuaGFzKHByZWZldGNoZWRLZXkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gTWFyayB0aGlzIFVSTCBhcyBwcmVmZXRjaGVkLlxuICAgICAgICBwcmVmZXRjaGVkLmFkZChwcmVmZXRjaGVkS2V5KTtcbiAgICB9XG4gICAgLy8gUHJlZmV0Y2ggdGhlIEpTT04gcGFnZSBpZiBhc2tlZCAob25seSBpbiB0aGUgY2xpZW50KVxuICAgIC8vIFdlIG5lZWQgdG8gaGFuZGxlIGEgcHJlZmV0Y2ggZXJyb3IgaGVyZSBzaW5jZSB3ZSBtYXkgYmVcbiAgICAvLyBsb2FkaW5nIHdpdGggcHJpb3JpdHkgd2hpY2ggY2FuIHJlamVjdCBidXQgd2UgZG9uJ3RcbiAgICAvLyB3YW50IHRvIGZvcmNlIG5hdmlnYXRpb24gc2luY2UgdGhpcyBpcyBvbmx5IGEgcHJlZmV0Y2hcbiAgICBQcm9taXNlLnJlc29sdmUocm91dGVyLnByZWZldGNoKGhyZWYsIGFzLCBvcHRpb25zKSkuY2F0Y2goKGVycik9PntcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgICAgIC8vIHJldGhyb3cgdG8gc2hvdyBpbnZhbGlkIFVSTCBlcnJvcnNcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gaXNNb2RpZmllZEV2ZW50KGV2ZW50KSB7XG4gICAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0O1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50VGFyZ2V0LmdldEF0dHJpYnV0ZSgndGFyZ2V0Jyk7XG4gICAgcmV0dXJuIHRhcmdldCAmJiB0YXJnZXQgIT09ICdfc2VsZicgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5IHx8IGV2ZW50LnNoaWZ0S2V5IHx8IGV2ZW50LmFsdEtleSB8fCBldmVudC5uYXRpdmVFdmVudCAmJiBldmVudC5uYXRpdmVFdmVudC53aGljaCA9PT0gMjtcbn1cbmZ1bmN0aW9uIGxpbmtDbGlja2VkKGUsIHJvdXRlciwgaHJlZiwgYXMsIHJlcGxhY2UsIHNoYWxsb3csIHNjcm9sbCwgbG9jYWxlLCBpc0FwcFJvdXRlciwgcHJlZmV0Y2hFbmFibGVkKSB7XG4gICAgY29uc3QgeyBub2RlTmFtZSAgfSA9IGUuY3VycmVudFRhcmdldDtcbiAgICAvLyBhbmNob3JzIGluc2lkZSBhbiBzdmcgaGF2ZSBhIGxvd2VyY2FzZSBub2RlTmFtZVxuICAgIGNvbnN0IGlzQW5jaG9yTm9kZU5hbWUgPSBub2RlTmFtZS50b1VwcGVyQ2FzZSgpID09PSAnQSc7XG4gICAgaWYgKGlzQW5jaG9yTm9kZU5hbWUgJiYgKGlzTW9kaWZpZWRFdmVudChlKSB8fCAvLyBhcHAtcm91dGVyIHN1cHBvcnRzIGV4dGVybmFsIHVybHMgb3V0IG9mIHRoZSBib3ggc28gaXQgc2hvdWxkbid0IHNob3J0LWNpcmN1aXQgaGVyZSBhcyBzdXBwb3J0IGZvciBlLmcuIGByZXBsYWNlYCBpcyBhZGRlZCBpbiB0aGUgYXBwLXJvdXRlci5cbiAgICAoIWlzQXBwUm91dGVyICYmICEoMCwgX2lzTG9jYWxVcmwpLmlzTG9jYWxVUkwoaHJlZikpKSkge1xuICAgICAgICAvLyBpZ25vcmUgY2xpY2sgZm9yIGJyb3dzZXLigJlzIGRlZmF1bHQgYmVoYXZpb3JcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgbmF2aWdhdGUgPSAoKT0+e1xuICAgICAgICAvLyBJZiB0aGUgcm91dGVyIGlzIGFuIE5leHRSb3V0ZXIgaW5zdGFuY2UgaXQgd2lsbCBoYXZlIGBiZWZvcmVQb3BTdGF0ZWBcbiAgICAgICAgaWYgKCdiZWZvcmVQb3BTdGF0ZScgaW4gcm91dGVyKSB7XG4gICAgICAgICAgICByb3V0ZXJbcmVwbGFjZSA/ICdyZXBsYWNlJyA6ICdwdXNoJ10oaHJlZiwgYXMsIHtcbiAgICAgICAgICAgICAgICBzaGFsbG93LFxuICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICBzY3JvbGxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcm91dGVyW3JlcGxhY2UgPyAncmVwbGFjZScgOiAncHVzaCddKGFzIHx8IGhyZWYsIHtcbiAgICAgICAgICAgICAgICBmb3JjZU9wdGltaXN0aWNOYXZpZ2F0aW9uOiAhcHJlZmV0Y2hFbmFibGVkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgaWYgKGlzQXBwUm91dGVyKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3Igc3RhcnRUcmFuc2l0aW9uIGV4aXN0cy5cbiAgICAgICAgX3JlYWN0LmRlZmF1bHQuc3RhcnRUcmFuc2l0aW9uKG5hdmlnYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBuYXZpZ2F0ZSgpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGZvcm1hdFN0cmluZ09yVXJsKHVybE9iak9yU3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiB1cmxPYmpPclN0cmluZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIHVybE9iak9yU3RyaW5nO1xuICAgIH1cbiAgICByZXR1cm4gKDAsIF9mb3JtYXRVcmwpLmZvcm1hdFVybCh1cmxPYmpPclN0cmluZyk7XG59XG4vKipcbiAqIFJlYWN0IENvbXBvbmVudCB0aGF0IGVuYWJsZXMgY2xpZW50LXNpZGUgdHJhbnNpdGlvbnMgYmV0d2VlbiByb3V0ZXMuXG4gKi8gY29uc3QgTGluayA9IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuZm9yd2FyZFJlZihmdW5jdGlvbiBMaW5rQ29tcG9uZW50KHByb3BzLCBmb3J3YXJkZWRSZWYpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBmdW5jdGlvbiBjcmVhdGVQcm9wRXJyb3IoYXJncykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihgRmFpbGVkIHByb3AgdHlwZTogVGhlIHByb3AgXFxgJHthcmdzLmtleX1cXGAgZXhwZWN0cyBhICR7YXJncy5leHBlY3RlZH0gaW4gXFxgPExpbms+XFxgLCBidXQgZ290IFxcYCR7YXJncy5hY3R1YWx9XFxgIGluc3RlYWQuYCArICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IFwiXFxuT3BlbiB5b3VyIGJyb3dzZXIncyBjb25zb2xlIHRvIHZpZXcgdGhlIENvbXBvbmVudCBzdGFjayB0cmFjZS5cIiA6ICcnKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgICAgY29uc3QgcmVxdWlyZWRQcm9wc0d1YXJkID0ge1xuICAgICAgICAgICAgaHJlZjogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXF1aXJlZFByb3BzID0gT2JqZWN0LmtleXMocmVxdWlyZWRQcm9wc0d1YXJkKTtcbiAgICAgICAgcmVxdWlyZWRQcm9wcy5mb3JFYWNoKChrZXkpPT57XG4gICAgICAgICAgICBpZiAoa2V5ID09PSAnaHJlZicpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHNba2V5XSA9PSBudWxsIHx8IHR5cGVvZiBwcm9wc1trZXldICE9PSAnc3RyaW5nJyAmJiB0eXBlb2YgcHJvcHNba2V5XSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgY3JlYXRlUHJvcEVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOiAnYHN0cmluZ2Agb3IgYG9iamVjdGAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiBwcm9wc1trZXldID09PSBudWxsID8gJ251bGwnIDogdHlwZW9mIHByb3BzW2tleV1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICBjb25zdCBfID0ga2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgICAgY29uc3Qgb3B0aW9uYWxQcm9wc0d1YXJkID0ge1xuICAgICAgICAgICAgYXM6IHRydWUsXG4gICAgICAgICAgICByZXBsYWNlOiB0cnVlLFxuICAgICAgICAgICAgc2Nyb2xsOiB0cnVlLFxuICAgICAgICAgICAgc2hhbGxvdzogdHJ1ZSxcbiAgICAgICAgICAgIHBhc3NIcmVmOiB0cnVlLFxuICAgICAgICAgICAgcHJlZmV0Y2g6IHRydWUsXG4gICAgICAgICAgICBsb2NhbGU6IHRydWUsXG4gICAgICAgICAgICBvbkNsaWNrOiB0cnVlLFxuICAgICAgICAgICAgb25Nb3VzZUVudGVyOiB0cnVlLFxuICAgICAgICAgICAgb25Ub3VjaFN0YXJ0OiB0cnVlLFxuICAgICAgICAgICAgbGVnYWN5QmVoYXZpb3I6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgb3B0aW9uYWxQcm9wcyA9IE9iamVjdC5rZXlzKG9wdGlvbmFsUHJvcHNHdWFyZCk7XG4gICAgICAgIG9wdGlvbmFsUHJvcHMuZm9yRWFjaCgoa2V5KT0+e1xuICAgICAgICAgICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiBwcm9wc1trZXldO1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2FzJykge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldICYmIHZhbFR5cGUgIT09ICdzdHJpbmcnICYmIHZhbFR5cGUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogJ2BzdHJpbmdgIG9yIGBvYmplY3RgJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogdmFsVHlwZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gJ2xvY2FsZScpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHNba2V5XSAmJiB2YWxUeXBlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6ICdgc3RyaW5nYCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdvbkNsaWNrJyB8fCBrZXkgPT09ICdvbk1vdXNlRW50ZXInIHx8IGtleSA9PT0gJ29uVG91Y2hTdGFydCcpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHNba2V5XSAmJiB2YWxUeXBlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogJ2BmdW5jdGlvbmAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAncmVwbGFjZScgfHwga2V5ID09PSAnc2Nyb2xsJyB8fCBrZXkgPT09ICdzaGFsbG93JyB8fCBrZXkgPT09ICdwYXNzSHJlZicgfHwga2V5ID09PSAncHJlZmV0Y2gnIHx8IGtleSA9PT0gJ2xlZ2FjeUJlaGF2aW9yJykge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldICE9IG51bGwgJiYgdmFsVHlwZSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogJ2Bib29sZWFuYCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICBjb25zdCBfID0ga2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gVGhpcyBob29rIGlzIGluIGEgY29uZGl0aW9uYWwgYnV0IHRoYXQgaXMgb2sgYmVjYXVzZSBgcHJvY2Vzcy5lbnYuTk9ERV9FTlZgIG5ldmVyIGNoYW5nZXNcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgICAgIGNvbnN0IGhhc1dhcm5lZCA9IF9yZWFjdC5kZWZhdWx0LnVzZVJlZihmYWxzZSk7XG4gICAgICAgIGlmIChwcm9wcy5wcmVmZXRjaCAmJiAhaGFzV2FybmVkLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignTmV4dC5qcyBhdXRvLXByZWZldGNoZXMgYXV0b21hdGljYWxseSBiYXNlZCBvbiB2aWV3cG9ydC4gVGhlIHByZWZldGNoIGF0dHJpYnV0ZSBpcyBubyBsb25nZXIgbmVlZGVkLiBNb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wcmVmZXRjaC10cnVlLWRlcHJlY2F0ZWQnKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsZXQgY2hpbGRyZW47XG4gICAgY29uc3QgeyBocmVmOiBocmVmUHJvcCAsIGFzOiBhc1Byb3AgLCBjaGlsZHJlbjogY2hpbGRyZW5Qcm9wICwgcHJlZmV0Y2g6IHByZWZldGNoUHJvcCAsIHBhc3NIcmVmICwgcmVwbGFjZSAsIHNoYWxsb3cgLCBzY3JvbGwgLCBsb2NhbGUgLCBvbkNsaWNrICwgb25Nb3VzZUVudGVyOiBvbk1vdXNlRW50ZXJQcm9wICwgb25Ub3VjaFN0YXJ0OiBvblRvdWNoU3RhcnRQcm9wICwgLy8gQHRzLWV4cGVjdC1lcnJvciB0aGlzIGlzIGlubGluZWQgYXMgYSBsaXRlcmFsIGJvb2xlYW4gbm90IGEgc3RyaW5nXG4gICAgbGVnYWN5QmVoYXZpb3IgPXByb2Nlc3MuZW52Ll9fTkVYVF9ORVdfTElOS19CRUhBVklPUiA9PT0gZmFsc2UgIH0gPSBwcm9wcywgcmVzdFByb3BzID0gX29iamVjdF93aXRob3V0X3Byb3BlcnRpZXNfbG9vc2UocHJvcHMsIFtcbiAgICAgICAgXCJocmVmXCIsXG4gICAgICAgIFwiYXNcIixcbiAgICAgICAgXCJjaGlsZHJlblwiLFxuICAgICAgICBcInByZWZldGNoXCIsXG4gICAgICAgIFwicGFzc0hyZWZcIixcbiAgICAgICAgXCJyZXBsYWNlXCIsXG4gICAgICAgIFwic2hhbGxvd1wiLFxuICAgICAgICBcInNjcm9sbFwiLFxuICAgICAgICBcImxvY2FsZVwiLFxuICAgICAgICBcIm9uQ2xpY2tcIixcbiAgICAgICAgXCJvbk1vdXNlRW50ZXJcIixcbiAgICAgICAgXCJvblRvdWNoU3RhcnRcIixcbiAgICAgICAgXCJsZWdhY3lCZWhhdmlvclwiXG4gICAgXSk7XG4gICAgY2hpbGRyZW4gPSBjaGlsZHJlblByb3A7XG4gICAgaWYgKGxlZ2FjeUJlaGF2aW9yICYmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBjaGlsZHJlbiA9PT0gJ251bWJlcicpKSB7XG4gICAgICAgIGNoaWxkcmVuID0gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiYVwiLCBudWxsLCBjaGlsZHJlbik7XG4gICAgfVxuICAgIGNvbnN0IHByZWZldGNoRW5hYmxlZCA9IHByZWZldGNoUHJvcCAhPT0gZmFsc2U7XG4gICAgY29uc3QgcGFnZXNSb3V0ZXIgPSBfcmVhY3QuZGVmYXVsdC51c2VDb250ZXh0KF9yb3V0ZXJDb250ZXh0LlJvdXRlckNvbnRleHQpO1xuICAgIGNvbnN0IGFwcFJvdXRlciA9IF9yZWFjdC5kZWZhdWx0LnVzZUNvbnRleHQoX2FwcFJvdXRlckNvbnRleHQuQXBwUm91dGVyQ29udGV4dCk7XG4gICAgY29uc3Qgcm91dGVyID0gcGFnZXNSb3V0ZXIgIT0gbnVsbCA/IHBhZ2VzUm91dGVyIDogYXBwUm91dGVyO1xuICAgIC8vIFdlJ3JlIGluIHRoZSBhcHAgZGlyZWN0b3J5IGlmIHRoZXJlIGlzIG5vIHBhZ2VzIHJvdXRlci5cbiAgICBjb25zdCBpc0FwcFJvdXRlciA9ICFwYWdlc1JvdXRlcjtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICBpZiAoaXNBcHBSb3V0ZXIgJiYgIWFzUHJvcCkge1xuICAgICAgICAgICAgbGV0IGhyZWY7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGhyZWZQcm9wID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGhyZWYgPSBocmVmUHJvcDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGhyZWZQcm9wID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgaHJlZlByb3AucGF0aG5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgaHJlZiA9IGhyZWZQcm9wLnBhdGhuYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhyZWYpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNEeW5hbWljU2VnbWVudCA9IGhyZWYuc3BsaXQoJy8nKS5zb21lKChzZWdtZW50KT0+c2VnbWVudC5zdGFydHNXaXRoKCdbJykgJiYgc2VnbWVudC5lbmRzV2l0aCgnXScpKTtcbiAgICAgICAgICAgICAgICBpZiAoaGFzRHluYW1pY1NlZ21lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEeW5hbWljIGhyZWYgXFxgJHtocmVmfVxcYCBmb3VuZCBpbiA8TGluaz4gd2hpbGUgdXNpbmcgdGhlIFxcYC9hcHBcXGAgcm91dGVyLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvYXBwLWRpci1keW5hbWljLWhyZWZgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgeyBocmVmICwgYXMgIH0gPSBfcmVhY3QuZGVmYXVsdC51c2VNZW1vKCgpPT57XG4gICAgICAgIGlmICghcGFnZXNSb3V0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkSHJlZiA9IGZvcm1hdFN0cmluZ09yVXJsKGhyZWZQcm9wKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaHJlZjogcmVzb2x2ZWRIcmVmLFxuICAgICAgICAgICAgICAgIGFzOiBhc1Byb3AgPyBmb3JtYXRTdHJpbmdPclVybChhc1Byb3ApIDogcmVzb2x2ZWRIcmVmXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFtyZXNvbHZlZEhyZWYsIHJlc29sdmVkQXNdID0gKDAsIF9yZXNvbHZlSHJlZikucmVzb2x2ZUhyZWYocGFnZXNSb3V0ZXIsIGhyZWZQcm9wLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhyZWY6IHJlc29sdmVkSHJlZixcbiAgICAgICAgICAgIGFzOiBhc1Byb3AgPyAoMCwgX3Jlc29sdmVIcmVmKS5yZXNvbHZlSHJlZihwYWdlc1JvdXRlciwgYXNQcm9wKSA6IHJlc29sdmVkQXMgfHwgcmVzb2x2ZWRIcmVmXG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBwYWdlc1JvdXRlcixcbiAgICAgICAgaHJlZlByb3AsXG4gICAgICAgIGFzUHJvcFxuICAgIF0pO1xuICAgIGNvbnN0IHByZXZpb3VzSHJlZiA9IF9yZWFjdC5kZWZhdWx0LnVzZVJlZihocmVmKTtcbiAgICBjb25zdCBwcmV2aW91c0FzID0gX3JlYWN0LmRlZmF1bHQudXNlUmVmKGFzKTtcbiAgICAvLyBUaGlzIHdpbGwgcmV0dXJuIHRoZSBmaXJzdCBjaGlsZCwgaWYgbXVsdGlwbGUgYXJlIHByb3ZpZGVkIGl0IHdpbGwgdGhyb3cgYW4gZXJyb3JcbiAgICBsZXQgY2hpbGQ7XG4gICAgaWYgKGxlZ2FjeUJlaGF2aW9yKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICAgICAgaWYgKG9uQ2xpY2spIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFwib25DbGlja1wiIHdhcyBwYXNzZWQgdG8gPExpbms+IHdpdGggXFxgaHJlZlxcYCBvZiBcXGAke2hyZWZQcm9wfVxcYCBidXQgXCJsZWdhY3lCZWhhdmlvclwiIHdhcyBzZXQuIFRoZSBsZWdhY3kgYmVoYXZpb3IgcmVxdWlyZXMgb25DbGljayBiZSBzZXQgb24gdGhlIGNoaWxkIG9mIG5leHQvbGlua2ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9uTW91c2VFbnRlclByb3ApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFwib25Nb3VzZUVudGVyXCIgd2FzIHBhc3NlZCB0byA8TGluaz4gd2l0aCBcXGBocmVmXFxgIG9mIFxcYCR7aHJlZlByb3B9XFxgIGJ1dCBcImxlZ2FjeUJlaGF2aW9yXCIgd2FzIHNldC4gVGhlIGxlZ2FjeSBiZWhhdmlvciByZXF1aXJlcyBvbk1vdXNlRW50ZXIgYmUgc2V0IG9uIHRoZSBjaGlsZCBvZiBuZXh0L2xpbmtgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY2hpbGQgPSBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5vbmx5KGNoaWxkcmVuKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGlmICghY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBjaGlsZHJlbiB3ZXJlIHBhc3NlZCB0byA8TGluaz4gd2l0aCBcXGBocmVmXFxgIG9mIFxcYCR7aHJlZlByb3B9XFxgIGJ1dCBvbmUgY2hpbGQgaXMgcmVxdWlyZWQgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbGluay1uby1jaGlsZHJlbmApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE11bHRpcGxlIGNoaWxkcmVuIHdlcmUgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIFxcYGhyZWZcXGAgb2YgXFxgJHtocmVmUHJvcH1cXGAgYnV0IG9ubHkgb25lIGNoaWxkIGlzIHN1cHBvcnRlZCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9saW5rLW11bHRpcGxlLWNoaWxkcmVuYCArICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IFwiIFxcbk9wZW4geW91ciBicm93c2VyJ3MgY29uc29sZSB0byB2aWV3IHRoZSBDb21wb25lbnQgc3RhY2sgdHJhY2UuXCIgOiAnJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2hpbGQgPSBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5vbmx5KGNoaWxkcmVuKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgICAgICAgdmFyIHJlZjtcbiAgICAgICAgICAgIGlmICgoKHJlZiA9IGNoaWxkcmVuKSA9PSBudWxsID8gdm9pZCAwIDogcmVmLnR5cGUpID09PSAnYScpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgPExpbms+IHdpdGggPGE+IGNoaWxkLiBQbGVhc2UgcmVtb3ZlIDxhPiBvciB1c2UgPExpbmsgbGVnYWN5QmVoYXZpb3I+LlxcbkxlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2ludmFsaWQtbmV3LWxpbmstd2l0aC1leHRyYS1hbmNob3InKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjaGlsZFJlZiA9IGxlZ2FjeUJlaGF2aW9yID8gY2hpbGQgJiYgdHlwZW9mIGNoaWxkID09PSAnb2JqZWN0JyAmJiBjaGlsZC5yZWYgOiBmb3J3YXJkZWRSZWY7XG4gICAgY29uc3QgW3NldEludGVyc2VjdGlvblJlZiwgaXNWaXNpYmxlLCByZXNldFZpc2libGVdID0gKDAsIF91c2VJbnRlcnNlY3Rpb24pLnVzZUludGVyc2VjdGlvbih7XG4gICAgICAgIHJvb3RNYXJnaW46ICcyMDBweCdcbiAgICB9KTtcbiAgICBjb25zdCBzZXRSZWYgPSBfcmVhY3QuZGVmYXVsdC51c2VDYWxsYmFjaygoZWwpPT57XG4gICAgICAgIC8vIEJlZm9yZSB0aGUgbGluayBnZXR0aW5nIG9ic2VydmVkLCBjaGVjayBpZiB2aXNpYmxlIHN0YXRlIG5lZWQgdG8gYmUgcmVzZXRcbiAgICAgICAgaWYgKHByZXZpb3VzQXMuY3VycmVudCAhPT0gYXMgfHwgcHJldmlvdXNIcmVmLmN1cnJlbnQgIT09IGhyZWYpIHtcbiAgICAgICAgICAgIHJlc2V0VmlzaWJsZSgpO1xuICAgICAgICAgICAgcHJldmlvdXNBcy5jdXJyZW50ID0gYXM7XG4gICAgICAgICAgICBwcmV2aW91c0hyZWYuY3VycmVudCA9IGhyZWY7XG4gICAgICAgIH1cbiAgICAgICAgc2V0SW50ZXJzZWN0aW9uUmVmKGVsKTtcbiAgICAgICAgaWYgKGNoaWxkUmVmKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGNoaWxkUmVmID09PSAnZnVuY3Rpb24nKSBjaGlsZFJlZihlbCk7XG4gICAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgY2hpbGRSZWYgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgY2hpbGRSZWYuY3VycmVudCA9IGVsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBhcyxcbiAgICAgICAgY2hpbGRSZWYsXG4gICAgICAgIGhyZWYsXG4gICAgICAgIHJlc2V0VmlzaWJsZSxcbiAgICAgICAgc2V0SW50ZXJzZWN0aW9uUmVmXG4gICAgXSk7XG4gICAgLy8gUHJlZmV0Y2ggdGhlIFVSTCBpZiB3ZSBoYXZlbid0IGFscmVhZHkgYW5kIGl0J3MgdmlzaWJsZS5cbiAgICBfcmVhY3QuZGVmYXVsdC51c2VFZmZlY3QoKCk9PntcbiAgICAgICAgLy8gaW4gZGV2LCB3ZSBvbmx5IHByZWZldGNoIG9uIGhvdmVyIHRvIGF2b2lkIHdhc3RpbmcgcmVzb3VyY2VzIGFzIHRoZSBwcmVmZXRjaCB3aWxsIHRyaWdnZXIgY29tcGlsaW5nIHRoZSBwYWdlLlxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgbmVlZCB0byBwcmVmZXRjaCB0aGUgVVJMLCBkb24ndCBkbyBwcmVmZXRjaC5cbiAgICAgICAgaWYgKCFpc1Zpc2libGUgfHwgIXByZWZldGNoRW5hYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIFByZWZldGNoIHRoZSBVUkwuXG4gICAgICAgIHByZWZldGNoKHJvdXRlciwgaHJlZiwgYXMsIHtcbiAgICAgICAgICAgIGxvY2FsZVxuICAgICAgICB9LCBpc0FwcFJvdXRlcik7XG4gICAgfSwgW1xuICAgICAgICBhcyxcbiAgICAgICAgaHJlZixcbiAgICAgICAgaXNWaXNpYmxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHByZWZldGNoRW5hYmxlZCxcbiAgICAgICAgcGFnZXNSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VzUm91dGVyLmxvY2FsZSxcbiAgICAgICAgcm91dGVyLFxuICAgICAgICBpc0FwcFJvdXRlciwgXG4gICAgXSk7XG4gICAgY29uc3QgY2hpbGRQcm9wcyA9IHtcbiAgICAgICAgcmVmOiBzZXRSZWYsXG4gICAgICAgIG9uQ2xpY2sgKGUpIHtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ29tcG9uZW50IHJlbmRlcmVkIGluc2lkZSBuZXh0L2xpbmsgaGFzIHRvIHBhc3MgY2xpY2sgZXZlbnQgdG8gXCJvbkNsaWNrXCIgcHJvcC5gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWxlZ2FjeUJlaGF2aW9yICYmIHR5cGVvZiBvbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgb25DbGljayhlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZWdhY3lCZWhhdmlvciAmJiBjaGlsZC5wcm9wcyAmJiB0eXBlb2YgY2hpbGQucHJvcHMub25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGNoaWxkLnByb3BzLm9uQ2xpY2soZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlLmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaW5rQ2xpY2tlZChlLCByb3V0ZXIsIGhyZWYsIGFzLCByZXBsYWNlLCBzaGFsbG93LCBzY3JvbGwsIGxvY2FsZSwgaXNBcHBSb3V0ZXIsIHByZWZldGNoRW5hYmxlZCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uTW91c2VFbnRlciAoZSkge1xuICAgICAgICAgICAgaWYgKCFsZWdhY3lCZWhhdmlvciAmJiB0eXBlb2Ygb25Nb3VzZUVudGVyUHJvcCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlclByb3AoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGVnYWN5QmVoYXZpb3IgJiYgY2hpbGQucHJvcHMgJiYgdHlwZW9mIGNoaWxkLnByb3BzLm9uTW91c2VFbnRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGNoaWxkLnByb3BzLm9uTW91c2VFbnRlcihlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFwcmVmZXRjaEVuYWJsZWQgJiYgaXNBcHBSb3V0ZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmVmZXRjaChyb3V0ZXIsIGhyZWYsIGFzLCB7XG4gICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgIHByaW9yaXR5OiB0cnVlLFxuICAgICAgICAgICAgICAgIC8vIEBzZWUge2h0dHBzOi8vZ2l0aHViLmNvbS92ZXJjZWwvbmV4dC5qcy9kaXNjdXNzaW9ucy80MDI2OD9zb3J0PXRvcCNkaXNjdXNzaW9uY29tbWVudC0zNTcyNjQyfVxuICAgICAgICAgICAgICAgIGJ5cGFzc1ByZWZldGNoZWRDaGVjazogdHJ1ZVxuICAgICAgICAgICAgfSwgaXNBcHBSb3V0ZXIpO1xuICAgICAgICB9LFxuICAgICAgICBvblRvdWNoU3RhcnQgKGUpIHtcbiAgICAgICAgICAgIGlmICghbGVnYWN5QmVoYXZpb3IgJiYgdHlwZW9mIG9uVG91Y2hTdGFydFByb3AgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBvblRvdWNoU3RhcnRQcm9wKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxlZ2FjeUJlaGF2aW9yICYmIGNoaWxkLnByb3BzICYmIHR5cGVvZiBjaGlsZC5wcm9wcy5vblRvdWNoU3RhcnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBjaGlsZC5wcm9wcy5vblRvdWNoU3RhcnQoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcHJlZmV0Y2hFbmFibGVkICYmIGlzQXBwUm91dGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJlZmV0Y2gocm91dGVyLCBocmVmLCBhcywge1xuICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAvLyBAc2VlIHtodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvZGlzY3Vzc2lvbnMvNDAyNjg/c29ydD10b3AjZGlzY3Vzc2lvbmNvbW1lbnQtMzU3MjY0Mn1cbiAgICAgICAgICAgICAgICBieXBhc3NQcmVmZXRjaGVkQ2hlY2s6IHRydWVcbiAgICAgICAgICAgIH0sIGlzQXBwUm91dGVyKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLy8gSWYgY2hpbGQgaXMgYW4gPGE+IHRhZyBhbmQgZG9lc24ndCBoYXZlIGEgaHJlZiBhdHRyaWJ1dGUsIG9yIGlmIHRoZSAncGFzc0hyZWYnIHByb3BlcnR5IGlzXG4gICAgLy8gZGVmaW5lZCwgd2Ugc3BlY2lmeSB0aGUgY3VycmVudCAnaHJlZicsIHNvIHRoYXQgcmVwZXRpdGlvbiBpcyBub3QgbmVlZGVkIGJ5IHRoZSB1c2VyLlxuICAgIC8vIElmIHRoZSB1cmwgaXMgYWJzb2x1dGUsIHdlIGNhbiBieXBhc3MgdGhlIGxvZ2ljIHRvIHByZXBlbmQgdGhlIGRvbWFpbiBhbmQgbG9jYWxlLlxuICAgIGlmICgoMCwgX3V0aWxzKS5pc0Fic29sdXRlVXJsKGFzKSkge1xuICAgICAgICBjaGlsZFByb3BzLmhyZWYgPSBhcztcbiAgICB9IGVsc2UgaWYgKCFsZWdhY3lCZWhhdmlvciB8fCBwYXNzSHJlZiB8fCBjaGlsZC50eXBlID09PSAnYScgJiYgISgnaHJlZicgaW4gY2hpbGQucHJvcHMpKSB7XG4gICAgICAgIGNvbnN0IGN1ckxvY2FsZSA9IHR5cGVvZiBsb2NhbGUgIT09ICd1bmRlZmluZWQnID8gbG9jYWxlIDogcGFnZXNSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VzUm91dGVyLmxvY2FsZTtcbiAgICAgICAgLy8gd2Ugb25seSByZW5kZXIgZG9tYWluIGxvY2FsZXMgaWYgd2UgYXJlIGN1cnJlbnRseSBvbiBhIGRvbWFpbiBsb2NhbGVcbiAgICAgICAgLy8gc28gdGhhdCBsb2NhbGUgbGlua3MgYXJlIHN0aWxsIHZpc2l0YWJsZSBpbiBkZXZlbG9wbWVudC9wcmV2aWV3IGVudnNcbiAgICAgICAgY29uc3QgbG9jYWxlRG9tYWluID0gKHBhZ2VzUm91dGVyID09IG51bGwgPyB2b2lkIDAgOiBwYWdlc1JvdXRlci5pc0xvY2FsZURvbWFpbikgJiYgKDAsIF9nZXREb21haW5Mb2NhbGUpLmdldERvbWFpbkxvY2FsZShhcywgY3VyTG9jYWxlLCBwYWdlc1JvdXRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZXNSb3V0ZXIubG9jYWxlcywgcGFnZXNSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VzUm91dGVyLmRvbWFpbkxvY2FsZXMpO1xuICAgICAgICBjaGlsZFByb3BzLmhyZWYgPSBsb2NhbGVEb21haW4gfHwgKDAsIF9hZGRCYXNlUGF0aCkuYWRkQmFzZVBhdGgoKDAsIF9hZGRMb2NhbGUpLmFkZExvY2FsZShhcywgY3VyTG9jYWxlLCBwYWdlc1JvdXRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZXNSb3V0ZXIuZGVmYXVsdExvY2FsZSkpO1xuICAgIH1cbiAgICByZXR1cm4gbGVnYWN5QmVoYXZpb3IgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjaGlsZCwgY2hpbGRQcm9wcykgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJhXCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3RQcm9wcywgY2hpbGRQcm9wcyksIGNoaWxkcmVuKTtcbn0pO1xudmFyIF9kZWZhdWx0ID0gTGluaztcbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1saW5rLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImRlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX29iamVjdF93aXRob3V0X3Byb3BlcnRpZXNfbG9vc2UiLCJfcmVhY3QiLCJfcmVzb2x2ZUhyZWYiLCJfaXNMb2NhbFVybCIsIl9mb3JtYXRVcmwiLCJfdXRpbHMiLCJfYWRkTG9jYWxlIiwiX3JvdXRlckNvbnRleHQiLCJfYXBwUm91dGVyQ29udGV4dCIsIl91c2VJbnRlcnNlY3Rpb24iLCJfZ2V0RG9tYWluTG9jYWxlIiwiX2FkZEJhc2VQYXRoIiwicHJlZmV0Y2hlZCIsIlNldCIsInByZWZldGNoIiwicm91dGVyIiwiaHJlZiIsImFzIiwib3B0aW9ucyIsImlzQXBwUm91dGVyIiwiaXNMb2NhbFVSTCIsImJ5cGFzc1ByZWZldGNoZWRDaGVjayIsImxvY2FsZSIsInVuZGVmaW5lZCIsInByZWZldGNoZWRLZXkiLCJoYXMiLCJhZGQiLCJQcm9taXNlIiwicmVzb2x2ZSIsImNhdGNoIiwiZXJyIiwicHJvY2VzcyIsImlzTW9kaWZpZWRFdmVudCIsImV2ZW50IiwiZXZlbnRUYXJnZXQiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiZ2V0QXR0cmlidXRlIiwibWV0YUtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsImFsdEtleSIsIm5hdGl2ZUV2ZW50Iiwid2hpY2giLCJsaW5rQ2xpY2tlZCIsImUiLCJyZXBsYWNlIiwic2hhbGxvdyIsInNjcm9sbCIsInByZWZldGNoRW5hYmxlZCIsIm5vZGVOYW1lIiwiaXNBbmNob3JOb2RlTmFtZSIsInRvVXBwZXJDYXNlIiwicHJldmVudERlZmF1bHQiLCJuYXZpZ2F0ZSIsImZvcmNlT3B0aW1pc3RpY05hdmlnYXRpb24iLCJzdGFydFRyYW5zaXRpb24iLCJmb3JtYXRTdHJpbmdPclVybCIsInVybE9iak9yU3RyaW5nIiwiZm9ybWF0VXJsIiwiTGluayIsImZvcndhcmRSZWYiLCJMaW5rQ29tcG9uZW50IiwicHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJjcmVhdGVQcm9wRXJyb3IiLCJhcmdzIiwiRXJyb3IiLCJrZXkiLCJleHBlY3RlZCIsImFjdHVhbCIsInJlcXVpcmVkUHJvcHNHdWFyZCIsInJlcXVpcmVkUHJvcHMiLCJrZXlzIiwiZm9yRWFjaCIsIl8iLCJvcHRpb25hbFByb3BzR3VhcmQiLCJwYXNzSHJlZiIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvblRvdWNoU3RhcnQiLCJsZWdhY3lCZWhhdmlvciIsIm9wdGlvbmFsUHJvcHMiLCJ2YWxUeXBlIiwiaGFzV2FybmVkIiwidXNlUmVmIiwiY3VycmVudCIsImNvbnNvbGUiLCJ3YXJuIiwiY2hpbGRyZW4iLCJocmVmUHJvcCIsImFzUHJvcCIsImNoaWxkcmVuUHJvcCIsInByZWZldGNoUHJvcCIsIm9uTW91c2VFbnRlclByb3AiLCJvblRvdWNoU3RhcnRQcm9wIiwiZW52IiwiX19ORVhUX05FV19MSU5LX0JFSEFWSU9SIiwicmVzdFByb3BzIiwiY3JlYXRlRWxlbWVudCIsInBhZ2VzUm91dGVyIiwidXNlQ29udGV4dCIsIlJvdXRlckNvbnRleHQiLCJhcHBSb3V0ZXIiLCJBcHBSb3V0ZXJDb250ZXh0IiwicGF0aG5hbWUiLCJoYXNEeW5hbWljU2VnbWVudCIsInNwbGl0Iiwic29tZSIsInNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJ1c2VNZW1vIiwicmVzb2x2ZWRIcmVmIiwicmVzb2x2ZWRBcyIsInJlc29sdmVIcmVmIiwicHJldmlvdXNIcmVmIiwicHJldmlvdXNBcyIsImNoaWxkIiwiQ2hpbGRyZW4iLCJvbmx5IiwicmVmIiwidHlwZSIsImNoaWxkUmVmIiwic2V0SW50ZXJzZWN0aW9uUmVmIiwiaXNWaXNpYmxlIiwicmVzZXRWaXNpYmxlIiwidXNlSW50ZXJzZWN0aW9uIiwicm9vdE1hcmdpbiIsInNldFJlZiIsInVzZUNhbGxiYWNrIiwiZWwiLCJ1c2VFZmZlY3QiLCJjaGlsZFByb3BzIiwiZGVmYXVsdFByZXZlbnRlZCIsInByaW9yaXR5IiwiaXNBYnNvbHV0ZVVybCIsImN1ckxvY2FsZSIsImxvY2FsZURvbWFpbiIsImlzTG9jYWxlRG9tYWluIiwiZ2V0RG9tYWluTG9jYWxlIiwibG9jYWxlcyIsImRvbWFpbkxvY2FsZXMiLCJhZGRCYXNlUGF0aCIsImFkZExvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJjbG9uZUVsZW1lbnQiLCJhc3NpZ24iLCJfZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/link.js\n"));
/***/ }),
/***/ "../../node_modules/next/dist/client/use-intersection.js":
/*!***************************************************************!*\
!*** ../../node_modules/next/dist/client/use-intersection.js ***!
\***************************************************************/
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("\nvar _s = $RefreshSig$();\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.useIntersection = useIntersection;\nvar _react = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\nvar _requestIdleCallback = __webpack_require__(/*! ./request-idle-callback */ \"../../node_modules/next/dist/client/request-idle-callback.js\");\nconst hasIntersectionObserver = typeof IntersectionObserver === \"function\";\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || \"\"\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id , observer , elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection(param) {\n let { rootRef , rootMargin , disabled } = param;\n _s();\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react).useState(false);\n const elementRef = (0, _react).useRef(null);\n const setElement = (0, _react).useCallback((element)=>{\n elementRef.current = element;\n }, []);\n (0, _react).useEffect(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n const element = elementRef.current;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestIdleCallback).requestIdleCallback(()=>setVisible(true));\n return ()=>(0, _requestIdleCallback).cancelIdleCallback(idleCallback);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled,\n rootMargin,\n rootRef,\n visible,\n elementRef.current\n ]);\n const resetVisible = (0, _react).useCallback(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\n_s(useIntersection, \"f+30nk3/InClhhpF4v6D3kkuqlo=\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-intersection.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvdXNlLWludGVyc2VjdGlvbi5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPLElBQUk7QUFDZixDQUFDLEVBQUM7QUFDRkQsdUJBQXVCLEdBQUdFO0FBQzFCLElBQUlDLFNBQVNDLG1CQUFPQSxDQUFDLGdEQUFPO0FBQzVCLElBQUlDLHVCQUF1QkQsbUJBQU9BLENBQUMsNkZBQXlCO0FBQzVELE1BQU1FLDBCQUEwQixPQUFPQyx5QkFBeUI7QUFDaEUsTUFBTUMsWUFBWSxJQUFJQztBQUN0QixNQUFNQyxTQUFTLEVBQUU7QUFDakIsU0FBU0MsZUFBZUMsT0FBTyxFQUFFO0lBQzdCLE1BQU1DLEtBQUs7UUFDUEMsTUFBTUYsUUFBUUUsSUFBSSxJQUFJLElBQUk7UUFDMUJDLFFBQVFILFFBQVFJLFVBQVUsSUFBSTtJQUNsQztJQUNBLE1BQU1DLFdBQVdQLE9BQU9RLElBQUksQ0FBQyxDQUFDQyxNQUFNQSxJQUFJTCxJQUFJLEtBQUtELEdBQUdDLElBQUksSUFBSUssSUFBSUosTUFBTSxLQUFLRixHQUFHRSxNQUFNO0lBQ3BGLElBQUlLO0lBQ0osSUFBSUgsVUFBVTtRQUNWRyxXQUFXWixVQUFVYSxHQUFHLENBQUNKO1FBQ3pCLElBQUlHLFVBQVU7WUFDVixPQUFPQTtRQUNYLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTUUsV0FBVyxJQUFJYjtJQUNyQixNQUFNYyxXQUFXLElBQUloQixxQkFBcUIsQ0FBQ2lCLFVBQVU7UUFDakRBLFFBQVFDLE9BQU8sQ0FBQyxDQUFDQyxRQUFRO1lBQ3JCLE1BQU1DLFdBQVdMLFNBQVNELEdBQUcsQ0FBQ0ssTUFBTUUsTUFBTTtZQUMxQyxNQUFNQyxZQUFZSCxNQUFNSSxjQUFjLElBQUlKLE1BQU1LLGlCQUFpQixHQUFHO1lBQ3BFLElBQUlKLFlBQVlFLFdBQVc7Z0JBQ3ZCRixTQUFTRTtZQUNiLENBQUM7UUFDTDtJQUNKLEdBQUdq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VSxLQUFLLGFBQWE7SUFDcksvRCxPQUFPQyxjQUFjLENBQUNDLFFBQVE0RCxPQUFPLEVBQUUsY0FBYztRQUFFM0QsT0FBTyxJQUFJO0lBQUM7SUFDbkVILE9BQU9nRSxNQUFNLENBQUM5RCxRQUFRNEQsT0FBTyxFQUFFNUQ7SUFDL0IrRCxPQUFPL0QsT0FBTyxHQUFHQSxRQUFRNEQsT0FBTztBQUNsQyxDQUFDLENBRUQsNENBQTRDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uLi8uLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC91c2UtaW50ZXJzZWN0aW9uLmpzPzMwYWIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLnVzZUludGVyc2VjdGlvbiA9IHVzZUludGVyc2VjdGlvbjtcbnZhciBfcmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIik7XG52YXIgX3JlcXVlc3RJZGxlQ2FsbGJhY2sgPSByZXF1aXJlKFwiLi9yZXF1ZXN0LWlkbGUtY2FsbGJhY2tcIik7XG5jb25zdCBoYXNJbnRlcnNlY3Rpb25PYnNlcnZlciA9IHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciA9PT0gJ2Z1bmN0aW9uJztcbmNvbnN0IG9ic2VydmVycyA9IG5ldyBNYXAoKTtcbmNvbnN0IGlkTGlzdCA9IFtdO1xuZnVuY3Rpb24gY3JlYXRlT2JzZXJ2ZXIob3B0aW9ucykge1xuICAgIGNvbnN0IGlkID0ge1xuICAgICAgICByb290OiBvcHRpb25zLnJvb3QgfHwgbnVsbCxcbiAgICAgICAgbWFyZ2luOiBvcHRpb25zLnJvb3RNYXJnaW4gfHwgJydcbiAgICB9O1xuICAgIGNvbnN0IGV4aXN0aW5nID0gaWRMaXN0LmZpbmQoKG9iaik9Pm9iai5yb290ID09PSBpZC5yb290ICYmIG9iai5tYXJnaW4gPT09IGlkLm1hcmdpbik7XG4gICAgbGV0IGluc3RhbmNlO1xuICAgIGlmIChleGlzdGluZykge1xuICAgICAgICBpbnN0YW5jZSA9IG9ic2VydmVycy5nZXQoZXhpc3RpbmcpO1xuICAgICAgICBpZiAoaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBlbGVtZW50cyA9IG5ldyBNYXAoKTtcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZW50cmllcyk9PntcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSk9PntcbiAgICAgICAgICAgIGNvbnN0IGNhbGxiYWNrID0gZWxlbWVudHMuZ2V0KGVudHJ5LnRhcmdldCk7XG4gICAgICAgICAgICBjb25zdCBpc1Zpc2libGUgPSBlbnRyeS5pc0ludGVyc2VjdGluZyB8fCBlbnRyeS5pbnRlcnNlY3Rpb25SYXRpbyA+IDA7XG4gICAgICAgICAgICBpZiAoY2FsbGJhY2sgJiYgaXNWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgY2FsbGJhY2soaXNWaXNpYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSwgb3B0aW9ucyk7XG4gICAgaW5zdGFuY2UgPSB7XG4gICAgICAgIGlkLFxuICAgICAgICBvYnNlcnZlcixcbiAgICAgICAgZWxlbWVudHNcbiAgICB9O1xuICAgIGlkTGlzdC5wdXNoKGlkKTtcbiAgICBvYnNlcnZlcnMuc2V0KGlkLCBpbnN0YW5jZSk7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gb2JzZXJ2ZShlbGVtZW50LCBjYWxsYmFjaywgb3B0aW9ucykge1xuICAgIGNvbnN0IHsgaWQgLCBvYnNlcnZlciAsIGVsZW1lbnRzICB9ID0gY3JlYXRlT2JzZXJ2ZXIob3B0aW9ucyk7XG4gICAgZWxlbWVudHMuc2V0KGVsZW1lbnQsIGNhbGxiYWNrKTtcbiAgICBvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQpO1xuICAgIHJldHVybiBmdW5jdGlvbiB1bm9ic2VydmUoKSB7XG4gICAgICAgIGVsZW1lbnRzLmRlbGV0ZShlbGVtZW50KTtcbiAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVsZW1lbnQpO1xuICAgICAgICAvLyBEZXN0cm95IG9ic2VydmVyIHdoZW4gdGhlcmUncyBub3RoaW5nIGxlZnQgdG8gd2F0Y2g6XG4gICAgICAgIGlmIChlbGVtZW50cy5zaXplID09PSAwKSB7XG4gICAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgICBvYnNlcnZlcnMuZGVsZXRlKGlkKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gaWRMaXN0LmZpbmRJbmRleCgob2JqKT0+b2JqLnJvb3QgPT09IGlkLnJvb3QgJiYgb2JqLm1hcmdpbiA9PT0gaWQubWFyZ2luKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgaWRMaXN0LnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xufVxuZnVuY3Rpb24gdXNlSW50ZXJzZWN0aW9uKHsgcm9vdFJlZiAsIHJvb3RNYXJnaW4gLCBkaXNhYmxlZCAgfSkge1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBkaXNhYmxlZCB8fCAhaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXI7XG4gICAgY29uc3QgW3Zpc2libGUsIHNldFZpc2libGVdID0gKDAsIF9yZWFjdCkudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGVsZW1lbnRSZWYgPSAoMCwgX3JlYWN0KS51c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgc2V0RWxlbWVudCA9ICgwLCBfcmVhY3QpLnVzZUNhbGxiYWNrKChlbGVtZW50KT0+e1xuICAgICAgICBlbGVtZW50UmVmLmN1cnJlbnQgPSBlbGVtZW50O1xuICAgIH0sIFtdKTtcbiAgICAoMCwgX3JlYWN0KS51c2VFZmZlY3QoKCk9PntcbiAgICAgICAgaWYgKGhhc0ludGVyc2VjdGlvbk9ic2VydmVyKSB7XG4gICAgICAgICAgICBpZiAoaXNEaXNhYmxlZCB8fCB2aXNpYmxlKSByZXR1cm47XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudFJlZi5jdXJyZW50O1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC50YWdOYW1lKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdW5vYnNlcnZlID0gb2JzZXJ2ZShlbGVtZW50LCAoaXNWaXNpYmxlKT0+aXNWaXNpYmxlICYmIHNldFZpc2libGUoaXNWaXNpYmxlKSwge1xuICAgICAgICAgICAgICAgICAgICByb290OiByb290UmVmID09IG51bGwgPyB2b2lkIDAgOiByb290UmVmLmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgICAgIHJvb3RNYXJnaW5cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5vYnNlcnZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCF2aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaWRsZUNhbGxiYWNrID0gKDAsIF9yZXF1ZXN0SWRsZUNhbGxiYWNrKS5yZXF1ZXN0SWRsZUNhbGxiYWNrKCgpPT5zZXRWaXNpYmxlKHRydWUpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKCk9PigwLCBfcmVxdWVzdElkbGVDYWxsYmFjaykuY2FuY2VsSWRsZUNhbGxiYWNrKGlkbGVDYWxsYmFjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gICAgfSwgW1xuICAgICAgICBpc0Rpc2FibGVkLFxuICAgICAgICByb290TWFyZ2luLFxuICAgICAgICByb290UmVmLFxuICAgICAgICB2aXNpYmxlLFxuICAgICAgICBlbGVtZW50UmVmLmN1cnJlbnRcbiAgICBdKTtcbiAgICBjb25zdCByZXNldFZpc2libGUgPSAoMCwgX3JlYWN0KS51c2VDYWxsYmFjaygoKT0+e1xuICAgICAgICBzZXRWaXNpYmxlKGZhbHNlKTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgc2V0RWxlbWVudCxcbiAgICAgICAgdmlzaWJsZSxcbiAgICAgICAgcmVzZXRWaXNpYmxlXG4gICAgXTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlLWludGVyc2VjdGlvbi5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJ1c2VJbnRlcnNlY3Rpb24iLCJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlcXVlc3RJZGxlQ2FsbGJhY2siLCJoYXNJbnRlcnNlY3Rpb25PYnNlcnZlciIsIkludGVyc2VjdGlvbk9ic2VydmVyIiwib2JzZXJ2ZXJzIiwiTWFwIiwiaWRMaXN0IiwiY3JlYXRlT2JzZXJ2ZXIiLCJvcHRpb25zIiwiaWQiLCJyb290IiwibWFyZ2luIiwicm9vdE1hcmdpbiIsImV4aXN0aW5nIiwiZmluZCIsIm9iaiIsImluc3RhbmNlIiwiZ2V0IiwiZWxlbWVudHMiLCJvYnNlcnZlciIsImVudHJpZXMiLCJmb3JFYWNoIiwiZW50cnkiLCJjYWxsYmFjayIsInRhcmdldCIsImlzVmlzaWJsZSIsImlzSW50ZXJzZWN0aW5nIiwiaW50ZXJzZWN0aW9uUmF0aW8iLCJwdXNoIiwic2V0Iiwib2JzZXJ2ZSIsImVsZW1lbnQiLCJ1bm9ic2VydmUiLCJkZWxldGUiLCJzaXplIiwiZGlzY29ubmVjdCIsImluZGV4IiwiZmluZEluZGV4Iiwic3BsaWNlIiwicm9vdFJlZiIsImRpc2FibGVkIiwiaXNEaXNhYmxlZCIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwidXNlU3RhdGUiLCJlbGVtZW50UmVmIiwidXNlUmVmIiwic2V0RWxlbWVudCIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsInVzZUVmZmVjdCIsInRhZ05hbWUiLCJpZGxlQ2FsbGJhY2siLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwicmVzZXRWaXNpYmxlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next/dist/client/use-intersection.js\n"));
/***/ }),
/***/ "../../node_modules/next/link.js":
/*!***************************************!*\
!*** ../../node_modules/next/link.js ***!
\***************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("module.exports = __webpack_require__(/*! ./dist/client/link */ \"../../node_modules/next/dist/client/link.js\")\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvbGluay5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBQSw2R0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL25vZGVfbW9kdWxlcy9uZXh0L2xpbmsuanM/YmE2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vZGlzdC9jbGllbnQvbGluaycpXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../node_modules/next/link.js\n"));
/***/ }),
/***/ "../../node_modules/next/router.js":
/*!*****************************************!*\
!*** ../../node_modules/next/router.js ***!
\*****************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("module.exports = __webpack_require__(/*! ./dist/client/router */ \"../../node_modules/next/dist/client/router.js\")\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvcm91dGVyLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGlIQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vbm9kZV9tb2R1bGVzL25leHQvcm91dGVyLmpzPzk2NTkiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Rpc3QvY2xpZW50L3JvdXRlcicpXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../node_modules/next/router.js\n"));
/***/ }),
/***/ "../../node_modules/next-mdx-remote/dist/jsx-runtime.cjs":
/*!***************************************************************!*\
!*** ../../node_modules/next-mdx-remote/dist/jsx-runtime.cjs ***!
\***************************************************************/
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
eval(__webpack_require__.ts("/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\n/**\n * Allow jsx-runtime to be successfully imported from either React 17 or React 18.\n *\n * Inspired by the approach here: https://github.com/contentlayerdev/contentlayer/blob/main/packages/next-contentlayer/src/hooks/jsx-runtime.cjs\n */\nif (true) {\n module.exports.jsxRuntime = __webpack_require__(/*! react/jsx-dev-runtime */ \"../../node_modules/react/jsx-dev-runtime.js\")\n} else {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQtbWR4LXJlbW90ZS9kaXN0L2pzeC1ydW50aW1lLmNqcy5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxJQUFzQztBQUMxQyxFQUFFLDJIQUE0RDtBQUM5RCxFQUFFLEtBQUssRUFFTiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vbm9kZV9tb2R1bGVzL25leHQtbWR4LXJlbW90ZS9kaXN0L2pzeC1ydW50aW1lLmNqcz9kN2RiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuLyoqXG4gKiBBbGxvdyBqc3gtcnVudGltZSB0byBiZSBzdWNjZXNzZnVsbHkgaW1wb3J0ZWQgZnJvbSBlaXRoZXIgUmVhY3QgMTcgb3IgUmVhY3QgMTguXG4gKlxuICogSW5zcGlyZWQgYnkgdGhlIGFwcHJvYWNoIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9jb250ZW50bGF5ZXJkZXYvY29udGVudGxheWVyL2Jsb2IvbWFpbi9wYWNrYWdlcy9uZXh0LWNvbnRlbnRsYXllci9zcmMvaG9va3MvanN4LXJ1bnRpbWUuY2pzXG4gKi9cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICBtb2R1bGUuZXhwb3J0cy5qc3hSdW50aW1lID0gcmVxdWlyZSgncmVhY3QvanN4LWRldi1ydW50aW1lJylcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzLmpzeFJ1bnRpbWUgPSByZXF1aXJlKCdyZWFjdC9qc3gtcnVudGltZScpXG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../node_modules/next-mdx-remote/dist/jsx-runtime.cjs\n"));
/***/ }),
/***/ "../../node_modules/@mdx-js/react/index.js":
/*!*************************************************!*\
!*** ../../node_modules/@mdx-js/react/index.js ***!
\*************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MDXContext\": function() { return /* reexport safe */ _lib_index_js__WEBPACK_IMPORTED_MODULE_0__.MDXContext; },\n/* harmony export */ \"MDXProvider\": function() { return /* reexport safe */ _lib_index_js__WEBPACK_IMPORTED_MODULE_0__.MDXProvider; },\n/* harmony export */ \"useMDXComponents\": function() { return /* reexport safe */ _lib_index_js__WEBPACK_IMPORTED_MODULE_0__.useMDXComponents; },\n/* harmony export */ \"withMDXComponents\": function() { return /* reexport safe */ _lib_index_js__WEBPACK_IMPORTED_MODULE_0__.withMDXComponents; }\n/* harmony export */ });\n/* harmony import */ var _lib_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/index.js */ \"../../node_modules/@mdx-js/react/lib/index.js\");\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL0BtZHgtanMvcmVhY3QvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFLdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4uLy4uL25vZGVfbW9kdWxlcy9AbWR4LWpzL3JlYWN0L2luZGV4LmpzP2VlOWIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgTURYQ29udGV4dCxcbiAgTURYUHJvdmlkZXIsXG4gIHVzZU1EWENvbXBvbmVudHMsXG4gIHdpdGhNRFhDb21wb25lbnRzXG59IGZyb20gJy4vbGliL2luZGV4LmpzJ1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/@mdx-js/react/index.js\n"));
/***/ }),
/***/ "../../node_modules/@mdx-js/react/lib/index.js":
/*!*****************************************************!*\
!*** ../../node_modules/@mdx-js/react/lib/index.js ***!
\*****************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MDXContext\": function() { return /* binding */ MDXContext; },\n/* harmony export */ \"MDXProvider\": function() { return /* binding */ MDXProvider; },\n/* harmony export */ \"useMDXComponents\": function() { return /* binding */ useMDXComponents; },\n/* harmony export */ \"withMDXComponents\": function() { return /* binding */ withMDXComponents; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('mdx/types.js').MDXComponents} Components\n *\n * @typedef Props\n * Configuration.\n * @property {Components | MergeComponents | null | undefined} [components]\n * Mapping of names for JSX components to React components.\n * @property {boolean | null | undefined} [disableParentContext=false]\n * Turn off outer component context.\n * @property {ReactNode | null | undefined} [children]\n * Children.\n *\n * @callback MergeComponents\n * Custom merge function.\n * @param {Components} currentComponents\n * Current components from the context.\n * @returns {Components}\n * Merged components.\n */\n\n\n\n/**\n * @type {import('react').Context<Components>}\n * @deprecated\n * This export is marked as a legacy feature.\n * That means its no longer recommended for use as it might be removed\n * in a future major release.\n *\n * Please use `useMDXComponents` to get context based components and\n * `MDXProvider` to set context based components instead.\n */\nconst MDXContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext({})\n\n/**\n * @param {import('react').ComponentType<any>} Component\n * @deprecated\n * This export is marked as a legacy feature.\n * That means its no longer recommended for use as it might be removed\n * in a future major release.\n *\n * Please use `useMDXComponents` to get context based components instead.\n */\nfunction withMDXComponents(Component) {\n return boundMDXComponent\n\n /**\n * @param {Record<string, unknown> & {components?: Components | null | undefined}} props\n * @returns {JSX.Element}\n */\n function boundMDXComponent(props) {\n const allComponents = useMDXComponents(props.components)\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, {...props, allComponents})\n }\n}\n\n/**\n * Get current components from the MDX Context.\n *\n * @param {Components | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that takes the current\n * components and filters/merges/changes them.\n * @returns {Components}\n * Current components.\n */\nfunction useMDXComponents(components) {\n const contextComponents = react__WEBPACK_IMPORTED_MODULE_0__.useContext(MDXContext)\n\n // Memoize to avoid unnecessary top-level context changes\n return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {\n // Custom merge via a function prop\n if (typeof components === 'function') {\n return components(contextComponents)\n }\n\n return {...contextComponents, ...components}\n }, [contextComponents, components])\n}\n\n/** @type {Components} */\nconst emptyObject = {}\n\n/**\n * Provider for MDX context\n *\n * @param {Props} props\n * @returns {JSX.Element}\n */\nfunction MDXProvider({components, children, disableParentContext}) {\n /** @type {Components} */\n let allComponents\n\n if (disableParentContext) {\n allComponents =\n typeof components === 'function'\n ? components({})\n : components || emptyObject\n } else {\n allComponents = useMDXComponents(components)\n }\n\n return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\n MDXContext.Provider,\n {value: allComponents},\n children\n )\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL0BtZHgtanMvcmVhY3QvbGliL2luZGV4LmpzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQSxhQUFhLDJCQUEyQjtBQUN4QyxhQUFhLHNDQUFzQztBQUNuRDtBQUNBO0FBQ0E7QUFDQSxjQUFjLGlEQUFpRDtBQUMvRDtBQUNBLGNBQWMsNEJBQTRCO0FBQzFDO0FBQ0EsY0FBYyw4QkFBOEI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFlBQVk7QUFDdkI7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFeUI7O0FBRXpCO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxtQkFBbUIsZ0RBQW1CLEdBQUc7O0FBRWhEO0FBQ0EsV0FBVyxvQ0FBb0M7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQOztBQUVBO0FBQ0EsYUFBYSwyQkFBMkIsNkNBQTZDO0FBQ3JGLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxXQUFXLGdEQUFtQixhQUFhLHdCQUF3QjtBQUNuRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsaURBQWlEO0FBQzVEO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNPO0FBQ1AsNEJBQTRCLDZDQUFnQjs7QUFFNUM7QUFDQSxTQUFTLDBDQUFhO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFlBQVk7QUFDWixHQUFHO0FBQ0g7O0FBRUEsV0FBVyxZQUFZO0FBQ3ZCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhO0FBQ2I7QUFDTyxzQkFBc0IsMkNBQTJDO0FBQ3hFLGFBQWEsWUFBWTtBQUN6Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQSxTQUFTLGdEQUFtQjtBQUM1QjtBQUNBLEtBQUsscUJBQXFCO0FBQzFCO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vbm9kZV9tb2R1bGVzL0BtZHgtanMvcmVhY3QvbGliL2luZGV4LmpzPzhlOTgiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdyZWFjdCcpLlJlYWN0Tm9kZX0gUmVhY3ROb2RlXG4gKiBAdHlwZWRlZiB7aW1wb3J0KCdtZHgvdHlwZXMuanMnKS5NRFhDb21wb25lbnRzfSBDb21wb25lbnRzXG4gKlxuICogQHR5cGVkZWYgUHJvcHNcbiAqICAgQ29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7Q29tcG9uZW50cyB8IE1lcmdlQ29tcG9uZW50cyB8IG51bGwgfCB1bmRlZmluZWR9IFtjb21wb25lbnRzXVxuICogICBNYXBwaW5nIG9mIG5hbWVzIGZvciBKU1ggY29tcG9uZW50cyB0byBSZWFjdCBjb21wb25lbnRzLlxuICogQHByb3BlcnR5IHtib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZH0gW2Rpc2FibGVQYXJlbnRDb250ZXh0PWZhbHNlXVxuICogICBUdXJuIG9mZiBvdXRlciBjb21wb25lbnQgY29udGV4dC5cbiAqIEBwcm9wZXJ0eSB7UmVhY3ROb2RlIHwgbnVsbCB8IHVuZGVmaW5lZH0gW2NoaWxkcmVuXVxuICogICBDaGlsZHJlbi5cbiAqXG4gKiBAY2FsbGJhY2sgTWVyZ2VDb21wb25lbnRzXG4gKiAgIEN1c3RvbSBtZXJnZSBmdW5jdGlvbi5cbiAqIEBwYXJhbSB7Q29tcG9uZW50c30gY3VycmVudENvbXBvbmVudHNcbiAqICAgQ3VycmVudCBjb21wb25lbnRzIGZyb20gdGhlIGNvbnRleHQuXG4gKiBAcmV0dXJucyB7Q29tcG9uZW50c31cbiAqICAgTWVyZ2VkIGNvbXBvbmVudHMuXG4gKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG4vKipcbiAqIEB0eXBlIHtpbXBvcnQoJ3JlYWN0JykuQ29udGV4dDxDb21wb25lbnRzPn1cbiAqIEBkZXByZWNhdGVkXG4gKiAgIFRoaXMgZXhwb3J0IGlzIG1hcmtlZCBhcyBhIGxlZ2FjeSBmZWF0dXJlLlxuICogICBUaGF0IG1lYW5zIGl04oCZcyBubyBsb25nZXIgcmVjb21tZW5kZWQgZm9yIHVzZSBhcyBpdCBtaWdodCBiZSByZW1vdmVkXG4gKiAgIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuXG4gKlxuICogICBQbGVhc2UgdXNlIGB1c2VNRFhDb21wb25lbnRzYCB0byBnZXQgY29udGV4dCBiYXNlZCBjb21wb25lbnRzIGFuZFxuICogICBgTURYUHJvdmlkZXJgIHRvIHNldCBjb250ZXh0IGJhc2VkIGNvbXBvbmVudHMgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1EWENvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0KHt9KVxuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCdyZWFjdCcpLkNvbXBvbmVudFR5cGU8YW55Pn0gQ29tcG9uZW50XG4gKiBAZGVwcmVjYXRlZFxuICogICBUaGlzIGV4cG9ydCBpcyBtYXJrZWQgYXMgYSBsZWdhY3kgZmVhdHVyZS5cbiAqICAgVGhhdCBtZWFucyBpdOKAmXMgbm8gbG9uZ2VyIHJlY29tbWVuZGVkIGZvciB1c2UgYXMgaXQgbWlnaHQgYmUgcmVtb3ZlZFxuICogICBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLlxuICpcbiAqICAgUGxlYXNlIHVzZSBgdXNlTURYQ29tcG9uZW50c2AgdG8gZ2V0IGNvbnRleHQgYmFzZWQgY29tcG9uZW50cyBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aE1EWENvbXBvbmVudHMoQ29tcG9uZW50KSB7XG4gIHJldHVybiBib3VuZE1EWENvbXBvbmVudFxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHVua25vd24+ICYge2NvbXBvbmVudHM/OiBDb21wb25lbnRzIHwgbnVsbCB8IHVuZGVmaW5lZH19IHByb3BzXG4gICAqIEByZXR1cm5zIHtKU1guRWxlbWVudH1cbiAgICovXG4gIGZ1bmN0aW9uIGJvdW5kTURYQ29tcG9uZW50KHByb3BzKSB7XG4gICAgY29uc3QgYWxsQ29tcG9uZW50cyA9IHVzZU1EWENvbXBvbmVudHMocHJvcHMuY29tcG9uZW50cylcbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChDb21wb25lbnQsIHsuLi5wcm9wcywgYWxsQ29tcG9uZW50c30pXG4gIH1cbn1cblxuLyoqXG4gKiBHZXQgY3VycmVudCBjb21wb25lbnRzIGZyb20gdGhlIE1EWCBDb250ZXh0LlxuICpcbiAqIEBwYXJhbSB7Q29tcG9uZW50cyB8IE1lcmdlQ29tcG9uZW50cyB8IG51bGwgfCB1bmRlZmluZWR9IFtjb21wb25lbnRzXVxuICogICBBZGRpdGlvbmFsIGNvbXBvbmVudHMgdG8gdXNlIG9yIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgY3VycmVudFxuICogICBjb21wb25lbnRzIGFuZCBmaWx0ZXJzL21lcmdlcy9jaGFuZ2VzIHRoZW0uXG4gKiBAcmV0dXJucyB7Q29tcG9uZW50c31cbiAqICAgQ3VycmVudCBjb21wb25lbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlTURYQ29tcG9uZW50cyhjb21wb25lbnRzKSB7XG4gIGNvbnN0IGNvbnRleHRDb21wb25lbnRzID0gUmVhY3QudXNlQ29udGV4dChNRFhDb250ZXh0KVxuXG4gIC8vIE1lbW9pemUgdG8gYXZvaWQgdW5uZWNlc3NhcnkgdG9wLWxldmVsIGNvbnRleHQgY2hhbmdlc1xuICByZXR1cm4gUmVhY3QudXNlTWVtbygoKSA9PiB7XG4gICAgLy8gQ3VzdG9tIG1lcmdlIHZpYSBhIGZ1bmN0aW9uIHByb3BcbiAgICBpZiAodHlwZW9mIGNvbXBvbmVudHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBjb21wb25lbnRzKGNvbnRleHRDb21wb25lbnRzKVxuICAgIH1cblxuICAgIHJldHVybiB7Li4uY29udGV4dENvbXBvbmVudHMsIC4uLmNvbXBvbmVudHN9XG4gIH0sIFtjb250ZXh0Q29tcG9uZW50cywgY29tcG9uZW50c10pXG59XG5cbi8qKiBAdHlwZSB7Q29tcG9uZW50c30gKi9cbmNvbnN0IGVtcHR5T2JqZWN0ID0ge31cblxuLyoqXG4gKiBQcm92aWRlciBmb3IgTURYIGNvbnRleHRcbiAqXG4gKiBAcGFyYW0ge1Byb3BzfSBwcm9wc1xuICogQHJldHVybnMge0pTWC5FbGVtZW50fVxuICovXG5leHBvcnQgZnVuY3Rpb24gTURYUHJvdmlkZXIoe2NvbXBvbmVudHMsIGNoaWxkcmVuLCBkaXNhYmxlUGFyZW50Q29udGV4dH0pIHtcbiAgLyoqIEB0eXBlIHtDb21wb25lbnRzfSAqL1xuICBsZXQgYWxsQ29tcG9uZW50c1xuXG4gIGlmIChkaXNhYmxlUGFyZW50Q29udGV4dCkge1xuICAgIGFsbENvbXBvbmVudHMgPVxuICAgICAgdHlwZW9mIGNvbXBvbmVudHMgPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyBjb21wb25lbnRzKHt9KVxuICAgICAgICA6IGNvbXBvbmVudHMgfHwgZW1wdHlPYmplY3RcbiAgfSBlbHNlIHtcbiAgICBhbGxDb21wb25lbnRzID0gdXNlTURYQ29tcG9uZW50cyhjb21wb25lbnRzKVxuICB9XG5cbiAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXG4gICAgTURYQ29udGV4dC5Qcm92aWRlcixcbiAgICB7dmFsdWU6IGFsbENvbXBvbmVudHN9LFxuICAgIGNoaWxkcmVuXG4gIClcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../node_modules/@mdx-js/react/lib/index.js\n"));
/***/ }),
/***/ "../../node_modules/next-mdx-remote/dist/index.js":
/*!********************************************************!*\
!*** ../../node_modules/next-mdx-remote/dist/index.js ***!
\********************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"MDXRemote\": function() { return /* binding */ MDXRemote; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"../../node_modules/react/index.js\");\n/* harmony import */ var _jsx_runtime_cjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./jsx-runtime.cjs */ \"../../node_modules/next-mdx-remote/dist/jsx-runtime.cjs\");\n/* harmony import */ var _mdx_js_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mdx-js/react */ \"../../node_modules/@mdx-js/react/index.js\");\n\n\n\n\n/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\nif (typeof window !== 'undefined') {\n window.requestIdleCallback =\n window.requestIdleCallback ||\n function (cb) {\n var start = Date.now();\n return setTimeout(function () {\n cb({\n didTimeout: false,\n timeRemaining: function () {\n return Math.max(0, 50 - (Date.now() - start))\n },\n });\n }, 1)\n };\n\n window.cancelIdleCallback =\n window.cancelIdleCallback ||\n function (id) {\n clearTimeout(id);\n };\n}\n\n/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n/**\n * Renders compiled source from next-mdx-remote/serialize.\n */\nfunction MDXRemote({ compiledSource, frontmatter, scope, components = {}, lazy, }) {\n const [isReadyToRender, setIsReadyToRender] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(!lazy || typeof window === 'undefined');\n // if we're on the client side and `lazy` is set to true, we hydrate the\n // mdx content inside requestIdleCallback, allowing the page to get to\n // interactive quicker, but the mdx content to hydrate slower.\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {\n if (lazy) {\n const handle = window.requestIdleCallback(() => {\n setIsReadyToRender(true);\n });\n return () => window.cancelIdleCallback(handle);\n }\n }, []);\n const Content = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {\n // if we're ready to render, we can assemble the component tree and let React do its thing\n // first we set up the scope which has to include the mdx custom\n // create element function as well as any components we're using\n const fullScope = Object.assign({ opts: { ..._mdx_js_react__WEBPACK_IMPORTED_MODULE_2__, ..._jsx_runtime_cjs__WEBPACK_IMPORTED_MODULE_1__.jsxRuntime } }, { frontmatter }, scope);\n const keys = Object.keys(fullScope);\n const values = Object.values(fullScope);\n // now we eval the source code using a function constructor\n // in order for this to work we need to have React, the mdx createElement,\n // and all our components in scope for the function, which is the case here\n // we pass the names (via keys) in as the function's args, and execute the\n // function with the actual values.\n const hydrateFn = Reflect.construct(Function, keys.concat(`${compiledSource}`));\n return hydrateFn.apply(hydrateFn, values).default;\n }, [scope, compiledSource]);\n if (!isReadyToRender) {\n // If we're not ready to render, return an empty div to preserve SSR'd markup\n return (react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", { dangerouslySetInnerHTML: { __html: '' }, suppressHydrationWarning: true }));\n }\n // wrapping the content with MDXProvider will allow us to customize the standard\n // markdown components (such as \"h1\" or \"a\") with the \"components\" object\n const content = (react__WEBPACK_IMPORTED_MODULE_0__.createElement(_mdx_js_react__WEBPACK_IMPORTED_MODULE_2__.MDXProvider, { components: components },\n react__WEBPACK_IMPORTED_MODULE_0__.createElement(Content, null)));\n // If lazy = true, we need to render a wrapping div to preserve the same markup structure that was SSR'd\n return lazy ? react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", null, content) : content;\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQtbWR4LXJlbW90ZS9kaXN0L2luZGV4LmpzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBNEQ7QUFDYjtBQUNWOztBQUVyQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1QsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixtREFBbUQsU0FBUztBQUNqRixrREFBa0QsK0NBQVE7QUFDMUQ7QUFDQTtBQUNBO0FBQ0EsSUFBSSxnREFBUztBQUNiO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsS0FBSztBQUNMLG9CQUFvQiw4Q0FBTztBQUMzQjtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsUUFBUSxHQUFHLDBDQUFHLEtBQUssd0RBQVUsSUFBSSxJQUFJLGFBQWE7QUFDNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRUFBcUUsZUFBZTtBQUNwRjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsZ0JBQWdCLGdEQUFtQixVQUFVLDJCQUEyQixZQUFZLGtDQUFrQztBQUN0SDtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsZ0RBQW1CLENBQUMsc0RBQWUsSUFBSSx3QkFBd0I7QUFDcEYsUUFBUSxnREFBbUI7QUFDM0I7QUFDQSxrQkFBa0IsZ0RBQW1CO0FBQ3JDOztBQUVxQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vbm9kZV9tb2R1bGVzL25leHQtbWR4LXJlbW90ZS9kaXN0L2luZGV4LmpzP2JkYTQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3hSdW50aW1lIH0gZnJvbSAnLi9qc3gtcnVudGltZS5janMnO1xuaW1wb3J0ICogYXMgbWR4IGZyb20gJ0BtZHgtanMvcmVhY3QnO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICB3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjayA9XG4gICAgd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2sgfHxcbiAgICBmdW5jdGlvbiAoY2IpIHtcbiAgICAgIHZhciBzdGFydCA9IERhdGUubm93KCk7XG4gICAgICByZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNiKHtcbiAgICAgICAgICBkaWRUaW1lb3V0OiBmYWxzZSxcbiAgICAgICAgICB0aW1lUmVtYWluaW5nOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gTWF0aC5tYXgoMCwgNTAgLSAoRGF0ZS5ub3coKSAtIHN0YXJ0KSlcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0sIDEpXG4gICAgfTtcblxuICB3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrID1cbiAgICB3aW5kb3cuY2FuY2VsSWRsZUNhbGxiYWNrIHx8XG4gICAgZnVuY3Rpb24gKGlkKSB7XG4gICAgICBjbGVhclRpbWVvdXQoaWQpO1xuICAgIH07XG59XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cbi8qKlxuICogUmVuZGVycyBjb21waWxlZCBzb3VyY2UgZnJvbSBuZXh0LW1keC1yZW1vdGUvc2VyaWFsaXplLlxuICovXG5mdW5jdGlvbiBNRFhSZW1vdGUoeyBjb21waWxlZFNvdXJjZSwgZnJvbnRtYXR0ZXIsIHNjb3BlLCBjb21wb25lbnRzID0ge30sIGxhenksIH0pIHtcbiAgICBjb25zdCBbaXNSZWFkeVRvUmVuZGVyLCBzZXRJc1JlYWR5VG9SZW5kZXJdID0gdXNlU3RhdGUoIWxhenkgfHwgdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpO1xuICAgIC8vIGlmIHdlJ3JlIG9uIHRoZSBjbGllbnQgc2lkZSBhbmQgYGxhenlgIGlzIHNldCB0byB0cnVlLCB3ZSBoeWRyYXRlIHRoZVxuICAgIC8vIG1keCBjb250ZW50IGluc2lkZSByZXF1ZXN0SWRsZUNhbGxiYWNrLCBhbGxvd2luZyB0aGUgcGFnZSB0byBnZXQgdG9cbiAgICAvLyBpbnRlcmFjdGl2ZSBxdWlja2VyLCBidXQgdGhlIG1keCBjb250ZW50IHRvIGh5ZHJhdGUgc2xvd2VyLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChsYXp5KSB7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGUgPSB3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNSZWFkeVRvUmVuZGVyKHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4gd2luZG93LmNhbmNlbElkbGVDYWxsYmFjayhoYW5kbGUpO1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IENvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgLy8gaWYgd2UncmUgcmVhZHkgdG8gcmVuZGVyLCB3ZSBjYW4gYXNzZW1ibGUgdGhlIGNvbXBvbmVudCB0cmVlIGFuZCBsZXQgUmVhY3QgZG8gaXRzIHRoaW5nXG4gICAgICAgIC8vIGZpcnN0IHdlIHNldCB1cCB0aGUgc2NvcGUgd2hpY2ggaGFzIHRvIGluY2x1ZGUgdGhlIG1keCBjdXN0b21cbiAgICAgICAgLy8gY3JlYXRlIGVsZW1lbnQgZnVuY3Rpb24gYXMgd2VsbCBhcyBhbnkgY29tcG9uZW50cyB3ZSdyZSB1c2luZ1xuICAgICAgICBjb25zdCBmdWxsU2NvcGUgPSBPYmplY3QuYXNzaWduKHsgb3B0czogeyAuLi5tZHgsIC4uLmpzeFJ1bnRpbWUgfSB9LCB7IGZyb250bWF0dGVyIH0sIHNjb3BlKTtcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGZ1bGxTY29wZSk7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC52YWx1ZXMoZnVsbFNjb3BlKTtcbiAgICAgICAgLy8gbm93IHdlIGV2YWwgdGhlIHNvdXJjZSBjb2RlIHVzaW5nIGEgZnVuY3Rpb24gY29uc3RydWN0b3JcbiAgICAgICAgLy8gaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayB3ZSBuZWVkIHRvIGhhdmUgUmVhY3QsIHRoZSBtZHggY3JlYXRlRWxlbWVudCxcbiAgICAgICAgLy8gYW5kIGFsbCBvdXIgY29tcG9uZW50cyBpbiBzY29wZSBmb3IgdGhlIGZ1bmN0aW9uLCB3aGljaCBpcyB0aGUgY2FzZSBoZXJlXG4gICAgICAgIC8vIHdlIHBhc3MgdGhlIG5hbWVzICh2aWEga2V5cykgaW4gYXMgdGhlIGZ1bmN0aW9uJ3MgYXJncywgYW5kIGV4ZWN1dGUgdGhlXG4gICAgICAgIC8vIGZ1bmN0aW9uIHdpdGggdGhlIGFjdHVhbCB2YWx1ZXMuXG4gICAgICAgIGNvbnN0IGh5ZHJhdGVGbiA9IFJlZmxlY3QuY29uc3RydWN0KEZ1bmN0aW9uLCBrZXlzLmNvbmNhdChgJHtjb21waWxlZFNvdXJjZX1gKSk7XG4gICAgICAgIHJldHVybiBoeWRyYXRlRm4uYXBwbHkoaHlkcmF0ZUZuLCB2YWx1ZXMpLmRlZmF1bHQ7XG4gICAgfSwgW3Njb3BlLCBjb21waWxlZFNvdXJjZV0pO1xuICAgIGlmICghaXNSZWFkeVRvUmVuZGVyKSB7XG4gICAgICAgIC8vIElmIHdlJ3JlIG5vdCByZWFkeSB0byByZW5kZXIsIHJldHVybiBhbiBlbXB0eSBkaXYgdG8gcHJlc2VydmUgU1NSJ2QgbWFya3VwXG4gICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7IF9faHRtbDogJycgfSwgc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nOiB0cnVlIH0pKTtcbiAgICB9XG4gICAgLy8gd3JhcHBpbmcgdGhlIGNvbnRlbnQgd2l0aCBNRFhQcm92aWRlciB3aWxsIGFsbG93IHVzIHRvIGN1c3RvbWl6ZSB0aGUgc3RhbmRhcmRcbiAgICAvLyBtYXJrZG93biBjb21wb25lbnRzIChzdWNoIGFzIFwiaDFcIiBvciBcImFcIikgd2l0aCB0aGUgXCJjb21wb25lbnRzXCIgb2JqZWN0XG4gICAgY29uc3QgY29udGVudCA9IChSZWFjdC5jcmVhdGVFbGVtZW50KG1keC5NRFhQcm92aWRlciwgeyBjb21wb25lbnRzOiBjb21wb25lbnRzIH0sXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29udGVudCwgbnVsbCkpKTtcbiAgICAvLyBJZiBsYXp5ID0gdHJ1ZSwgd2UgbmVlZCB0byByZW5kZXIgYSB3cmFwcGluZyBkaXYgdG8gcHJlc2VydmUgdGhlIHNhbWUgbWFya3VwIHN0cnVjdHVyZSB0aGF0IHdhcyBTU1InZFxuICAgIHJldHVybiBsYXp5ID8gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCBudWxsLCBjb250ZW50KSA6IGNvbnRlbnQ7XG59XG5cbmV4cG9ydCB7IE1EWFJlbW90ZSB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next-mdx-remote/dist/index.js\n"));
/***/ }),
/***/ "../../node_modules/next-mdx-remote/index.js":
/*!***************************************************!*\
!*** ../../node_modules/next-mdx-remote/index.js ***!
\***************************************************/
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
"use strict";
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dist_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dist/index.js */ \"../../node_modules/next-mdx-remote/dist/index.js\");\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _dist_index_js__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = function(key) { return _dist_index_js__WEBPACK_IMPORTED_MODULE_0__[key]; }.bind(0, __WEBPACK_IMPORT_KEY__)\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n/**\n * Copyright (c) HashiCorp, Inc.\n * SPDX-License-Identifier: MPL-2.0\n */\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbm9kZV9tb2R1bGVzL25leHQtbWR4LXJlbW90ZS9pbmRleC5qcy5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUUrQiIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi4vLi4vbm9kZV9tb2R1bGVzL25leHQtbWR4LXJlbW90ZS9pbmRleC5qcz9jNjQyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9kaXN0L2luZGV4LmpzJ1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../node_modules/next-mdx-remote/index.js\n"));
/***/ })
},
/******/ function(__webpack_require__) { // webpackRuntimeModules
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
/******/ __webpack_require__.O(0, ["pages/_app","main"], function() { return __webpack_exec__("../../node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2FUsers%2Falex%2Ftldraw%2Ftldraw%2Fapps%2Fdocs%2Fpages%2Findex.tsx&page=%2F!"); });
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
/******/ }
]);