diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 0c63e3a362a..1fb4cb3c838 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -46,9 +46,7 @@ jobs: ${{ runner.os }}-pnpm-store- - name: Install Packages - working-directory: ./packages/website - run: pnpm install + run: pnpm -F website install - name: Build Website - working-directory: ./packages/website - run: pnpm build + run: pnpm -F website build diff --git a/package.json b/package.json index 32823cd139f..415b3cc0b58 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,6 @@ "author": "", "license": "MIT", "devDependencies": { - "husky": "^8.0.1" + "husky": "^8.0.3" } } diff --git a/packages/bridge-ui/src/components/HeaderAnnouncement.svelte b/packages/bridge-ui/src/components/HeaderAnnouncement.svelte index 00f10634049..48120c68f59 100644 --- a/packages/bridge-ui/src/components/HeaderAnnouncement.svelte +++ b/packages/bridge-ui/src/components/HeaderAnnouncement.svelte @@ -4,8 +4,9 @@

Receive some tokens for bridging with our faucet. diff --git a/packages/protocol/contracts/bridge/Bridge.sol b/packages/protocol/contracts/bridge/Bridge.sol index fabbf73d270..ca3c924ec99 100644 --- a/packages/protocol/contracts/bridge/Bridge.sol +++ b/packages/protocol/contracts/bridge/Bridge.sol @@ -19,7 +19,7 @@ import "./libs/LibBridgeStatus.sol"; /** * Bridge contract which is deployed on both L1 and L2. Mostly a thin wrapper - * which calls the library implementations. See {IBridge} for more details. + * which calls the library implementations. See _IBridge_ for more details. * * @author dantaik * @dev The code hash for the same address on L1 and L2 may be different. diff --git a/packages/protocol/hardhat.config.ts b/packages/protocol/hardhat.config.ts index d1bc8c40ac7..72985d64267 100644 --- a/packages/protocol/hardhat.config.ts +++ b/packages/protocol/hardhat.config.ts @@ -22,7 +22,7 @@ const config: HardhatUserConfig = { "thirdparty/", "common/EssentialContract.sol", ], - outputDir: "../website/docs/smart-contracts/", + outputDir: "../website/pages/docs/contract-documentation/", pages: "files", templates: "./solidity-docgen/templates", }, diff --git a/packages/protocol/package.json b/packages/protocol/package.json index 34776163c67..ef1c7e35647 100644 --- a/packages/protocol/package.json +++ b/packages/protocol/package.json @@ -5,7 +5,7 @@ "scripts": { "compile": "pnpm hardhat preprocess && pnpm hardhat compile", "export:abi": "pnpm hardhat clear-abi && pnpm hardhat export-abi", - "export:docs": "pnpm hardhat docgen && pnpm prettier --write ../website/docs/smart-contracts/**/*.md", + "export:docs": "pnpm hardhat docgen && pnpm prettier --write ../website/pages/docs/contract-documentation/**/*.md", "clean": "rm -rf abis cache && pnpm hardhat clean", "lint:sol": "pnpm prettier '**/*.sol' --write && pnpm solhint 'contracts/**/*.sol' --fix", "eslint": "pnpm exec eslint --ignore-path .eslintignore --ext .js,.ts .", diff --git a/packages/protocol/solidity-docgen/templates/contract.hbs b/packages/protocol/solidity-docgen/templates/contract.hbs index e4ed15831c2..b380ffcbb1b 100644 --- a/packages/protocol/solidity-docgen/templates/contract.hbs +++ b/packages/protocol/solidity-docgen/templates/contract.hbs @@ -1,3 +1,6 @@ +--- +title: {{name}} +--- {{>common}} {{#each items}} @@ -5,4 +8,4 @@ {{>item}} {{/hsection}} -{{/each}} +{{/each}} \ No newline at end of file diff --git a/packages/protocol/solidity-docgen/templates/page.hbs b/packages/protocol/solidity-docgen/templates/page.hbs index 793dc6f7f62..da0ced55c7f 100644 --- a/packages/protocol/solidity-docgen/templates/page.hbs +++ b/packages/protocol/solidity-docgen/templates/page.hbs @@ -3,4 +3,4 @@ {{>item}} {{/hsection}} -{{/each}} +{{/each}} \ No newline at end of file diff --git a/packages/website/.gitignore b/packages/website/.gitignore index b2d6de30624..f74c78183c9 100644 --- a/packages/website/.gitignore +++ b/packages/website/.gitignore @@ -1,20 +1,2 @@ -# Dependencies -/node_modules - -# Production -/build - -# Generated files -.docusaurus -.cache-loader - -# Misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* +.next +node_modules diff --git a/packages/website/README.md b/packages/website/README.md index 102fa30e767..aef33a6885d 100644 --- a/packages/website/README.md +++ b/packages/website/README.md @@ -3,13 +3,17 @@ ## Pre-Installation Make sure you have pnpm installed on your system. You can install it by npm as well: + ```sh npm install -g pnpm ``` + or on any POSIX systems by wget one-line official command: + ```sh wget -qO- https://get.pnpm.io/install.sh | sh - ``` + for any specific cases or systems check the official page https://pnpm.io/installation ## Installation @@ -23,7 +27,7 @@ pnpm install Start a local development server: ```sh -pnpm start +pnpm dev ``` ## Contributing diff --git a/packages/website/babel.config.js b/packages/website/babel.config.js deleted file mode 100644 index e00595dae7d..00000000000 --- a/packages/website/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], -}; diff --git a/packages/website/src/components/AddEthereumChainButton/index.tsx b/packages/website/components/AddEthereumChainButton.tsx similarity index 94% rename from packages/website/src/components/AddEthereumChainButton/index.tsx rename to packages/website/components/AddEthereumChainButton.tsx index 4ebbddcce99..a40a303ed40 100644 --- a/packages/website/src/components/AddEthereumChainButton/index.tsx +++ b/packages/website/components/AddEthereumChainButton.tsx @@ -1,5 +1,3 @@ -import React from "react"; - type Props = { buttonText: string; chain: string; @@ -52,7 +50,7 @@ async function addEthereumChain(chain: string) { }); } -export default function AddEthereumChainButton(props: Props): JSX.Element { +export default function AddEthereumChainButton(props: Props) { return (

addEthereumChain(props.chain)} diff --git a/packages/website/src/components/BlogSection/index.tsx b/packages/website/components/BlogSection.tsx similarity index 85% rename from packages/website/src/components/BlogSection/index.tsx rename to packages/website/components/BlogSection.tsx index b31651cb0bc..e7d4e92af59 100644 --- a/packages/website/src/components/BlogSection/index.tsx +++ b/packages/website/components/BlogSection.tsx @@ -1,5 +1,3 @@ -import React from "react"; - const posts = [ { title: "Taiko Ambassador Program", @@ -47,19 +45,17 @@ const posts = [ }, }, ]; -/** - * @returns Blog section displaying latest Taiko blog posts from Mirror - */ -export default function BlogSection(): JSX.Element { + +export default function BlogSection() { return ( -
+
-
+

- Latest Blog Posts + Latest blog posts

Check out the full blog at{" "} @@ -96,18 +92,16 @@ export default function BlogSection(): JSX.Element {
- - {post.author.name} - - + {post.author.name} +
-
- {post.author.name} +
+ {post.author.name}
diff --git a/packages/website/src/components/JoinUs/index.tsx b/packages/website/components/CareerSection.tsx similarity index 83% rename from packages/website/src/components/JoinUs/index.tsx rename to packages/website/components/CareerSection.tsx index fce32ab2b16..ed631e97fad 100644 --- a/packages/website/src/components/JoinUs/index.tsx +++ b/packages/website/components/CareerSection.tsx @@ -1,11 +1,9 @@ -import React from "react"; - -export default function JoinUs() { +export default function CareerSection() { return ( -
+

- Join Us 🥁 + Sounds fun?

diff --git a/packages/website/src/components/Features/index.tsx b/packages/website/components/FeaturesSection.tsx similarity index 93% rename from packages/website/src/components/Features/index.tsx rename to packages/website/components/FeaturesSection.tsx index 38fd95b46be..dd852cae2ed 100644 --- a/packages/website/src/components/Features/index.tsx +++ b/packages/website/components/FeaturesSection.tsx @@ -1,4 +1,3 @@ -import React from "react"; import { ArrowPathIcon, GlobeAltIcon, @@ -26,10 +25,10 @@ const features = [ }, ]; -export default function Features() { +export default function FeaturesSection() { return ( -
-
+
+
{features.map((feature) => (
diff --git a/packages/website/components/Footer.tsx b/packages/website/components/Footer.tsx new file mode 100644 index 00000000000..3bdba7cef73 --- /dev/null +++ b/packages/website/components/Footer.tsx @@ -0,0 +1,100 @@ +export default function Footer() { + return ( + + ); +} diff --git a/packages/website/src/components/Hero/index.tsx b/packages/website/components/Hero.tsx similarity index 91% rename from packages/website/src/components/Hero/index.tsx rename to packages/website/components/Hero.tsx index 4ca99117d54..6d9cf7c0e8d 100644 --- a/packages/website/src/components/Hero/index.tsx +++ b/packages/website/components/Hero.tsx @@ -1,5 +1,3 @@ -import React from "react"; - export default function Hero() { // Enlarges and decreases the opacity of the taikoGeom image upon scroll if (typeof window !== "undefined") { @@ -39,7 +37,7 @@ export default function Hero() { } return ( -
+
@@ -52,10 +50,10 @@ export default function Hero() { @@ -69,7 +67,7 @@ export default function Hero() {
diff --git a/packages/website/components/ThemedImage.tsx b/packages/website/components/ThemedImage.tsx new file mode 100644 index 00000000000..8ac3a60aedf --- /dev/null +++ b/packages/website/components/ThemedImage.tsx @@ -0,0 +1,30 @@ +import Image from "next/image"; +import { useTheme } from "next-themes"; +import { useEffect, useState } from "react"; + +function ThemedImage() { + const { theme } = useTheme(); + const [src, setSrc] = useState(null); + + useEffect(() => { + setSrc( + localStorage.getItem("theme") === "dark" || + localStorage.getItem("theme") === "system" || + localStorage.getItem("theme") === null + ? "/images/logotype-white.png" + : "/images/logotype-black.png" + ); + }, [theme]); + + return src ? ( + logo + ) : null; +} + +export default ThemedImage; diff --git a/packages/website/docs/smart-contracts/L1/LibData.md b/packages/website/docs/smart-contracts/L1/LibData.md deleted file mode 100644 index 03dcd6c5dac..00000000000 --- a/packages/website/docs/smart-contracts/L1/LibData.md +++ /dev/null @@ -1,105 +0,0 @@ -## LibData - -### BlockMetadata - -```solidity -struct BlockMetadata { - uint256 id; - uint256 l1Height; - bytes32 l1Hash; - address beneficiary; - bytes32 txListHash; - bytes32 mixHash; - bytes extraData; - uint64 gasLimit; - uint64 timestamp; - uint64 commitHeight; - uint64 commitSlot; -} -``` - -### ProposedBlock - -```solidity -struct ProposedBlock { - bytes32 metaHash; - address proposer; - uint64 proposedAt; -} -``` - -### ForkChoice - -```solidity -struct ForkChoice { - bytes32 blockHash; - uint64 provenAt; - address[] provers; -} -``` - -### State - -```solidity -struct State { - mapping(uint256 => bytes32) l2Hashes; - mapping(uint256 => struct LibData.ProposedBlock) proposedBlocks; - mapping(uint256 => mapping(bytes32 => struct LibData.ForkChoice)) forkChoices; - mapping(address => mapping(uint256 => bytes32)) commits; - uint64 genesisHeight; - uint64 genesisTimestamp; - uint64 __reservedA1; - uint64 statusBits; - uint64 nextBlockId; - uint64 lastProposedAt; - uint64 avgBlockTime; - uint64 __avgGasLimit; - uint64 latestVerifiedHeight; - uint64 latestVerifiedId; - uint64 avgProofTime; - uint64 __reservedC1; - uint256[42] __gap; -} -``` - -### TentativeState - -```solidity -struct TentativeState { - mapping(address => bool) proposers; - mapping(address => bool) provers; - bool whitelistProposers; - bool whitelistProvers; - uint256[46] __gap; -} -``` - -### saveProposedBlock - -```solidity -function saveProposedBlock(struct LibData.State state, uint256 id, struct LibData.ProposedBlock blk) internal -``` - -### getProposedBlock - -```solidity -function getProposedBlock(struct LibData.State state, uint256 id) internal view returns (struct LibData.ProposedBlock) -``` - -### getL2BlockHash - -```solidity -function getL2BlockHash(struct LibData.State state, uint256 number) internal view returns (bytes32) -``` - -### getStateVariables - -```solidity -function getStateVariables(struct LibData.State state) internal view returns (uint64 genesisHeight, uint64 latestVerifiedHeight, uint64 latestVerifiedId, uint64 nextBlockId) -``` - -### hashMetadata - -```solidity -function hashMetadata(struct LibData.BlockMetadata meta) internal pure returns (bytes32) -``` diff --git a/packages/website/docusaurus.config.js b/packages/website/docusaurus.config.js deleted file mode 100644 index ca12685c876..00000000000 --- a/packages/website/docusaurus.config.js +++ /dev/null @@ -1,209 +0,0 @@ -// @ts-check -// Note: type annotations allow type checking and IDEs autocompletion - -const lightCodeTheme = require("prism-react-renderer/themes/duotoneLight"); -const darkCodeTheme = require("prism-react-renderer/themes/duotoneDark"); -const math = require("remark-math"); -const katex = require("rehype-katex"); - -/** @type {import('@docusaurus/types').Config} */ -const config = { - title: "Taiko", - tagline: "A decentralized Ethereum-equivalent ZK-Rollup", - url: "https://taiko.xyz", - baseUrl: "/", - onBrokenLinks: "throw", - onBrokenMarkdownLinks: "warn", - favicon: "img/Taiko_Favicon_Fluo.png", - - // Even if you don't use internalization, you can use this field to set useful - // metadata like html lang. For example, if your site is Chinese, you may want - // to replace "en" with "zh-Hans". - i18n: { - defaultLocale: "en", - locales: ["en"], - }, - - plugins: [], - - presets: [ - [ - "classic", - /** @type {import('@docusaurus/preset-classic').Options} */ - ({ - docs: { - sidebarPath: require.resolve("./sidebars.js"), - // Remove this to remove the "edit this page" links. - editUrl: - "https://github.com/taikoxyz/taiko-mono/tree/main/packages/website/", - remarkPlugins: [math], - rehypePlugins: [katex], - }, - theme: { - customCss: require.resolve("./src/css/custom.css"), - }, - }), - ], - ], - - stylesheets: [ - "https://fonts.googleapis.com/css2?family=Oxanium:wght@200;300;400;500;700&display=swap", - { - href: "https://cdn.jsdelivr.net/npm/katex@0.13.24/dist/katex.min.css", - type: "text/css", - integrity: - "sha384-odtC+0UGzzFL/6PNoE8rX/SPcQDXBJ+uRepguP4QkPCm2LBxH3FA3y+fKSiJ+AmM", - crossorigin: "anonymous", - }, - ], - - themeConfig: - /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ - ({ - announcementBar: { - id: "alpha-1-testnet", - content: - 'Snæfellsjökull is erupting 🌋 start here', - backgroundColor: "#fafbfc", - textColor: "#171717", - isCloseable: false, - }, - colorMode: { - defaultMode: "light", - respectPrefersColorScheme: false, - }, - navbar: { - logo: { - alt: "Taiko Logo", - src: "./img/Taiko_Logotype_Horiz_1_Fluo_Black.svg", - srcDark: "./img/Taiko_Logotype_Horiz_1_Fluo_White.svg", - }, - items: [ - { - to: "docs/intro", - label: "Docs", - }, - { - href: "https://mirror.xyz/labs.taiko.eth", - label: "Blog", - }, - { - href: "https://bridge.a1.taiko.xyz/", - label: "Bridge", - }, - { - label: "Faucet", - type: "dropdown", - items: [ - { - href: "https://l1faucet.a1.taiko.xyz/", - label: "L1 Faucet", - }, - { - href: "https://l2faucet.a1.taiko.xyz/", - label: "L2 Faucet", - }, - ], - }, - { - label: "Block Explorer", - type: "dropdown", - items: [ - { - href: "https://l1explorer.a1.taiko.xyz/", - label: "L1 Explorer", - }, - { - href: "https://l2explorer.a1.taiko.xyz/", - label: "L2 Explorer", - }, - ], - }, - { - href: "https://discord.gg/taikoxyz", - position: "right", - className: "header-discord-link", - "aria-label": "Discord", - }, - { - href: "https://github.com/taikoxyz", - position: "right", - className: "header-github-link", - "aria-label": "GitHub", - }, - { - href: "https://www.reddit.com/r/taiko_xyz/", - position: "right", - className: "header-reddit-link", - "aria-label": "Reddit", - }, - { - href: "https://twitter.com/taikoxyz", - position: "right", - className: "header-twitter-link", - "aria-label": "Twitter", - }, - ], - }, - footer: { - copyright: "© Taiko Labs " + new Date().getFullYear(), - style: "dark", - links: [ - { - title: "About", - items: [ - { - label: "Careers", - to: "https://www.notion.so/taikoxyz/Taiko-Jobs-828fd7232d2c4150a11e10c8baa910a2", - }, - { - label: "Media kit", - to: "https://github.com/taikoxyz/taiko-mono/tree/main/packages/branding/", - }, - ], - }, - { - title: "Developers", - items: [ - { - label: "Getting started", - to: "docs/intro", - }, - { - label: "GitHub", - to: "https://github.com/taikoxyz", - }, - ], - }, - { - title: "Social", - items: [ - { - label: "Discord", - to: "https://discord.gg/taikoxyz", - }, - { - label: "Reddit", - to: "https://www.reddit.com/r/taiko_xyz/", - }, - { - label: "Twitter", - to: "https://twitter.com/taikoxyz", - }, - { - label: "YouTube", - to: "https://www.youtube.com/@taikoxyz", - }, - ], - }, - ], - }, - prism: { - additionalLanguages: ["solidity"], - darkTheme: darkCodeTheme, - theme: lightCodeTheme, - }, - }), -}; - -module.exports = config; diff --git a/packages/website/next-env.d.ts b/packages/website/next-env.d.ts new file mode 100644 index 00000000000..4f11a03dc6c --- /dev/null +++ b/packages/website/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/packages/website/next.config.js b/packages/website/next.config.js new file mode 100644 index 00000000000..102f41624ab --- /dev/null +++ b/packages/website/next.config.js @@ -0,0 +1,7 @@ +const withNextra = require("nextra")({ + defaultShowCopyCode: true, + theme: "nextra-theme-docs", + themeConfig: "./theme.config.tsx", +}); + +module.exports = withNextra(); diff --git a/packages/website/package.json b/packages/website/package.json index 152caba2ae5..6e63579ab4c 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -3,55 +3,27 @@ "version": "0.0.0", "private": true, "scripts": { - "build": "docusaurus build", - "clear": "docusaurus clear", - "deploy": "docusaurus deploy", - "docusaurus": "docusaurus", - "import:docs": "./scripts/import-docs.sh", - "serve": "docusaurus serve", - "start": "docusaurus start", - "swizzle": "docusaurus swizzle", - "typecheck": "tsc", - "write-heading-ids": "docusaurus write-heading-ids", - "write-translations": "docusaurus write-translations" + "build": "pnpm next build", + "dev": "pnpm next dev", + "start": "pnpm next start" }, "dependencies": { - "@docusaurus/core": "2.2.0", - "@docusaurus/preset-classic": "2.2.0", - "@mdx-js/react": "^1.6.22", - "clsx": "^1.2.1", - "hast-util-is-element": "1.1.0", - "prism-react-renderer": "^1.3.5", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "rehype-katex": "^5.0.0", - "remark-math": "^3.0.1" + "next": "^13.1.2", + "next-themes": "^0.2.1", + "nextra": "^2.2.3", + "nextra-theme-docs": "^2.2.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sharp": "^0.31.3" }, "devDependencies": { - "@docusaurus/module-type-aliases": "2.2.0", - "@docusaurus/theme-classic": "^2.2.0", - "@docusaurus/types": "^2.2.0", "@heroicons/react": "^2.0.13", - "@tsconfig/docusaurus": "^1.0.6", - "@types/node": "^12.20.45", + "@next/font": "^13.1.2", + "@types/node": "^18.11.10", + "@types/react": "^18.0.26", "autoprefixer": "^10.4.13", - "postcss": "^8.4.19", + "postcss": "^8.4.20", "tailwindcss": "^3.2.4", - "typescript": "^4.8.4" - }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "engines": { - "node": ">=16.14" + "typescript": "^4.9.3" } } diff --git a/packages/website/pages/_app.tsx b/packages/website/pages/_app.tsx new file mode 100644 index 00000000000..131a6be6e6b --- /dev/null +++ b/packages/website/pages/_app.tsx @@ -0,0 +1,15 @@ +import "../styles.css"; +import { Oxanium } from "@next/font/google"; + +const oxanium = Oxanium({ + subsets: ["latin"], + variable: "--font-oxanium", +}); + +export default function MyApp({ Component, pageProps }) { + return ( +
+ +
+ ); +} diff --git a/packages/website/pages/_meta.json b/packages/website/pages/_meta.json new file mode 100644 index 00000000000..8a62f9c79ed --- /dev/null +++ b/packages/website/pages/_meta.json @@ -0,0 +1,58 @@ +{ + "index": { + "display": "hidden", + "title": "Taiko", + "type": "page", + "theme": { + "layout": "raw" + } + }, + "docs": { + "title": "Docs", + "type": "page" + }, + "blog": { + "title": "Blog", + "type": "page", + "href": "https://mirror.xyz/labs.taiko.eth", + "newWindow": true + }, + "Snæfellsjökull": { + "title": "Snæfellsjökull Testnet", + "type": "menu", + "items": { + "status": { + "title": "Status", + "type": "page", + "href": "https://status.a1.taiko.xyz", + "newWindow": true + }, + "bridge": { + "title": "Bridge", + "type": "page", + "href": "https://bridge.a1.taiko.xyz", + "newWindow": true + }, + "l1faucet": { + "title": "L1 Faucet", + "href": "https://l1faucet.a1.taiko.xyz/", + "newWindow": true + }, + "l2faucet": { + "title": "L2 Faucet", + "href": "https://l2faucet.a1.taiko.xyz/", + "newWindow": true + }, + "l1explorer": { + "title": "L1 Block Explorer", + "href": "https://l1explorer.a1.taiko.xyz/", + "newWindow": true + }, + "l2explorer": { + "title": "L2 Block Explorer", + "href": "https://l2explorer.a1.taiko.xyz/", + "newWindow": true + } + } + } +} diff --git a/packages/website/pages/docs/_meta.json b/packages/website/pages/docs/_meta.json new file mode 100644 index 00000000000..593ac070aec --- /dev/null +++ b/packages/website/pages/docs/_meta.json @@ -0,0 +1,11 @@ +{ + "learn": { + "title": "Learn" + }, + "alpha-1-testnet-guide": { + "title": "Alpha-1 Testnet Guide" + }, + "contract-documentation": { + "title": "Contract Documentation" + } +} diff --git a/packages/website/pages/docs/alpha-1-testnet-guide/_meta.json b/packages/website/pages/docs/alpha-1-testnet-guide/_meta.json new file mode 100644 index 00000000000..495a9949394 --- /dev/null +++ b/packages/website/pages/docs/alpha-1-testnet-guide/_meta.json @@ -0,0 +1,26 @@ +{ + "get-started": { + "title": "👋 Get started" + }, + "configure-wallet": { + "title": "➕ Add networks to wallet" + }, + "request-from-faucet": { + "title": "💧 Request from faucet" + }, + "use-the-bridge": { + "title": "🌉 Use the bridge" + }, + "deploy-a-contract": { + "title": "🚀 Deploy a contract" + }, + "run-a-node": { + "title": "🌐 Run a node" + }, + "explore-the-network": { + "title": "🔎 Explore the network" + }, + "get-help": { + "title": "❓ Get help" + } +} diff --git a/packages/website/docs/alpha-1-testnet/configure-wallet.mdx b/packages/website/pages/docs/alpha-1-testnet-guide/configure-wallet.mdx similarity index 92% rename from packages/website/docs/alpha-1-testnet/configure-wallet.mdx rename to packages/website/pages/docs/alpha-1-testnet-guide/configure-wallet.mdx index 40a04c9830e..9bbad248465 100644 --- a/packages/website/docs/alpha-1-testnet/configure-wallet.mdx +++ b/packages/website/pages/docs/alpha-1-testnet-guide/configure-wallet.mdx @@ -1,4 +1,4 @@ -import AddEthereumChainButton from "../../src/components/AddEthereumChainButton"; +import AddEthereumChainButton from "../../../components/AddEthereumChainButton"; # ➕ Add networks to wallet diff --git a/packages/website/docs/alpha-1-testnet/deploy-a-contract.md b/packages/website/pages/docs/alpha-1-testnet-guide/deploy-a-contract.mdx similarity index 96% rename from packages/website/docs/alpha-1-testnet/deploy-a-contract.md rename to packages/website/pages/docs/alpha-1-testnet-guide/deploy-a-contract.mdx index 4a338bc7e3b..927f11c2854 100644 --- a/packages/website/docs/alpha-1-testnet/deploy-a-contract.md +++ b/packages/website/pages/docs/alpha-1-testnet-guide/deploy-a-contract.mdx @@ -20,7 +20,7 @@ These steps will show you how to deploy a smart contract to Taiko A1 using Found ```sh forge create --legacy --rpc-url https://l2rpc.a1.taiko.xyz --private-key src/Counter.sol:Counter ``` - Note: Remove "<" and ">" from + Note: Remove `<` and `>` from `` We're using the `--legacy` flag because EIP-1559 is currently disabled on Taiko. We've plans to re-enable it in the future. diff --git a/packages/website/docs/alpha-1-testnet/explore-the-network.md b/packages/website/pages/docs/alpha-1-testnet-guide/explore-the-network.mdx similarity index 57% rename from packages/website/docs/alpha-1-testnet/explore-the-network.md rename to packages/website/pages/docs/alpha-1-testnet-guide/explore-the-network.mdx index 773a130c450..8b95d3a544a 100644 --- a/packages/website/docs/alpha-1-testnet/explore-the-network.md +++ b/packages/website/pages/docs/alpha-1-testnet-guide/explore-the-network.mdx @@ -1,23 +1,23 @@ # 🔍 Explore the network -Taiko's Alpha-1 testnet consists of L1 / L2 nodes with all [Taiko protocol contracts](/docs/category/contract-documentation) deployed. The mining interval of the L1 node is set to 12 seconds. +Taiko's Alpha-1 testnet consists of L1 / L2 nodes with all [Taiko protocol contracts](/docs/contract-documentation) deployed. The mining interval of the L1 node is set to 12 seconds. ## Endpoints ### L1 -- **Block Explorer:** -- **HTTP RPC Endpoint:** -- **Web Socket RPC Endpoint:** -- **ETH faucet:** +- **Block Explorer:** https://l1explorer.a1.taiko.xyz +- **HTTP RPC Endpoint:** https://l1rpc.a1.taiko.xyz +- **Web Socket RPC Endpoint:** `wss://l1ws.a1.taiko.xyz` +- **ETH faucet:** https://l1faucet.a1.taiko.xyz - **Chain ID:** `31338` ### L2 -- **Block Explorer:** -- **HTTP RPC Endpoint:** -- **Web Socket RPC Endpoint:** -- **ETH faucet:** +- **Block Explorer:** https://l2explorer.a1.taiko.xyz +- **HTTP RPC Endpoint:** https://l2rpc.a1.taiko.xyz +- **Web Socket RPC Endpoint:** ` Note: You will only be able to run a node regularly or as a proposer. In this testnet we're not running any provers. ## System requirements diff --git a/packages/website/docs/alpha-1-testnet/use-the-bridge.md b/packages/website/pages/docs/alpha-1-testnet-guide/use-the-bridge.mdx similarity index 100% rename from packages/website/docs/alpha-1-testnet/use-the-bridge.md rename to packages/website/pages/docs/alpha-1-testnet-guide/use-the-bridge.mdx diff --git a/packages/website/docs/smart-contracts/L1/ProofVerifier.md b/packages/website/pages/docs/contract-documentation/L1/ProofVerifier.md similarity index 91% rename from packages/website/docs/smart-contracts/L1/ProofVerifier.md rename to packages/website/pages/docs/contract-documentation/L1/ProofVerifier.md index b66a43a5ec3..6d80dc4a5e3 100644 --- a/packages/website/docs/smart-contracts/L1/ProofVerifier.md +++ b/packages/website/pages/docs/contract-documentation/L1/ProofVerifier.md @@ -1,3 +1,7 @@ +--- +title: IProofVerifier +--- + ## IProofVerifier ### verifyZKP @@ -12,6 +16,10 @@ function verifyZKP(bytes verificationKey, bytes zkproof, bytes32 blockHash, addr function verifyMKP(bytes key, bytes value, bytes proof, bytes32 root) external pure returns (bool verified) ``` +--- + +## title: ProofVerifier + ## ProofVerifier ### verifyZKP diff --git a/packages/website/docs/smart-contracts/L1/TaikoData.md b/packages/website/pages/docs/contract-documentation/L1/TaikoData.md similarity index 97% rename from packages/website/docs/smart-contracts/L1/TaikoData.md rename to packages/website/pages/docs/contract-documentation/L1/TaikoData.md index 6144b3f3de8..c0370bf00a3 100644 --- a/packages/website/docs/smart-contracts/L1/TaikoData.md +++ b/packages/website/pages/docs/contract-documentation/L1/TaikoData.md @@ -1,3 +1,7 @@ +--- +title: TaikoData +--- + ## TaikoData ### Config @@ -30,6 +34,7 @@ struct Config { uint64 bootstrapDiscountHalvingPeriod; uint64 initialUncleDelay; bool enableTokenomics; + bool enablePublicInputsCheck; } ``` diff --git a/packages/website/docs/smart-contracts/L1/TaikoEvents.md b/packages/website/pages/docs/contract-documentation/L1/TaikoEvents.md similarity index 95% rename from packages/website/docs/smart-contracts/L1/TaikoEvents.md rename to packages/website/pages/docs/contract-documentation/L1/TaikoEvents.md index aa541532715..0b109f41723 100644 --- a/packages/website/docs/smart-contracts/L1/TaikoEvents.md +++ b/packages/website/pages/docs/contract-documentation/L1/TaikoEvents.md @@ -1,3 +1,7 @@ +--- +title: TaikoEvents +--- + ## TaikoEvents ### BlockVerified diff --git a/packages/website/docs/smart-contracts/L1/TaikoL1.md b/packages/website/pages/docs/contract-documentation/L1/TaikoL1.md similarity index 98% rename from packages/website/docs/smart-contracts/L1/TaikoL1.md rename to packages/website/pages/docs/contract-documentation/L1/TaikoL1.md index ac2f0d0ecfc..9b908fdea25 100644 --- a/packages/website/docs/smart-contracts/L1/TaikoL1.md +++ b/packages/website/pages/docs/contract-documentation/L1/TaikoL1.md @@ -1,3 +1,7 @@ +--- +title: TaikoL1 +--- + ## TaikoL1 ### state @@ -171,6 +175,12 @@ function signWithGoldenTouch(bytes32 hash, uint8 k) public view returns (uint8 v function getBlockProvers(uint256 id, bytes32 parentHash) public view returns (address[]) ``` +### getUncleProofDelay + +```solidity +function getUncleProofDelay(uint256 blockId) public view returns (uint64) +``` + ### getConfig ```solidity diff --git a/packages/website/docs/smart-contracts/L1/TkoToken.md b/packages/website/pages/docs/contract-documentation/L1/TkoToken.md similarity index 98% rename from packages/website/docs/smart-contracts/L1/TkoToken.md rename to packages/website/pages/docs/contract-documentation/L1/TkoToken.md index 7909d2887f5..48e12089fb9 100644 --- a/packages/website/docs/smart-contracts/L1/TkoToken.md +++ b/packages/website/pages/docs/contract-documentation/L1/TkoToken.md @@ -1,3 +1,7 @@ +--- +title: TkoToken +--- + ## TkoToken _This is Taiko's governance and fee token._ diff --git a/packages/website/docs/smart-contracts/L2/TaikoL2.md b/packages/website/pages/docs/contract-documentation/L2/TaikoL2.md similarity index 99% rename from packages/website/docs/smart-contracts/L2/TaikoL2.md rename to packages/website/pages/docs/contract-documentation/L2/TaikoL2.md index 40aabafe805..be20ad227f8 100644 --- a/packages/website/docs/smart-contracts/L2/TaikoL2.md +++ b/packages/website/pages/docs/contract-documentation/L2/TaikoL2.md @@ -1,3 +1,7 @@ +--- +title: TaikoL2 +--- + ## TaikoL2 ### publicInputHash diff --git a/packages/website/pages/docs/contract-documentation/_meta.json b/packages/website/pages/docs/contract-documentation/_meta.json new file mode 100644 index 00000000000..df581386e5d --- /dev/null +++ b/packages/website/pages/docs/contract-documentation/_meta.json @@ -0,0 +1,14 @@ +{ + "L1": { + "title": "L1" + }, + "L2": { + "title": "L2" + }, + "bridge": { + "title": "Bridge" + }, + "common": { + "title": "Common" + } +} diff --git a/packages/website/docs/smart-contracts/bridge/Bridge.md b/packages/website/pages/docs/contract-documentation/bridge/Bridge.md similarity index 87% rename from packages/website/docs/smart-contracts/bridge/Bridge.md rename to packages/website/pages/docs/contract-documentation/bridge/Bridge.md index a17a27816f1..244db776306 100644 --- a/packages/website/docs/smart-contracts/bridge/Bridge.md +++ b/packages/website/pages/docs/contract-documentation/bridge/Bridge.md @@ -1,14 +1,18 @@ +--- +title: Bridge +--- + ## Bridge Bridge contract which is deployed on both L1 and L2. Mostly a thin wrapper -which calls the library implementations. See {IBridge} for more details. +which calls the library implementations. See _IBridge_ for more details. _The code hash for the same address on L1 and L2 may be different._ ### MessageStatusChanged ```solidity -event MessageStatusChanged(bytes32 signal, enum LibBridgeData.MessageStatus status) +event MessageStatusChanged(bytes32 signal, enum LibBridgeStatus.MessageStatus status) ``` ### DestChainEnabled @@ -102,7 +106,7 @@ by the specified sender. ### getMessageStatus ```solidity -function getMessageStatus(bytes32 signal) public view virtual returns (enum LibBridgeData.MessageStatus) +function getMessageStatus(bytes32 signal) public view virtual returns (enum LibBridgeStatus.MessageStatus) ``` ### context @@ -118,3 +122,9 @@ Returns the bridge state context. ```solidity function isDestChainEnabled(uint256 _chainId) public view returns (bool) ``` + +### getMessageStatusSlot + +```solidity +function getMessageStatusSlot(bytes32 signal) public pure returns (bytes32) +``` diff --git a/packages/website/docs/smart-contracts/bridge/BridgedERC20.md b/packages/website/pages/docs/contract-documentation/bridge/BridgedERC20.md similarity index 97% rename from packages/website/docs/smart-contracts/bridge/BridgedERC20.md rename to packages/website/pages/docs/contract-documentation/bridge/BridgedERC20.md index 9c16648f21b..6cead8c425f 100644 --- a/packages/website/docs/smart-contracts/bridge/BridgedERC20.md +++ b/packages/website/pages/docs/contract-documentation/bridge/BridgedERC20.md @@ -1,3 +1,7 @@ +--- +title: BridgedERC20 +--- + ## BridgedERC20 ### srcToken diff --git a/packages/website/docs/smart-contracts/bridge/EtherVault.md b/packages/website/pages/docs/contract-documentation/bridge/EtherVault.md similarity index 98% rename from packages/website/docs/smart-contracts/bridge/EtherVault.md rename to packages/website/pages/docs/contract-documentation/bridge/EtherVault.md index d3624157100..75c00935d1f 100644 --- a/packages/website/docs/smart-contracts/bridge/EtherVault.md +++ b/packages/website/pages/docs/contract-documentation/bridge/EtherVault.md @@ -1,3 +1,7 @@ +--- +title: EtherVault +--- + ## EtherVault Vault that holds Ether. diff --git a/packages/website/docs/smart-contracts/bridge/IBridge.md b/packages/website/pages/docs/contract-documentation/bridge/IBridge.md similarity index 98% rename from packages/website/docs/smart-contracts/bridge/IBridge.md rename to packages/website/pages/docs/contract-documentation/bridge/IBridge.md index 5997fc2ddb3..0eec0f526d4 100644 --- a/packages/website/docs/smart-contracts/bridge/IBridge.md +++ b/packages/website/pages/docs/contract-documentation/bridge/IBridge.md @@ -1,3 +1,7 @@ +--- +title: IBridge +--- + ## IBridge Bridge interface. diff --git a/packages/website/docs/smart-contracts/bridge/TokenVault.md b/packages/website/pages/docs/contract-documentation/bridge/TokenVault.md similarity index 99% rename from packages/website/docs/smart-contracts/bridge/TokenVault.md rename to packages/website/pages/docs/contract-documentation/bridge/TokenVault.md index 0fd52b87721..7d71f245491 100644 --- a/packages/website/docs/smart-contracts/bridge/TokenVault.md +++ b/packages/website/pages/docs/contract-documentation/bridge/TokenVault.md @@ -1,3 +1,7 @@ +--- +title: TokenVault +--- + ## TokenVault This vault holds all ERC20 tokens (but not Ether) that users have deposited. diff --git a/packages/website/docs/smart-contracts/common/AddressResolver.md b/packages/website/pages/docs/contract-documentation/common/AddressResolver.md similarity index 98% rename from packages/website/docs/smart-contracts/common/AddressResolver.md rename to packages/website/pages/docs/contract-documentation/common/AddressResolver.md index e6e81c7cc72..7e946e14b1b 100644 --- a/packages/website/docs/smart-contracts/common/AddressResolver.md +++ b/packages/website/pages/docs/contract-documentation/common/AddressResolver.md @@ -1,3 +1,7 @@ +--- +title: AddressResolver +--- + ## AddressResolver This abstract contract provides a name-to-address lookup. Under the hood, diff --git a/packages/website/docs/smart-contracts/common/ConfigManager.md b/packages/website/pages/docs/contract-documentation/common/ConfigManager.md similarity index 91% rename from packages/website/docs/smart-contracts/common/ConfigManager.md rename to packages/website/pages/docs/contract-documentation/common/ConfigManager.md index 4c3d2ddb171..4d91d70344c 100644 --- a/packages/website/docs/smart-contracts/common/ConfigManager.md +++ b/packages/website/pages/docs/contract-documentation/common/ConfigManager.md @@ -1,3 +1,7 @@ +--- +title: ConfigManager +--- + ## ConfigManager ### Updated diff --git a/packages/website/docs/smart-contracts/common/IAddressManager.md b/packages/website/pages/docs/contract-documentation/common/IAddressManager.md similarity index 97% rename from packages/website/docs/smart-contracts/common/IAddressManager.md rename to packages/website/pages/docs/contract-documentation/common/IAddressManager.md index 7b3385956e6..3a664d206ec 100644 --- a/packages/website/docs/smart-contracts/common/IAddressManager.md +++ b/packages/website/pages/docs/contract-documentation/common/IAddressManager.md @@ -1,3 +1,7 @@ +--- +title: IAddressManager +--- + ## IAddressManager Interface to set and get an address for a name. diff --git a/packages/website/docs/smart-contracts/common/IHeaderSync.md b/packages/website/pages/docs/contract-documentation/common/IHeaderSync.md similarity index 93% rename from packages/website/docs/smart-contracts/common/IHeaderSync.md rename to packages/website/pages/docs/contract-documentation/common/IHeaderSync.md index d0086de8e11..1c6f711c479 100644 --- a/packages/website/docs/smart-contracts/common/IHeaderSync.md +++ b/packages/website/pages/docs/contract-documentation/common/IHeaderSync.md @@ -1,3 +1,7 @@ +--- +title: IHeaderSync +--- + ## IHeaderSync Interface to set and get an address for a name. diff --git a/packages/website/docs/smart-contracts/common/IMintableERC20.md b/packages/website/pages/docs/contract-documentation/common/IMintableERC20.md similarity index 85% rename from packages/website/docs/smart-contracts/common/IMintableERC20.md rename to packages/website/pages/docs/contract-documentation/common/IMintableERC20.md index e3cc948939e..0c9d4cf636b 100644 --- a/packages/website/docs/smart-contracts/common/IMintableERC20.md +++ b/packages/website/pages/docs/contract-documentation/common/IMintableERC20.md @@ -1,3 +1,7 @@ +--- +title: IMintableERC20 +--- + ## IMintableERC20 ### mint diff --git a/packages/website/pages/docs/learn/_meta.json b/packages/website/pages/docs/learn/_meta.json new file mode 100644 index 00000000000..85c4119ef21 --- /dev/null +++ b/packages/website/pages/docs/learn/_meta.json @@ -0,0 +1,14 @@ +{ + "what-is-taiko": { + "title": "What is Taiko?" + }, + "whitepaper": { + "title": "Read the whitepaper" + }, + "talks": { + "title": "Presentations" + }, + "faqs": { + "title": "FAQs" + } +} diff --git a/packages/website/docs/intro/faq.md b/packages/website/pages/docs/learn/faqs.mdx similarity index 100% rename from packages/website/docs/intro/faq.md rename to packages/website/pages/docs/learn/faqs.mdx diff --git a/packages/website/docs/intro/talks.md b/packages/website/pages/docs/learn/talks.mdx similarity index 100% rename from packages/website/docs/intro/talks.md rename to packages/website/pages/docs/learn/talks.mdx diff --git a/packages/website/docs/intro/index.md b/packages/website/pages/docs/learn/what-is-taiko.mdx similarity index 93% rename from packages/website/docs/intro/index.md rename to packages/website/pages/docs/learn/what-is-taiko.mdx index 41d49548b3e..cf955a3eeca 100644 --- a/packages/website/docs/intro/index.md +++ b/packages/website/pages/docs/learn/what-is-taiko.mdx @@ -2,10 +2,6 @@ Taiko is a fully decentralized, Ethereum-equivalent ZK-Rollup. This is also referred to as a [Type 1 ZK-EVM](https://mirror.xyz/labs.taiko.eth/w7NSKDeKfJoEy0p89I9feixKfdK-20JgWF9HZzxfeBo). -## Learn more about Taiko - -Here are the best places to learn about Taiko. - ### Overview - [Introduction to Taiko](https://mirror.xyz/labs.taiko.eth/oRy3ZZ_4-6IEQcuLCMMlxvdH6E-T3_H7UwYVzGDsgf4) diff --git a/packages/website/docs/intro/whitepaper.md b/packages/website/pages/docs/learn/whitepaper.mdx similarity index 84% rename from packages/website/docs/intro/whitepaper.md rename to packages/website/pages/docs/learn/whitepaper.mdx index e29245be9b6..2150c7b0a45 100644 --- a/packages/website/docs/intro/whitepaper.md +++ b/packages/website/pages/docs/learn/whitepaper.mdx @@ -1,3 +1,3 @@ -# Read the whitepaper +# Whitepaper Read about the Taiko protocol in depth with the [whitepaper](https://taikoxyz.github.io/taiko-mono/taiko-whitepaper.pdf). diff --git a/packages/website/pages/index.mdx b/packages/website/pages/index.mdx new file mode 100644 index 00000000000..eb7f00416d9 --- /dev/null +++ b/packages/website/pages/index.mdx @@ -0,0 +1,13 @@ +--- +title: "Home" +--- + +import Hero from "components/Hero"; +import FeaturesSection from "components/FeaturesSection"; +import BlogSection from "components/BlogSection"; +import CareerSection from "components/CareerSection"; + + + + + diff --git a/packages/website/pnpm-lock.yaml b/packages/website/pnpm-lock.yaml new file mode 100644 index 00000000000..25239d09b03 --- /dev/null +++ b/packages/website/pnpm-lock.yaml @@ -0,0 +1,1987 @@ +lockfileVersion: 5.4 + +specifiers: + '@types/node': 18.11.10 + next: ^13.0.6 + nextra: 2.0.1 + nextra-theme-docs: 2.0.1 + react: ^18.2.0 + react-dom: ^18.2.0 + typescript: ^4.9.3 + +dependencies: + next: 13.0.6_biqbaboplfbrettd7655fr4n2y + nextra: 2.0.1_6jx7hpii6hgsrmhxgqrmo3277u + nextra-theme-docs: 2.0.1_6jx7hpii6hgsrmhxgqrmo3277u + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + +devDependencies: + '@types/node': 18.11.10 + typescript: 4.9.3 + +packages: + + /@babel/runtime/7.20.6: + resolution: {integrity: sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: false + + /@headlessui/react/1.7.4_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-D8n5yGCF3WIkPsjEYeM8knn9jQ70bigGGb5aUvN6y4BGxcT3OcOQOKcM3zRGllRCZCFxCZyQvYJF6ZE7bQUOyQ==} + engines: {node: '>=10'} + peerDependencies: + react: ^16 || ^17 || ^18 + react-dom: ^16 || ^17 || ^18 + dependencies: + client-only: 0.0.1 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + + /@mdx-js/mdx/2.1.5: + resolution: {integrity: sha512-zEG0lt+Bl/r5U6e0TOS7qDbsXICtemfAPquxWFsMbdzrvlWaqMGemLl+sjVpqlyaaiCiGVQBSGdCk0t1qXjkQg==} + dependencies: + '@types/estree-jsx': 1.0.0 + '@types/mdx': 2.0.3 + estree-util-build-jsx: 2.2.0 + estree-util-is-identifier-name: 2.0.1 + estree-util-to-js: 1.1.0 + estree-walker: 3.0.1 + hast-util-to-estree: 2.1.0 + markdown-extensions: 1.1.1 + periscopic: 3.0.4 + remark-mdx: 2.1.5 + remark-parse: 10.0.1 + remark-rehype: 10.1.0 + unified: 10.1.2 + unist-util-position-from-estree: 1.1.1 + unist-util-stringify-position: 3.0.2 + unist-util-visit: 4.1.1 + vfile: 5.3.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@mdx-js/react/2.1.5_react@18.2.0: + resolution: {integrity: sha512-3Az1I6SAWA9R38rYjz5rXBrGKeZhq96CSSyQtqY+maPj8stBsoUH5pNcmIixuGkufYsh8F5+ka2CVPo2fycWZw==} + peerDependencies: + react: '>=16' + dependencies: + '@types/mdx': 2.0.3 + '@types/react': 18.0.25 + react: 18.2.0 + dev: false + + /@napi-rs/simple-git-android-arm-eabi/0.1.8: + resolution: {integrity: sha512-JJCejHBB1G6O8nxjQLT4quWCcvLpC3oRdJJ9G3MFYSCoYS8i1bWCWeU+K7Br+xT+D6s1t9q8kNJAwJv9Ygpi0g==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@napi-rs/simple-git-android-arm64/0.1.8: + resolution: {integrity: sha512-mraHzwWBw3tdRetNOS5KnFSjvdAbNBnjFLA8I4PwTCPJj3Q4txrigcPp2d59cJ0TC51xpnPXnZjYdNwwSI9g6g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@napi-rs/simple-git-darwin-arm64/0.1.8: + resolution: {integrity: sha512-ufy/36eI/j4UskEuvqSH7uXtp3oXeLDmjQCfKJz3u5Vx98KmOMKrqAm2H81AB2WOtCo5mqS6PbBeUXR8BJX8lQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@napi-rs/simple-git-darwin-x64/0.1.8: + resolution: {integrity: sha512-Vb21U+v3tPJNl+8JtIHHT8HGe6WZ8o1Tq3f6p+Jx9Cz71zEbcIiB9FCEMY1knS/jwQEOuhhlI9Qk7d4HY+rprA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@napi-rs/simple-git-linux-arm-gnueabihf/0.1.8: + resolution: {integrity: sha512-6BPTJ7CzpSm2t54mRLVaUr3S7ORJfVJoCk2rQ8v8oDg0XAMKvmQQxOsAgqKBo9gYNHJnqrOx3AEuEgvB586BuQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@napi-rs/simple-git-linux-arm64-gnu/0.1.8: + resolution: {integrity: sha512-qfESqUCAA/XoQpRXHptSQ8gIFnETCQt1zY9VOkplx6tgYk9PCeaX4B1Xuzrh3eZamSCMJFn+1YB9Ut8NwyGgAA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@napi-rs/simple-git-linux-arm64-musl/0.1.8: + resolution: {integrity: sha512-G80BQPpaRmQpn8dJGHp4I2/YVhWDUNJwcCrJAtAdbKFDCMyCHJBln2ERL/+IEUlIAT05zK/c1Z5WEprvXEdXow==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@napi-rs/simple-git-linux-x64-gnu/0.1.8: + resolution: {integrity: sha512-NI6o1sZYEf6vPtNWJAm9w8BxJt+LlSFW0liSjYe3lc3e4dhMfV240f0ALeqlwdIldRPaDFwZSJX5/QbS7nMzhw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@napi-rs/simple-git-linux-x64-musl/0.1.8: + resolution: {integrity: sha512-wljGAEOW41er45VTiU8kXJmO480pQKzsgRCvPlJJSCaEVBbmo6XXbFIXnZy1a2J3Zyy2IOsRB4PVkUZaNuPkZQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@napi-rs/simple-git-win32-arm64-msvc/0.1.8: + resolution: {integrity: sha512-QuV4QILyKPfbWHoQKrhXqjiCClx0SxbCTVogkR89BwivekqJMd9UlMxZdoCmwLWutRx4z9KmzQqokvYI5QeepA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@napi-rs/simple-git-win32-x64-msvc/0.1.8: + resolution: {integrity: sha512-UzNS4JtjhZhZ5hRLq7BIUq+4JOwt1ThIKv11CsF1ag2l99f0123XvfEpjczKTaa94nHtjXYc2Mv9TjccBqYOew==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@napi-rs/simple-git/0.1.8: + resolution: {integrity: sha512-BvOMdkkofTz6lEE35itJ/laUokPhr/5ToMGlOH25YnhLD2yN1KpRAT4blW9tT8281/1aZjW3xyi73bs//IrDKA==} + engines: {node: '>= 10'} + optionalDependencies: + '@napi-rs/simple-git-android-arm-eabi': 0.1.8 + '@napi-rs/simple-git-android-arm64': 0.1.8 + '@napi-rs/simple-git-darwin-arm64': 0.1.8 + '@napi-rs/simple-git-darwin-x64': 0.1.8 + '@napi-rs/simple-git-linux-arm-gnueabihf': 0.1.8 + '@napi-rs/simple-git-linux-arm64-gnu': 0.1.8 + '@napi-rs/simple-git-linux-arm64-musl': 0.1.8 + '@napi-rs/simple-git-linux-x64-gnu': 0.1.8 + '@napi-rs/simple-git-linux-x64-musl': 0.1.8 + '@napi-rs/simple-git-win32-arm64-msvc': 0.1.8 + '@napi-rs/simple-git-win32-x64-msvc': 0.1.8 + dev: false + + /@next/env/13.0.6: + resolution: {integrity: sha512-yceT6DCHKqPRS1cAm8DHvDvK74DLIkDQdm5iV+GnIts8h0QbdHvkUIkdOvQoOODgpr6018skbmSQp12z5OWIQQ==} + dev: false + + /@next/swc-android-arm-eabi/13.0.6: + resolution: {integrity: sha512-FGFSj3v2Bluw8fD/X+1eXIEB0PhoJE0zfutsAauRhmNpjjZshLDgoXMWm1jTRL/04K/o9gwwO2+A8+sPVCH1uw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@next/swc-android-arm64/13.0.6: + resolution: {integrity: sha512-7MgbtU7kimxuovVsd7jSJWMkIHBDBUsNLmmlkrBRHTvgzx5nDBXogP0hzZm7EImdOPwVMPpUHRQMBP9mbsiJYQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@next/swc-darwin-arm64/13.0.6: + resolution: {integrity: sha512-AUVEpVTxbP/fxdFsjVI9d5a0CFn6NVV7A/RXOb0Y+pXKIIZ1V5rFjPwpYfIfyOo2lrqgehMNQcyMRoTrhq04xg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-darwin-x64/13.0.6: + resolution: {integrity: sha512-SasCDJlshglsPnbzhWaIF6VEGkQy2NECcAOxPwaPr0cwbbt4aUlZ7QmskNzgolr5eAjFS/xTr7CEeKJtZpAAtQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@next/swc-freebsd-x64/13.0.6: + resolution: {integrity: sha512-6Lbxd9gAdXneTkwHyYW/qtX1Tdw7ND9UbiGsGz/SP43ZInNWnW6q0au4hEVPZ9bOWWRKzcVoeTBdoMpQk9Hx9w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm-gnueabihf/13.0.6: + resolution: {integrity: sha512-wNdi5A519e1P+ozEuYOhWPzzE6m1y7mkO6NFwn6watUwO0X9nZs7fT9THmnekvmFQpaZ6U+xf2MQ9poQoCh6jQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-gnu/13.0.6: + resolution: {integrity: sha512-e8KTRnleQY1KLk5PwGV5hrmvKksCc74QRpHl5ffWnEEAtL2FE0ave5aIkXqErsPdXkiKuA/owp3LjQrP+/AH7Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-arm64-musl/13.0.6: + resolution: {integrity: sha512-/7RF03C3mhjYpHN+pqOolgME3guiHU5T3TsejuyteqyEyzdEyLHod+jcYH6ft7UZ71a6TdOewvmbLOtzHW2O8A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-gnu/13.0.6: + resolution: {integrity: sha512-kxyEXnYHpOEkFnmrlwB1QlzJtjC6sAJytKcceIyFUHbCaD3W/Qb5tnclcnHKTaFccizZRePXvV25Ok/eUSpKTw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-linux-x64-musl/13.0.6: + resolution: {integrity: sha512-N0c6gubS3WW1oYYgo02xzZnNatfVQP/CiJq2ax+DJ55ePV62IACbRCU99TZNXXg+Kos6vNW4k+/qgvkvpGDeyA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-arm64-msvc/13.0.6: + resolution: {integrity: sha512-QjeMB2EBqBFPb/ac0CYr7GytbhUkrG4EwFWbcE0vsRp4H8grt25kYpFQckL4Jak3SUrp7vKfDwZ/SwO7QdO8vw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-ia32-msvc/13.0.6: + resolution: {integrity: sha512-EQzXtdqRTcmhT/tCq81rIwE36Y3fNHPInaCuJzM/kftdXfa0F+64y7FAoMO13npX8EG1+SamXgp/emSusKrCXg==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-x64-msvc/13.0.6: + resolution: {integrity: sha512-pSkqZ//UP/f2sS9T7IvHLfEWDPTX0vRyXJnAUNisKvO3eF3e1xdhDX7dix/X3Z3lnN4UjSwOzclAI87JFbOwmQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@popperjs/core/2.11.6: + resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==} + dev: false + + /@reach/skip-nav/0.17.0_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-wkkpQK3ffczzGHis6TaUvpOabuAL9n9Kh5vr4h56XPIJP3X77VcHUDk7MK3HbV1mTgamGxc9Hbd1sXKSWLu3yA==} + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + dependencies: + '@reach/utils': 0.17.0_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + tslib: 2.4.1 + dev: false + + /@reach/utils/0.17.0_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-M5y8fCBbrWeIsxedgcSw6oDlAMQDkl5uv3VnMVJ7guwpf4E48Xlh1v66z/1BgN/WYe2y8mB/ilFD2nysEfdGeA==} + peerDependencies: + react: ^16.8.0 || 17.x + react-dom: ^16.8.0 || 17.x + dependencies: + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + tiny-warning: 1.0.3 + tslib: 2.4.1 + dev: false + + /@swc/helpers/0.4.14: + resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} + dependencies: + tslib: 2.4.1 + dev: false + + /@types/acorn/4.0.6: + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + dependencies: + '@types/estree': 1.0.0 + dev: false + + /@types/debug/4.1.7: + resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + dependencies: + '@types/ms': 0.7.31 + dev: false + + /@types/estree-jsx/1.0.0: + resolution: {integrity: sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==} + dependencies: + '@types/estree': 1.0.0 + dev: false + + /@types/estree/1.0.0: + resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} + dev: false + + /@types/hast/2.3.4: + resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /@types/mdast/3.0.10: + resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /@types/mdx/2.0.3: + resolution: {integrity: sha512-IgHxcT3RC8LzFLhKwP3gbMPeaK7BM9eBH46OdapPA7yvuIUJ8H6zHZV53J8hGZcTSnt95jANt+rTBNUUc22ACQ==} + dev: false + + /@types/ms/0.7.31: + resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + dev: false + + /@types/node/18.11.10: + resolution: {integrity: sha512-juG3RWMBOqcOuXC643OAdSA525V44cVgGV6dUDuiFtss+8Fk5x1hI93Rsld43VeJVIeqlP9I7Fn9/qaVqoEAuQ==} + dev: true + + /@types/prop-types/15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + dev: false + + /@types/react/18.0.25: + resolution: {integrity: sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.2 + csstype: 3.1.1 + dev: false + + /@types/scheduler/0.16.2: + resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} + dev: false + + /@types/unist/2.0.6: + resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} + dev: false + + /acorn-jsx/5.3.2_acorn@8.8.1: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.1 + dev: false + + /acorn/8.8.1: + resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: false + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: false + + /arch/2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + dev: false + + /arg/1.0.0: + resolution: {integrity: sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==} + dev: false + + /argparse/1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: false + + /astring/1.8.3: + resolution: {integrity: sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==} + hasBin: true + dev: false + + /bail/2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + dev: false + + /caniuse-lite/1.0.30001435: + resolution: {integrity: sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==} + dev: false + + /ccount/2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + dev: false + + /chalk/2.3.0: + resolution: {integrity: sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 4.5.0 + dev: false + + /character-entities-html4/2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + dev: false + + /character-entities-legacy/3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + dev: false + + /character-entities/2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + dev: false + + /character-reference-invalid/2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + dev: false + + /client-only/0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + dev: false + + /clipboardy/1.2.2: + resolution: {integrity: sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==} + engines: {node: '>=4'} + dependencies: + arch: 2.2.0 + execa: 0.8.0 + dev: false + + /clsx/1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + dev: false + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: false + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: false + + /comma-separated-tokens/2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + dev: false + + /compute-scroll-into-view/1.0.20: + resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} + dev: false + + /cross-spawn/5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + dev: false + + /csstype/3.1.1: + resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + dev: false + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: false + + /decode-named-character-reference/1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + dependencies: + character-entities: 2.0.2 + dev: false + + /dequal/2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: false + + /diff/5.1.0: + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + engines: {node: '>=0.3.1'} + dev: false + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: false + + /escape-string-regexp/5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: false + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /estree-util-attach-comments/2.1.0: + resolution: {integrity: sha512-rJz6I4L0GaXYtHpoMScgDIwM0/Vwbu5shbMeER596rB2D1EWF6+Gj0e0UKzJPZrpoOc87+Q2kgVFHfjAymIqmw==} + dependencies: + '@types/estree': 1.0.0 + dev: false + + /estree-util-build-jsx/2.2.0: + resolution: {integrity: sha512-apsfRxF9uLrqosApvHVtYZjISPvTJ+lBiIydpC+9wE6cF6ssbhnjyQLqaIjgzGxvC2Hbmec1M7g91PoBayYoQQ==} + dependencies: + '@types/estree-jsx': 1.0.0 + estree-util-is-identifier-name: 2.0.1 + estree-walker: 3.0.1 + dev: false + + /estree-util-is-identifier-name/1.1.0: + resolution: {integrity: sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==} + dev: false + + /estree-util-is-identifier-name/2.0.1: + resolution: {integrity: sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==} + dev: false + + /estree-util-to-js/1.1.0: + resolution: {integrity: sha512-490lbfCcpLk+ofK6HCgqDfYs4KAfq6QVvDw3+Bm1YoKRgiOjKiKYGAVQE1uwh7zVxBgWhqp4FDtp5SqunpUk1A==} + dependencies: + '@types/estree-jsx': 1.0.0 + astring: 1.8.3 + source-map: 0.7.4 + dev: false + + /estree-util-value-to-estree/1.3.0: + resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==} + engines: {node: '>=12.0.0'} + dependencies: + is-plain-obj: 3.0.0 + dev: false + + /estree-util-visit/1.2.0: + resolution: {integrity: sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==} + dependencies: + '@types/estree-jsx': 1.0.0 + '@types/unist': 2.0.6 + dev: false + + /estree-walker/3.0.1: + resolution: {integrity: sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==} + dev: false + + /execa/0.8.0: + resolution: {integrity: sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==} + engines: {node: '>=4'} + dependencies: + cross-spawn: 5.1.0 + get-stream: 3.0.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + dev: false + + /extend-shallow/2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: false + + /extend/3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: false + + /flexsearch/0.7.31: + resolution: {integrity: sha512-XGozTsMPYkm+6b5QL3Z9wQcJjNYxp0CYn3U1gO7dwD6PAqU1SVWZxI9CCg3z+ml3YfqdPnrBehaBrnH2AGKbNA==} + dev: false + + /focus-visible/5.2.0: + resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==} + dev: false + + /get-stream/3.0.0: + resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} + engines: {node: '>=4'} + dev: false + + /git-up/7.0.0: + resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} + dependencies: + is-ssh: 1.4.0 + parse-url: 8.1.0 + dev: false + + /git-url-parse/13.1.0: + resolution: {integrity: sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==} + dependencies: + git-up: 7.0.0 + dev: false + + /github-slugger/1.5.0: + resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} + dev: false + + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + dev: false + + /gray-matter/4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + dev: false + + /has-flag/2.0.0: + resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} + engines: {node: '>=0.10.0'} + dev: false + + /hast-util-to-estree/2.1.0: + resolution: {integrity: sha512-Vwch1etMRmm89xGgz+voWXvVHba2iiMdGMKmaMfYt35rbVtFDq8JNwwAIvi8zHMkO6Gvqo9oTMwJTmzVRfXh4g==} + dependencies: + '@types/estree': 1.0.0 + '@types/estree-jsx': 1.0.0 + '@types/hast': 2.3.4 + '@types/unist': 2.0.6 + comma-separated-tokens: 2.0.3 + estree-util-attach-comments: 2.1.0 + estree-util-is-identifier-name: 2.0.1 + hast-util-whitespace: 2.0.0 + mdast-util-mdx-expression: 1.3.1 + mdast-util-mdxjs-esm: 1.3.0 + property-information: 6.2.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.3.0 + unist-util-position: 4.0.3 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + dev: false + + /hast-util-to-string/1.0.4: + resolution: {integrity: sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==} + dev: false + + /hast-util-whitespace/2.0.0: + resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==} + dev: false + + /inline-style-parser/0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + dev: false + + /intersection-observer/0.12.2: + resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} + dev: false + + /is-alphabetical/2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + dev: false + + /is-alphanumerical/2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + dev: false + + /is-buffer/2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + dev: false + + /is-decimal/2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + dev: false + + /is-extendable/0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: false + + /is-hexadecimal/2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + dev: false + + /is-plain-obj/3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + dev: false + + /is-plain-obj/4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: false + + /is-reference/3.0.0: + resolution: {integrity: sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==} + dependencies: + '@types/estree': 1.0.0 + dev: false + + /is-ssh/1.4.0: + resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + dependencies: + protocols: 2.0.1 + dev: false + + /is-stream/1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + dev: false + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: false + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: false + + /js-yaml/3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: false + + /jsonc-parser/3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: false + + /kind-of/6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: false + + /kleur/4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: false + + /longest-streak/3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + dev: false + + /loose-envify/1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + dev: false + + /lru-cache/4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: false + + /markdown-extensions/1.1.1: + resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} + engines: {node: '>=0.10.0'} + dev: false + + /markdown-table/3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + dev: false + + /match-sorter/6.3.1: + resolution: {integrity: sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==} + dependencies: + '@babel/runtime': 7.20.6 + remove-accents: 0.4.2 + dev: false + + /mdast-util-definitions/5.1.1: + resolution: {integrity: sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==} + dependencies: + '@types/mdast': 3.0.10 + '@types/unist': 2.0.6 + unist-util-visit: 4.1.1 + dev: false + + /mdast-util-find-and-replace/2.2.1: + resolution: {integrity: sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==} + dependencies: + escape-string-regexp: 5.0.0 + unist-util-is: 5.1.1 + unist-util-visit-parents: 5.1.1 + dev: false + + /mdast-util-from-markdown/1.2.0: + resolution: {integrity: sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==} + dependencies: + '@types/mdast': 3.0.10 + '@types/unist': 2.0.6 + decode-named-character-reference: 1.0.2 + mdast-util-to-string: 3.1.0 + micromark: 3.1.0 + micromark-util-decode-numeric-character-reference: 1.0.0 + micromark-util-decode-string: 1.0.2 + micromark-util-normalize-identifier: 1.0.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + unist-util-stringify-position: 3.0.2 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-autolink-literal/1.0.2: + resolution: {integrity: sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==} + dependencies: + '@types/mdast': 3.0.10 + ccount: 2.0.1 + mdast-util-find-and-replace: 2.2.1 + micromark-util-character: 1.1.0 + dev: false + + /mdast-util-gfm-footnote/1.0.1: + resolution: {integrity: sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==} + dependencies: + '@types/mdast': 3.0.10 + mdast-util-to-markdown: 1.3.0 + micromark-util-normalize-identifier: 1.0.0 + dev: false + + /mdast-util-gfm-strikethrough/1.0.2: + resolution: {integrity: sha512-T/4DVHXcujH6jx1yqpcAYYwd+z5lAYMw4Ls6yhTfbMMtCt0PHY4gEfhW9+lKsLBtyhUGKRIzcUA2FATVqnvPDA==} + dependencies: + '@types/mdast': 3.0.10 + mdast-util-to-markdown: 1.3.0 + dev: false + + /mdast-util-gfm-table/1.0.6: + resolution: {integrity: sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==} + dependencies: + '@types/mdast': 3.0.10 + markdown-table: 3.0.3 + mdast-util-from-markdown: 1.2.0 + mdast-util-to-markdown: 1.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-gfm-task-list-item/1.0.1: + resolution: {integrity: sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==} + dependencies: + '@types/mdast': 3.0.10 + mdast-util-to-markdown: 1.3.0 + dev: false + + /mdast-util-gfm/2.0.1: + resolution: {integrity: sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==} + dependencies: + mdast-util-from-markdown: 1.2.0 + mdast-util-gfm-autolink-literal: 1.0.2 + mdast-util-gfm-footnote: 1.0.1 + mdast-util-gfm-strikethrough: 1.0.2 + mdast-util-gfm-table: 1.0.6 + mdast-util-gfm-task-list-item: 1.0.1 + mdast-util-to-markdown: 1.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdx-expression/1.3.1: + resolution: {integrity: sha512-TTb6cKyTA1RD+1su1iStZ5PAv3rFfOUKcoU5EstUpv/IZo63uDX03R8+jXjMEhcobXnNOiG6/ccekvVl4eV1zQ==} + dependencies: + '@types/estree-jsx': 1.0.0 + '@types/hast': 2.3.4 + '@types/mdast': 3.0.10 + mdast-util-from-markdown: 1.2.0 + mdast-util-to-markdown: 1.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdx-jsx/2.1.0: + resolution: {integrity: sha512-KzgzfWMhdteDkrY4mQtyvTU5bc/W4ppxhe9SzelO6QUUiwLAM+Et2Dnjjprik74a336kHdo0zKm7Tp+n6FFeRg==} + dependencies: + '@types/estree-jsx': 1.0.0 + '@types/hast': 2.3.4 + '@types/mdast': 3.0.10 + ccount: 2.0.1 + mdast-util-to-markdown: 1.3.0 + parse-entities: 4.0.0 + stringify-entities: 4.0.3 + unist-util-remove-position: 4.0.1 + unist-util-stringify-position: 3.0.2 + vfile-message: 3.1.3 + dev: false + + /mdast-util-mdx/2.0.0: + resolution: {integrity: sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==} + dependencies: + mdast-util-mdx-expression: 1.3.1 + mdast-util-mdx-jsx: 2.1.0 + mdast-util-mdxjs-esm: 1.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-mdxjs-esm/1.3.0: + resolution: {integrity: sha512-7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==} + dependencies: + '@types/estree-jsx': 1.0.0 + '@types/hast': 2.3.4 + '@types/mdast': 3.0.10 + mdast-util-from-markdown: 1.2.0 + mdast-util-to-markdown: 1.3.0 + transitivePeerDependencies: + - supports-color + dev: false + + /mdast-util-to-hast/12.2.4: + resolution: {integrity: sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==} + dependencies: + '@types/hast': 2.3.4 + '@types/mdast': 3.0.10 + mdast-util-definitions: 5.1.1 + micromark-util-sanitize-uri: 1.1.0 + trim-lines: 3.0.1 + unist-builder: 3.0.0 + unist-util-generated: 2.0.0 + unist-util-position: 4.0.3 + unist-util-visit: 4.1.1 + dev: false + + /mdast-util-to-markdown/1.3.0: + resolution: {integrity: sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==} + dependencies: + '@types/mdast': 3.0.10 + '@types/unist': 2.0.6 + longest-streak: 3.1.0 + mdast-util-to-string: 3.1.0 + micromark-util-decode-string: 1.0.2 + unist-util-visit: 4.1.1 + zwitch: 2.0.4 + dev: false + + /mdast-util-to-string/3.1.0: + resolution: {integrity: sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==} + dev: false + + /micromark-core-commonmark/1.0.6: + resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-factory-destination: 1.0.0 + micromark-factory-label: 1.0.2 + micromark-factory-space: 1.0.0 + micromark-factory-title: 1.0.2 + micromark-factory-whitespace: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-chunked: 1.0.0 + micromark-util-classify-character: 1.0.0 + micromark-util-html-tag-name: 1.1.0 + micromark-util-normalize-identifier: 1.0.0 + micromark-util-resolve-all: 1.0.0 + micromark-util-subtokenize: 1.0.2 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-autolink-literal/1.0.3: + resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==} + dependencies: + micromark-util-character: 1.1.0 + micromark-util-sanitize-uri: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-footnote/1.0.4: + resolution: {integrity: sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==} + dependencies: + micromark-core-commonmark: 1.0.6 + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-normalize-identifier: 1.0.0 + micromark-util-sanitize-uri: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-strikethrough/1.0.4: + resolution: {integrity: sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==} + dependencies: + micromark-util-chunked: 1.0.0 + micromark-util-classify-character: 1.0.0 + micromark-util-resolve-all: 1.0.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-table/1.0.5: + resolution: {integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==} + dependencies: + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm-tagfilter/1.0.1: + resolution: {integrity: sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==} + dependencies: + micromark-util-types: 1.0.2 + dev: false + + /micromark-extension-gfm-task-list-item/1.0.3: + resolution: {integrity: sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==} + dependencies: + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + dev: false + + /micromark-extension-gfm/2.0.1: + resolution: {integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==} + dependencies: + micromark-extension-gfm-autolink-literal: 1.0.3 + micromark-extension-gfm-footnote: 1.0.4 + micromark-extension-gfm-strikethrough: 1.0.4 + micromark-extension-gfm-table: 1.0.5 + micromark-extension-gfm-tagfilter: 1.0.1 + micromark-extension-gfm-task-list-item: 1.0.3 + micromark-util-combine-extensions: 1.0.0 + micromark-util-types: 1.0.2 + dev: false + + /micromark-extension-mdx-expression/1.0.3: + resolution: {integrity: sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==} + dependencies: + micromark-factory-mdx-expression: 1.0.6 + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-events-to-acorn: 1.2.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + dev: false + + /micromark-extension-mdx-jsx/1.0.3: + resolution: {integrity: sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==} + dependencies: + '@types/acorn': 4.0.6 + estree-util-is-identifier-name: 2.0.1 + micromark-factory-mdx-expression: 1.0.6 + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + vfile-message: 3.1.3 + dev: false + + /micromark-extension-mdx-md/1.0.0: + resolution: {integrity: sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==} + dependencies: + micromark-util-types: 1.0.2 + dev: false + + /micromark-extension-mdxjs-esm/1.0.3: + resolution: {integrity: sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==} + dependencies: + micromark-core-commonmark: 1.0.6 + micromark-util-character: 1.1.0 + micromark-util-events-to-acorn: 1.2.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + unist-util-position-from-estree: 1.1.1 + uvu: 0.5.6 + vfile-message: 3.1.3 + dev: false + + /micromark-extension-mdxjs/1.0.0: + resolution: {integrity: sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==} + dependencies: + acorn: 8.8.1 + acorn-jsx: 5.3.2_acorn@8.8.1 + micromark-extension-mdx-expression: 1.0.3 + micromark-extension-mdx-jsx: 1.0.3 + micromark-extension-mdx-md: 1.0.0 + micromark-extension-mdxjs-esm: 1.0.3 + micromark-util-combine-extensions: 1.0.0 + micromark-util-types: 1.0.2 + dev: false + + /micromark-factory-destination/1.0.0: + resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==} + dependencies: + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + dev: false + + /micromark-factory-label/1.0.2: + resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==} + dependencies: + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + dev: false + + /micromark-factory-mdx-expression/1.0.6: + resolution: {integrity: sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==} + dependencies: + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-events-to-acorn: 1.2.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + unist-util-position-from-estree: 1.1.1 + uvu: 0.5.6 + vfile-message: 3.1.3 + dev: false + + /micromark-factory-space/1.0.0: + resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==} + dependencies: + micromark-util-character: 1.1.0 + micromark-util-types: 1.0.2 + dev: false + + /micromark-factory-title/1.0.2: + resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==} + dependencies: + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + dev: false + + /micromark-factory-whitespace/1.0.0: + resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==} + dependencies: + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + dev: false + + /micromark-util-character/1.1.0: + resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==} + dependencies: + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + dev: false + + /micromark-util-chunked/1.0.0: + resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==} + dependencies: + micromark-util-symbol: 1.0.1 + dev: false + + /micromark-util-classify-character/1.0.0: + resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==} + dependencies: + micromark-util-character: 1.1.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + dev: false + + /micromark-util-combine-extensions/1.0.0: + resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==} + dependencies: + micromark-util-chunked: 1.0.0 + micromark-util-types: 1.0.2 + dev: false + + /micromark-util-decode-numeric-character-reference/1.0.0: + resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==} + dependencies: + micromark-util-symbol: 1.0.1 + dev: false + + /micromark-util-decode-string/1.0.2: + resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.0.0 + micromark-util-symbol: 1.0.1 + dev: false + + /micromark-util-encode/1.0.1: + resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==} + dev: false + + /micromark-util-events-to-acorn/1.2.0: + resolution: {integrity: sha512-WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==} + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.0 + estree-util-visit: 1.2.0 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + vfile-location: 4.0.1 + vfile-message: 3.1.3 + dev: false + + /micromark-util-html-tag-name/1.1.0: + resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==} + dev: false + + /micromark-util-normalize-identifier/1.0.0: + resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==} + dependencies: + micromark-util-symbol: 1.0.1 + dev: false + + /micromark-util-resolve-all/1.0.0: + resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==} + dependencies: + micromark-util-types: 1.0.2 + dev: false + + /micromark-util-sanitize-uri/1.1.0: + resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==} + dependencies: + micromark-util-character: 1.1.0 + micromark-util-encode: 1.0.1 + micromark-util-symbol: 1.0.1 + dev: false + + /micromark-util-subtokenize/1.0.2: + resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==} + dependencies: + micromark-util-chunked: 1.0.0 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + dev: false + + /micromark-util-symbol/1.0.1: + resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==} + dev: false + + /micromark-util-types/1.0.2: + resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==} + dev: false + + /micromark/3.1.0: + resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} + dependencies: + '@types/debug': 4.1.7 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + micromark-core-commonmark: 1.0.6 + micromark-factory-space: 1.0.0 + micromark-util-character: 1.1.0 + micromark-util-chunked: 1.0.0 + micromark-util-combine-extensions: 1.0.0 + micromark-util-decode-numeric-character-reference: 1.0.0 + micromark-util-encode: 1.0.1 + micromark-util-normalize-identifier: 1.0.0 + micromark-util-resolve-all: 1.0.0 + micromark-util-sanitize-uri: 1.1.0 + micromark-util-subtokenize: 1.0.2 + micromark-util-symbol: 1.0.1 + micromark-util-types: 1.0.2 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + dev: false + + /mri/1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + dev: false + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: false + + /nanoid/3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: false + + /next-seo/5.14.1_6jx7hpii6hgsrmhxgqrmo3277u: + resolution: {integrity: sha512-NiJeQbxYP3z+EMp52q8k3Q+OfX2+Yv2WehERDj98r2wjXxL+woKpRBdsSVYolTD0Hm8IWs42SzaISE93RoQdOw==} + peerDependencies: + next: ^8.1.1-canary.54 || >=9.0.0 + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + next: 13.0.6_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + + /next-themes/0.2.1_6jx7hpii6hgsrmhxgqrmo3277u: + resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} + peerDependencies: + next: '*' + react: '*' + react-dom: '*' + dependencies: + next: 13.0.6_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + dev: false + + /next/13.0.6_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-COvigvms2LRt1rrzfBQcMQ2GZd86Mvk1z+LOLY5pniFtL4VrTmhZ9salrbKfSiXbhsD01TrDdD68ec3ABDyscA==} + engines: {node: '>=14.6.0'} + hasBin: true + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^6.0.0 || ^7.0.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + dependencies: + '@next/env': 13.0.6 + '@swc/helpers': 0.4.14 + caniuse-lite: 1.0.30001435 + postcss: 8.4.14 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + styled-jsx: 5.1.0_react@18.2.0 + optionalDependencies: + '@next/swc-android-arm-eabi': 13.0.6 + '@next/swc-android-arm64': 13.0.6 + '@next/swc-darwin-arm64': 13.0.6 + '@next/swc-darwin-x64': 13.0.6 + '@next/swc-freebsd-x64': 13.0.6 + '@next/swc-linux-arm-gnueabihf': 13.0.6 + '@next/swc-linux-arm64-gnu': 13.0.6 + '@next/swc-linux-arm64-musl': 13.0.6 + '@next/swc-linux-x64-gnu': 13.0.6 + '@next/swc-linux-x64-musl': 13.0.6 + '@next/swc-win32-arm64-msvc': 13.0.6 + '@next/swc-win32-ia32-msvc': 13.0.6 + '@next/swc-win32-x64-msvc': 13.0.6 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: false + + /nextra-theme-docs/2.0.1_6jx7hpii6hgsrmhxgqrmo3277u: + resolution: {integrity: sha512-vrxSQjfG5hcWXd0foVUgRu1T9rD+dQdVnKzJhpEG+ncAIYTT/o7GajvYUEPPZMYvvZwehmNIUhSTDN9unnVsxw==} + peerDependencies: + next: '>=9.5.3' + react: '>=16.13.1' + react-dom: '>=16.13.1' + dependencies: + '@headlessui/react': 1.7.4_biqbaboplfbrettd7655fr4n2y + '@mdx-js/react': 2.1.5_react@18.2.0 + '@popperjs/core': 2.11.6 + '@reach/skip-nav': 0.17.0_biqbaboplfbrettd7655fr4n2y + clsx: 1.2.1 + flexsearch: 0.7.31 + focus-visible: 5.2.0 + git-url-parse: 13.1.0 + github-slugger: 1.5.0 + intersection-observer: 0.12.2 + match-sorter: 6.3.1 + next: 13.0.6_biqbaboplfbrettd7655fr4n2y + next-seo: 5.14.1_6jx7hpii6hgsrmhxgqrmo3277u + next-themes: 0.2.1_6jx7hpii6hgsrmhxgqrmo3277u + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + scroll-into-view-if-needed: 2.2.31 + dev: false + + /nextra/2.0.1_6jx7hpii6hgsrmhxgqrmo3277u: + resolution: {integrity: sha512-IOBwqMREnadxGryNHvwr3sZuD90uyaTxCWi9yxDB56UndsLBTulKwXNIOdW1FV+vKTbSGpz89wNe665Moli7Kw==} + peerDependencies: + next: '>=9.5.3' + react: '>=16.13.1' + react-dom: '>=16.13.1' + dependencies: + '@mdx-js/mdx': 2.1.5 + '@napi-rs/simple-git': 0.1.8 + github-slugger: 1.5.0 + graceful-fs: 4.2.10 + gray-matter: 4.0.3 + next: 13.0.6_biqbaboplfbrettd7655fr4n2y + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + rehype-mdx-title: 1.0.0 + rehype-pretty-code: 0.2.4_shiki@0.10.1 + remark-gfm: 3.0.1 + remark-reading-time: 2.0.1 + shiki: 0.10.1 + slash: 3.0.0 + title: 3.5.3 + unist-util-visit: 4.1.1 + transitivePeerDependencies: + - supports-color + dev: false + + /npm-run-path/2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + dependencies: + path-key: 2.0.1 + dev: false + + /p-finally/1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + dev: false + + /parse-entities/4.0.0: + resolution: {integrity: sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==} + dependencies: + '@types/unist': 2.0.6 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + dev: false + + /parse-numeric-range/1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + dev: false + + /parse-path/7.0.0: + resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + dependencies: + protocols: 2.0.1 + dev: false + + /parse-url/8.1.0: + resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + dependencies: + parse-path: 7.0.0 + dev: false + + /path-key/2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + dev: false + + /periscopic/3.0.4: + resolution: {integrity: sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg==} + dependencies: + estree-walker: 3.0.1 + is-reference: 3.0.0 + dev: false + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: false + + /postcss/8.4.14: + resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + + /property-information/6.2.0: + resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} + dev: false + + /protocols/2.0.1: + resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} + dev: false + + /pseudomap/1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: false + + /react-dom/18.2.0_react@18.2.0: + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + dev: false + + /react/18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: false + + /reading-time/1.5.0: + resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} + dev: false + + /regenerator-runtime/0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: false + + /rehype-mdx-title/1.0.0: + resolution: {integrity: sha512-5B/53Y+KQHm4/nrE6pIIPc9Ie2fbPMCLs8WwMGYWWHr+5g3TkmEijRkr8TGYHULtc+C7bOoPR8LIF5DpGROIDg==} + engines: {node: '>=12.2.0'} + dependencies: + estree-util-is-identifier-name: 1.1.0 + hast-util-to-string: 1.0.4 + unist-util-visit: 2.0.3 + dev: false + + /rehype-pretty-code/0.2.4_shiki@0.10.1: + resolution: {integrity: sha512-vbqwIa4cNwRaVur9caUw/b0jOQR88Svrs9c9RaQoogvbBxs5X9bWrSe5oFypaRTTq2cpZ45YzJQ7UUPO76LMKA==} + engines: {node: ^12.16.0 || >=13.2.0} + peerDependencies: + shiki: '*' + dependencies: + parse-numeric-range: 1.3.0 + shiki: 0.10.1 + dev: false + + /remark-gfm/3.0.1: + resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + dependencies: + '@types/mdast': 3.0.10 + mdast-util-gfm: 2.0.1 + micromark-extension-gfm: 2.0.1 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-mdx/2.1.5: + resolution: {integrity: sha512-A8vw5s+BgOa968Irt8BO7DfWJTE0Fe7Ge3hX8zzDB1DnwMZTNdK6qF2IcFao+/7nzk1vSysKcFp+3ku4vhMpaQ==} + dependencies: + mdast-util-mdx: 2.0.0 + micromark-extension-mdxjs: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-parse/10.0.1: + resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==} + dependencies: + '@types/mdast': 3.0.10 + mdast-util-from-markdown: 1.2.0 + unified: 10.1.2 + transitivePeerDependencies: + - supports-color + dev: false + + /remark-reading-time/2.0.1: + resolution: {integrity: sha512-fy4BKy9SRhtYbEHvp6AItbRTnrhiDGbqLQTSYVbQPGuRCncU1ubSsh9p/W5QZSxtYcUXv8KGL0xBgPLyNJA1xw==} + dependencies: + estree-util-is-identifier-name: 2.0.1 + estree-util-value-to-estree: 1.3.0 + reading-time: 1.5.0 + unist-util-visit: 3.1.0 + dev: false + + /remark-rehype/10.1.0: + resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + dependencies: + '@types/hast': 2.3.4 + '@types/mdast': 3.0.10 + mdast-util-to-hast: 12.2.4 + unified: 10.1.2 + dev: false + + /remove-accents/0.4.2: + resolution: {integrity: sha1-CkPTqq4egNuRngeuJUsoXZ4ce7U=} + dev: false + + /sade/1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + dependencies: + mri: 1.2.0 + dev: false + + /scheduler/0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + dev: false + + /scroll-into-view-if-needed/2.2.31: + resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} + dependencies: + compute-scroll-into-view: 1.0.20 + dev: false + + /section-matter/1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + dev: false + + /shebang-command/1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: false + + /shebang-regex/1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: false + + /shiki/0.10.1: + resolution: {integrity: sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==} + dependencies: + jsonc-parser: 3.2.0 + vscode-oniguruma: 1.7.0 + vscode-textmate: 5.2.0 + dev: false + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: false + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: false + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: false + + /source-map/0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: false + + /space-separated-tokens/2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + dev: false + + /sprintf-js/1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: false + + /stringify-entities/4.0.3: + resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + dev: false + + /strip-bom-string/1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + dev: false + + /strip-eof/1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + dev: false + + /style-to-object/0.3.0: + resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} + dependencies: + inline-style-parser: 0.1.1 + dev: false + + /styled-jsx/5.1.0_react@18.2.0: + resolution: {integrity: sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + dependencies: + client-only: 0.0.1 + react: 18.2.0 + dev: false + + /supports-color/4.5.0: + resolution: {integrity: sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==} + engines: {node: '>=4'} + dependencies: + has-flag: 2.0.0 + dev: false + + /tiny-warning/1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + dev: false + + /title/3.5.3: + resolution: {integrity: sha512-20JyowYglSEeCvZv3EZ0nZ046vLarO37prvV0mbtQV7C8DJPGgN967r8SJkqd3XK3K3lD3/Iyfp3avjfil8Q2Q==} + hasBin: true + dependencies: + arg: 1.0.0 + chalk: 2.3.0 + clipboardy: 1.2.2 + titleize: 1.0.0 + dev: false + + /titleize/1.0.0: + resolution: {integrity: sha1-fTUHIgYYMLpmF2MeDP0+oIOY2Vo=} + engines: {node: '>=0.10.0'} + dev: false + + /trim-lines/3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + dev: false + + /trough/2.1.0: + resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} + dev: false + + /tslib/2.4.1: + resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} + dev: false + + /typescript/4.9.3: + resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /unified/10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + dependencies: + '@types/unist': 2.0.6 + bail: 2.0.2 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 4.1.0 + trough: 2.1.0 + vfile: 5.3.6 + dev: false + + /unist-builder/3.0.0: + resolution: {integrity: sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /unist-util-generated/2.0.0: + resolution: {integrity: sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==} + dev: false + + /unist-util-is/4.1.0: + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + dev: false + + /unist-util-is/5.1.1: + resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==} + dev: false + + /unist-util-position-from-estree/1.1.1: + resolution: {integrity: sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /unist-util-position/4.0.3: + resolution: {integrity: sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /unist-util-remove-position/4.0.1: + resolution: {integrity: sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==} + dependencies: + '@types/unist': 2.0.6 + unist-util-visit: 4.1.1 + dev: false + + /unist-util-stringify-position/3.0.2: + resolution: {integrity: sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==} + dependencies: + '@types/unist': 2.0.6 + dev: false + + /unist-util-visit-parents/3.1.1: + resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} + dependencies: + '@types/unist': 2.0.6 + unist-util-is: 4.1.0 + dev: false + + /unist-util-visit-parents/4.1.1: + resolution: {integrity: sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==} + dependencies: + '@types/unist': 2.0.6 + unist-util-is: 5.1.1 + dev: false + + /unist-util-visit-parents/5.1.1: + resolution: {integrity: sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==} + dependencies: + '@types/unist': 2.0.6 + unist-util-is: 5.1.1 + dev: false + + /unist-util-visit/2.0.3: + resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==} + dependencies: + '@types/unist': 2.0.6 + unist-util-is: 4.1.0 + unist-util-visit-parents: 3.1.1 + dev: false + + /unist-util-visit/3.1.0: + resolution: {integrity: sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==} + dependencies: + '@types/unist': 2.0.6 + unist-util-is: 5.1.1 + unist-util-visit-parents: 4.1.1 + dev: false + + /unist-util-visit/4.1.1: + resolution: {integrity: sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==} + dependencies: + '@types/unist': 2.0.6 + unist-util-is: 5.1.1 + unist-util-visit-parents: 5.1.1 + dev: false + + /uvu/0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + dequal: 2.0.3 + diff: 5.1.0 + kleur: 4.1.5 + sade: 1.8.1 + dev: false + + /vfile-location/4.0.1: + resolution: {integrity: sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==} + dependencies: + '@types/unist': 2.0.6 + vfile: 5.3.6 + dev: false + + /vfile-message/3.1.3: + resolution: {integrity: sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==} + dependencies: + '@types/unist': 2.0.6 + unist-util-stringify-position: 3.0.2 + dev: false + + /vfile/5.3.6: + resolution: {integrity: sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==} + dependencies: + '@types/unist': 2.0.6 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.2 + vfile-message: 3.1.3 + dev: false + + /vscode-oniguruma/1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + dev: false + + /vscode-textmate/5.2.0: + resolution: {integrity: sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==} + dev: false + + /which/1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + + /yallist/2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: false + + /zwitch/2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + dev: false diff --git a/packages/website/static/img/Taiko_GEOM_1_Fluo_Sliced.svg b/packages/website/public/images/Taiko_GEOM_1_Fluo_Sliced.svg similarity index 100% rename from packages/website/static/img/Taiko_GEOM_1_Fluo_Sliced.svg rename to packages/website/public/images/Taiko_GEOM_1_Fluo_Sliced.svg diff --git a/packages/website/static/img/Taiko_Logo_Fluo.svg b/packages/website/public/images/Taiko_Logo_Fluo.svg similarity index 100% rename from packages/website/static/img/Taiko_Logo_Fluo.svg rename to packages/website/public/images/Taiko_Logo_Fluo.svg diff --git a/packages/website/static/img/Taiko_Favicon_Fluo.png b/packages/website/public/images/favicon.png old mode 100644 new mode 100755 similarity index 100% rename from packages/website/static/img/Taiko_Favicon_Fluo.png rename to packages/website/public/images/favicon.png diff --git a/packages/website/static/img/Taiko_Horiz_1_Fluo_Black.png b/packages/website/public/images/logotype-black.png similarity index 100% rename from packages/website/static/img/Taiko_Horiz_1_Fluo_Black.png rename to packages/website/public/images/logotype-black.png diff --git a/packages/website/static/img/Taiko_Horiz_1_Fluo_White.png b/packages/website/public/images/logotype-white.png similarity index 100% rename from packages/website/static/img/Taiko_Horiz_1_Fluo_White.png rename to packages/website/public/images/logotype-white.png diff --git a/packages/website/scripts/_category_.json b/packages/website/scripts/_category_.json deleted file mode 100644 index d33e5f152f7..00000000000 --- a/packages/website/scripts/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "Smart contracts", - "collapsed": true, - "link": { - "type": "generated-index" - } -} diff --git a/packages/website/scripts/import-docs.sh b/packages/website/scripts/import-docs.sh deleted file mode 100755 index 4bf424edd66..00000000000 --- a/packages/website/scripts/import-docs.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -mkdir -p ./docs/reference/smart-contracts && \ -cp -r ../protocol/docs/* ./docs/reference/smart-contracts && \ -cp ./scripts/_category_.json ./docs/reference/smart-contracts && \ -rm -rf ./docs/reference/smart-contracts/elin ./docs/reference/smart-contracts/test ./docs/reference/smart-contracts/thirdparty ./docs/reference/smart-contracts/console.md diff --git a/packages/website/sidebars.js b/packages/website/sidebars.js deleted file mode 100644 index 0d661c743c5..00000000000 --- a/packages/website/sidebars.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Creating a sidebar enables you to: - - create an ordered group of docs - - render a sidebar for each doc of that group - - provide next/previous navigation - - The sidebars can be generated from the filesystem, or explicitly defined here. - - Create as many sidebars as you want. - */ - -// @ts-check - -/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ -const sidebars = { - mySidebar: [ - { - label: "Learn", - items: ["intro/index", "intro/whitepaper", "intro/talks", "intro/faq"], - type: "category", - collapsed: false, - link: { - type: "generated-index", - }, - }, - { - label: "Alpha-1 testnet guide", - items: [ - "alpha-1-testnet/start-here", - "alpha-1-testnet/configure-wallet", - "alpha-1-testnet/request-from-faucet", - "alpha-1-testnet/use-the-bridge", - "alpha-1-testnet/deploy-a-contract", - "alpha-1-testnet/run-a-node", - "alpha-1-testnet/explore-the-network", - "alpha-1-testnet/get-help", - ], - type: "category", - collapsed: false, - link: { - type: "generated-index", - }, - }, - { - label: "Contract documentation", - items: [ - { - type: "autogenerated", - dirName: "smart-contracts", - }, - ], - type: "category", - link: { - type: "generated-index", - }, - }, - ], -}; - -module.exports = sidebars; diff --git a/packages/website/src/css/custom.css b/packages/website/src/css/custom.css deleted file mode 100644 index 5a2b0abd388..00000000000 --- a/packages/website/src/css/custom.css +++ /dev/null @@ -1,125 +0,0 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -/** - * Any CSS included here will be global. The classic template - * bundles Infima by default. Infima is a CSS framework designed to - * work well for content-centric websites. - */ - -/* You can override the default Infima variables here. */ - -.footer, -.footer__title, -.hero__subtitle, -.navbar, -.oxanium { - font-family: "Oxanium"; -} - -:root { - --ifm-color-primary: #e30ead; - --ifm-color-primary-dark: #ca0c9a; - --ifm-color-primary-darker: #b00b86; - --ifm-color-primary-darkest: #970973; - --ifm-color-primary-light: #fc0fc0; - --ifm-color-primary-lighter: #fc27c6; - --ifm-color-primary-lightest: #fd3fcd; - --ifm-code-font-size: 95%; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); -} - -/* For readability concerns, you should choose a lighter palette in dark mode. */ -[data-theme="dark"] { - --ifm-color-primary: #fc0fc0; - --ifm-color-primary-dark: #e30ead; - --ifm-color-primary-darker: #ca0c9a; - --ifm-color-primary-darkest: #b00b86; - --ifm-color-primary-light: #fc27c6; - --ifm-color-primary-lighter: #fd3fcd; - --ifm-color-primary-lightest: #fd57d3; - --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); -} - -.footer { - background-color: #242526; -} - -.navbar__logo { - margin-right: 0; -} - -.navbar__logo:hover { - opacity: 0.6; -} - -/* Social icons */ - -.header-discord-link:hover { - opacity: 0.6; -} - -.header-discord-link::before { - content: ""; - width: 24px; - height: 24px; - display: flex; - background: url("@site/static/img/social-icons/discord-black.svg") no-repeat; - background-size: contain; - background-position: center; -} - -[data-theme="dark"] .header-discord-link::before { - background: url("@site/static/img/social-icons/discord-white.svg") no-repeat; - background-size: contain; - background-position: center; -} - -.header-github-link:hover { - opacity: 0.6; -} - -.header-github-link::before { - content: ""; - width: 24px; - height: 24px; - display: flex; - background: url("@site/static/img/social-icons/github-black.svg") no-repeat; -} - -[data-theme="dark"] .header-github-link::before { - background: url("@site/static/img/social-icons/github-white.svg") no-repeat; -} - -.header-reddit-link:hover { - opacity: 0.6; -} - -.header-reddit-link::before { - content: ""; - width: 24px; - height: 24px; - display: flex; - background: url("@site/static/img/social-icons/reddit-black.svg") no-repeat; -} - -[data-theme="dark"] .header-reddit-link::before { - background: url("@site/static/img/social-icons/reddit-white.svg") no-repeat; -} - -.header-twitter-link:hover { - opacity: 0.6; -} - -.header-twitter-link::before { - content: ""; - width: 24px; - height: 24px; - display: flex; - background: url("@site/static/img/social-icons/twitter-black.svg") no-repeat; -} - -[data-theme="dark"] .header-twitter-link::before { - background: url("@site/static/img/social-icons/twitter-white.svg") no-repeat; -} diff --git a/packages/website/src/pages/index.tsx b/packages/website/src/pages/index.tsx deleted file mode 100644 index 3138458ffc7..00000000000 --- a/packages/website/src/pages/index.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import Layout from "@theme/Layout"; -import BlogSection from "../components/BlogSection"; -import JoinUs from "../components/JoinUs"; -import Features from "../components/Features"; -import Hero from "../components/Hero"; -import Head from "@docusaurus/Head"; -import AddEthereumChainButton from "../components/AddEthereumChainButton"; - -export default function Home(): JSX.Element { - return ( - - - - - - - - - - ); -} diff --git a/packages/website/static/.nojekyll b/packages/website/static/.nojekyll deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/website/static/img/Taiko_Logo_Fluo-on-Black.svg b/packages/website/static/img/Taiko_Logo_Fluo-on-Black.svg deleted file mode 100755 index 0956e5ceb21..00000000000 --- a/packages/website/static/img/Taiko_Logo_Fluo-on-Black.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/website/static/img/Taiko_Logo_Fluo.png b/packages/website/static/img/Taiko_Logo_Fluo.png deleted file mode 100755 index 948ef3aaf6b..00000000000 Binary files a/packages/website/static/img/Taiko_Logo_Fluo.png and /dev/null differ diff --git a/packages/website/static/img/Taiko_Logotype_Horiz_1_Fluo_Black.svg b/packages/website/static/img/Taiko_Logotype_Horiz_1_Fluo_Black.svg deleted file mode 100755 index 98b41d1da4f..00000000000 --- a/packages/website/static/img/Taiko_Logotype_Horiz_1_Fluo_Black.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/website/static/img/Taiko_Logotype_Horiz_1_Fluo_White.svg b/packages/website/static/img/Taiko_Logotype_Horiz_1_Fluo_White.svg deleted file mode 100755 index a0b4eaa8b48..00000000000 --- a/packages/website/static/img/Taiko_Logotype_Horiz_1_Fluo_White.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/packages/website/static/img/Taiko_Token_Fluo.png b/packages/website/static/img/Taiko_Token_Fluo.png deleted file mode 100755 index 1f4b5973123..00000000000 Binary files a/packages/website/static/img/Taiko_Token_Fluo.png and /dev/null differ diff --git a/packages/website/static/img/metamask-fox.svg b/packages/website/static/img/metamask-fox.svg deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/website/static/img/social-icons/discord-black.svg b/packages/website/static/img/social-icons/discord-black.svg deleted file mode 100644 index 9da6ee0330b..00000000000 --- a/packages/website/static/img/social-icons/discord-black.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/packages/website/static/img/social-icons/discord-white.svg b/packages/website/static/img/social-icons/discord-white.svg deleted file mode 100644 index f905d235698..00000000000 --- a/packages/website/static/img/social-icons/discord-white.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/packages/website/static/img/social-icons/github-black.svg b/packages/website/static/img/social-icons/github-black.svg deleted file mode 100644 index 8564097c9e4..00000000000 --- a/packages/website/static/img/social-icons/github-black.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/website/static/img/social-icons/github-white.svg b/packages/website/static/img/social-icons/github-white.svg deleted file mode 100644 index de905e50f43..00000000000 --- a/packages/website/static/img/social-icons/github-white.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/website/static/img/social-icons/reddit-black.svg b/packages/website/static/img/social-icons/reddit-black.svg deleted file mode 100644 index c6bdb69b7ff..00000000000 --- a/packages/website/static/img/social-icons/reddit-black.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/website/static/img/social-icons/reddit-white.svg b/packages/website/static/img/social-icons/reddit-white.svg deleted file mode 100644 index 734a1684b27..00000000000 --- a/packages/website/static/img/social-icons/reddit-white.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/website/static/img/social-icons/twitter-black.svg b/packages/website/static/img/social-icons/twitter-black.svg deleted file mode 100644 index b773145709d..00000000000 --- a/packages/website/static/img/social-icons/twitter-black.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/website/static/img/social-icons/twitter-white.svg b/packages/website/static/img/social-icons/twitter-white.svg deleted file mode 100644 index b468d0f3ecb..00000000000 --- a/packages/website/static/img/social-icons/twitter-white.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/packages/website/styles.css b/packages/website/styles.css new file mode 100644 index 00000000000..b5c61c95671 --- /dev/null +++ b/packages/website/styles.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/packages/website/tailwind.config.js b/packages/website/tailwind.config.js index 7c91663a2f5..cebe9ebbc6f 100644 --- a/packages/website/tailwind.config.js +++ b/packages/website/tailwind.config.js @@ -1,10 +1,13 @@ /** @type {import('tailwindcss').Config} */ module.exports = { - content: ["./src/**/*.{js,jsx,ts,tsx}"], + content: [ + "./pages/**/*.{js,ts,jsx,tsx}", + "./components/**/*.{js,ts,jsx,tsx}", + ], theme: { extend: { fontFamily: { - oxanium: ["Oxanium", "sans-serif"], + oxanium: ["var(--font-oxanium)"], }, }, }, @@ -13,5 +16,5 @@ module.exports = { container: false, preflight: false, }, - darkMode: ["class", '[data-theme="dark"]'], + darkMode: "class", }; diff --git a/packages/website/theme.config.tsx b/packages/website/theme.config.tsx new file mode 100644 index 00000000000..d360d9dc0f0 --- /dev/null +++ b/packages/website/theme.config.tsx @@ -0,0 +1,43 @@ +import { useRouter } from "next/router"; +import { useConfig } from "nextra-theme-docs"; +import Footer from "./components/Footer"; +import ThemedImage from "./components/ThemedImage"; + +export default { + chat: { + link: "https://discord.gg/taikoxyz", + }, + docsRepositoryBase: + "https://github.com/taikoxyz/taiko-mono/blob/main/packages/website", + footer: { + component: