From 415ad493398120cd743b0eed8ad869dc827b6f12 Mon Sep 17 00:00:00 2001 From: Jason Antwi-Appah Date: Sun, 1 Jan 2023 20:07:51 -0600 Subject: [PATCH] feat: refactor to use layouts, tinker w experimental link shortener idea, next/font --- .vscode/settings.json | 4 + app/(.)/[redirectSlug]/page.tsx | 29 + .../(.)/index_wip/page.tsx | 2 - app/(.)/layout.tsx | 20 + app/(.)/list/page.tsx | 25 + app/(.)/page.tsx | 66 ++ app/head.tsx | 19 + app/klima-variable.ttf | Bin 0 -> 74584 bytes app/layout.tsx | 23 + components/Analytics.tsx | 9 + components/Email.tsx | 20 + components/Signature.tsx | 6 +- components/StyledLink.tsx | 24 + lib/server/getLinks.ts | 14 +- next.config.js | 23 +- package.json | 6 +- pages/_app.tsx | 26 - pages/api/link.ts | 6 +- pages/api/revalidate-links.ts | 26 + pages/index.tsx | 125 ---- styles/fonts.css | 7 - styles/palettes.module.css | 52 +- tailwind.config.js | 4 + tsconfig.json | 10 +- yarn.lock | 676 +++++++++++++----- 25 files changed, 821 insertions(+), 401 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 app/(.)/[redirectSlug]/page.tsx rename pages/index_wip.tsx => app/(.)/index_wip/page.tsx (94%) create mode 100644 app/(.)/layout.tsx create mode 100644 app/(.)/list/page.tsx create mode 100644 app/(.)/page.tsx create mode 100644 app/head.tsx create mode 100644 app/klima-variable.ttf create mode 100644 app/layout.tsx create mode 100644 components/Analytics.tsx create mode 100644 components/Email.tsx create mode 100644 components/StyledLink.tsx delete mode 100644 pages/_app.tsx create mode 100644 pages/api/revalidate-links.ts delete mode 100644 pages/index.tsx delete mode 100644 styles/fonts.css diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..d067910 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "typescript.tsdk": "node_modules/typescript/lib", + "typescript.enablePromptUseWorkspaceTsdk": true +} \ No newline at end of file diff --git a/app/(.)/[redirectSlug]/page.tsx b/app/(.)/[redirectSlug]/page.tsx new file mode 100644 index 0000000..c9f7941 --- /dev/null +++ b/app/(.)/[redirectSlug]/page.tsx @@ -0,0 +1,29 @@ +import { notFound, redirect } from 'next/navigation'; +import { getLinks } from '../../../lib/server/getLinks'; + +export const dynamic = 'error'; + +async function LinkShortener({ params }: { params: { redirectSlug: string } }) { + console.log('hi'); + const { redirectSlug } = params; + const links = await getLinks(); + + if (!redirect) notFound(); + + const link = links[redirectSlug]; + if (link) { + console.log({ link }); + redirect(link['Redirect URL']); + } else { + console.log('lol'); + notFound(); + } +} + +export async function generateStaticParams() { + return Object.keys(await getLinks()).map((redirectSlug) => ({ + redirectSlug, + })); +} + +export default LinkShortener; diff --git a/pages/index_wip.tsx b/app/(.)/index_wip/page.tsx similarity index 94% rename from pages/index_wip.tsx rename to app/(.)/index_wip/page.tsx index 997b97a..a152f9d 100644 --- a/pages/index_wip.tsx +++ b/app/(.)/index_wip/page.tsx @@ -1,6 +1,4 @@ /* eslint-disable @next/next/no-img-element */ -import Head from 'next/head'; - export default function Home() { return (
diff --git a/app/(.)/layout.tsx b/app/(.)/layout.tsx new file mode 100644 index 0000000..e9dfed9 --- /dev/null +++ b/app/(.)/layout.tsx @@ -0,0 +1,20 @@ +import styles from '../../styles/palettes.module.css'; + +export const revalidate = 60; + +function Index({ children }: { children: React.ReactNode }) { + const paletteOptions = Object.keys(styles); + const palette = + paletteOptions[Math.floor(Math.random() * paletteOptions.length)]; + return ( +
+
+
+ {children} +
+
+
+ ); +} + +export default Index; diff --git a/app/(.)/list/page.tsx b/app/(.)/list/page.tsx new file mode 100644 index 0000000..6b7a400 --- /dev/null +++ b/app/(.)/list/page.tsx @@ -0,0 +1,25 @@ +import Signature from '../../../components/Signature'; +import { getLinks } from '../../../lib/server/getLinks'; + +export const dynamic = 'error'; + +async function LinkList() { + const links = Object.values(await getLinks()).filter((link) => link.Public); + return ( +
+ + {links.map((link) => ( + + ))} +
+ ); +} + +export default LinkList; diff --git a/app/(.)/page.tsx b/app/(.)/page.tsx new file mode 100644 index 0000000..e439930 --- /dev/null +++ b/app/(.)/page.tsx @@ -0,0 +1,66 @@ +import Email from '../../components/Email'; +import Signature from '../../components/Signature'; +import StyledLink from '../../components/StyledLink'; + +function Content() { + return ( + <> + +

+ 🧑🏾‍💻 Hey there! I'm Jason Antwi-Appah. I'm a 17-year-old student + and maker that loves all sorts of tech. +

+

+ 🛬 I was raised in London, but now live in Austin, TX and attend school + at the University of Texas at Dallas. +

+

Right now, I'm:

+
    +
  • + ✨ Learning and hacking with friends in{' '} + Hack Club +
  • +
  • + 🎓 Completing a Computer Science degree at{' '} + UT Dallas +
  • +
+

+ Outside of software engineering, I love music production, + broadcast/audiovisual technology, and all things technical theatre!{' '} + + My Scrapbook + {' '} + has some of the things I'm working on. +

+ +

+ Feel free to shoot me an email →  + + . You also can find me on{' '} + GitHub,{' '} + Twitter and{' '} + LinkedIn + . +

+

+ Here's this site's{' '} + + source code + + . +

+

+ psssst if you're a teen interested in joining a community of other + teens in computer science or tech in general, you should check out{' '} + Hack Club! +

+ + ); +} + +export default Content; diff --git a/app/head.tsx b/app/head.tsx new file mode 100644 index 0000000..034c7a6 --- /dev/null +++ b/app/head.tsx @@ -0,0 +1,19 @@ +function Head() { + return ( + <> + Jason Antwi-Appah + + + + + + + + + ); +} + +export default Head; diff --git a/app/klima-variable.ttf b/app/klima-variable.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ad53f0f1b777b7d562af25c09d7ae6bfc7a107c6 GIT binary patch literal 74584 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
I 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 Zv6D|kHJ4uapyb!@TYvq&j^g|J{|82JBx3*o literal 0 HcmV?d00001 diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..5918458 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,23 @@ +import 'tailwindcss/tailwind.css'; +import localFont from '@next/font/local'; +import AnalyticsWrapper from '../components/Analytics'; + +const klimaWeb = localFont({ + src: './klima-variable.ttf', + variable: '--font-klima', +}); + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + + {children} + + + + ); +} diff --git a/components/Analytics.tsx b/components/Analytics.tsx new file mode 100644 index 0000000..35c60e2 --- /dev/null +++ b/components/Analytics.tsx @@ -0,0 +1,9 @@ +'use client'; + +import { Analytics } from '@vercel/analytics/react'; + +function AnalyticsWrapper() { + return ; +} + +export default AnalyticsWrapper; diff --git a/components/Email.tsx b/components/Email.tsx new file mode 100644 index 0000000..39459c1 --- /dev/null +++ b/components/Email.tsx @@ -0,0 +1,20 @@ +'use client'; + +import { useEffect, useState } from 'react'; +import StyledLink from './StyledLink'; + +export default function Email() { + const [electronicMailIdentifier, setEmail] = useState('...'); + useEffect(() => { + setEmail(Buffer.from('aGV5QGphc29uYWEubWU=', 'base64').toString('utf8')); + console.log( + '👋 you should also follow my Instagram: https://instagram.com/jasonaa_' + ); + }, []); + return ( + + + {electronicMailIdentifier} + + ); +} diff --git a/components/Signature.tsx b/components/Signature.tsx index 99c0add..9906c50 100644 --- a/components/Signature.tsx +++ b/components/Signature.tsx @@ -1,5 +1,7 @@ +import Link from 'next/link'; + const Signature = () => ( - + ( strokeWidth="0.225" /> - + ); export default Signature; diff --git a/components/StyledLink.tsx b/components/StyledLink.tsx new file mode 100644 index 0000000..a74ca53 --- /dev/null +++ b/components/StyledLink.tsx @@ -0,0 +1,24 @@ +import Link from 'next/link'; +import { + PropsWithChildren, + DetailedHTMLProps, + AnchorHTMLAttributes, +} from 'react'; + +function StyledLink({ + children, + href, +}: PropsWithChildren< + DetailedHTMLProps, HTMLAnchorElement> +>) { + return ( + + {children} + + ); +} + +export default StyledLink; diff --git a/lib/server/getLinks.ts b/lib/server/getLinks.ts index c17328d..7632d3e 100644 --- a/lib/server/getLinks.ts +++ b/lib/server/getLinks.ts @@ -1,6 +1,6 @@ import { AirtablePlusPlus, AirtablePlusPlusRecord } from 'airtable-plusplus'; -interface ILink { +export interface ILink { 'Friendly Name': string; Slug: string; 'Redirect URL': string; @@ -15,14 +15,16 @@ export async function getLinks(): Promise> { baseId: process.env.AIRTABLE_BASE_ID, tableName: 'Table 1', }); - const links = (await airtable.read({ + const records = (await airtable.read({ filterByFormula: '{Active}', })) as unknown as AirtablePlusPlusRecord[]; - const yeah = {}; - for (const record of links) { - yeah[record.fields.Slug] = record.fields; + const links = {}; + for (const record of records) { + if (record.fields.Slug !== '.') { + links[record.fields.Slug] = record.fields; + } } - return yeah; + return links; } diff --git a/next.config.js b/next.config.js index b65145e..603f47e 100644 --- a/next.config.js +++ b/next.config.js @@ -2,14 +2,17 @@ * @type {import('next').NextConfig} */ module.exports = { - rewrites() { - return { - fallback: [ - { - source: '/:path*', - destination: `/api/link/?slug=:path*`, - }, - ], - }; - } + experimental: { + appDir: true, + }, + rewrites() { + return { + fallback: [ + { + source: '/:path*', + destination: `/api/link/?slug=:path*`, + }, + ], + }; + } }; diff --git a/package.json b/package.json index 676bc95..837b0b1 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,10 @@ "lint:fix": "next lint --fix" }, "dependencies": { + "@next/font": "^13.1.1", + "@vercel/analytics": "^0.1.6", "airtable-plusplus": "0.3.3", - "next": "^12.2.5", + "next": "^13.1.1-canary.1", "react": "^18.2.0", "react-dom": "^18.2.0", "tailwindcss": "^3.1.8", @@ -31,7 +33,7 @@ "eslint": "^8.4.1", "eslint-config-airbnb": "^19.0.2", "eslint-config-airbnb-typescript": "^16.1.0", - "eslint-config-next": "11.1.2", + "eslint-config-next": "^13.1.1", "eslint-config-prettier": "^8.3.0", "eslint-config-wesbos": "3.0.2", "eslint-plugin-html": "^6.2.0", diff --git a/pages/_app.tsx b/pages/_app.tsx deleted file mode 100644 index 2a59875..0000000 --- a/pages/_app.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import '../styles/fonts.css'; -import 'tailwindcss/tailwind.css'; -import { AppProps } from 'next/app'; -import Head from 'next/head'; - -function MyApp({ Component, pageProps }: AppProps) { - return ( - <> - - - - - - - - - - - - ); -} - -export default MyApp; diff --git a/pages/api/link.ts b/pages/api/link.ts index a06f480..1b84ca2 100644 --- a/pages/api/link.ts +++ b/pages/api/link.ts @@ -34,7 +34,11 @@ const link = async (req: NextApiRequest, res: NextApiResponse) => { const slug = path.format(path.parse(req.query.slug as string)); const links = await getLinks(); - const url = links[slug]['Redirect URL'] || DEFAULT; + const thing = links[slug]; + if (!thing) { + return res.redirect(308, DEFAULT); + } + const url = thing['Redirect URL'] || DEFAULT; return res.redirect(308, url); }; diff --git a/pages/api/revalidate-links.ts b/pages/api/revalidate-links.ts new file mode 100644 index 0000000..b498978 --- /dev/null +++ b/pages/api/revalidate-links.ts @@ -0,0 +1,26 @@ +import { NextApiRequest, NextApiResponse } from 'next'; +import { getLinks } from '../../lib/server/getLinks'; + +export default async function handler( + req: NextApiRequest, + res: NextApiResponse +) { + if (req.query.secret !== process.env.REVALIDATION_TOKEN) { + return res.status(401).json({ message: 'Invalid token' }); + } + + try { + if (req.query.slug) { + await res.revalidate(`/${req.query.slug as string}`); + } else { + const slugs = Object.keys(await getLinks()).map((slug) => + res.revalidate(`/${slug}`) + ); + await Promise.all(slugs); + } + await res.revalidate('/list'); + return res.json({ revalidated: true }); + } catch (err) { + return res.status(500).send('Error revalidating'); + } +} diff --git a/pages/index.tsx b/pages/index.tsx deleted file mode 100644 index 5c1ba9b..0000000 --- a/pages/index.tsx +++ /dev/null @@ -1,125 +0,0 @@ -import { GetStaticProps, InferGetStaticPropsType } from 'next'; -import Head from 'next/head'; -import { - AnchorHTMLAttributes, - DetailedHTMLProps, - PropsWithChildren, - useEffect, - useState, -} from 'react'; -import styles from '../styles/palettes.module.css'; -import Signature from '../components/Signature'; - -function Link({ - children, - href, -}: PropsWithChildren< - DetailedHTMLProps, HTMLAnchorElement> ->) { - return ( - - {children} - - ); -} - -export const getStaticProps: GetStaticProps<{ palette: string }> = () => { - const paletteOptions = Object.keys(styles); - const palette = - paletteOptions[Math.floor(Math.random() * paletteOptions.length)]; - return { - props: { - palette, - }, - revalidate: 60, - }; -}; - -function Index({ palette }: InferGetStaticPropsType) { - const [electronicMailIdentifier, setEmail] = useState('...'); - useEffect(() => { - setEmail(Buffer.from('aGV5QGphc29uYWEubWU=', 'base64').toString('utf8')); - console.log( - '👋 you should also follow my Instagram: https://instagram.com/jasonaa_' - ); - }, []); - return ( - <> - - Jason Antwi-Appah - -
-
-
- -

- 🧑🏾‍💻 Hey there! I'm Jason Antwi-Appah. I'm a 17-year-old - student and maker that loves all sorts of tech. -

-

- 🛬 I was raised in London, but now live in Austin, TX and attend - school at the University of Texas at Dallas. -

-

Right now, I'm:

-
    -
  • - 🛠️ Building tools for developers at{' '} - Allotrope -
  • -
  • - ✨ Learning and hacking with friends in{' '} - Hack Club -
  • -
  • - 🎓 Completing a Computer Science degree at{' '} - UT Dallas -
  • -
-

- Outside of software engineering, I love music production, - broadcast/audiovisual technology, and all things technical - theatre!{' '} - - My Scrapbook - {' '} - has some of the things I'm working on. -

- -

- Feel free to shoot me an email →  - - - {electronicMailIdentifier} - - . You also can find me on{' '} - GitHub,{' '} - Twitter and{' '} - LinkedIn. -

-

- Here's this site's{' '} - - source code - - . -

-

- psssst if you're a teen interested in joining a community of - other teens in computer science or tech in general, you should - check out Hack Club! -

-
-
-
- - ); -} - -export default Index; diff --git a/styles/fonts.css b/styles/fonts.css deleted file mode 100644 index b679862..0000000 --- a/styles/fonts.css +++ /dev/null @@ -1,7 +0,0 @@ -@font-face { - font-family: "klima-web"; - font-style: normal; - src: url("https://wehtt.am/_/fonts/klima/klima-variable.ttf") - format("truetype-variations"); - font-weight: 100 700; -} \ No newline at end of file diff --git a/styles/palettes.module.css b/styles/palettes.module.css index 3e51c16..a57a407 100644 --- a/styles/palettes.module.css +++ b/styles/palettes.module.css @@ -1,35 +1,23 @@ - /* .original { - --background: #3730a3; - --accent: #fcd34d; - --foreground: #ffffff; - } */ +.maroonPeach { + --background: #391021; + --accent: #fcd34d; + --foreground: #ffffffdd; +} - .moreContrast { - --background: #1B138A; - --accent: #F5C31D; - --foreground: #ffffffee; - } +.greenGold { + --background: #002e2c; + --accent: #fcd34d; + --foreground: #ffffffde; +} - .maroonPeach { - --background: #391021; - --accent: #fcd34d; - --foreground: #ffffffdd; - } +.yellowGold { + --background: #4A441E; + --accent: #fcd34d; + --foreground: #ffffffde; +} - .greenGold { - --background: #002e2c; - --accent: #fcd34d; - --foreground: #ffffffde; - } - - .yellowGold { - --background: #4A441E; - --accent: #fcd34d; - --foreground: #ffffffde; - } - - .purpleBlue { - --background: #420937; - --accent: #4AB0C9; - --foreground: #ffffffde; - } \ No newline at end of file +.purpleBlue { + --background: #420937; + --accent: #4AB0C9; + --foreground: #ffffffde; +} \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js index 5e1b67a..51730b6 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -2,6 +2,7 @@ module.exports = { content: [ './pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}', + "./app/**/*.{js,ts,jsx,tsx}", ], theme: { extend: { @@ -11,6 +12,9 @@ module.exports = { content: 'var(--foreground)', accent: 'var(--accent)', }, + fontFamily: { + sans: ['var(--font-klima)'] + }, }, }, }; diff --git a/tsconfig.json b/tsconfig.json index 5bee8c4..7f2aeae 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,12 +17,18 @@ "resolveJsonModule": true, "isolatedModules": true, "jsx": "preserve", - "incremental": true + "incremental": true, + "plugins": [ + { + "name": "next" + } + ] }, "include": [ "next-env.d.ts", "**/*.ts", - "**/*.tsx" + "**/*.tsx", + ".next/types/**/*.ts" ], "exclude": [ "node_modules" diff --git a/yarn.lock b/yarn.lock index e80286a..282cdb1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -403,82 +403,87 @@ semver "^7.3.5" tar "^6.1.11" -"@next/env@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/env/-/env-12.2.5.tgz#d908c57b35262b94db3e431e869b72ac3e1ad3e3" - integrity sha512-vLPLV3cpPGjUPT3PjgRj7e3nio9t6USkuew3JE/jMeon/9Mvp1WyR18v3iwnCuX7eUAm1HmAbJHHLAbcu/EJcw== +"@next/env@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/env/-/env-13.1.1-canary.1.tgz#4dedf5e8987a3c5f8e52635644e58844eb70512f" + integrity sha512-h8DEj69dLJpFUuXOVPQeJ4/X1LbW5mtZSsaS5Xr/pt2VbrRN50eAV/6rMY+l6U6p/4AX1/F5aK4UBzLQJbwFzw== -"@next/eslint-plugin-next@11.1.2": - version "11.1.2" - resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-11.1.2.tgz#f26cf90bcb6cd2e4645e2ba253bbc9aaaa43a170" - integrity sha512-cN+ojHRsufr9Yz0rtvjv8WI5En0RPZRJnt0y16Ha7DD+0n473evz8i1ETEJHmOLeR7iPJR0zxRrxeTN/bJMOjg== +"@next/eslint-plugin-next@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-13.1.1.tgz#cc5e419cc85587f73f2ac0046a91df01dc6fef8b" + integrity sha512-SBrOFS8PC3nQ5aeZmawJkjKkWjwK9RoxvBSv/86nZp0ubdoVQoko8r8htALd9ufp16NhacCdqhu9bzZLDWtALQ== dependencies: glob "7.1.7" -"@next/swc-android-arm-eabi@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.5.tgz#903a5479ab4c2705d9c08d080907475f7bacf94d" - integrity sha512-cPWClKxGhgn2dLWnspW+7psl3MoLQUcNqJqOHk2BhNcou9ARDtC0IjQkKe5qcn9qg7I7U83Gp1yh2aesZfZJMA== - -"@next/swc-android-arm64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.2.5.tgz#2f9a98ec4166c7860510963b31bda1f57a77c792" - integrity sha512-vMj0efliXmC5b7p+wfcQCX0AfU8IypjkzT64GiKJD9PgiA3IILNiGJr1fw2lyUDHkjeWx/5HMlMEpLnTsQslwg== - -"@next/swc-darwin-arm64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.5.tgz#31b1c3c659d54be546120c488a1e1bad21c24a1d" - integrity sha512-VOPWbO5EFr6snla/WcxUKtvzGVShfs302TEMOtzYyWni6f9zuOetijJvVh9CCTzInnXAZMtHyNhefijA4HMYLg== - -"@next/swc-darwin-x64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.5.tgz#2e44dd82b2b7fef88238d1bc4d3bead5884cedfd" - integrity sha512-5o8bTCgAmtYOgauO/Xd27vW52G2/m3i5PX7MUYePquxXAnX73AAtqA3WgPXBRitEB60plSKZgOTkcpqrsh546A== - -"@next/swc-freebsd-x64@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.5.tgz#e24e75d8c2581bfebc75e4f08f6ddbd116ce9dbd" - integrity sha512-yYUbyup1JnznMtEBRkK4LT56N0lfK5qNTzr6/DEyDw5TbFVwnuy2hhLBzwCBkScFVjpFdfiC6SQAX3FrAZzuuw== - -"@next/swc-linux-arm-gnueabihf@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.5.tgz#46d8c514d834d2b5f67086013f0bd5e3081e10b9" - integrity sha512-2ZE2/G921Acks7UopJZVMgKLdm4vN4U0yuzvAMJ6KBavPzqESA2yHJlm85TV/K9gIjKhSk5BVtauIUntFRP8cg== - -"@next/swc-linux-arm64-gnu@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.5.tgz#91f725ac217d3a1f4f9f53b553615ba582fd3d9f" - integrity sha512-/I6+PWVlz2wkTdWqhlSYYJ1pWWgUVva6SgX353oqTh8njNQp1SdFQuWDqk8LnM6ulheVfSsgkDzxrDaAQZnzjQ== - -"@next/swc-linux-arm64-musl@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.5.tgz#e627e8c867920995810250303cd9b8e963598383" - integrity sha512-LPQRelfX6asXyVr59p5sTpx5l+0yh2Vjp/R8Wi4X9pnqcayqT4CUJLiHqCvZuLin3IsFdisJL0rKHMoaZLRfmg== - -"@next/swc-linux-x64-gnu@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.5.tgz#83a5e224fbc4d119ef2e0f29d0d79c40cc43887e" - integrity sha512-0szyAo8jMCClkjNK0hknjhmAngUppoRekW6OAezbEYwHXN/VNtsXbfzgYOqjKWxEx3OoAzrT3jLwAF0HdX2MEw== - -"@next/swc-linux-x64-musl@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.5.tgz#be700d48471baac1ec2e9539396625584a317e95" - integrity sha512-zg/Y6oBar1yVnW6Il1I/08/2ukWtOG6s3acdJdEyIdsCzyQi4RLxbbhkD/EGQyhqBvd3QrC6ZXQEXighQUAZ0g== - -"@next/swc-win32-arm64-msvc@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.5.tgz#a93e958133ad3310373fda33a79aa10af2a0aa97" - integrity sha512-3/90DRNSqeeSRMMEhj4gHHQlLhhKg5SCCoYfE3kBjGpE63EfnblYUqsszGGZ9ekpKL/R4/SGB40iCQr8tR5Jiw== - -"@next/swc-win32-ia32-msvc@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.5.tgz#4f5f7ba0a98ff89a883625d4af0125baed8b2e19" - integrity sha512-hGLc0ZRAwnaPL4ulwpp4D2RxmkHQLuI8CFOEEHdzZpS63/hMVzv81g8jzYA0UXbb9pus/iTc3VRbVbAM03SRrw== - -"@next/swc-win32-x64-msvc@12.2.5": - version "12.2.5" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.5.tgz#20fed129b04a0d3f632c6d0de135345bb623b1e4" - integrity sha512-7h5/ahY7NeaO2xygqVrSG/Y8Vs4cdjxIjowTZ5W6CKoTKn7tmnuxlUc2h74x06FKmbhAd9agOjr/AOKyxYYm9Q== +"@next/font@^13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@next/font/-/font-13.1.1.tgz#a0cb38bf8a181560f195d82f13f9f92fd0b0dd20" + integrity sha512-amygRorS05hYK1/XQRZo5qBl7l2fpHnezeKU/cNveWU5QJg+sg8gMGkUXHtvesNKpiKIJshBRH1TzvO+2sKpvQ== + +"@next/swc-android-arm-eabi@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.1.1-canary.1.tgz#eaaf49517f402aafa607610417d0f5e5dc61c570" + integrity sha512-0McGEjTnNXdBTlghWxkuM07qpKMr44afLeGFpS/zwIlDV7lNOXFzCpyHdJoJsFL4kBJgfbyCi8aamnhwqlwZxA== + +"@next/swc-android-arm64@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-13.1.1-canary.1.tgz#dc4142b78c5d9fd5272c7674497507d35ca89417" + integrity sha512-XCmPqmhtsc52lv0Qs/maThRrQpHMRK1AqFhgFXfFG9wclbFBtQIUapD/qD7nOlXbch+7RDONbABPf/8pE2T0cQ== + +"@next/swc-darwin-arm64@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.1.1-canary.1.tgz#0f4dd20deec9858c7cdbaa52e459c6b27093c547" + integrity sha512-qz+et20cTetOppH6stlDW171tTo1vG4eHGmXY1Zwa3D/sZPk5IRsqsmpdzxuBsVxdk5x7zaliYZowOlQM2awnw== + +"@next/swc-darwin-x64@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.1.1-canary.1.tgz#66fd7f9af2bad5299e498454f163b31ea5254130" + integrity sha512-rPGOUsxturFtSkqtbSis1kBuu0mNzCPibWEMihsM32EzdXeDXJMgl5EP3+RiwGfrawON5lcTEz0r52Zll+0kmw== + +"@next/swc-freebsd-x64@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.1.1-canary.1.tgz#dea37d79f26f4fcd3b77de600aa928c38dc7430a" + integrity sha512-tEnpdXSEzltEEbeh32w4eQN1znR35xjX0pMC7leud8XhJvppWwdEqfdOp3OuviPmb8p6LzFqYyknNe710cFy+Q== + +"@next/swc-linux-arm-gnueabihf@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.1.1-canary.1.tgz#6a405159c9206ad2e87b286c158b12f35087e022" + integrity sha512-EJdCFjRHVoyDC8Q0N8ULCJ7+5hl4NhaELlu+04cCcgQ3qFZkFZIfTLrXnCT1aa2Y8yyR5FvyBeHgvusL5abqpQ== + +"@next/swc-linux-arm64-gnu@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.1.1-canary.1.tgz#9dc69934bf0355123d696562a5e6d7265a14d54d" + integrity sha512-BRN7Beg1OASa2F7FGYAdYL3O+bA2wFX6ow9QnHD312+JHCf/IKun3FSxSXBaSnc8ZJCnexmSWIz+hewKN1jGQQ== + +"@next/swc-linux-arm64-musl@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.1.1-canary.1.tgz#986278872cb0a873568f93590317c3a78e4742ef" + integrity sha512-WE1muJmocpSHUHBH02iMOy9RR4Hz7XFM6tjAevY40svXNmGNszhYzsm0MQ+/VnlqP9f9l1/dEiPN6tSbMAlH9A== + +"@next/swc-linux-x64-gnu@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.1.1-canary.1.tgz#9c797557d2d7879124ca56118ca2d54e25e1200a" + integrity sha512-aeBiutM8gFndpUkDA6t8DKzD9TcYg48+b7QxuL2XyRJo+47muhNbXaB6y/MwarxwjnsAry0hMs/ycP3lOL7vnw== + +"@next/swc-linux-x64-musl@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.1.1-canary.1.tgz#cfc31ab18484dd22ef87bd54f55aa80c92a03736" + integrity sha512-JyJzejDuu68bZj1jrdbgJEIyj0xQy8N0R363T6Rx5/F5Htk2vVzXaP+MkANcWuZjvmH/BHjQc515liiTwQ328Q== + +"@next/swc-win32-arm64-msvc@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.1.1-canary.1.tgz#7d6d5a5994c40ab8741258dd7aafddaa65a28ea6" + integrity sha512-y/VxMhjXrTt4fGzrJwdfa6MM2ZauZ0dX20aRGDX/6VeaxO5toBsmXF7cwoDC97C65l93FY/X9vyc75WSLrXFrA== + +"@next/swc-win32-ia32-msvc@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.1.1-canary.1.tgz#b247d7541bd4f2e59c3b65bc30225105db14867c" + integrity sha512-Nk1DdvC+Ocdqnj4Ra+qWJK/PQ68hrWmSg3FXL4I3pooX2IZcUSF8nPFNS0r8V47inTAXbwatcFEKSBRjFBS2ww== + +"@next/swc-win32-x64-msvc@13.1.1-canary.1": + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.1.1-canary.1.tgz#7c4c157cfdaeefb31f4b886fdc02d80b8fe9ef85" + integrity sha512-/7q6tjUebSaUYTGZRpp4qAmrcL6+tiKfHN5YgW6zpX5MWLEk1DkdnuBjO/jSvCJd0510byBkN6drlzmfTMjzzg== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -501,20 +506,32 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@rushstack/eslint-patch@^1.0.6": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz#0c8b74c50f29ee44f423f7416829c0bf8bb5eb27" - integrity sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA== +"@pkgr/utils@^2.3.1": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.3.1.tgz#0a9b06ffddee364d6642b3cd562ca76f55b34a03" + integrity sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw== + dependencies: + cross-spawn "^7.0.3" + is-glob "^4.0.3" + open "^8.4.0" + picocolors "^1.0.0" + tiny-glob "^0.2.9" + tslib "^2.4.0" + +"@rushstack/eslint-patch@^1.1.3": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" + integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@swc/helpers@0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.3.tgz#16593dfc248c53b699d4b5026040f88ddb497012" - integrity sha512-6JrF+fdUK2zbGpJIlN7G3v966PQjyx/dPt1T9km2wj+EUBqgrxCk3uX4Kct16MIm9gGxfKRcfax2hVf5jvlTzA== +"@swc/helpers@0.4.14": + version "0.4.14" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74" + integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== dependencies: tslib "^2.4.0" @@ -594,15 +611,15 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/parser@^4.20.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== +"@typescript-eslint/parser@^5.42.0": + version "5.47.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.47.1.tgz#c4bf16f8c3c7608ce4bf8ff804b677fc899f173f" + integrity sha512-9Vb+KIv29r6GPu4EboWOnQM7T+UjpjXvjCPhNORlgm40a9Ia9bvaPJswvtae1gip2QEeVeGh6YquqAzEgoRAlw== dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" + "@typescript-eslint/scope-manager" "5.47.1" + "@typescript-eslint/types" "5.47.1" + "@typescript-eslint/typescript-estree" "5.47.1" + debug "^4.3.4" "@typescript-eslint/parser@^5.6.0": version "5.36.1" @@ -614,14 +631,6 @@ "@typescript-eslint/typescript-estree" "5.36.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - "@typescript-eslint/scope-manager@5.36.1": version "5.36.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.36.1.tgz#23c49b7ddbcffbe09082e6694c2524950766513f" @@ -630,6 +639,14 @@ "@typescript-eslint/types" "5.36.1" "@typescript-eslint/visitor-keys" "5.36.1" +"@typescript-eslint/scope-manager@5.47.1": + version "5.47.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.47.1.tgz#0d302b3c2f20ab24e4787bf3f5a0d8c449b823bd" + integrity sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw== + dependencies: + "@typescript-eslint/types" "5.47.1" + "@typescript-eslint/visitor-keys" "5.47.1" + "@typescript-eslint/type-utils@5.36.1": version "5.36.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.36.1.tgz#016fc2bff6679f54c0b2df848a493f0ca3d4f625" @@ -640,28 +657,15 @@ debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - "@typescript-eslint/types@5.36.1": version "5.36.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.1.tgz#1cf0e28aed1cb3ee676917966eb23c2f8334ce2c" integrity sha512-jd93ShpsIk1KgBTx9E+hCSEuLCUFwi9V/urhjOWnOaksGZFbTOxAT47OH2d4NLJnLhkVD+wDbB48BuaycZPLBg== -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" +"@typescript-eslint/types@5.47.1": + version "5.47.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.47.1.tgz#459f07428aec5a8c4113706293c2ae876741ac8e" + integrity sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A== "@typescript-eslint/typescript-estree@5.36.1": version "5.36.1" @@ -676,6 +680,19 @@ semver "^7.3.7" tsutils "^3.21.0" +"@typescript-eslint/typescript-estree@5.47.1": + version "5.47.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.47.1.tgz#b9d8441308aca53df7f69b2c67a887b82c9ed418" + integrity sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA== + dependencies: + "@typescript-eslint/types" "5.47.1" + "@typescript-eslint/visitor-keys" "5.47.1" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + "@typescript-eslint/utils@5.36.1": version "5.36.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.36.1.tgz#136d5208cc7a3314b11c646957f8f0b5c01e07ad" @@ -688,14 +705,6 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" - "@typescript-eslint/visitor-keys@5.36.1": version "5.36.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.1.tgz#7731175312d65738e501780f923896d200ad1615" @@ -704,6 +713,19 @@ "@typescript-eslint/types" "5.36.1" eslint-visitor-keys "^3.3.0" +"@typescript-eslint/visitor-keys@5.47.1": + version "5.47.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.47.1.tgz#d35c2da544dbb685db9c5b5b85adac0a1d74d1f2" + integrity sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig== + dependencies: + "@typescript-eslint/types" "5.47.1" + eslint-visitor-keys "^3.3.0" + +"@vercel/analytics@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@vercel/analytics/-/analytics-0.1.6.tgz#a1ce184168d8f5ec02e35ec954d84ee68ea01f4b" + integrity sha512-zNd5pj3iDvq8IMBQHa1YRcIteiw6ZiPB8AsONHd8ieFXlNpLqhXfIYnf4WvTfZ7S1NSJ++mIM14aJnNac/VMXQ== + "@vercel/build-utils@5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@vercel/build-utils/-/build-utils-5.4.0.tgz#f65f555cfee42f78cb03578235f4e2a6aeeab53b" @@ -984,6 +1006,17 @@ array-includes@^3.1.4, array-includes@^3.1.5: get-intrinsic "^1.1.1" is-string "^1.0.7" +array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -1009,6 +1042,27 @@ array.prototype.flatmap@^1.3.0: es-abstract "^1.19.2" es-shim-unscopables "^1.0.0" +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" + ast-types-flow@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" @@ -1138,11 +1192,16 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001332, caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: +caniuse-lite@^1.0.30001370, caniuse-lite@^1.0.30001373: version "1.0.30001387" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001387.tgz#90d2b9bdfcc3ab9a5b9addee00a25ef86c9e2e1e" integrity sha512-fKDH0F1KOJvR+mWSOvhj8lVRr/Q/mc5u5nabU2vi1/sgvlSqEsE8dOq0Hy/BqVbDkCYQPRRHB1WRjW6PGB/7PA== +caniuse-lite@^1.0.30001406: + version "1.0.30001441" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e" + integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== + chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -1190,6 +1249,11 @@ cli-boxes@^2.2.1: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== +client-only@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" + integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== + clone-response@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" @@ -1280,7 +1344,7 @@ core-js-pure@^3.20.2: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.25.0.tgz#f8d1f176ff29abbfeb610110de891d5ae5a361d4" integrity sha512-IeHpLwk3uoci37yoI2Laty59+YqH9x5uR65/yiA0ARAJrTrN4YU0rmauLWfvqOuk77SlNJXj2rM6oT/dBD87+A== -cross-spawn@^7.0.2: +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -1309,7 +1373,7 @@ damerau-levenshtein@^1.0.8: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -1352,6 +1416,11 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + define-properties@^1.1.3, define-properties@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" @@ -1499,6 +1568,14 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" +enhanced-resolve@^5.10.0: + version "5.12.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" + integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + entities@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" @@ -1538,6 +1615,37 @@ es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19 string.prototype.trimstart "^1.0.5" unbox-primitive "^1.0.2" +es-abstract@^1.20.4: + version "1.20.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.5.tgz#e6dc99177be37cacda5988e692c3fa8b218e95d2" + integrity sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.3" + get-symbol-description "^1.0.0" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-weakref "^1.0.2" + object-inspect "^1.12.2" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + unbox-primitive "^1.0.2" + es-shim-unscopables@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" @@ -1726,20 +1834,20 @@ eslint-config-airbnb@^19.0.2: object.assign "^4.1.2" object.entries "^1.1.5" -eslint-config-next@11.1.2: - version "11.1.2" - resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-11.1.2.tgz#73c918f2fa6120d5f65080bf3fcf6b154905707e" - integrity sha512-dFutecxX2Z5/QVlLwdtKt+gIfmNMP8Qx6/qZh3LM/DFVdGJEAnUKrr4VwGmACB2kx/PQ5bx3R+QxnEg4fDPiTg== - dependencies: - "@next/eslint-plugin-next" "11.1.2" - "@rushstack/eslint-patch" "^1.0.6" - "@typescript-eslint/parser" "^4.20.0" - eslint-import-resolver-node "^0.3.4" - eslint-import-resolver-typescript "^2.4.0" - eslint-plugin-import "^2.22.1" - eslint-plugin-jsx-a11y "^6.4.1" - eslint-plugin-react "^7.23.1" - eslint-plugin-react-hooks "^4.2.0" +eslint-config-next@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-13.1.1.tgz#b1a6602b0a339820585d4b2f8d2e08866b6699a7" + integrity sha512-/5S2XGWlGaiqrRhzpn51ux5JUSLwx8PVK2keLi5xk7QmhfYB8PqE6R6SlVw6hgnf/VexvUXSrlNJ/su00NhtHQ== + dependencies: + "@next/eslint-plugin-next" "13.1.1" + "@rushstack/eslint-patch" "^1.1.3" + "@typescript-eslint/parser" "^5.42.0" + eslint-import-resolver-node "^0.3.6" + eslint-import-resolver-typescript "^3.5.2" + eslint-plugin-import "^2.26.0" + eslint-plugin-jsx-a11y "^6.5.1" + eslint-plugin-react "^7.31.7" + eslint-plugin-react-hooks "^4.5.0" eslint-config-prettier@^8.3.0: version "8.5.0" @@ -1751,7 +1859,7 @@ eslint-config-wesbos@3.0.2: resolved "https://registry.yarnpkg.com/eslint-config-wesbos/-/eslint-config-wesbos-3.0.2.tgz#514af04b4b1a88013746f1cd781581b60bc162f4" integrity sha512-lzyvce/Eprb1dST3c5DMwhm7oqb8TpFCwPb1BrNgdVKp+2jdc/yBVEAnwq/One8Avhy9defQUXrVGBusm2v00w== -eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6: +eslint-import-resolver-node@^0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== @@ -1759,16 +1867,18 @@ eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" -eslint-import-resolver-typescript@^2.4.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751" - integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== +eslint-import-resolver-typescript@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.2.tgz#9431acded7d898fd94591a08ea9eec3514c7de91" + integrity sha512-zX4ebnnyXiykjhcBvKIf5TNvt8K7yX6bllTRZ14MiurKPjDpCAZujlszTdB8pcNXhZcOf+god4s9SjQa5GnytQ== dependencies: debug "^4.3.4" - glob "^7.2.0" + enhanced-resolve "^5.10.0" + get-tsconfig "^4.2.0" + globby "^13.1.2" + is-core-module "^2.10.0" is-glob "^4.0.3" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" + synckit "^0.8.4" eslint-module-utils@^2.7.3: version "2.7.4" @@ -1784,7 +1894,7 @@ eslint-plugin-html@^6.2.0: dependencies: htmlparser2 "^7.1.2" -eslint-plugin-import@^2.22.1, eslint-plugin-import@^2.25.3: +eslint-plugin-import@^2.25.3, eslint-plugin-import@^2.26.0: version "2.26.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== @@ -1803,7 +1913,7 @@ eslint-plugin-import@^2.22.1, eslint-plugin-import@^2.25.3: resolve "^1.22.0" tsconfig-paths "^3.14.1" -eslint-plugin-jsx-a11y@^6.4.1, eslint-plugin-jsx-a11y@^6.5.1: +eslint-plugin-jsx-a11y@^6.5.1: version "6.6.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff" integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== @@ -1829,12 +1939,12 @@ eslint-plugin-prettier@^4.0.0: dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-react-hooks@^4.2.0, eslint-plugin-react-hooks@^4.3.0: +eslint-plugin-react-hooks@^4.3.0, eslint-plugin-react-hooks@^4.5.0: version "4.6.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== -eslint-plugin-react@^7.23.1, eslint-plugin-react@^7.27.1: +eslint-plugin-react@^7.27.1: version "7.31.1" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.31.1.tgz#d29793ed27743f3ed8a473c347b1bf5a0a8fb9af" integrity sha512-j4/2xWqt/R7AZzG8CakGHA6Xa/u7iR8Q3xCxY+AUghdT92bnIDOBEefV456OeH0QvBcroVc0eyvrrLSyQGYIfg== @@ -1854,6 +1964,27 @@ eslint-plugin-react@^7.23.1, eslint-plugin-react@^7.27.1: semver "^6.3.0" string.prototype.matchall "^4.0.7" +eslint-plugin-react@^7.31.7: + version "7.31.11" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz#011521d2b16dcf95795df688a4770b4eaab364c8" + integrity sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.3" + semver "^6.3.0" + string.prototype.matchall "^4.0.8" + eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -2144,6 +2275,15 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.3" +get-intrinsic@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -2166,6 +2306,11 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" +get-tsconfig@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.3.0.tgz#4c26fae115d1050e836aea65d6fe56b507ee249b" + integrity sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ== + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -2192,7 +2337,7 @@ glob@7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.3, glob@^7.2.0: +glob@^7.1.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -2223,7 +2368,12 @@ globals@^13.15.0: dependencies: type-fest "^0.20.2" -globby@^11.0.3, globby@^11.1.0: +globalyzer@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" + integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== + +globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -2235,6 +2385,29 @@ globby@^11.0.3, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +globby@^13.1.2: + version "13.1.3" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.3.tgz#f62baf5720bcb2c1330c8d4ef222ee12318563ff" + integrity sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw== + dependencies: + dir-glob "^3.0.1" + fast-glob "^3.2.11" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^4.0.0" + +globrex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" + integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -2252,7 +2425,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -2423,6 +2596,11 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== +is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -2430,6 +2608,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-core-module@^2.10.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.10.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" @@ -2444,6 +2629,11 @@ is-date-object@^1.0.1: dependencies: has-tostringtag "^1.0.0" +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -2542,6 +2732,13 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" @@ -2789,31 +2986,30 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -next@^12.2.5: - version "12.2.5" - resolved "https://registry.yarnpkg.com/next/-/next-12.2.5.tgz#14fb5975e8841fad09553b8ef41fe1393602b717" - integrity sha512-tBdjqX5XC/oFs/6gxrZhjmiq90YWizUYU6qOWAfat7zJwrwapJ+BYgX2PmiacunXMaRpeVT4vz5MSPSLgNkrpA== +next@^13.1.1-canary.1: + version "13.1.1-canary.1" + resolved "https://registry.yarnpkg.com/next/-/next-13.1.1-canary.1.tgz#aaa49792af2a9a813bca7a31d65193567454fd41" + integrity sha512-20EeQyfGs9dGUAPrXAod5jay1plcM0itItL/7z9BMczYM55/it8TxS1OPTmseyM9Y8uuybTRoCHeKh6TCI09tg== dependencies: - "@next/env" "12.2.5" - "@swc/helpers" "0.4.3" - caniuse-lite "^1.0.30001332" + "@next/env" "13.1.1-canary.1" + "@swc/helpers" "0.4.14" + caniuse-lite "^1.0.30001406" postcss "8.4.14" - styled-jsx "5.0.4" - use-sync-external-store "1.2.0" + styled-jsx "5.1.1" optionalDependencies: - "@next/swc-android-arm-eabi" "12.2.5" - "@next/swc-android-arm64" "12.2.5" - "@next/swc-darwin-arm64" "12.2.5" - "@next/swc-darwin-x64" "12.2.5" - "@next/swc-freebsd-x64" "12.2.5" - "@next/swc-linux-arm-gnueabihf" "12.2.5" - "@next/swc-linux-arm64-gnu" "12.2.5" - "@next/swc-linux-arm64-musl" "12.2.5" - "@next/swc-linux-x64-gnu" "12.2.5" - "@next/swc-linux-x64-musl" "12.2.5" - "@next/swc-win32-arm64-msvc" "12.2.5" - "@next/swc-win32-ia32-msvc" "12.2.5" - "@next/swc-win32-x64-msvc" "12.2.5" + "@next/swc-android-arm-eabi" "13.1.1-canary.1" + "@next/swc-android-arm64" "13.1.1-canary.1" + "@next/swc-darwin-arm64" "13.1.1-canary.1" + "@next/swc-darwin-x64" "13.1.1-canary.1" + "@next/swc-freebsd-x64" "13.1.1-canary.1" + "@next/swc-linux-arm-gnueabihf" "13.1.1-canary.1" + "@next/swc-linux-arm64-gnu" "13.1.1-canary.1" + "@next/swc-linux-arm64-musl" "13.1.1-canary.1" + "@next/swc-linux-x64-gnu" "13.1.1-canary.1" + "@next/swc-linux-x64-musl" "13.1.1-canary.1" + "@next/swc-win32-arm64-msvc" "13.1.1-canary.1" + "@next/swc-win32-ia32-msvc" "13.1.1-canary.1" + "@next/swc-win32-x64-msvc" "13.1.1-canary.1" node-fetch@2.6.7, node-fetch@^2.6.7: version "2.6.7" @@ -2874,7 +3070,7 @@ object-hash@^3.0.0: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== -object-inspect@^1.12.0, object-inspect@^1.9.0: +object-inspect@^1.12.0, object-inspect@^1.12.2, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== @@ -2884,7 +3080,7 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.2, object.assign@^4.1.3: +object.assign@^4.1.2, object.assign@^4.1.3, object.assign@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== @@ -2903,6 +3099,15 @@ object.entries@^1.1.5: define-properties "^1.1.3" es-abstract "^1.19.1" +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + object.fromentries@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" @@ -2912,6 +3117,15 @@ object.fromentries@^2.0.5: define-properties "^1.1.3" es-abstract "^1.19.1" +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + object.hasown@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3" @@ -2920,6 +3134,14 @@ object.hasown@^1.1.1: define-properties "^1.1.4" es-abstract "^1.19.5" +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + object.values@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" @@ -2929,6 +3151,15 @@ object.values@^1.1.5: define-properties "^1.1.3" es-abstract "^1.19.1" +object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -2936,6 +3167,15 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" +open@^8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" + integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -3336,6 +3576,15 @@ safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + scheduler@^0.23.0: version "0.23.0" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" @@ -3403,6 +3652,11 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" @@ -3444,6 +3698,20 @@ string.prototype.matchall@^4.0.7: regexp.prototype.flags "^1.4.1" side-channel "^1.0.4" +string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + string.prototype.trimend@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" @@ -3453,6 +3721,15 @@ string.prototype.trimend@^1.0.5: define-properties "^1.1.4" es-abstract "^1.19.5" +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string.prototype.trimstart@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" @@ -3462,6 +3739,15 @@ string.prototype.trimstart@^1.0.5: define-properties "^1.1.4" es-abstract "^1.19.5" +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -3491,10 +3777,12 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== -styled-jsx@5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.4.tgz#5b1bd0b9ab44caae3dd1361295559706e044aa53" - integrity sha512-sDFWLbg4zR+UkNzfk5lPilyIgtpddfxXEULxhujorr5jtePTUqiPDc5BC0v1NRqTr/WaFBGQQUoYToGlF4B2KQ== +styled-jsx@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" + integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== + dependencies: + client-only "0.0.1" supports-color@^5.3.0: version "5.5.0" @@ -3515,6 +3803,14 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +synckit@^0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.4.tgz#0e6b392b73fafdafcde56692e3352500261d64ec" + integrity sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw== + dependencies: + "@pkgr/utils" "^2.3.1" + tslib "^2.4.0" + tailwindcss@^3.1.8: version "3.1.8" resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.1.8.tgz#4f8520550d67a835d32f2f4021580f9fddb7b741" @@ -3543,6 +3839,11 @@ tailwindcss@^3.1.8: quick-lru "^5.1.1" resolve "^1.22.1" +tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + tar@^6.1.11: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" @@ -3577,6 +3878,14 @@ time-span@4.0.0: dependencies: convert-hrtime "^3.0.0" +tiny-glob@^0.2.9: + version "0.2.9" + resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" + integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== + dependencies: + globalyzer "0.1.0" + globrex "^0.1.2" + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -3738,11 +4047,6 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" -use-sync-external-store@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== - util-deprecate@^1.0.1, util-deprecate@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"