├── .eslintignore ├── .npmrc ├── public ├── logo.ico ├── favicon.ico ├── weixin.jpg ├── icons │ ├── antv.png │ ├── es6.png │ ├── taro.png │ ├── apifox.png │ ├── axios.ico │ ├── coding.png │ ├── coolify.png │ ├── coolors.png │ ├── cssfx.png │ ├── figma.png │ ├── gitee.ico │ ├── igoutu.png │ ├── json-cn.ico │ ├── loading.ico │ ├── netlify.png │ ├── railway.png │ ├── typeorm.ico │ ├── uiverse.png │ ├── electron.ico │ ├── supabase.png │ ├── google_fonts.ico │ ├── hoppscotch.png │ ├── typescript.png │ ├── typing-svg.png │ ├── css-inspiration.png │ ├── github.svg │ ├── twitter.svg │ ├── rust.svg │ ├── cnblogs.svg │ ├── jquery.svg │ ├── twind.svg │ └── docusaurus.svg ├── next-web-nav-pc.png ├── next-web-nav-phone.png ├── next-web-nav-pc-dark.png ├── next-web-nav-pc-search.png ├── next-web-nav-phone-dark.png ├── next-web-nav-phone-search.png ├── next-web-nav-pc-dark-search.png ├── next-web-nav-phone-dark-search.png ├── vercel.svg ├── thirteen.svg └── next.svg ├── types └── nav.ts ├── postcss.config.mjs ├── .prettierignore ├── lib ├── utils.ts └── fonts.ts ├── next-env.d.ts ├── components ├── site-footer.tsx ├── theme-provider.tsx ├── link-content.tsx ├── site-header │ ├── components │ │ ├── theme-toggle.tsx │ │ └── icons.tsx │ └── index.tsx ├── ui │ ├── button.tsx │ ├── card-hover-effect.tsx │ ├── dialog.tsx │ └── command.tsx └── sidebar.tsx ├── .prettierrc.cjs ├── next.config.ts ├── .editorconfig ├── components.json ├── .gitignore ├── .eslintrc.json ├── app ├── page.tsx └── layout.tsx ├── tsconfig.json ├── LICENSE ├── README.md ├── package.json ├── styles └── globals.css ├── tailwind.config.ts ├── config └── site.ts └── tsconfig.tsbuildinfo /.eslintignore: -------------------------------------------------------------------------------- 1 | dist/* 2 | .cache 3 | public 4 | node_modules 5 | *.esm.js 6 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmmirror.com 2 | # registry=https://registry.npmjs.com` 3 | -------------------------------------------------------------------------------- /public/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/logo.ico -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/weixin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/weixin.jpg -------------------------------------------------------------------------------- /public/icons/antv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/antv.png -------------------------------------------------------------------------------- /public/icons/es6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/es6.png -------------------------------------------------------------------------------- /public/icons/taro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/taro.png -------------------------------------------------------------------------------- /public/icons/apifox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/apifox.png -------------------------------------------------------------------------------- /public/icons/axios.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/axios.ico -------------------------------------------------------------------------------- /public/icons/coding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/coding.png -------------------------------------------------------------------------------- /public/icons/coolify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/coolify.png -------------------------------------------------------------------------------- /public/icons/coolors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/coolors.png -------------------------------------------------------------------------------- /public/icons/cssfx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/cssfx.png -------------------------------------------------------------------------------- /public/icons/figma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/figma.png -------------------------------------------------------------------------------- /public/icons/gitee.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/gitee.ico -------------------------------------------------------------------------------- /public/icons/igoutu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/igoutu.png -------------------------------------------------------------------------------- /public/icons/json-cn.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/json-cn.ico -------------------------------------------------------------------------------- /public/icons/loading.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/loading.ico -------------------------------------------------------------------------------- /public/icons/netlify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/netlify.png -------------------------------------------------------------------------------- /public/icons/railway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/railway.png -------------------------------------------------------------------------------- /public/icons/typeorm.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/typeorm.ico -------------------------------------------------------------------------------- /public/icons/uiverse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/uiverse.png -------------------------------------------------------------------------------- /public/icons/electron.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/electron.ico -------------------------------------------------------------------------------- /public/icons/supabase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/supabase.png -------------------------------------------------------------------------------- /public/next-web-nav-pc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/next-web-nav-pc.png -------------------------------------------------------------------------------- /public/icons/google_fonts.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/google_fonts.ico -------------------------------------------------------------------------------- /public/icons/hoppscotch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/hoppscotch.png -------------------------------------------------------------------------------- /public/icons/typescript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/typescript.png -------------------------------------------------------------------------------- /public/icons/typing-svg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/typing-svg.png -------------------------------------------------------------------------------- /public/next-web-nav-phone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/next-web-nav-phone.png -------------------------------------------------------------------------------- /public/next-web-nav-pc-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/next-web-nav-pc-dark.png -------------------------------------------------------------------------------- /public/icons/css-inspiration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/icons/css-inspiration.png -------------------------------------------------------------------------------- /public/next-web-nav-pc-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/next-web-nav-pc-search.png -------------------------------------------------------------------------------- /public/next-web-nav-phone-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/next-web-nav-phone-dark.png -------------------------------------------------------------------------------- /public/next-web-nav-phone-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/next-web-nav-phone-search.png -------------------------------------------------------------------------------- /public/next-web-nav-pc-dark-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/next-web-nav-pc-dark-search.png -------------------------------------------------------------------------------- /types/nav.ts: -------------------------------------------------------------------------------- 1 | export interface NavItem { 2 | title: string 3 | href?: string 4 | disabled?: boolean 5 | external?: boolean 6 | } 7 | -------------------------------------------------------------------------------- /public/next-web-nav-phone-dark-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knowledgefxg/knowledgeweb-nav/HEAD/public/next-web-nav-phone-dark-search.png -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- 1 | /** @type {import('postcss-load-config').Config} */ 2 | const config = { 3 | plugins: { 4 | tailwindcss: {} 5 | } 6 | } 7 | 8 | export default config 9 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | cache 2 | .cache 3 | package.json 4 | package-lock.json 5 | public 6 | CHANGELOG.md 7 | .yarn 8 | dist 9 | node_modules 10 | .next 11 | build 12 | .contentlayer -------------------------------------------------------------------------------- /lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { clsx, type ClassValue } from "clsx" 2 | import { twMerge } from "tailwind-merge" 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. 6 | -------------------------------------------------------------------------------- /components/site-footer.tsx: -------------------------------------------------------------------------------- 1 | export function SiteFooter() { 2 | return ( 3 |
4 |
5 | 热爱知识,没事分享点有趣硬核的东西,包含英语学习,AI编程,科技软件,资源网站等等。 6 |
7 |
8 | ) 9 | } 10 | -------------------------------------------------------------------------------- /lib/fonts.ts: -------------------------------------------------------------------------------- 1 | import { JetBrains_Mono as FontMono, Inter as FontSans } from "next/font/google" 2 | 3 | export const fontSans = FontSans({ 4 | subsets: ["latin"], 5 | variable: "--font-sans" 6 | }) 7 | 8 | export const fontMono = FontMono({ 9 | subsets: ["latin"], 10 | variable: "--font-mono" 11 | }) 12 | -------------------------------------------------------------------------------- /.prettierrc.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import('prettier').Config} */ 2 | module.exports = { 3 | plugins: ["prettier-plugin-tailwindcss"], 4 | printWidth: 120, 5 | tabWidth: 2, 6 | useTabs: false, 7 | singleQuote: false, 8 | semi: false, 9 | trailingComma: "none", 10 | bracketSpacing: true, 11 | endOfLine: "lf" 12 | } 13 | -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- 1 | import type { NextConfig } from "next" 2 | 3 | const nextConfig: NextConfig = { 4 | /* config options here */ 5 | reactStrictMode: true, 6 | experimental: {}, 7 | images: { 8 | remotePatterns: [ 9 | { 10 | protocol: "https", 11 | hostname: "**" 12 | } 13 | ] 14 | } 15 | } 16 | 17 | export default nextConfig 18 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | # 表示所有文件适用 5 | [*] 6 | charset = utf-8 # 设置文件字符集为 utf-8 7 | end_of_line = lf # 控制换行类型(lf | cr | crlf) 8 | indent_style = tab # 缩进风格(tab | space) 9 | insert_final_newline = true # 始终在文件末尾插入一个新行 10 | 11 | # 表示仅 md 文件适用以下规则 12 | [*.md] 13 | max_line_length = off # 关闭最大行长度限制 14 | trim_trailing_whitespace = false # 关闭末尾空格修剪 15 | -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "default", 4 | "tailwind": { 5 | "config": "tailwind.config.ts", 6 | "css": "app/globals.css", 7 | "baseColor": "zinc", 8 | "cssVariables": true 9 | }, 10 | "rsc": false, 11 | "aliases": { 12 | "utils": "@/lib/utils", 13 | "components": "@/components" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /components/theme-provider.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import { ThemeProvider as NextThemesProvider } from "next-themes" 5 | import { type ThemeProviderProps } from "next-themes/dist/types" 6 | 7 | export function ThemeProvider({ children, ...props }: ThemeProviderProps) { 8 | return {children} 9 | } 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules 5 | .pnp 6 | .pnp.js 7 | 8 | # testing 9 | coverage 10 | 11 | # next.js 12 | .next/ 13 | out/ 14 | build 15 | 16 | # misc 17 | .DS_Store 18 | *.pem 19 | 20 | # debug 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | .pnpm-debug.log* 25 | 26 | # local env files 27 | .env.local 28 | .env.development.local 29 | .env.test.local 30 | .env.production.local 31 | 32 | # turbo 33 | .turbo 34 | 35 | .contentlayer 36 | .env -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/eslintrc", 3 | "root": true, 4 | "extends": [ 5 | "next/core-web-vitals", 6 | "prettier" 7 | // "plugin:tailwindcss/recommended" 8 | ], 9 | "plugins": ["tailwindcss"], 10 | "rules": { 11 | "@next/next/no-html-link-for-pages": "off", 12 | "react/jsx-key": "off", 13 | "tailwindcss/no-custom-classname": "off" 14 | }, 15 | "settings": { 16 | "tailwindcss": { 17 | "callees": ["cn"], 18 | "config": "tailwind.config.js" 19 | }, 20 | "next": { 21 | "rootDir": ["./"] 22 | } 23 | }, 24 | "overrides": [ 25 | { 26 | "files": ["*.ts", "*.tsx"], 27 | "parser": "@typescript-eslint/parser" 28 | } 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /app/page.tsx: -------------------------------------------------------------------------------- 1 | import { LinkContent } from "@/components/link-content" 2 | import { Sidebar } from "@/components/sidebar" 3 | import { SiteFooter } from "@/components/site-footer" 4 | import { SiteHeader } from "@/components/site-header" 5 | 6 | export default function IndexPage() { 7 | return ( 8 |
9 |
10 |
11 | 12 |
13 |
14 | 15 | 16 | 17 |
18 |
19 |
20 | ) 21 | } 22 | -------------------------------------------------------------------------------- /public/icons/github.svg: -------------------------------------------------------------------------------- 1 | GitHub 2 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["dom", "dom.iterable", "esnext"], 4 | "allowJs": true, 5 | "skipLibCheck": true, 6 | "strict": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "noEmit": true, 9 | "incremental": true, 10 | "esModuleInterop": true, 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "jsx": "preserve", 16 | "baseUrl": ".", 17 | "paths": { 18 | "@/*": ["./*"] 19 | }, 20 | "plugins": [ 21 | { 22 | "name": "next" 23 | } 24 | ], 25 | "strictNullChecks": true, 26 | "target": "ES2017" 27 | }, 28 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "tailwind.config.ts"], 29 | "exclude": ["node_modules"] 30 | } 31 | -------------------------------------------------------------------------------- /components/link-content.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import { NavData } from "@/config/site" 4 | import { HoverEffect } from "@/components/ui/card-hover-effect" 5 | 6 | export function LinkContent() { 7 | return ( 8 |
9 |
10 | {NavData.map((category, index) => { 11 | return ( 12 |
13 |
14 |

{category.title}

15 |
16 | ({ 18 | link, 19 | title, 20 | description: desc, 21 | icon 22 | }))} 23 | /> 24 |
25 | ) 26 | })} 27 |
28 |
29 | ) 30 | } 31 | -------------------------------------------------------------------------------- /public/icons/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/thirteen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 李文凯 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- 1 | import "@/styles/globals.css" 2 | import { Metadata } from "next" 3 | 4 | import { siteConfig } from "@/config/site" 5 | import { fontSans } from "@/lib/fonts" 6 | import { cn } from "@/lib/utils" 7 | import { ThemeProvider } from "@/components/theme-provider" 8 | 9 | export const metadata: Metadata = { 10 | title: { 11 | default: siteConfig.name, 12 | template: `%s - ${siteConfig.name}` 13 | }, 14 | description: siteConfig.description, 15 | themeColor: [ 16 | { media: "(prefers-color-scheme: light)", color: "white" }, 17 | { media: "(prefers-color-scheme: dark)", color: "black" } 18 | ], 19 | icons: { 20 | icon: "/logo.ico", 21 | shortcut: "/favicon-16x16.png", 22 | apple: "/apple-touch-icon.png" 23 | } 24 | } 25 | 26 | interface RootLayoutProps { 27 | children: React.ReactNode 28 | } 29 | 30 | export default function RootLayout({ children }: RootLayoutProps) { 31 | return ( 32 | <> 33 | 34 | 35 | 36 | {children} 37 | 38 | 39 | 40 | 41 | ) 42 | } 43 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 一个简单好用的导航网站 2 | 3 | ## 前言 4 | 在我们日常学习过程中,一定会收藏许多网站以及工具,于是乎我想到制作了一个导航网站将日常使用的网站以及工具进行整合以便于学习,由于项目难度较低,不进行过多的代码解读,可自行下载代码进行阅读和学习 5 | 6 | ## 需求分析 7 | 8 | ### 布局 9 | 10 | - 头部信息栏以及切换主题功能 11 | - 左侧导航栏 12 | - 右侧卡片信息区域 13 | - 底部为页脚 14 | 15 | ### 技术选型 16 | 17 | - next.js + tailwindcss + shadcn/ui 18 | - 由于项目本身比较简单所以没有选择过多的技术栈 19 | 20 | ## 效果图 21 |

22 | 23 | 24 | 25 | 26 |

27 | 28 |

29 | 30 | 31 |

32 |

33 | 34 | 35 |

36 | 37 |

基于 Next.js 的前端导航网站

38 | 39 | 40 | ## 预览地址 41 | 42 | - [前端导航](https://www.knowledgenav.dev/) 43 | 44 | ## 功能介绍 45 | 46 | - 自带前端导航模块 47 | - 移动端适配 48 | - 支持站内搜索 49 | - 可通过 JSON 自定义导航数据 50 | - 支持日夜颜色模式切换 51 | - 支持 Vercel 直接部署上线 52 | 53 | ## 说明 54 | 55 | - 此项目完全开源,仅供学习交流使用 56 | -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "next-template", 3 | "version": "0.0.3", 4 | "private": true, 5 | "packageManager": "pnpm@9.12.1", 6 | "scripts": { 7 | "dev": "next dev --turbopack", 8 | "build": "next build", 9 | "start": "next start", 10 | "lint": "next lint", 11 | "lint:fix": "next lint --fix", 12 | "preview": "next build && next start", 13 | "typecheck": "tsc --noEmit", 14 | "format:write": "prettier --write \"**/*.{cjs,mjs,js,cts,mts,ts,jsx,tsx,json,mdx}\" --cache", 15 | "format:check": "prettier --check \"**/*.{cjs,mjs,js,cts,mts,ts,jsx,tsx,json,mdx}\" --cache" 16 | }, 17 | "dependencies": { 18 | "@radix-ui/react-dialog": "^1.1.2", 19 | "@radix-ui/react-slot": "^1.0.2", 20 | "class-variance-authority": "^0.4.0", 21 | "clsx": "^1.2.1", 22 | "cmdk": "1.0.0", 23 | "framer-motion": "^11.16.0", 24 | "lucide-react": "0.105.0-alpha.4", 25 | "next": "^15.0.3", 26 | "next-themes": "^0.2.1", 27 | "react": "^18.3.1", 28 | "react-dom": "^18.3.1", 29 | "tailwind-merge": "^1.13.2", 30 | "tailwindcss-animate": "^1.0.6" 31 | }, 32 | "devDependencies": { 33 | "@types/node": "^17.0.45", 34 | "@types/react": "^18.2.70", 35 | "@types/react-dom": "^18.2.22", 36 | "@typescript-eslint/parser": "^5.61.0", 37 | "eslint": "^8.44.0", 38 | "eslint-config-next": "15.0.3", 39 | "eslint-config-prettier": "^9.1.0", 40 | "eslint-plugin-react": "^7.32.2", 41 | "eslint-plugin-tailwindcss": "^3.13.0", 42 | "postcss": "^8.4.24", 43 | "prettier": "^3.3.3", 44 | "prettier-plugin-tailwindcss": "^0.6.9", 45 | "tailwindcss": "^3.4.1", 46 | "typescript": "^5" 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /components/site-header/components/theme-toggle.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import { Moon, Sun } from "lucide-react" 5 | import { useTheme } from "next-themes" 6 | 7 | import { Button } from "@/components/ui/button" 8 | 9 | export function ThemeToggle() { 10 | const { theme, setTheme } = useTheme() 11 | 12 | const isDark = theme === "dark" 13 | const toggleTheme = () => { 14 | setTheme(isDark ? "light" : "dark") 15 | } 16 | const toggleViewTransition = (event: React.MouseEvent) => { 17 | const x = event.clientX 18 | const y = event.clientY 19 | const endRadius = Math.hypot(Math.max(x, innerWidth - x), Math.max(y, innerHeight - y)) 20 | const clipPath = [`circle(0px at ${x}px ${y}px)`, `circle(${endRadius}px at ${x}px ${y}px)`] 21 | 22 | const transition = document.startViewTransition(() => { 23 | toggleTheme() 24 | }) 25 | 26 | transition.ready.then(() => { 27 | document.documentElement.animate( 28 | { 29 | clipPath: isDark ? [...clipPath].reverse() : clipPath 30 | }, 31 | { 32 | duration: 300, 33 | easing: "ease-in", 34 | pseudoElement: isDark ? "::view-transition-old(root)" : "::view-transition-new(root)" 35 | } 36 | ) 37 | }) 38 | } 39 | const handleToggleTheme = (event: React.MouseEvent) => { 40 | const isSupport = document.startViewTransition() && !window.matchMedia("(prefers-reduced-motion: reduce)").matches 41 | 42 | if (!isSupport) { 43 | toggleTheme() 44 | return 45 | } 46 | 47 | toggleViewTransition(event) 48 | } 49 | 50 | return ( 51 | 54 | ) 55 | } 56 | -------------------------------------------------------------------------------- /components/ui/button.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { Slot } from "@radix-ui/react-slot" 3 | import { cva, type VariantProps } from "class-variance-authority" 4 | 5 | import { cn } from "@/lib/utils" 6 | 7 | const buttonVariants = cva( 8 | "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background", 9 | { 10 | variants: { 11 | variant: { 12 | default: "bg-primary text-primary-foreground hover:bg-primary/90", 13 | destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90", 14 | outline: "border border-input hover:bg-accent hover:text-accent-foreground", 15 | secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80", 16 | ghost: "hover:bg-accent hover:text-accent-foreground", 17 | link: "underline-offset-4 hover:underline text-primary" 18 | }, 19 | size: { 20 | default: "h-10 py-2 px-4", 21 | sm: "h-9 px-3 rounded-md", 22 | lg: "h-11 px-8 rounded-md", 23 | icon: "h-10 w-10" 24 | } 25 | }, 26 | defaultVariants: { 27 | variant: "default", 28 | size: "default" 29 | } 30 | } 31 | ) 32 | 33 | export interface ButtonProps 34 | extends React.ButtonHTMLAttributes, 35 | VariantProps { 36 | asChild?: boolean 37 | } 38 | 39 | const Button = React.forwardRef( 40 | ({ className, variant, size, asChild = false, ...props }, ref) => { 41 | const Comp = asChild ? Slot : "button" 42 | return 43 | } 44 | ) 45 | Button.displayName = "Button" 46 | 47 | export { Button, buttonVariants } 48 | -------------------------------------------------------------------------------- /public/icons/rust.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/cnblogs.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | @layer base { 6 | :root { 7 | --background: 0 0% 100%; 8 | --foreground: 240 10% 3.9%; 9 | --card: 0 0% 100%; 10 | --card-foreground: 240 10% 3.9%; 11 | --popover: 0 0% 100%; 12 | --popover-foreground: 240 10% 3.9%; 13 | --primary: 240 5.9% 10%; 14 | --primary-foreground: 0 0% 98%; 15 | --secondary: 240 4.8% 95.9%; 16 | --secondary-foreground: 240 5.9% 10%; 17 | --muted: 240 4.8% 95.9%; 18 | --muted-foreground: 240 3.8% 46.1%; 19 | --accent: 240 4.8% 95.9%; 20 | --accent-foreground: 240 5.9% 10%; 21 | --destructive: 0 84.2% 60.2%; 22 | --destructive-foreground: 0 0% 98%; 23 | --border: 240 5.9% 90%; 24 | --input: 240 5.9% 90%; 25 | --ring: 240 5.9% 10%; 26 | --radius: 0.5rem; 27 | --chart-1: 12 76% 61%; 28 | --chart-2: 173 58% 39%; 29 | --chart-3: 197 37% 24%; 30 | --chart-4: 43 74% 66%; 31 | --chart-5: 27 87% 67%; 32 | } 33 | 34 | .dark { 35 | --background: 240 10% 3.9%; 36 | --foreground: 0 0% 98%; 37 | --card: 240 10% 3.9%; 38 | --card-foreground: 0 0% 98%; 39 | --popover: 240 10% 3.9%; 40 | --popover-foreground: 0 0% 98%; 41 | --primary: 0 0% 98%; 42 | --primary-foreground: 240 5.9% 10%; 43 | --secondary: 240 3.7% 15.9%; 44 | --secondary-foreground: 0 0% 98%; 45 | --muted: 240 3.7% 15.9%; 46 | --muted-foreground: 240 5% 64.9%; 47 | --accent: 240 3.7% 15.9%; 48 | --accent-foreground: 0 0% 98%; 49 | --destructive: 0 62.8% 30.6%; 50 | --destructive-foreground: 0 0% 98%; 51 | --border: 240 3.7% 15.9%; 52 | --input: 240 3.7% 15.9%; 53 | --ring: 240 4.9% 83.9%; 54 | --chart-1: 220 70% 50%; 55 | --chart-2: 160 60% 45%; 56 | --chart-3: 30 80% 55%; 57 | --chart-4: 280 65% 60%; 58 | --chart-5: 340 75% 55%; 59 | } 60 | } 61 | 62 | @layer base { 63 | * { 64 | @apply border-border; 65 | } 66 | body { 67 | @apply bg-background text-foreground; 68 | } 69 | } 70 | 71 | ::view-transition-old(root), 72 | ::view-transition-new(root) { 73 | animation: none; 74 | mix-blend-mode: normal; 75 | } 76 | 77 | .dark::view-transition-old(root) { 78 | z-index: 1; 79 | } 80 | .dark::view-transition-new(root) { 81 | z-index: 999; 82 | } 83 | 84 | ::view-transition-old(root) { 85 | z-index: 999; 86 | } 87 | ::view-transition-new(root) { 88 | z-index: 1; 89 | } 90 | -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "tailwindcss" 2 | import { fontFamily } from "tailwindcss/defaultTheme" 3 | 4 | export default { 5 | darkMode: ["class"], 6 | content: ["./pages/**/*.{js,ts,jsx,tsx}", "./components/**/*.{js,ts,jsx,tsx}", "./app/**/*.{js,ts,jsx,tsx}"], 7 | theme: { 8 | container: { 9 | center: true, 10 | padding: "2rem", 11 | screens: { 12 | "2xl": "1400px" 13 | } 14 | }, 15 | extend: { 16 | colors: { 17 | border: "hsl(var(--border))", 18 | input: "hsl(var(--input))", 19 | ring: "hsl(var(--ring))", 20 | background: "hsl(var(--background))", 21 | foreground: "hsl(var(--foreground))", 22 | primary: { 23 | DEFAULT: "hsl(var(--primary))", 24 | foreground: "hsl(var(--primary-foreground))" 25 | }, 26 | secondary: { 27 | DEFAULT: "hsl(var(--secondary))", 28 | foreground: "hsl(var(--secondary-foreground))" 29 | }, 30 | destructive: { 31 | DEFAULT: "hsl(var(--destructive))", 32 | foreground: "hsl(var(--destructive-foreground))" 33 | }, 34 | muted: { 35 | DEFAULT: "hsl(var(--muted))", 36 | foreground: "hsl(var(--muted-foreground))" 37 | }, 38 | accent: { 39 | DEFAULT: "hsl(var(--accent))", 40 | foreground: "hsl(var(--accent-foreground))" 41 | }, 42 | popover: { 43 | DEFAULT: "hsl(var(--popover))", 44 | foreground: "hsl(var(--popover-foreground))" 45 | }, 46 | card: { 47 | DEFAULT: "hsl(var(--card))", 48 | foreground: "hsl(var(--card-foreground))" 49 | } 50 | }, 51 | borderRadius: { 52 | lg: `var(--radius)`, 53 | md: `calc(var(--radius) - 2px)`, 54 | sm: "calc(var(--radius) - 4px)" 55 | }, 56 | fontFamily: { 57 | sans: ["var(--font-sans)", ...fontFamily.sans] 58 | }, 59 | keyframes: { 60 | "accordion-down": { 61 | from: { height: "0" }, 62 | to: { height: "var(--radix-accordion-content-height)" } 63 | }, 64 | "accordion-up": { 65 | from: { height: "var(--radix-accordion-content-height)" }, 66 | to: { height: "0" } 67 | } 68 | }, 69 | animation: { 70 | "accordion-down": "accordion-down 0.2s ease-out", 71 | "accordion-up": "accordion-up 0.2s ease-out" 72 | } 73 | } 74 | }, 75 | plugins: [require("tailwindcss-animate")] 76 | } satisfies Config 77 | -------------------------------------------------------------------------------- /components/ui/card-hover-effect.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils" 2 | import { AnimatePresence, motion } from "framer-motion" 3 | import Image from "next/image" 4 | import Link from "next/link" 5 | import { useState } from "react" 6 | 7 | export const HoverEffect = ({ 8 | items, 9 | className 10 | }: { 11 | items: { 12 | title: string 13 | description: string 14 | link: string 15 | icon: string 16 | }[] 17 | className?: string 18 | }) => { 19 | const [hoveredIndex, setHoveredIndex] = useState(null) 20 | 21 | return ( 22 |
23 | {items.map((item, idx) => ( 24 | setHoveredIndex(idx)} 29 | onMouseLeave={() => setHoveredIndex(null)} 30 | target="_blank" 31 | > 32 | 33 | {hoveredIndex === idx && ( 34 | 47 | )} 48 | 49 | 50 | 51 | 58 | {item.title} 59 | 60 | {item.description} 61 | 62 | 63 | ))} 64 |
65 | ) 66 | } 67 | 68 | export const Card = ({ className, children }: { className?: string; children: React.ReactNode }) => { 69 | return ( 70 |
76 |
77 |
{children}
78 |
79 |
80 | ) 81 | } 82 | export const CardTitle = ({ className, children }: { className?: string; children: React.ReactNode }) => { 83 | return

{children}

84 | } 85 | export const CardDescription = ({ className, children }: { className?: string; children: React.ReactNode }) => { 86 | return

{children}

87 | } 88 | -------------------------------------------------------------------------------- /public/icons/jquery.svg: -------------------------------------------------------------------------------- 1 | jQuery 2 | -------------------------------------------------------------------------------- /public/icons/twind.svg: -------------------------------------------------------------------------------- 1 | 3 | 38 | 39 | 41 | 43 | 44 | 45 | 46 | 50 | 52 | 54 | 57 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /components/site-header/components/icons.tsx: -------------------------------------------------------------------------------- 1 | import { LucideProps, Moon, SunMedium, Twitter, type Icon as LucideIcon } from "lucide-react" 2 | 3 | export type Icon = LucideIcon 4 | 5 | export const Icons = { 6 | sun: SunMedium, 7 | moon: Moon, 8 | twitter: Twitter, 9 | logo: (props: LucideProps) => ( 10 | 11 | 15 | 16 | ), 17 | gitHub: (props: LucideProps) => ( 18 | 19 | 23 | 24 | ) 25 | } 26 | -------------------------------------------------------------------------------- /components/site-header/index.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import Link from "next/link" 4 | import { useCallback, useState } from "react" 5 | 6 | import { siteConfig, NavData } from "@/config/site" 7 | 8 | import { Circle, Laptop, Moon, Sun } from "lucide-react" 9 | import { useTheme } from "next-themes" 10 | import { DialogTitle } from "@radix-ui/react-dialog" 11 | 12 | import { Button } from "@/components/ui/button" 13 | import { 14 | CommandDialog, 15 | CommandEmpty, 16 | CommandGroup, 17 | CommandInput, 18 | CommandItem, 19 | CommandList, 20 | CommandSeparator 21 | } from "@/components/ui/command" 22 | 23 | import { Icons } from "./components/icons" 24 | import { ThemeToggle } from "./components/theme-toggle" 25 | 26 | export function SiteHeader() { 27 | const [open, setOpen] = useState(false) 28 | const { setTheme } = useTheme() 29 | const runCommand = useCallback((command: () => void) => { 30 | setOpen(false) 31 | command() 32 | }, []) 33 | 34 | return ( 35 |
36 |
37 | 61 |
62 | 63 | 64 | 65 | 66 | No results found. 67 | {NavData.map((category) => ( 68 | 69 | {category.items.map((navItem) => ( 70 | { 74 | runCommand(() => window.open(navItem.link, "_blank")) 75 | }} 76 | > 77 |
78 | 79 |
80 | {navItem.title} 81 |
82 | ))} 83 |
84 | ))} 85 | 86 | 87 | runCommand(() => setTheme("light"))}> 88 | 89 | Light 90 | 91 | runCommand(() => setTheme("dark"))}> 92 | 93 | Dark 94 | 95 | runCommand(() => setTheme("system"))}> 96 | 97 | System 98 | 99 | 100 |
101 |
102 |
103 | ) 104 | } 105 | -------------------------------------------------------------------------------- /components/sidebar.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import { useEffect, useState } from "react" 4 | import { AnimatePresence, motion } from "framer-motion" 5 | 6 | import { NavData } from "@/config/site" 7 | import { cn } from "@/lib/utils" 8 | 9 | export function Sidebar() { 10 | const [activeTabId, setActiveTabId] = useState(0) 11 | 12 | const scroll = (activeTabId: number) => { 13 | const ele = document.getElementById(String(activeTabId)) 14 | if (ele) { 15 | const elePosition = ele.getBoundingClientRect().top 16 | const offsetPosition = elePosition + window.scrollY - 99 17 | window.scrollTo({ 18 | top: offsetPosition, 19 | behavior: "smooth" 20 | }) 21 | } 22 | } 23 | 24 | const scrollUpdate = () => { 25 | const ele = document.getElementById("main") 26 | if (ele) { 27 | const childElements = Array.from(ele.children) 28 | for (const children of childElements) { 29 | const top = children.getBoundingClientRect().top 30 | if (top < 100) { 31 | setActiveTabId(Number(children.id)) 32 | } 33 | } 34 | } 35 | } 36 | 37 | useEffect(() => { 38 | window.scrollTo({ 39 | top: 0, 40 | behavior: "instant" as ScrollBehavior 41 | }) 42 | window.addEventListener("scroll", scrollUpdate) 43 | return () => { 44 | // 组件销毁时移除监听事件 45 | window.removeEventListener("scroll", scrollUpdate) 46 | } 47 | }, []) 48 | 49 | const [hoveredIndex, setHoveredIndex] = useState(null) 50 | 51 | return ( 52 | 99 | ) 100 | } 101 | -------------------------------------------------------------------------------- /components/ui/dialog.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import * as DialogPrimitive from "@radix-ui/react-dialog" 5 | import { X } from "lucide-react" 6 | 7 | import { cn } from "@/lib/utils" 8 | 9 | const Dialog = DialogPrimitive.Root 10 | 11 | const DialogTrigger = DialogPrimitive.Trigger 12 | 13 | const DialogPortal = DialogPrimitive.Portal 14 | 15 | const DialogClose = DialogPrimitive.Close 16 | 17 | const DialogOverlay = React.forwardRef< 18 | React.ElementRef, 19 | React.ComponentPropsWithoutRef 20 | >(({ className, ...props }, ref) => ( 21 | 29 | )) 30 | DialogOverlay.displayName = DialogPrimitive.Overlay.displayName 31 | 32 | const DialogContent = React.forwardRef< 33 | React.ElementRef, 34 | React.ComponentPropsWithoutRef 35 | >(({ className, children, ...props }, ref) => ( 36 | 37 | 38 | 46 | {children} 47 | 48 | 49 | Close 50 | 51 | 52 | 53 | )) 54 | DialogContent.displayName = DialogPrimitive.Content.displayName 55 | 56 | const DialogHeader = ({ 57 | className, 58 | ...props 59 | }: React.HTMLAttributes) => ( 60 |
67 | ) 68 | DialogHeader.displayName = "DialogHeader" 69 | 70 | const DialogFooter = ({ 71 | className, 72 | ...props 73 | }: React.HTMLAttributes) => ( 74 |
81 | ) 82 | DialogFooter.displayName = "DialogFooter" 83 | 84 | const DialogTitle = React.forwardRef< 85 | React.ElementRef, 86 | React.ComponentPropsWithoutRef 87 | >(({ className, ...props }, ref) => ( 88 | 96 | )) 97 | DialogTitle.displayName = DialogPrimitive.Title.displayName 98 | 99 | const DialogDescription = React.forwardRef< 100 | React.ElementRef, 101 | React.ComponentPropsWithoutRef 102 | >(({ className, ...props }, ref) => ( 103 | 108 | )) 109 | DialogDescription.displayName = DialogPrimitive.Description.displayName 110 | 111 | export { 112 | Dialog, 113 | DialogPortal, 114 | DialogOverlay, 115 | DialogClose, 116 | DialogTrigger, 117 | DialogContent, 118 | DialogHeader, 119 | DialogFooter, 120 | DialogTitle, 121 | DialogDescription, 122 | } 123 | -------------------------------------------------------------------------------- /components/ui/command.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { type DialogProps } from "@radix-ui/react-dialog" 3 | import { Command as CommandPrimitive } from "cmdk" 4 | import { Search } from "lucide-react" 5 | 6 | import { cn } from "@/lib/utils" 7 | import { Dialog, DialogContent } from "@/components/ui/dialog" 8 | 9 | const Command = React.forwardRef< 10 | React.ElementRef, 11 | React.ComponentPropsWithoutRef 12 | >(({ className, ...props }, ref) => ( 13 | 21 | )) 22 | Command.displayName = CommandPrimitive.displayName 23 | 24 | const CommandDialog = ({ children, ...props }: DialogProps) => { 25 | return ( 26 | 27 | 28 | 29 | {children} 30 | 31 | 32 | 33 | ) 34 | } 35 | 36 | const CommandInput = React.forwardRef< 37 | React.ElementRef, 38 | React.ComponentPropsWithoutRef 39 | >(({ className, ...props }, ref) => ( 40 |
41 | 42 | 50 |
51 | )) 52 | 53 | CommandInput.displayName = CommandPrimitive.Input.displayName 54 | 55 | const CommandList = React.forwardRef< 56 | React.ElementRef, 57 | React.ComponentPropsWithoutRef 58 | >(({ className, ...props }, ref) => ( 59 | 64 | )) 65 | 66 | CommandList.displayName = CommandPrimitive.List.displayName 67 | 68 | const CommandEmpty = React.forwardRef< 69 | React.ElementRef, 70 | React.ComponentPropsWithoutRef 71 | >((props, ref) => ( 72 | 77 | )) 78 | 79 | CommandEmpty.displayName = CommandPrimitive.Empty.displayName 80 | 81 | const CommandGroup = React.forwardRef< 82 | React.ElementRef, 83 | React.ComponentPropsWithoutRef 84 | >(({ className, ...props }, ref) => ( 85 | 93 | )) 94 | 95 | CommandGroup.displayName = CommandPrimitive.Group.displayName 96 | 97 | const CommandSeparator = React.forwardRef< 98 | React.ElementRef, 99 | React.ComponentPropsWithoutRef 100 | >(({ className, ...props }, ref) => ( 101 | 106 | )) 107 | CommandSeparator.displayName = CommandPrimitive.Separator.displayName 108 | 109 | const CommandItem = React.forwardRef< 110 | React.ElementRef, 111 | React.ComponentPropsWithoutRef 112 | >(({ className, ...props }, ref) => ( 113 | 121 | )) 122 | 123 | CommandItem.displayName = CommandPrimitive.Item.displayName 124 | 125 | const CommandShortcut = ({ 126 | className, 127 | ...props 128 | }: React.HTMLAttributes) => { 129 | return ( 130 | 137 | ) 138 | } 139 | CommandShortcut.displayName = "CommandShortcut" 140 | 141 | export { 142 | Command, 143 | CommandDialog, 144 | CommandInput, 145 | CommandList, 146 | CommandEmpty, 147 | CommandGroup, 148 | CommandItem, 149 | CommandShortcut, 150 | CommandSeparator, 151 | } 152 | -------------------------------------------------------------------------------- /public/icons/docusaurus.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /config/site.ts: -------------------------------------------------------------------------------- 1 | export type SiteConfig = typeof siteConfig 2 | 3 | export const siteConfig = { 4 | name: "知识导航", 5 | description: "基于 Next.js 的实用导航网站", 6 | mainNav: [], 7 | links: { 8 | twitter: "https://x.com/knowledgefxg", 9 | github: "https://github.com/knowledgefxg" 10 | } 11 | } 12 | 13 | export interface NavLink { 14 | /** 站点图标 */ 15 | icon: string 16 | /** 站点名称 */ 17 | title: string 18 | /** 站点名称 */ 19 | desc: string 20 | /** 站点链接 */ 21 | link: string 22 | } 23 | 24 | type NavData = { 25 | title: string 26 | items: NavLink[] 27 | } 28 | 29 | export const NavData: NavData[] = [ 30 | { 31 | title: "常用工具", 32 | items: [ 33 | { 34 | icon: "https://pythontutor.com/favicon.ico", 35 | title: "Python Tutor", 36 | desc: "一个蛮实用的针对初学者和开发者的代码可视化学习工具", 37 | link: "https://pythontutor.com/" 38 | }, 39 | { 40 | icon: "https://voyager.postman.com/logo/postman-logo-icon-orange.svg", 41 | title: "Postman", 42 | desc: "老牌API开发和测试工具", 43 | link: "https://www.postman.com/" 44 | }, 45 | { 46 | icon: "https://tinypng.com/images/apple-touch-icon.png", 47 | title: "TinyPNG", 48 | desc: "在线图片压缩工具", 49 | link: "https://tinypng.com" 50 | }, 51 | { 52 | icon: "https://tool.lu/favicon.ico", 53 | title: "在线工具", 54 | desc: "开发人员的工具箱", 55 | link: "https://tool.lu" 56 | }, 57 | { 58 | icon: "https://openalternative.co/favicon.png", 59 | title: "OpenAlternative", 60 | desc: "网站致力于收集一些免费开源软件,这些软件可以替代市面上流行的专有软件。", 61 | link: "https://openalternative.co/" 62 | }, 63 | { 64 | icon: "https://processon.com/favicon.ico", 65 | title: "ProcessOn", 66 | desc: "免费在线流程图思维导图", 67 | link: "https://processon.com/" 68 | }, 69 | { 70 | icon: "/icons/json-cn.ico", 71 | title: "Json 中文网", 72 | desc: "JSON 在线解析及格式化验证", 73 | link: "https://www.json.cn" 74 | }, 75 | { 76 | icon: "https://www.terminalgif.com/favicon.ico", 77 | title: "Terminal Gif Maker", 78 | desc: "在线生成 Terminal GIF", 79 | link: "https://www.terminalgif.com" 80 | }, 81 | { 82 | icon: "https://astexplorer.net/favicon.png", 83 | title: "AST Explorer", 84 | desc: "一个 Web 工具,用于探索由各种解析器生成的 AST 语法树", 85 | link: "https://astexplorer.net/" 86 | }, 87 | { 88 | icon: "https://transform.tools/static/favicon.png", 89 | title: "transform", 90 | desc: "各类数据格式与对象转换", 91 | link: "https://transform.tools" 92 | }, 93 | { 94 | icon: "/icons/hoppscotch.png", 95 | title: "Hoppscotch", 96 | desc: "开源 API 开发生态系统", 97 | link: "https://hoppscotch.io/" 98 | }, 99 | { 100 | icon: "/icons/apifox.png", 101 | title: "Apifox", 102 | desc: "API 文档、API 调试、API Mock、API 自动化测试", 103 | link: "https://www.apifox.cn/" 104 | }, 105 | { 106 | icon: "https://it-tools.tech/favicon.ico", 107 | title: "IT-Tools", 108 | desc: "为开发人员提供的便捷在线工具集合", 109 | link: "https://it-tools.tech/" 110 | }, 111 | ] 112 | }, 113 | 114 | { 115 | title: "英语学习", 116 | items: [ 117 | { 118 | title: "Duolingo", 119 | desc: "游戏化语言学习App,适合入门和日常练习", 120 | icon: "https://d35aaqx5ub95lt.cloudfront.net/favicon.ico", 121 | link: "https://www.duolingo.com/" 122 | }, 123 | { 124 | title: "Vocabulary.com", 125 | desc: "通过游戏化方式学习词汇的智能平台", 126 | icon: "https://cdn.vocabulary.com/images/favicons/favicon-32x32-2frmtt.png", 127 | link: "https://www.vocabulary.com/" 128 | }, 129 | { 130 | title: "Enpuz", 131 | desc: "一款英语学习 AI 小工具,主要是在线英语句子语法分析", 132 | icon: "https://enpuz.com/favicon.ico", 133 | link: "https://enpuz.com/" 134 | }, 135 | { 136 | title: "BBC Learning English", 137 | desc: "BBC出品的免费英语学习资源库", 138 | icon: "https://www.bbc.com/bbcx/favicon-16x16.png", 139 | link: "https://www.bbc.co.uk/learningenglish" 140 | }, 141 | { 142 | title: "LingoHut", 143 | desc: "免费的分类词汇学习网站,配真人发音和练习", 144 | icon: "https://www.lingohut.com/html/lht/fb-icon-2-min.png", 145 | link: "https://www.lingohut.com/" 146 | }, 147 | { 148 | title: "VoiceTube", 149 | desc: "看视频学英语,支持各种字幕和难度分级", 150 | icon: "https://vt-cdn.voicetube.com/assets/img/logo/favicon/32.png", 151 | link: "https://www.voicetube.com/" 152 | }, 153 | { 154 | title: "Youglish", 155 | desc: "通过YouTube视频片段学习英语单词的真实发音", 156 | icon: "https://youglish.com/images/logo.png", 157 | link: "https://youglish.com/" 158 | } 159 | ] 160 | }, 161 | 162 | { 163 | title: "React", 164 | items: [ 165 | { 166 | icon: "https://zh-hans.reactjs.org/favicon.ico", 167 | title: "React", 168 | desc: "用于构建用户界面的 JavaScript 库", 169 | link: "https://zh-hans.reactjs.org" 170 | }, 171 | { 172 | icon: "https://reactrouter.com/favicon-light.png", 173 | title: "React Router", 174 | desc: "React 的声明式路由", 175 | link: "https://reactrouter.com" 176 | }, 177 | { 178 | icon: "https://nextjs.org/static/favicon/safari-pinned-tab.svg", 179 | title: "Next.js", 180 | desc: "一个用于 Web 的 React 框架", 181 | link: "https://nextjs.org" 182 | }, 183 | { 184 | icon: "https://img.alicdn.com/tfs/TB1YHEpwUT1gK0jSZFhXXaAtVXa-28-27.svg", 185 | title: "UmiJS", 186 | desc: "插件化的企业级前端应用框架", 187 | link: "https://umijs.org" 188 | }, 189 | { 190 | icon: "https://gw.alipayobjects.com/zos/rmsportal/rlpTLlbMzTNYuZGGCVYM.png", 191 | title: "Ant Design", 192 | desc: "一套企业级 UI 设计语言和 React 组件库", 193 | link: "https://ant.design" 194 | }, 195 | { 196 | icon: "https://gw.alipayobjects.com/zos/bmw-prod/69a27fcc-ce52-4f27-83f1-c44541e9b65d.svg", 197 | title: "Ant Design Mobile", 198 | desc: "构建移动 WEB 应用程序的 React 组件库", 199 | link: "https://mobile.ant.design" 200 | }, 201 | { 202 | icon: "https://docs.pmnd.rs/apple-touch-icon.png", 203 | title: "Zustand", 204 | desc: "一个小型、快速、可扩展的 React 状态管理解决方案", 205 | link: "https://docs.pmnd.rs/zustand/getting-started/introduction" 206 | }, 207 | { 208 | icon: "https://valtio.pmnd.rs/favicon.ico", 209 | title: "Valtio", 210 | desc: "makes proxy-state simple for React and Vanilla", 211 | link: "https://valtio.pmnd.rs" 212 | }, 213 | { 214 | icon: "https://jotai.org/favicon.svg", 215 | title: "Jotai", 216 | desc: "primitive and flexible state management for React", 217 | link: "https://jotai.org" 218 | }, 219 | { 220 | icon: "https://cn.redux.js.org/img/redux.svg", 221 | title: "Redux", 222 | desc: "JavaScript 应用的状态容器,提供可预测的状态管理", 223 | link: "https://cn.redux.js.org" 224 | }, 225 | { 226 | icon: "https://recoiljs.org/zh-hans/img/favicon.png", 227 | title: "recoil", 228 | desc: "Recoil is an experimental state management framework for React.", 229 | link: "https://recoiljs.org/zh-hans/" 230 | }, 231 | { 232 | icon: "https://zh.mobx.js.org/assets/mobx.png", 233 | title: "MobX", 234 | desc: "一个小型、快速、可扩展的 React 状态管理解决方案", 235 | link: "https://zh.mobx.js.org" 236 | }, 237 | { 238 | icon: "https://ahooks.js.org/simple-logo.svg", 239 | title: "ahooks", 240 | desc: "一套高质量可靠的 React Hooks 库", 241 | link: "https://ahooks.js.org/zh-CN" 242 | } 243 | ] 244 | }, 245 | { 246 | title: "Vue", 247 | items: [ 248 | { 249 | icon: "https://cn.vuejs.org/logo.svg", 250 | title: "Vue 3", 251 | desc: "渐进式 JavaScript 框架", 252 | link: "https://cn.vuejs.org" 253 | }, 254 | { 255 | icon: "https://cn.vuejs.org/logo.svg", 256 | title: "Vue 2", 257 | desc: "渐进式 JavaScript 框架", 258 | link: "https://v2.cn.vuejs.org" 259 | }, 260 | { 261 | icon: "https://cn.vuejs.org/logo.svg", 262 | title: "Vue Router", 263 | desc: "Vue.js 的官方路由\n为 Vue.js 提供富有表现力、可配置的、方便的路由", 264 | link: "https://router.vuejs.org/zh" 265 | }, 266 | { 267 | icon: "https://pinia.vuejs.org/logo.svg", 268 | title: "Pinia", 269 | desc: "符合直觉的 Vue.js 状态管理库", 270 | link: "https://pinia.vuejs.org/zh" 271 | }, 272 | { 273 | icon: "https://nuxt.com/icon.png", 274 | title: "Nuxt.js", 275 | desc: "一个基于 Vue.js 的通用应用框架", 276 | link: "https://nuxt.com" 277 | }, 278 | { 279 | icon: "https://vueuse.org/favicon.svg", 280 | title: "VueUse", 281 | desc: "Vue Composition API 的常用工具集", 282 | link: "https://vueuse.org" 283 | }, 284 | { 285 | icon: "https://vitest.dev/favicon.ico", 286 | title: "Vitest", 287 | desc: "一个 Vite 原生单元测试框架。它很快!", 288 | link: "https://cn.vitest.dev/" 289 | }, 290 | { 291 | icon: "https://element-plus.org/images/element-plus-logo-small.svg", 292 | title: "Element Plus", 293 | desc: "基于 Vue 3,面向设计师和开发者的组件库", 294 | link: "https://element-plus.org" 295 | }, 296 | { 297 | icon: "https://www.antdv.com/assets/logo.1ef800a8.svg", 298 | title: "Ant Design Vue", 299 | desc: "Ant Design 的 Vue 实现,开发和服务于企业级后台产品", 300 | link: "https://antdv.com" 301 | }, 302 | { 303 | icon: "https://fastly.jsdelivr.net/npm/@vant/assets/logo.png", 304 | title: "Vant", 305 | desc: "轻量、可定制的移动端 Vue 组件库", 306 | link: "https://vant-ui.github.io/vant" 307 | }, 308 | { 309 | icon: "https://webapp.didistatic.com/static/webapp/shield/Cube-UI_logo.ico", 310 | title: "Cube UI", 311 | desc: "基于 Vue.js 实现的精致移动端组件库", 312 | link: "https://didi.github.io/cube-ui" 313 | }, 314 | { 315 | icon: "https://img14.360buyimg.com/imagetools/jfs/t1/167902/2/8762/791358/603742d7E9b4275e3/e09d8f9a8bf4c0ef.png", 316 | title: "NutUI", 317 | desc: "京东风格的轻量级移动端组件库", 318 | link: "https://nutui.jd.com" 319 | } 320 | ] 321 | }, 322 | { 323 | title: "JavaScript", 324 | items: [ 325 | { 326 | icon: "https://svelte.dev/svelte-logo-horizontal.svg", 327 | title: "Svelte", 328 | desc: "将声明性组件转换为精准高效更新 DOM 的 JavaScript 代码", 329 | link: "https://svelte.dev" 330 | }, 331 | { 332 | icon: "/icons/jquery.svg", 333 | title: "jQuery API 中文文档", 334 | desc: "一个兼容多浏览器的 JavaScript 框架", 335 | link: "https://jquery.cuishifeng.cn" 336 | }, 337 | { 338 | title: "ECharts", 339 | desc: "一个基于 JavaScript 的开源可视化图表库", 340 | icon: "https://echarts.apache.org/zh/images/favicon.png", 341 | link: "https://echarts.apache.org/" 342 | }, 343 | { 344 | title: "AntV", 345 | desc: "蚂蚁集团全新一代数据可视化解决方案,让数据栩栩如生", 346 | icon: "/icons/antv.png", 347 | link: "https://antv.vision/" 348 | } 349 | ] 350 | }, 351 | { 352 | title: "CSS", 353 | items: [ 354 | { 355 | icon: "https://postcss.org/assets/logo-3e39b0aa.svg", 356 | title: "PostCSS", 357 | desc: "一个用 JavaScript 转换 CSS 的工具", 358 | link: "https://postcss.org" 359 | }, 360 | { 361 | icon: "https://sass-lang.com/assets/img/logos/logo-b6e1ef6e.svg", 362 | title: "Sass", 363 | desc: "一个成熟,稳定,功能强大的专业级 CSS 扩展语言", 364 | link: "https://sass-lang.com" 365 | }, 366 | { 367 | icon: "https://www.tailwindcss.cn/apple-touch-icon.png", 368 | title: "TailwindCSS 中文网", 369 | desc: "一个功能类优先的 CSS 框架", 370 | link: "https://www.tailwindcss.cn" 371 | }, 372 | { 373 | title: "WindiCSS", 374 | desc: "Windi CSS 是下一代工具优先的 CSS 框架", 375 | icon: "https://windicss.org/assets/logo.svg", 376 | link: "https://windicss.org" 377 | }, 378 | { 379 | title: "Twind", 380 | desc: "现存最小、最快、功能最齐全的完整 Tailwind-in-JS 解决方案", 381 | icon: "/icons/twind.svg", 382 | link: "https://github.com/tw-in-js/twind" 383 | }, 384 | { 385 | title: "UnoCSS", 386 | desc: "即时按需原子 CSS 引擎", 387 | icon: "https://uno.antfu.me//favicon.svg", 388 | link: "https://uno.antfu.me/" 389 | }, 390 | { 391 | title: "Bootstrap", 392 | desc: "Bootstrap 是全球最受欢迎的前端开源工具库,它支持 Sass 变量和 mixin、响应式栅格系统、自带大量组件和众多强大的 JavaScript 插件。基于 Bootstrap 提供的强大功能,能够让你快速设计并定制你的网站", 393 | icon: "https://img.kuizuo.cn/20210907055816.png", 394 | link: "https://v5.bootcss.com/" 395 | }, 396 | { 397 | title: "w3schools Css 教程", 398 | desc: "w3schools 从基础到高级的CSS教程", 399 | icon: "https://www.w3schools.com/favicon.ico", 400 | link: "https://www.w3schools.com/css" 401 | }, 402 | { 403 | title: "CSS-Inspiration", 404 | desc: "CSS灵感", 405 | icon: "/icons/css-inspiration.png", 406 | link: "https://csscoco.com/inspiration" 407 | }, 408 | { 409 | title: "CSS常用样式", 410 | desc: "CSS常用样式", 411 | icon: "https://tse1-mm.cn.bing.net/th?id=OIP-C.EgSPriuEnAtlIWJV8R_E1QHaGs&w=107&h=100&c=8&rs=1&qlt=90&o=6&pid=3.1&rm=2", 412 | link: "https://github.com/QiShaoXuan/css_tricks" 413 | }, 414 | { 415 | title: "CSSFX", 416 | desc: "一个精心制作的集合设计的重点是流动性,简单性和易用性。使用最小标记的 CSS 支持", 417 | icon: "/icons/cssfx.png", 418 | link: "https://cssfx.netlify.app/" 419 | }, 420 | { 421 | title: "NES.css", 422 | desc: "一个像素风格的CSS框架", 423 | icon: "https://nostalgic-css.github.io/NES.css/favicon.png", 424 | link: "https://nostalgic-css.github.io/NES.css/" 425 | }, 426 | { 427 | title: "clay.css", 428 | desc: "claymorphism 泥陶态风格CSS", 429 | icon: "https://codeadrian.github.io/clay.css/apple-touch-icon.png", 430 | link: "https://codeadrian.github.io/clay.css/" 431 | }, 432 | { 433 | title: "loading.io", 434 | desc: "Animation Made Easy", 435 | icon: "/icons/loading.ico", 436 | link: "https://loading.io/" 437 | }, 438 | { 439 | title: "神奇UI样式", 440 | desc: "我们赋予任何人创建、分享和使用用 CSS 和 HTML 制作的漂亮自定义元素的权力。", 441 | icon: "/icons/uiverse.png", 442 | link: "https://uiverse.io" 443 | }, 444 | { 445 | title: "HYPE4", 446 | desc: "透明玻璃态生成器", 447 | icon: "https://hype4.academy/_next/static/media/logorwd@2x.b40bc92c.png", 448 | link: "https://hype4.academy/tools/glassmorphism-generator" 449 | }, 450 | { 451 | title: "Omatsuri", 452 | desc: "收集不同的发电机,让您的生活更轻松。", 453 | icon: "https://omatsuri.app/assets/favicon.ico", 454 | link: "https://omatsuri.app" 455 | }, 456 | { 457 | title: "smooth shadow", 458 | desc: "快速轻松地实现基于 CSS 阴影的绝佳工具。您只需要指定一些阴影设置,代码就在您的路上。", 459 | icon: "https://shadows.brumm.af/favicon.svg", 460 | link: "https://shadows.brumm.af/" 461 | }, 462 | { 463 | title: "FANCY-BORDER-RADIUS", 464 | desc: "花式边界半径,有助于创建 CSS 花式边框。", 465 | icon: "https://9elements.github.io/fancy-border-radius/favicon-32x32.png", 466 | link: "https://9elements.github.io/fancy-border-radius/" 467 | }, 468 | { 469 | title: "Coolors", 470 | desc: "创建调色板", 471 | icon: "/icons/coolors.png", 472 | link: "https://coolors.co/" 473 | }, 474 | { 475 | title: "Css Tip", 476 | desc: "一个CSS 技巧和提示分享网站,提供各种实用的 CSS 代码示例", 477 | icon: "https://css-tip.com/img/fav.png", 478 | link: "https://css-tip.com/" 479 | } 480 | ] 481 | }, 482 | { 483 | title: "Node", 484 | items: [ 485 | { 486 | icon: "https://deno.com/logo.svg", 487 | title: "deno", 488 | desc: "Deno is the open-source JavaScript runtime for the modern web.", 489 | link: "https://deno.com/" 490 | }, 491 | { 492 | icon: "https://nodejs.org/static/images/favicons/favicon.png", 493 | title: "Node.js", 494 | desc: "Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境", 495 | link: "https://nodejs.org/zh-cn" 496 | }, 497 | { 498 | icon: "https://expressjs.com/images/favicon.png", 499 | title: "Express", 500 | desc: "基于 Node.js 平台,快速、开放、极简的 Web 开发框架", 501 | link: "https://expressjs.com" 502 | }, 503 | { 504 | icon: "https://nodejs.org/static/images/favicons/favicon.png", 505 | title: "Koa", 506 | desc: "基于 Node.js 平台的下一代 web 开发框架", 507 | link: "https://koajs.com" 508 | }, 509 | { 510 | icon: "https://www.eggjs.org/favicon.png", 511 | title: "Egg", 512 | desc: "为企业级框架和应用而生", 513 | link: "https://www.eggjs.org/zh-CN" 514 | }, 515 | { 516 | icon: "https://d33wubrfki0l68.cloudfront.net/e937e774cbbe23635999615ad5d7732decad182a/26072/logo-small.ede75a6b.svg", 517 | title: "Nest.js 中文文档", 518 | desc: "用于构建高效且可伸缩的服务端应用程序的渐进式 Node.js 框架", 519 | link: "https://docs.nestjs.cn" 520 | }, 521 | { 522 | title: "TypeORM", 523 | desc: "TypeORM 是一个 ORM 框架,它可以运行在 NodeJS、Browser、Cordova、PhoneGap、Ionic、React Native、Expo 和 Electron 平台上,可以与 TypeScript 和 JavaScript (ES5,ES6,ES7,ES8)一起使用", 524 | icon: "/icons/typeorm.ico", 525 | link: "https://typeorm.bootcss.com" 526 | }, 527 | { 528 | title: "Axios", 529 | desc: "Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js", 530 | icon: "/icons/axios.ico", 531 | link: "https://axios-http.cn/" 532 | }, 533 | { 534 | title: "NPM", 535 | desc: "NPM是世界上最大的包管理器", 536 | icon: "https://static.npmjs.com/58a19602036db1daee0d7863c94673a4.png", 537 | link: "https://www.npmjs.com" 538 | }, 539 | { 540 | title: "Yarn", 541 | desc: "Yarn 是一个软件包管理器,还可以作为项目管理工具。无论你是小型项目还是大型单体仓库(monorepos),无论是业余爱好者还是企业用户,Yarn 都能满足你的需求", 542 | icon: "https://www.yarnpkg.cn/favicon-32x32.png", 543 | link: "https://www.yarnpkg.cn" 544 | }, 545 | { 546 | title: "Pnpm", 547 | desc: "速度快、节省磁盘空间的软件包管理器", 548 | icon: "https://www.pnpm.cn/img/favicon.png", 549 | link: "https://pnpm.io" 550 | } 551 | ] 552 | }, 553 | { 554 | title: "构建工具", 555 | items: [ 556 | { 557 | icon: "https://www.webpackjs.com/icon_180x180.png", 558 | title: "Webpack 中文网", 559 | desc: "一个用于现代 JavaScript 应用程序的静态模块打包工具", 560 | link: "https://www.webpackjs.com" 561 | }, 562 | { 563 | icon: "https://cn.vitejs.dev/logo.svg", 564 | title: "Vite 中文文档", 565 | desc: "下一代前端工具链", 566 | link: "https://cn.vitejs.dev" 567 | }, 568 | { 569 | icon: "https://www.rollupjs.com/img/favicon.png", 570 | title: "Rollup", 571 | desc: "Rollup 是一个 JavaScript 模块打包器", 572 | link: "https://www.rollupjs.com" 573 | }, 574 | { 575 | icon: "https://turbo.build/images/favicon-dark/apple-touch-icon.png", 576 | title: "Turbo", 577 | desc: "Turbo is an incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust", 578 | link: "https://turbo.build" 579 | }, 580 | { 581 | icon: "https://www.babeljs.cn/img/favicon.png", 582 | title: "Babel", 583 | desc: "Babel 是一个 JavaScript 编译器", 584 | link: "https://www.babeljs.cn" 585 | }, 586 | { 587 | icon: "https://esbuild.github.io/favicon.svg", 588 | title: "esbuild", 589 | desc: "An extremely fast bundler for the web", 590 | link: "https://esbuild.github.io" 591 | }, 592 | { 593 | icon: "https://swc.rs/favicon/apple-touch-icon.png", 594 | title: "SWC", 595 | desc: "Rust-based platform for the Web", 596 | link: "https://swc.rs" 597 | } 598 | ] 599 | }, 600 | { 601 | title: "UI设计", 602 | items: [ 603 | { 604 | title: "Mastergo", 605 | desc: "面向团队的专业 UI/UX 设计工具,多人同时编辑、随时在线评审、设计一键交付,让想法更快实现", 606 | icon: "https://mastergo.com/favicon.ico", 607 | link: "https://mastergo.com/" 608 | }, 609 | { 610 | title: "即时设计", 611 | desc: "可云端编辑的专业级 UI 设计工具,为中国设计师量身打造,Windows 也能用的「协作版 Sketch」", 612 | icon: "https://img.js.design/assets/webImg/favicon.ico", 613 | link: "https://js.design/" 614 | }, 615 | { 616 | title: "Figma", 617 | desc: "Figma 是为 UI 设计而生的设计工具,除了有和 Sketch 一样基本的操作和功能,还有许多专为 UI 设计而生的强大功能。", 618 | icon: "/icons/figma.png", 619 | link: "https://www.figma.com/" 620 | }, 621 | { 622 | title: "Pixso", 623 | desc: "一站式完成原型、设计、交互与交付,为数字化团队协作提效", 624 | icon: "https://cms.pixso.cn/images/logo.svg", 625 | link: "https://pixso.cn/" 626 | }, 627 | { 628 | title: "AIDesign", 629 | desc: "10秒创建您的LOGO!", 630 | icon: "https://ailogo.qq.com//favicon.ico?v=1.1", 631 | link: "https://ailogo.qq.com/" 632 | } 633 | ] 634 | }, 635 | { 636 | title: "字体图标", 637 | items: [ 638 | { 639 | title: "iconify", 640 | desc: "数千个图标,一个统一的框架", 641 | icon: "https://icon-sets.iconify.design/favicon.ico", 642 | link: "https://icon-sets.iconify.design/" 643 | }, 644 | { 645 | title: "icones", 646 | desc: "Icon Explorer with Instant searching, powered by Iconify", 647 | icon: "https://icones.js.org/favicon.svg", 648 | link: "https://icones.js.org/" 649 | }, 650 | { 651 | title: "iconfont", 652 | desc: "iconfont-国内功能很强大且图标内容很丰富的矢量图标库,提供矢量图标下载、在线存储、格式转换等功能", 653 | icon: "https://img.alicdn.com/imgextra/i4/O1CN01EYTRnJ297D6vehehJ_!!6000000008020-55-tps-64-64.svg", 654 | link: "https://www.iconfont.cn/" 655 | }, 656 | { 657 | title: "feathericons", 658 | desc: "简单美丽的开源图标", 659 | icon: "https://feathericons.com/favicon.ico", 660 | link: "https://feathericons.com/" 661 | }, 662 | { 663 | title: "undraw", 664 | desc: "一个不断更新的设计项目与美丽的SVG图像,使用完全免费", 665 | icon: "https://undraw.co/apple-touch-icon.png", 666 | link: "https://undraw.co/" 667 | }, 668 | { 669 | title: "igoutu", 670 | desc: "图标、插图、照片、音乐和设计工具", 671 | icon: "/icons/igoutu.png", 672 | link: "https://igoutu.cn/" 673 | }, 674 | { 675 | title: "Emojiall", 676 | desc: "Emoji表情大全", 677 | icon: "https://www.emojiall.com/apple-touch-icon.png", 678 | link: "https://www.emojiall.com/zh-hans" 679 | }, 680 | { 681 | title: "渐变色网站", 682 | desc: "数百万个自动生成的渐变的网站", 683 | icon: "https://gradihunt.com/favicon.ico", 684 | link: "https://gradihunt.com/" 685 | }, 686 | { 687 | title: "谷歌字体", 688 | desc: "一个生成渐变色背景的网站", 689 | icon: "/icons/google_fonts.ico", 690 | link: "https://googlefonts.cn/" 691 | }, 692 | { 693 | title: "Typing SVG", 694 | desc: "一个动态生成的可自定义 SVG 打字效果", 695 | icon: "/icons/typing-svg.png", 696 | link: "https://readme-typing-svg.herokuapp.com/demo/" 697 | }, 698 | { 699 | title: "AI / LLM 模型图标集", 700 | desc: "585+ 免费矢量图标,覆盖主流 AI 品牌和模型, 支持 React / SVG / PNG / WebP", 701 | icon: "https://lobehub.com/favicon-32x32.png", 702 | link: "https://lobehub.com/zh/icons" 703 | } 704 | ] 705 | }, 706 | { 707 | title: "AI相关", 708 | items: [ 709 | { 710 | title: "Toolify.ai", 711 | desc: "可以说是最大的人工智能导航网站,持续收录各种AI工具(包括浏览器插件,网站,APP等等)涵盖写作,图像,视频,音频等方方面面,基本上有你所想要的一切,网站支持中文!", 712 | icon: "https://www.toolify.ai/favicon.ico", 713 | link: "https://www.toolify.ai/zh/" 714 | }, 715 | { 716 | title: "Backyard AI", 717 | desc: "提供各种角色扮演AI,免费,无需注册登录,支持Mac,Windows。", 718 | icon: "https://backyard.ai/favicon.png", 719 | link: "https://backyard.ai/" 720 | }, 721 | { 722 | title: "AI全栈导师", 723 | desc: "网站利用GPT的技术,只要输入你的学习目标,AI就能够分析你的学习目标,为你生成合适的教程大纲。比自己去读官方文档或者找各种文档教程友好多了。", 724 | icon: "https://www.studywithgpt.com/favicon.ico", 725 | link: "https://www.studywithgpt.com/zh-cn" 726 | }, 727 | { 728 | title: "AnythingLLM", 729 | desc: "您一直在寻找的全方位AI应用程序。", 730 | icon: "https://framerusercontent.com/images/EIbT8RYrTi16Lw425LfvWGrnqg.svg", 731 | link: "https://anythingllm.com/" 732 | }, 733 | { 734 | title: "Colorify Rocks", 735 | desc: "基于人工智能的文本到色彩调色板生成器", 736 | icon: "https://colorify.rocks/favicon-16x16.png", 737 | link: "https://colorify.rocks/" 738 | }, 739 | ] 740 | }, 741 | { 742 | title: "站点生成", 743 | items: [ 744 | { 745 | title: "VitePress", 746 | desc: "Vue 驱动并使用Vite构建的静态网站生成器", 747 | icon: "https://vuepress.vuejs.org/hero.png", 748 | link: "https://vitepress.vuejs.org" 749 | }, 750 | { 751 | title: "VuePress", 752 | desc: "Vue 驱动的静态网站生成器", 753 | icon: "https://vuepress.vuejs.org/hero.png", 754 | link: "https://vuepress.vuejs.org" 755 | }, 756 | { 757 | title: "Docusaurus", 758 | desc: "快速构建以内容为核心的最佳网站", 759 | icon: "/icons/docusaurus.svg", 760 | link: "https://docusaurus.io" 761 | }, 762 | { 763 | title: "Hexo", 764 | desc: "快速、简洁且高效的博客框架", 765 | icon: "https://hexo.io/favicon.ico", 766 | link: "https://hexo.io" 767 | }, 768 | { 769 | title: "GitBook", 770 | desc: "GitBook帮助您为用户发布漂亮的文档,并集中您的团队的知识进行高级协作", 771 | icon: "https://assets-global.website-files.com/600ead1452cf056d0e52dbed/6246d2036225eac4d74cff27_Favicon_Blue.png", 772 | link: "https://www.gitbook.com/" 773 | }, 774 | { 775 | title: "Docsify", 776 | desc: "docsify 可以快速帮你生成文档网站", 777 | icon: "https://docsify.js.org/_media/icon.svg", 778 | link: "https://docsify.js.org" 779 | }, 780 | { 781 | title: "WordPress", 782 | desc: "WordPress是一款能让您建立出色网站、博客或应用程序的开源软件", 783 | icon: "https://s.w.org/images/wmark.png", 784 | link: "https://cn.wordpress.org/" 785 | } 786 | ] 787 | }, 788 | { 789 | title: "网站托管", 790 | items: [ 791 | { 792 | title: "Vercel", 793 | desc: "Vercel将最好的开发人员体验与对最终用户性能的执着关注相结合", 794 | icon: "https://assets.vercel.com/image/upload/q_auto/front/favicon/vercel/57x57.png", 795 | link: "https://vercel.com" 796 | }, 797 | { 798 | title: "Netlify", 799 | desc: "Netlify 是一家提供静态网站托管的云平台,支持从 Github, GitLab, Bitbucket 等代码仓库中自动拉取代码 然后进行项目打包和部署等功能", 800 | icon: "/icons/netlify.png", 801 | link: "https://www.netlify.com" 802 | }, 803 | { 804 | title: "Coolify", 805 | desc: "一个开源和自我托管的 Heroku/Netlify 替代品", 806 | icon: "/icons/coolify.png", 807 | link: "https://coolify.io" 808 | }, 809 | { 810 | title: "GitHub Codespace", 811 | desc: "全球最大的软件项目托管平台,发现优质开源项目", 812 | icon: "https://github.githubassets.com/favicons/favicon.svg", 813 | link: "https://github.com/codespaces" 814 | }, 815 | { 816 | title: "Railway", 817 | desc: "带上你的代码,剩下交给我们 ", 818 | icon: "/icons/railway.png", 819 | link: "https://railway.app/" 820 | }, 821 | { 822 | title: "Supabase", 823 | desc: "Supabase 是一个开源的后端即服务(BaaS)平台,它可以帮助开发者快速构建应用程序,无需编写后端代码。", 824 | icon: "/icons/supabase.png", 825 | link: "https://supabase.com/" 826 | } 827 | ] 828 | }, 829 | { 830 | title: "社区", 831 | items: [ 832 | { 833 | icon: "https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a", 834 | title: "Stack Overflow", 835 | desc: "全球最大的技术问答网站", 836 | link: "https://stackoverflow.com" 837 | }, 838 | { 839 | title: "稀土掘金", 840 | icon: "https://lf3-cdn-tos.bytescm.com/obj/static/xitu_juejin_web//static/favicons/apple-touch-icon.png", 841 | desc: "面向全球中文开发者的技术内容分享与交流平台", 842 | link: "https://juejin.cn" 843 | }, 844 | { 845 | title: "Hacker News", 846 | icon: "https://news.ycombinator.com/y18.svg", 847 | desc: "内容聚焦于科技、创业、编程以及其他与极客文化相关的话题", 848 | link: "https://news.ycombinator.com/" 849 | }, 850 | { 851 | title: "Product Hunt", 852 | icon: "https://ph-static.imgix.net/ph-favicon-brand-500.ico?auto=format", 853 | desc: "一个社区驱动的产品榜单,汇集了全球最新的科技产品、应用、工具和创意项目", 854 | link: "https://www.producthunt.com/" 855 | }, 856 | { 857 | title: "V2EX", 858 | icon: "https://www.v2ex.com/static/icon-192.png", 859 | desc: "一个关于分享和探索的地方", 860 | link: "https://www.v2ex.com" 861 | }, 862 | { 863 | title: "SegmentFault 思否", 864 | icon: "https://static.segmentfault.com/main_site_next/0dc4bace/touch-icon.png", 865 | desc: "技术问答开发者社区", 866 | link: "https://segmentfault.com" 867 | }, 868 | { 869 | title: "博客园", 870 | icon: "/icons/cnblogs.svg", 871 | desc: "博客园是一个面向开发者的知识分享社区", 872 | link: "https://www.cnblogs.com" 873 | }, 874 | { 875 | title: "DEV Community", 876 | icon: "https://dev-to-uploads.s3.amazonaws.com/uploads/logos/resized_logo_UQww2soKuUsjaOGNB38o.png", 877 | desc: "软件开发人员的建设性和包容性社区", 878 | link: "https://dev.to" 879 | }, 880 | { 881 | title: "知乎", 882 | icon: "https://static.zhihu.com/heifetz/assets/apple-touch-icon-60.362a8eac.png", 883 | desc: "中文互联网高质量的问答社区和创作者聚集的原创内容平台", 884 | link: "https://zhihu.com" 885 | } 886 | ] 887 | } 888 | ] 889 | -------------------------------------------------------------------------------- /tsconfig.tsbuildinfo: -------------------------------------------------------------------------------- 1 | {"program":{"fileNames":["../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@4.9.5/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/styled-jsx/types/css.d.ts","../../node_modules/.pnpm/@types+react@18.2.7/node_modules/@types/react/ts5.0/global.d.ts","../../node_modules/.pnpm/csstype@3.1.2/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+prop-types@15.7.5/node_modules/@types/prop-types/index.d.ts","../../node_modules/.pnpm/@types+scheduler@0.16.3/node_modules/@types/scheduler/tracing.d.ts","../../node_modules/.pnpm/@types+react@18.2.7/node_modules/@types/react/ts5.0/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/styled-jsx/types/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/styled-jsx/types/style.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/styled-jsx/types/global.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/amp.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/amp.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/globals.global.d.ts","../../node_modules/.pnpm/@types+node@17.0.45/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/get-page-files.d.ts","../../node_modules/.pnpm/@types+react@18.2.7/node_modules/@types/react/ts5.0/next.d.ts","../../node_modules/.pnpm/@types+react@18.2.7/node_modules/@types/react/ts5.0/experimental.d.ts","../../node_modules/.pnpm/@types+react-dom@18.2.4/node_modules/@types/react-dom/index.d.ts","../../node_modules/.pnpm/@types+react-dom@18.2.4/node_modules/@types/react-dom/next.d.ts","../../node_modules/.pnpm/@types+react-dom@18.2.4/node_modules/@types/react-dom/experimental.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/config.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/load-custom-routes.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/image-config.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/body-streams.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-kind.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-definitions/route-definition.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matches/route-match.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/request-meta.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/config-shared.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-http/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/api-utils/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/node-environment.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/require-hook.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/node-polyfill-fetch.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/node-polyfill-form.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/node-polyfill-web-streams.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matchers/route-matcher.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matcher-providers/route-matcher-provider.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/helpers/i18n-provider.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matcher-managers/route-matcher-manager.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/router.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/render-result.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/next-url.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/types.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/send-payload/revalidate-headers.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/send-payload/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-http/node.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/font-utils.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/load-components.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/render.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/response-cache/types.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/response-cache/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/helpers/module-loader/module-loader.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-definitions/app-route-route-definition.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/app-build-manifest-plugin.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/coalesced-function.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/static-generation-async-storage.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/patch-fetch.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/utils.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/request-async-storage.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/draft-mode.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/headers.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/static-generation-bailout.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/action-async-storage.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-modules/route-module.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/async-storage/async-storage-wrapper.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/async-storage/static-generation-async-storage-wrapper.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/http.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-modules/app-route/module.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-handler-managers/route-handler-manager.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/normalizers/normalizer.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/normalizers/locale-route-normalizer.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-server.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-definitions/locale-route-definition.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-definitions/pages-api-route-definition.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matches/pages-api-route-match.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/render-server.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/image-optimizer.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/next-server.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matcher-managers/default-route-matcher-manager.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matcher-managers/dev-route-matcher-manager.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/next.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/types/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/html-context.d.ts","../../node_modules/.pnpm/@next+env@13.4.4/node_modules/@next/env/dist/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/mitt.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/with-router.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/router.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/route-loader.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/page-loader.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/router/router.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/constants.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/utils.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/pages/_app.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/app.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/revalidate-path.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/revalidate-tag.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/cache.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/runtime-config.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/config.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/pages/_document.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/document.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/dynamic.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dynamic.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/pages/_error.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/error.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/head.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/head.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/image.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/image.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/link.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/link.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/router.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/script.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/script.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/emoji/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/index.node.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/server.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/types/global.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/image-types/global.d.ts","./next-env.d.ts","./config/site.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@next/font/dist/types.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","../../node_modules/.pnpm/next@13.4.4_@babel+core@7.22.1_react-dom@18.2.0_react@18.2.0/node_modules/next/font/google/index.d.ts","./lib/fonts.ts","../../node_modules/.pnpm/clsx@1.2.1/node_modules/clsx/clsx.d.ts","../../node_modules/.pnpm/tailwind-merge@1.12.0/node_modules/tailwind-merge/dist/lib/tw-join.d.ts","../../node_modules/.pnpm/tailwind-merge@1.12.0/node_modules/tailwind-merge/dist/lib/tw-merge.d.ts","../../node_modules/.pnpm/tailwind-merge@1.12.0/node_modules/tailwind-merge/dist/lib/validators.d.ts","../../node_modules/.pnpm/tailwind-merge@1.12.0/node_modules/tailwind-merge/dist/lib/types.d.ts","../../node_modules/.pnpm/tailwind-merge@1.12.0/node_modules/tailwind-merge/dist/lib/default-config.d.ts","../../node_modules/.pnpm/tailwind-merge@1.12.0/node_modules/tailwind-merge/dist/lib/extend-tailwind-merge.d.ts","../../node_modules/.pnpm/tailwind-merge@1.12.0/node_modules/tailwind-merge/dist/lib/create-tailwind-merge.d.ts","../../node_modules/.pnpm/tailwind-merge@1.12.0/node_modules/tailwind-merge/dist/lib/merge-configs.d.ts","../../node_modules/.pnpm/tailwind-merge@1.12.0/node_modules/tailwind-merge/dist/lib/from-theme.d.ts","../../node_modules/.pnpm/tailwind-merge@1.12.0/node_modules/tailwind-merge/dist/index.d.ts","./lib/utils.ts","./types/nav.ts","../../node_modules/.pnpm/@radix-ui+react-slot@1.0.2_@types+react@18.2.7_react@18.2.0/node_modules/@radix-ui/react-slot/dist/index.d.ts","../../node_modules/.pnpm/class-variance-authority@0.4.0_typescript@4.9.5/node_modules/class-variance-authority/dist/types.d.ts","../../node_modules/.pnpm/class-variance-authority@0.4.0_typescript@4.9.5/node_modules/class-variance-authority/dist/index.d.ts","./components/ui/button.tsx","../../node_modules/.pnpm/lucide-react@0.105.0-alpha.4_react@18.2.0/node_modules/lucide-react/dist/lucide-react.d.ts","./components/icons.tsx","./components/main-nav.tsx","../../node_modules/.pnpm/next-themes@0.2.1_next@13.4.4_react-dom@18.2.0_react@18.2.0/node_modules/next-themes/dist/types.d.ts","../../node_modules/.pnpm/next-themes@0.2.1_next@13.4.4_react-dom@18.2.0_react@18.2.0/node_modules/next-themes/dist/index.d.ts","./components/theme-toggle.tsx","./components/site-header.tsx","./components/tailwind-indicator.tsx","./components/theme-provider.tsx","./app/layout.tsx","./app/page.tsx","./.next/types/app/layout.ts","./.next/types/app/page.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+react@18.0.22/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/image-types/global.d.ts","../../node_modules/.pnpm/@next+env@13.3.0/node_modules/@next/env/types/index.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/globals.global.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/index.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@17.0.12/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+react-dom@18.0.7/node_modules/@types/react-dom/index.d.ts","../../node_modules/.pnpm/@types+react@18.0.22/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/next-themes@0.2.1_next@13.3.0_react-dom@18.2.0_react@18.2.0/node_modules/next-themes/dist/index.d.ts","../../node_modules/.pnpm/next-themes@0.2.1_next@13.3.0_react-dom@18.2.0_react@18.2.0/node_modules/next-themes/dist/types.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/amp.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/app.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/config.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/utils.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/app-build-manifest-plugin.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/headers.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/request-async-storage.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/static-generation-async-storage.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/components/static-generation-bailout.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/image.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/link.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/page-loader.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/route-loader.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/router.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/script.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/client/with-router.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@next/font/dist/types.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/emoji/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/index.node.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/coalesced-function.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/load-custom-routes.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/pages/_app.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/pages/_document.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/pages/_error.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/api-utils/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/async-storage/async-storage-wrapper.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/async-storage/static-generation-async-storage-wrapper.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-http/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-http/node.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/base-server.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/body-streams.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/config-shared.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/config.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/font-utils.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/helpers/i18n-provider.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/helpers/module-loader/module-loader.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/normalizers/locale-route-normalizer.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/normalizers/normalizer.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-definitions/app-route-route-definition.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-definitions/locale-route-definition.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-definitions/pages-api-route-definition.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-definitions/route-definition.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-handler-managers/route-handler-manager.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-kind.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matcher-managers/default-route-matcher-manager.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matcher-managers/dev-route-matcher-manager.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matcher-managers/route-matcher-manager.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matcher-providers/route-matcher-provider.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matchers/route-matcher.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matches/pages-api-route-match.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-matches/route-match.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-modules/app-route/module.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/future/route-modules/route-module.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/get-page-files.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/image-optimizer.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/initialize-require-hook.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/patch-fetch.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/lib/render-server.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/load-components.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/next-server.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/next.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/node-polyfill-fetch.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/node-polyfill-web-streams.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/render-result.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/render.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/request-meta.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/response-cache/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/response-cache/types.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/router.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/send-payload/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/send-payload/revalidate-headers.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/http.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/next-url.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/server/web/types.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/amp.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/bloom-filter/base-filter.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/bloom-filter/bit-set.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/bloom-filter/hashing.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/bloom-filter/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/constants.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/dynamic.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/head.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/html-context.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/image-config.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/mitt.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/router/router.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/runtime-config.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/shared/lib/utils.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/styled-jsx/types/css.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/styled-jsx/types/global.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/styled-jsx/types/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/styled-jsx/types/style.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/document.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/dynamic.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/error.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/font/google/index.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/head.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/image.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/link.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/router.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/script.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/server.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/types/global.d.ts","../../node_modules/.pnpm/next@13.3.0_@babel+core@7.20.7_react-dom@18.2.0_react@18.2.0/node_modules/next/types/index.d.ts","./components/layout.tsx"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"0990a7576222f248f0a3b888adcb7389f957928ce2afb1cd5128169086ff4d29",{"version":"549df62b64a71004aee17685b445a8289013daf96246ce4d9b087d13d7a27a61","affectsGlobalScope":true},"4c68749a564a6facdf675416d75789ee5a557afda8960e0803cf6711fa569288","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"d6070956a76cd4119de9baf0d47ec6f46cab9036bf3bef2fd5dfc74178808be0","affectsGlobalScope":true},"cc69795d9954ee4ad57545b10c7bf1a7260d990231b1685c147ea71a6faa265c","8bc6c94ff4f2af1f4023b7bb2379b08d3d7dd80c698c9f0b07431ea16101f05f","1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","57194e1f007f3f2cbef26fa299d4c6b21f4623a2eddc63dfeef79e38e187a36e","0f6666b58e9276ac3a38fdc80993d19208442d6027ab885580d93aec76b4ef00","05fd364b8ef02fb1e174fbac8b825bdb1e5a36a016997c8e421f5fab0a6da0a0","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"af9771b066ec35ffa1c7db391b018d2469d55e51b98ae95e62b6cbef1b0169ca","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","30a1b56068b3820c91a055425a6af2294f8ef2bb10a59dcda413f6437093620d","b186209db0039208e98815f84b729409647f338ca2faa9099ce1d866caf98e7a","61db15c65ec34b3394d5b0c7dd34cd98b95a79c3c9df9e682df720b3d56654ba","a95b76aef31395752eb5cb7b386be2e287fdc32dfdf7bdbbb666e333133b1ef7","15b9e87ecd2243e804d8020b7ca53b11f1b8402835d3feeb8aa945bd3150ef53","25dfdc5e587333d6d9d8e13ffe07511f6a878c18bbb9fd82b2b359697cf70748","db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","4059592a5c2f2d5f75aac6f555702e3e64be45d1f4e54ba2444b92ce5ac84b1f","625e5d5e9e25017d53e65c62ff944d812d48ec1bbaaf7395c8f8cdf6c9218061","f307044185ce95a12cd54318863a9c56ed9271a4fc45df9e0c4d47db4285c3c2","39a3fc61a65aee8c90cd81bb2c9b508be6c5cc745cd40eaed95954a07c11bb82","6ceac05c32f579adbed2f1a9c98cd297de3c00a3caaffc423385d00e82bce4ce","fa5bbc7ab4130dd8cdc55ea294ec39f76f2bc507a0f75f4f873e38631a836ca7","f7c024ce0f73f3a0e56f35826bed34dd9743ad7daa19068acca653dd7d45f010","cf86de1054b843e484a3c9300d62fbc8c97e77f168bbffb131d560ca0474d4a8","f5c7a89fda2e07a98c64b2e7eb18044e38effd2c1865686bef465d86e9604495","9fb549218f2c4fc08b3ceaf5776cbf9b21ede09368f55d96cae87c6b81325fb0","653060b69b4c62825fca79d91259a5f42736f56dba428322b36cfae593ee8359","c1a5ee52352d5adce0460f4b9d44667d46102b5c0f2a5e60cde55dc2967c2f74","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","a9226d6aaddf108b737bc227ba7a5944f787f2c125eb1183047cbe1a04fc4269","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","8a8bf772f83e9546b61720cf3b9add9aa4c2058479ad0d8db0d7c9fd948c4eaf","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","973b59a17aaa817eb205baf6c132b83475a5c0a44e8294a472af7793b1817e89","ada39cbb2748ab2873b7835c90c8d4620723aedf323550e8489f08220e477c7f","6a3699e58e3e68f379d77a0ade976d91b705182fa6189bac35e876a9ac888da1","741c438ec079a077b08d37d9c0466924b68e98ed47224e83fcb125c5863eb355","649d4c4855a24d8f7cbe4977a0733c405b8ab00f87774359987e4648d0d9da1e","98435f5eaadf367fa5b29e886f6265456219dbbb05e075d135aa5938f7ffc46d","1b82026434e469addbcb287a1f2c6e81eab7e9c461714543ea37715763f45ef8","3ad45e147ea20397ae0a7ff14e4620f607e3cfcffdad39fedc23c781176f1151","ecfdb1c933f735a39c1dcc3405179aad04dfc6a3c973087902c84f3c89140470","4c91cc1ab59b55d880877ccf1999ded0bb2ebc8e3a597c622962d65bf0e76be8","aed65bf7421ea3b799066d0560878aa28f6728bd648a2cd33859eca4c1b8e3ac","ca1b882a105a1972f82cc58e3be491e7d750a1eb074ffd13b198269f57ed9e1b","b714a2744382be1f2c8bf6e5376b0e4cc5546c2a0ed7585c8da82a9a3d9675ee","3867ca0e9757cc41e04248574f4f07b8f9e3c0c2a796a5eb091c65bfd2fc8bdb","fc7214ff37161bf1e89c52b11fc7dddceccab809e36ea0ee26353c7502b0b27b","58902668adae2e5eb67efbccb4048afa02308fa684f1a4e4c7d47668ecf58c1b","ef2d1bd01d144d426b72db3744e7a6b6bb518a639d5c9c8d86438fb75a3b1934","d99f652b142f9d1941f9ad5ebac9263a25878a667a6ffd6397985ed52a58e8a6","e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","c65a8a2d179a4639a46900b296b85c4bf2a53c85aa61dfa2f7c551ec9828d2c4","cace786bf8078d7cb640d94f97c2f47e5c4f979c6a2e3c9168e54a0d79a6ac0a","17937316a2f7f362dd6375251a9ce9e4960cfdc0aa7ba6cbd00656f7ab92334b","575bc12d93a33c09e803375cd99a77f50c9272d01abe26d5de27af637c7427a3","c93c7e9d2f1e2f72d2cf73d2137897c0074a03cc876dbb202d85de6a195d23cd","e01ed711d76cfe84c7d099d75306323fa1ebc27ce02a742fab271e82a1da4dee","7d1b37284c9a4c58e2954aa21485d37881b5ab25937b29ebfb63c4d37fc3ae3d","1efe66d15fb19a2e8f3aff712fdfd1b9f7b19e7c3603ee188b13a9572ff9a7d8","f0e480e327dd94c30c7003c7ca188b401ab451396f40e4ec5ae2f9b3a944a7be","73a79ef2042a598ab51bb626284b2d2dae8344e98a9e0432d560ca290d9d8253","6e5f5cee603d67ee1ba6120815497909b73399842254fc1e77a0d5cdc51d8c9c","f6404e7837b96da3ea4d38c4f1a3812c96c9dcdf264e93d5bdb199f983a3ef4b","44796bda735e9d184d9fa3ed08bb7c9dab1d185ac542efac5fae1fab553537cc","3cd0346fc79e262233785d9fe2cbad08fc3fe6339af3419791687152ddfe5596","b1645ede06e14485c0cbcae199c5d9075f116fe34d9df7f55609511798e51878","2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","1e7fb60ac7ae5365d12ec98b3efbcb9130c400ad3ccc07f2db6f26ff24d62ccf","0aef0a60e229dfeff49f68bf941d24b8338fc3d55aa7c64b1c9acbf9d3a67b46","ba7f9c1882b80478c7fe2268f12e06bb02445212ae104c92b03e4f774e605ae5","ec69228e9b340bd84e916363a3b5edc68e0323ba3eb30fba6ddb67817305ddc3","d23518a5f155f1a3e07214baf0295687507122ae2e6e9bd5e772551ebd4b3157","a966ea6e57d54a96fd90453fb40ef482b61cec8e0797e6b3074925226643c7c6","dbc86fab3c51ebb8bf520f674a39a6c1875fa8b663e5e9c411f416de56944502","0089794bd235856b977ceb4603462a0376e308391b50491b35b7e054c0dbbed6","b47bb50ee9d8ac4f69ff2f616b556905e7cb486c554fcc7e04f31c21dfd5e919","8ee3b97185639bf605f207977247c4ef6e8c1c345e92213a2721f0f16542f998","72a3c9bb71c176ee0dfd75a6cd6baf1c5410bc64400a6abd917155a4449df9bd","a7f6b885ca1e9998e44ca651e3f3c97dc6596100e4d47eaa20f2f5a303ed435f","4a8bae6576783c910147d19ec6bef24fd2a24e83acbbb2043a60eec7134738e6","8317f1d2e04f181eca793161466a31d3082d3af6eb6516ba1fead9fe66037431","85b519b910923e882d3bc742811b51588537a16aa987e26bd5231446778dff88","6463077c5df7e039a71d764cdcf8f1a290701b24cd276c75396a292f06175d92","88961917ec908f9fde57b86b8038b8b30766ba14cfdcc214c7c5498d7c9f7924","6bf7c9a195d759ff21d45ebe00ae294b4f0ac36a1114a4580aa60c36a4c2e0ba","45e5c75f8ddf51eff85961cf1912a9a745809957f8b57a0a7d859e20b19ae260","3319a33836fe2eb31969c5b412cf9031e4ce30373ca654e50a36fa63b108d772","1366638c25b6ce477f6394c584cc0e2364ff72ffaeec3ceb7dde1c7b939fade9","e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","1822b69406252b606dc1aec3231a7104ac1d456cfa2c0a9041e61061895ae348","87694c06ce4978fb9d5aa26bde5ab93897fd2263be2c591a683ea907420157dc","c1ac179620434b59c1569f2964a5c7354037ac91a212a1fb281673589965c893","9f891dc96f3e9343c4e823ba28195fd77e59c84199696a8bdfe7b67925732409","63f50c44294385846e5deed7d9d056b3b3bad04ebaa63e1fdca149e1627f5d40","6c06a306d00219d876210363bd138c562c451e960170a4da13d5b3b562584a25","a9c5f2c64344a95ece576d4cbfda0efa19824865035f3bbaa2916cf61496c382","fa4a1ef903f0d0cd7cc2a5f7ad4e7002d538200b4060f6cea0d4f0d11e69b4fa","2c6f043430f24bde409ed1e70d197b3ef70607cd656817bfd6cf02e630bb7a39","495a5da35b04cd142d1301921ce8776c3bd8eab85bbf0ea694e631bc5cd35338","d4a706c16a0584b6e9f63db6f7805dc22f506a30ca94683c8aa6764af45fc646","2d90c24e335fe4670d8b61ac3236ee17b87dddb13b9c97e6bbded8ce398f4ce6","8e4b9d1c9af725ae55f298a8920a0633290ff3e884ea89e67d19f8ea5716a3e0","6176b9f450623c979d65630c243971e4348b39f9c2b3052f4b1b2f2d558c13c7","06bcd1f53ae68951411b1649b45fdea22d87db52d2dbeeb8b0af44d47a186c3f","b65c4ff9cd4815c5f1855e8702740c8bbb4921140e3c415c5affe3e376e322dc","39e1d693055885df9edec45084ed64689f3db0aef2fc7757b1b4aa34ad15c06d","be90dde0efc4ce2544606fa5bd2cf15660f43175f49daae067c53a16d7cbf024","15e84dd6d50ef02f936e7bf8f32f71e7469d486df900955e6f8c152266e4b801","3a3a5425e336e230eed798c39ab29e8315a699753d2d128d1499d2eafffe5c80",{"version":"19dcdc086f0c02968d5d774a8199dca62e5817797828e8d228658b75dcc1f616","affectsGlobalScope":true},"2470bef27cbc2cba488b5368c42cc564675441b523506782728e17d0c74af7b3","c470da3e2841d5ea62abc72523b8b86f74b4eed8c8244a2dad98fe2fb6b3af74","2766dee26ea113e9b491b7842cb44df57c4d79b17057b42607e09fc174bd411d","cb4047ce260c2f4585b2d592d04a1d9a9c2a1ba32679a688523ec314a977989a","0511c61c22d677da1b6bab4d3844aead1d7e27028d2f0ed1ed315e0860ed5357",{"version":"b4610d904ab939109aa8bcee6f795de8da780b6b4a4d8ff2ff9d2e3b699f55b7","affectsGlobalScope":true},{"version":"6707b2ff066e782f676f90ba7abfca7d6f321eececbbecf3d42eebb7a8c28da2","affectsGlobalScope":true},"32f48a48ae02fa46f355b94564cfcea08d97da597e52133cd42bdcf3397b8409",{"version":"3cf72817794f1152e41b704c8f6072c099f0e676bcd704a967901220873fec94","affectsGlobalScope":true},"ec29be0737d39268696edcec4f5e97ce26f449fa9b7afc2f0f99a86def34a418","afd2e86172fee98d7229f886bbbab536b6d4b707d076ced0a68da268eb73faec","5b45d2b0b0e46d9636c8e5206038e703c870382eb315294bcd1c210820de1b4f","06dfd2ebf571b3df2cc23a70f031417eb77f7702f0ce727cec99a296242d6929","65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","0b481dc3fa35afc7f6e80f0ca67753a3567c4fbd2ad996c437f7e550515f7bce","167e0ad8d357a1c1a7d68be49914c7a446560c9c4a35d65c6970635c604e8602","9eac5a6beea91cfb119688bf44a5688b129b804ede186e5e2413572a534c21bb","6c292de17d4e8763406421cb91f545d1634c81486d8e14fceae65955c119584e","b7fff2d004c5879cae335db8f954eb1d61242d9f2d28515e67902032723caeab","8303df69e9d100e3df8f2d67ec77348cb6494dc406356fdd9b56e61aa7c3c758","d8ee76e148f57490fc4517c3802f2fcfdbbdaf39a4afae62ebc42287586fa142","4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","a80e3207332979fcd48223790af48f61192c1d348162adb7e4f30f23085dc0e1","a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","c3a905a7fa93ca648349e934fb19356cf7b40e48d65658de3e0c77d67696fd40","a3f41ed1b4f2fc3049394b945a68ae4fdefd49fa1739c32f149d32c0545d67f5","c2489c80994d62e5b51370a6f02f537db4c37af5f914fcb5b2755b81f1906cae","47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","da5f632f5f82f60322089dc4f73fde31ba4c51d599d920d1cad0eef686c71f7c","42c686ce08bf5576ed178f4a6a62d1b580d941334fb53bdff7054e0980f2dc75","605b66155b4f222c5f5a48bf19224815e4bceb2966dfb1c5704692ed07e5fa0a","cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","26a451bf3a5f87ebaaa7694c5b664c3d9cec296f3fa8b797b872aee0f302b3a0","5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","c0eeaaa67c85c3bb6c52b629ebbfd3b2292dc67e8c0ffda2fc6cd2f78dc471e6","4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","25c4bd23e828e865868722c7a1d01876ed891ddfbd92cb6f006e747f56eee0c9","c2008605e78208cfa9cd70bd29856b72dda7ad89df5dc895920f8e10bcb9cd0a","ec61ebac4d71c4698318673efbb5c481a6c4d374da8d285f6557541a5bd318d0","10ec84e648ffc7654868ca02c21a851bc211c8e4d50fd68131c1afa9afd96a33","b5934ca186f498c83e9a663d3df019d82290303fd86b1658cf27cf892b50aaf9",{"version":"16fd66ae997b2f01c972531239da90fbf8ab4022bb145b9587ef746f6cecde5a","affectsGlobalScope":true},{"version":"0bcce57ab91bed60fc66440a053df9254f526ee98a812a35f91604734e21009c","affectsGlobalScope":true},"6d7a1155bc29ed4f608bad12f17d1eadccfc4a5ca55f0c483255089ab5c30855","79d056984a8964d3917c7587067447d7565d9da696fcf6ecaa5e8437a214f04e","9269d492817e359123ac64c8205e5d05dab63d71a3a7a229e68b5d9a0e8150bf",{"version":"2bf8d68be6cfc43093d8e9961a77958ba6a406b2af4fbc04ae5c301fad5aef55","signature":"7531b23dc206e66de5fc46605c37bea564724568ac6010abeaec409da129109c"},"807535f4e95ebccc1eae3d675289b1be5c23e6aaa6fd624f2be485e3e1e6f23d","02c89b8b09fc46836726f0d6a7c4c72f9fdfe91d581a99b386c73393096093c0","1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7",{"version":"f3c253f3833841eb9dd65d6b99a2f357debfdeef5f85c85c291a465bbf03bc6b","signature":"40041b898f88937d7f964aea50430b0e65a8b63c34a9fef778134ada07dda9e5"},"7a129438cedf12b5f1b5f773a3e96242b7569c95243432dcf12618f80fca5cdc","0165115e3c8788801fb59e9c3cca0c7ba573515a8b7ce010c7d75deba92b455f","0e000fd63bd08abc96dbd4746c371b8a0368f351629590ee7ba12c9787cdc8e6","463ed32d194c6bd58c35083d76af0170ad1b04f7b3ef91c9803593bd089c2864","84936ce43e5e01db3ee57c205d244181d85cd0e1fadbc6e1f94b3d9bd9a3aae5","802417aed26cb50faf8b7176fa00279bdb5acbb53bf4a63ae00d47d25d904516","bc1899efe6dcdce9c9c8bd9ce97d58b197facb7f4a516e5d13a804fa5f77cf4f","4d080c54c10ec25e6e84337dbaff7953066150baf94fd48db6c70a37cdd43a8a","3ad4660add51c3c3adf49524d61cc1e3ed57e16274c62c6cfb047b64aab973aa","22f25ec27fa1c1ca03010aa71b8077c742ab5bf6a08a44663a287a296be34481","74ac2c0b3fa70bb0cf47f80fabc73f6b868ba177ced233e294068fc099cf5a06",{"version":"7c8c3dfc0cdd370d44932828eb067ef771c8fe7996693221d5d4b90af6d54f2d","signature":"512960c0e955a2324b34354dac25e3e4d431a1af4cd33077935eda5e95c8b7e1"},{"version":"fce3be25a64ca64c47d90887b7055580ad97976c00d1e3b9bac188cc381f05a6","signature":"1bc04eeeeb29b6b205510f724cca473ce29370b9bcae51e9d7a0d894f62b2332"},"2b5cd7e0eac66430d0165c2413e7cb59ac3cd16d933b1445b1825472d754600d","951a918a753179bf5c018065e3302c8e2d899600ac1e7e5dfc1c2d9867a643c5","842454d0222fa151b62f4f18c893335993829311367f4502270d449bd32c1b72",{"version":"a22aff0a4d81a964adf4968e4b6d7fe8eda2217fb286a6ec623239d86d6e4cf1","signature":"ce7ac6ade775351f2327ebe7e9a46aecba78ba92d91163ad91d5adf0a9d71ca5"},"894711d8c2e76012cc3258ab90fc6339b19a792349f94c16e1b4801709e0eb94",{"version":"630dce80997507ab9b8fe91a7d7f35bd11bf01a9d4f1efc89dc72a6116c57705","signature":"7d292dbe992eb8b0d7b7392c39626886cfe9f7d93feba38f6a4a07ae44b5651f"},{"version":"807a488b1f65d13422d7f448848251cdd7a83db180ad3a37aba965c30365f5a3","signature":"f83821b690f1b2318a5a74c89269f3e6f16f152c56d70c37a788e041fc6dc34a"},"ae0d70b4f8a3a43cb0a5a89859aca3611f2789a3bca6a387f9deab912b7605b0","966b0f7789547bb149ad553f5a8c0d7b4406eceac50991aaad8a12643f3aec71",{"version":"3aea6d72f51038334d6214d926a19c348cf24db88dff3939d7b38c1a9a724dc5","signature":"c1eb00d3c688cb70fce542d9032e6de6d4764454d42ec3d4c5e802aa52ad8870"},{"version":"ada8f1b8272aae5d51031b133ad319a8815b84d2bf6bcb93397de1d0ea934a78","signature":"faa47bb6e6cae6f52b16a5ad10ec575bbb15370b24ca28c0e051dbbcc83d8210"},{"version":"81528e2a53e4531e123eae9b2729bb865346b7cf256a59f264472e1d25688ce8","signature":"f0627c49d2c5cc29d42d168d516c1ca9ef820b91d20429f3d699cf921abcf07e"},{"version":"07e5c224ebb680ed0db8ddbe5863870cb62d598bfc60f0948fdd668ab5f1920e","signature":"2d0cfebc3ccdbb2df4964146ffbf99de0986bb5f7c6b254e0286a7e09a295711"},"f7ff7b1534fec1cc87e8063745cb140dcfe2014c5e559994093d986b93274f69","e78eab43f6d8c2542ebadd4be1d714ecf778b914cd6a3ab0b80eb078b03cd63a",{"version":"cea43ac86c0eaeadf92a6c348b83338a1587031f1b306849d91e0375fb20c176","signature":"50eb0cca60a05f4817fa22b73df94690c4f0696b58e6cea749c0ef331d5637b9"},{"version":"999d3d215cc42c74699ad8db3306d1824b73dd6fa315c69c8b73a5849fcd9e9f","signature":"50eb0cca60a05f4817fa22b73df94690c4f0696b58e6cea749c0ef331d5637b9"}],"options":{"esModuleInterop":true,"jsx":1,"module":99,"skipLibCheck":true,"strict":true,"strictNullChecks":true},"fileIdsList":[[112],[62,112],[69,112],[72,112],[73,78,112],[74,84,85,92,101,111,112],[74,75,84,92,112],[76,112],[77,78,85,93,112],[78,101,108,112],[79,81,84,92,112],[80,112],[81,82,112],[83,84,112],[84,112],[84,85,86,101,111,112],[84,85,86,101,112],[112,116],[87,92,101,111,112],[84,85,87,88,92,101,108,111,112],[87,89,101,108,111,112],[69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118],[84,90,112],[91,111,112],[81,84,92,101,112],[93,112],[94,112],[72,95,112],[96,110,112,116],[97,112],[98,112],[84,99,112],[99,100,112,114],[84,101,102,103,112],[101,103,112],[101,102,112],[104,112],[105,112],[84,106,107,112],[106,107,112],[78,92,101,108,112],[109,112],[92,110,112],[73,87,98,111,112],[78,112],[101,112,113],[112,114],[112,115],[73,78,84,86,95,101,111,112,114,116],[101,112,117],[62,112,123,124],[62,112,123,124,125],[62,66,112,121,222,262],[58,59,60,61,112],[62,66,112,122,222,262],[112,289],[62,112,295],[67,112],[112,235],[112,237,238,239],[112,241],[112,128,136,153,222],[112,138],[98,112,119,120,128,136,140,154,180,181,182,185,222],[112,126,152],[112,126],[112,126,152,153],[72,112,119],[112,188],[112,187,189,191],[72,112,119,158,187,188,189],[72,112,119,182],[62,112,129],[62,111,112,119],[62,112,152,228],[62,112,152],[112,226,231],[62,112,227,234],[112,271],[62,101,112,119,262],[62,66,87,112,119,121,122,222,260,261],[112,127],[112,215,216,217,218,219,220],[112,217],[62,112,223,234],[62,112,234],[87,112,119,137,234],[87,112,119,137,138,158,159,187],[112,182,183,196],[87,112,119,136,138],[87,101,112,119,135,137,138,222],[87,98,111,112,119,127,128,129,135,136,137,138,146,149,150,151,152,155,164,165,167,169,170,171,172,173,175,177,182,200,202,222],[87,101,112,119],[112,126,128,129,130,135,234],[112,136],[98,111,112,119,128,134,135,136,137,146,149,150,151,162,165,168,171,174,182,200,203,209,211,212],[112,136,140,182],[112,135,136],[112,149,201],[112,132,133],[112,132,204],[112,132],[112,134,137,178,199],[112,132,133,134,147,148,150],[112,132,133,134,147,150,210],[112,134,148,149],[112,147],[112,133,134],[112,134,205],[112,133],[112,136,159,164,179,186,195,197,198],[112,133,159,183,184,190,192,193,194],[87,111,112,119,129,135,136,177],[112,164,177,234],[112,183,184],[112,140],[112,120,170,222,234],[87,98,111,112,119,128,134,135,137,140,146,151,154,155,162,164,165,167,168,169,173,174,177,182,203,206,207,208,234],[87,112,119,135,136,140,209,213],[62,87,98,112,119,127,129,135,138,155,169,170,171,172,222],[87,98,111,112,119,131,134,137],[112,176],[87,112,119,155],[98,112,119,127,128,135,137,146,149,150],[87,112,119,155,166],[87,112,119,137,167],[87,112,119,136,149],[87,112,119],[87,112,119,137,158],[112,157],[112,159],[112,263],[112,136,156,158,162],[112,136,156,158],[87,112,119,131,136,159,160,161],[112,232],[62,112,120,169,172,222,234],[62,98,111,112,119,127,225,227,229,230,234],[112,137,146,152],[98,112,119],[112,145],[62,87,98,112,119,127,222,223,224,231,233],[57,62,63,64,65,112,121,122,222,262],[112,243],[112,245],[112,247],[112,272],[112,249],[112,251],[66,68,112,222,236,240,242,244,246,248,250,252,254,255,257,265,266],[112,253],[112,227],[112,256],[72,112,159,160,161,162,258,259,262,264],[112,119],[62,66,87,98,112,119,121,122,123,125,127,138,214,221,234,262],[112,276,277,278,279,280,281,282,283,284],[112,276,279],[112,278,279],[112,279],[112,276],[112,221,301],[112,221,302],[112,267,270,274,286,298,299,300],[112,254,270,291],[112,292],[62,112,254,270,286,287,293],[112,254,270,291,293,294,297],[62,112,295,296],[62,112,291,292,296],[62,112,286,288,290],[112,273],[112,275,285],[112,267,268],[305],[289,305],[305,306],[276,277,278,279,280,281,282,283,284,305],[276,279,305],[278,279,305],[279,305],[276,305],[62,292],[62,287],[62],[62,295],[62,289,290],[271],[275],[305,307,308]],"referencedMap":[[224,1],[288,2],[69,3],[70,3],[72,4],[73,5],[74,6],[75,7],[76,8],[77,9],[78,10],[79,11],[80,12],[81,13],[82,13],[83,14],[84,15],[85,16],[86,17],[71,18],[118,1],[87,19],[88,20],[89,21],[119,22],[90,23],[91,24],[92,25],[93,26],[94,27],[95,28],[96,29],[97,30],[98,31],[99,32],[100,33],[101,34],[103,35],[102,36],[104,37],[105,38],[106,39],[107,40],[108,41],[109,42],[110,43],[111,44],[112,45],[113,46],[114,47],[115,48],[116,49],[117,50],[60,1],[125,51],[123,2],[124,52],[122,53],[58,1],[62,54],[121,55],[61,1],[290,56],[289,1],[275,1],[59,1],[292,2],[296,57],[295,2],[68,58],[236,59],[240,60],[242,61],[152,62],[164,63],[186,64],[153,65],[180,1],[170,66],[154,67],[172,66],[165,66],[130,66],[194,68],[191,69],[192,70],[184,1],[190,71],[183,72],[193,1],[251,73],[253,74],[229,75],[228,76],[227,77],[256,2],[226,78],[157,1],[259,1],[272,79],[271,1],[261,1],[263,80],[260,2],[262,81],[126,1],[181,1],[128,82],[215,1],[216,1],[218,1],[221,83],[217,1],[219,84],[220,84],[163,1],[235,78],[243,85],[247,86],[138,87],[196,68],[188,88],[197,89],[137,90],[168,91],[203,92],[131,93],[136,94],[127,95],[213,96],[212,97],[169,1],[149,98],[178,1],[202,99],[201,1],[179,100],[204,100],[205,101],[133,102],[200,103],[132,1],[210,104],[211,105],[150,106],[148,107],[147,108],[206,109],[134,110],[199,111],[195,112],[120,1],[208,113],[182,114],[185,115],[207,116],[171,117],[209,118],[214,119],[139,1],[144,1],[141,1],[142,1],[143,1],[155,93],[173,120],[135,121],[140,1],[177,122],[176,123],[151,124],[167,125],[166,126],[198,1],[156,127],[189,128],[187,129],[158,130],[160,131],[264,132],[159,133],[161,134],[238,1],[239,1],[237,1],[258,1],[162,135],[67,1],[230,1],[233,136],[245,2],[249,2],[223,137],[129,1],[225,1],[232,1],[231,138],[175,139],[174,140],[146,141],[145,1],[241,1],[234,142],[57,1],[66,143],[63,2],[64,1],[65,1],[244,144],[246,145],[248,146],[273,147],[250,148],[268,149],[252,149],[267,150],[254,151],[255,152],[257,153],[265,154],[266,155],[222,156],[285,157],[282,158],[280,159],[281,158],[284,160],[283,160],[276,1],[277,161],[279,1],[278,1],[11,1],[12,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[4,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[54,1],[55,1],[1,1],[10,1],[56,1],[303,162],[304,163],[301,164],[302,165],[293,166],[294,167],[298,168],[299,1],[300,169],[297,170],[291,171],[270,1],[274,172],[286,173],[269,174],[287,1]],"exportedModulesMap":[[224,1],[288,2],[69,3],[70,3],[72,4],[73,5],[74,6],[75,7],[76,8],[77,9],[78,10],[79,11],[80,12],[81,13],[82,13],[83,14],[84,15],[85,16],[86,17],[71,18],[118,1],[87,19],[88,20],[89,21],[119,22],[90,23],[91,24],[92,25],[93,26],[94,27],[95,28],[96,29],[97,30],[98,31],[99,32],[100,33],[101,34],[103,35],[102,36],[104,37],[105,38],[106,39],[107,40],[108,41],[109,42],[110,43],[111,44],[112,45],[113,46],[114,47],[115,48],[116,49],[117,50],[60,175],[125,51],[123,2],[124,52],[122,53],[58,1],[62,54],[121,55],[61,175],[290,176],[289,175],[275,175],[59,175],[292,177],[296,57],[295,2],[68,58],[236,59],[240,60],[242,61],[152,62],[164,63],[186,64],[153,65],[180,1],[170,66],[154,67],[172,66],[165,66],[130,66],[194,68],[191,69],[192,70],[184,1],[190,71],[183,72],[193,1],[251,73],[253,74],[229,75],[228,76],[227,77],[256,2],[226,78],[157,1],[259,1],[272,79],[271,1],[261,1],[263,80],[260,2],[262,81],[126,1],[181,1],[128,82],[215,1],[216,1],[218,1],[221,83],[217,1],[219,84],[220,84],[163,1],[235,78],[243,85],[247,86],[138,87],[196,68],[188,88],[197,89],[137,90],[168,91],[203,92],[131,93],[136,94],[127,95],[213,96],[212,97],[169,1],[149,98],[178,1],[202,99],[201,1],[179,100],[204,100],[205,101],[133,102],[200,103],[132,1],[210,104],[211,105],[150,106],[148,107],[147,108],[206,109],[134,110],[199,111],[195,112],[120,1],[208,113],[182,114],[185,115],[207,116],[171,117],[209,118],[214,119],[139,1],[144,1],[141,1],[142,1],[143,1],[155,93],[173,120],[135,121],[140,1],[177,122],[176,123],[151,124],[167,125],[166,126],[198,1],[156,127],[189,128],[187,129],[158,130],[160,131],[264,132],[159,133],[161,134],[238,1],[239,1],[237,1],[258,1],[162,135],[67,1],[230,1],[233,136],[245,2],[249,2],[223,137],[129,1],[225,1],[232,1],[231,138],[175,139],[174,140],[146,141],[145,1],[241,1],[234,142],[57,1],[66,143],[63,2],[64,1],[65,1],[244,144],[246,145],[248,146],[273,147],[250,148],[268,149],[252,149],[267,150],[254,151],[255,152],[257,153],[265,154],[266,155],[222,156],[285,178],[282,179],[280,180],[281,179],[284,181],[283,181],[276,175],[277,182],[279,175],[278,175],[11,175],[12,175],[14,175],[13,175],[2,175],[15,175],[16,175],[17,175],[18,175],[19,175],[20,175],[21,175],[22,175],[3,175],[4,175],[26,175],[23,175],[24,175],[25,175],[27,175],[28,175],[29,175],[5,175],[30,175],[31,175],[32,175],[33,175],[6,175],[37,175],[34,175],[35,175],[36,175],[38,175],[7,175],[39,175],[44,175],[45,175],[40,175],[41,175],[42,175],[43,175],[8,175],[49,175],[46,175],[47,175],[48,175],[50,175],[9,175],[51,175],[52,175],[53,175],[54,175],[55,175],[1,175],[10,175],[56,175],[301,164],[302,165],[293,183],[294,184],[298,185],[299,185],[300,186],[297,185],[291,187],[274,188],[286,189],[269,190]],"semanticDiagnosticsPerFile":[224,288,69,70,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,71,118,87,88,89,119,90,91,92,93,94,95,96,97,98,99,100,101,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,117,60,125,123,124,122,58,62,121,61,290,289,275,59,292,296,295,68,236,240,242,152,164,186,153,180,170,154,172,165,130,194,191,192,184,190,183,193,251,253,229,228,227,256,226,157,259,272,271,261,263,260,262,126,181,128,215,216,218,221,217,219,220,163,235,243,247,138,196,188,197,137,168,203,131,136,127,213,212,169,149,178,202,201,179,204,205,133,200,132,210,211,150,148,147,206,134,199,195,120,208,182,185,207,171,209,214,139,144,141,142,143,155,173,135,140,177,176,151,167,166,198,156,189,187,158,160,264,159,161,238,239,237,258,162,67,230,233,245,249,223,129,225,232,231,175,174,146,145,241,234,57,66,63,64,65,244,246,248,273,250,268,252,267,254,255,257,265,266,222,285,282,280,281,284,283,276,277,279,278,11,12,14,13,2,15,16,17,18,19,20,21,22,3,4,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,54,55,1,10,56,303,304,301,302,293,294,298,299,300,297,291,270,274,286,269,287],"affectedFilesPendingEmit":[[309,1],[224,1],[288,1],[310,1],[311,1],[312,1],[313,1],[314,1],[315,1],[316,1],[317,1],[318,1],[319,1],[320,1],[321,1],[322,1],[323,1],[324,1],[325,1],[326,1],[327,1],[328,1],[329,1],[330,1],[331,1],[332,1],[333,1],[334,1],[335,1],[336,1],[337,1],[338,1],[339,1],[340,1],[341,1],[342,1],[343,1],[344,1],[345,1],[346,1],[347,1],[348,1],[349,1],[350,1],[351,1],[352,1],[353,1],[354,1],[305,1],[355,1],[356,1],[357,1],[358,1],[359,1],[69,1],[70,1],[72,1],[73,1],[74,1],[75,1],[76,1],[77,1],[78,1],[79,1],[80,1],[81,1],[82,1],[83,1],[84,1],[85,1],[86,1],[71,1],[118,1],[87,1],[88,1],[89,1],[119,1],[90,1],[91,1],[92,1],[93,1],[94,1],[95,1],[96,1],[97,1],[98,1],[99,1],[100,1],[101,1],[103,1],[102,1],[104,1],[105,1],[106,1],[107,1],[108,1],[109,1],[110,1],[111,1],[112,1],[113,1],[114,1],[115,1],[116,1],[117,1],[60,1],[360,1],[125,1],[123,1],[124,1],[361,1],[306,1],[122,1],[58,1],[62,1],[121,1],[61,1],[290,1],[289,1],[275,1],[59,1],[292,1],[362,1],[363,1],[296,1],[295,1],[364,1],[365,1],[366,1],[367,1],[368,1],[369,1],[370,1],[371,1],[372,1],[373,1],[374,1],[375,1],[376,1],[377,1],[378,1],[379,1],[380,1],[381,1],[382,1],[383,1],[384,1],[385,1],[386,1],[387,1],[388,1],[389,1],[390,1],[391,1],[392,1],[393,1],[394,1],[395,1],[396,1],[397,1],[398,1],[399,1],[400,1],[401,1],[402,1],[403,1],[404,1],[405,1],[406,1],[407,1],[408,1],[409,1],[410,1],[411,1],[412,1],[413,1],[414,1],[415,1],[416,1],[417,1],[418,1],[419,1],[420,1],[421,1],[422,1],[423,1],[424,1],[425,1],[426,1],[427,1],[428,1],[429,1],[430,1],[431,1],[432,1],[433,1],[434,1],[435,1],[436,1],[437,1],[438,1],[439,1],[440,1],[441,1],[442,1],[443,1],[444,1],[445,1],[446,1],[447,1],[448,1],[449,1],[450,1],[451,1],[452,1],[453,1],[454,1],[455,1],[456,1],[457,1],[458,1],[459,1],[460,1],[461,1],[462,1],[463,1],[464,1],[465,1],[466,1],[467,1],[468,1],[469,1],[470,1],[471,1],[472,1],[473,1],[474,1],[475,1],[476,1],[477,1],[478,1],[479,1],[480,1],[481,1],[482,1],[483,1],[484,1],[485,1],[486,1],[487,1],[488,1],[489,1],[490,1],[491,1],[492,1],[493,1],[494,1],[495,1],[496,1],[497,1],[498,1],[499,1],[308,1],[500,1],[307,1],[501,1],[502,1],[503,1],[504,1],[505,1],[506,1],[68,1],[236,1],[240,1],[242,1],[152,1],[164,1],[186,1],[153,1],[180,1],[170,1],[154,1],[172,1],[165,1],[130,1],[194,1],[191,1],[192,1],[184,1],[190,1],[183,1],[193,1],[251,1],[253,1],[229,1],[228,1],[227,1],[256,1],[226,1],[157,1],[259,1],[272,1],[271,1],[261,1],[263,1],[260,1],[262,1],[126,1],[181,1],[128,1],[215,1],[216,1],[218,1],[221,1],[217,1],[219,1],[220,1],[163,1],[235,1],[243,1],[247,1],[138,1],[196,1],[188,1],[197,1],[137,1],[168,1],[203,1],[131,1],[136,1],[127,1],[213,1],[212,1],[169,1],[149,1],[178,1],[202,1],[201,1],[179,1],[204,1],[205,1],[133,1],[200,1],[132,1],[210,1],[211,1],[150,1],[148,1],[147,1],[206,1],[134,1],[199,1],[195,1],[120,1],[208,1],[182,1],[185,1],[207,1],[171,1],[209,1],[214,1],[139,1],[144,1],[141,1],[142,1],[143,1],[155,1],[173,1],[135,1],[140,1],[177,1],[176,1],[151,1],[167,1],[166,1],[198,1],[156,1],[189,1],[187,1],[158,1],[160,1],[264,1],[159,1],[161,1],[238,1],[239,1],[237,1],[258,1],[162,1],[67,1],[230,1],[233,1],[245,1],[249,1],[223,1],[129,1],[225,1],[232,1],[231,1],[175,1],[174,1],[146,1],[145,1],[241,1],[234,1],[57,1],[66,1],[63,1],[64,1],[65,1],[244,1],[246,1],[248,1],[273,1],[250,1],[268,1],[252,1],[267,1],[254,1],[255,1],[257,1],[265,1],[266,1],[222,1],[285,1],[282,1],[280,1],[281,1],[284,1],[283,1],[276,1],[277,1],[279,1],[278,1],[11,1],[12,1],[14,1],[13,1],[2,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[3,1],[4,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[5,1],[30,1],[31,1],[32,1],[33,1],[6,1],[37,1],[34,1],[35,1],[36,1],[38,1],[7,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[8,1],[49,1],[46,1],[47,1],[48,1],[50,1],[9,1],[51,1],[52,1],[53,1],[54,1],[55,1],[1,1],[10,1],[56,1],[303,1],[304,1],[301,1],[302,1],[293,1],[507,1],[294,1],[298,1],[299,1],[300,1],[297,1],[291,1],[270,1],[274,1],[286,1],[269,1],[287,1]]},"version":"4.9.5"} --------------------------------------------------------------------------------