Compare changes

Choose any two refs to compare.

-24
.github/renovate.json5
··· 1 - { 2 - branchPrefix: "maintenance/", 3 - username: "renovate-release", 4 - gitAuthor: "Renovate Bot <bot@renovateapp.com>", 5 - onboarding: false, 6 - prConcurrentLimit: 0, 7 - prHourlyLimit: 5, 8 - platform: "github", 9 - repositories: ["nulfrost/dane.computer"], 10 - packageRules: [ 11 - { 12 - description: "lockFileMaintenance", 13 - matchUpdateTypes: [ 14 - "pin", 15 - "digest", 16 - "patch", 17 - "minor", 18 - "lockFileMaintenance", 19 - ], 20 - dependencyDashboardApproval: false, 21 - minimumReleaseAge: "0", 22 - }, 23 - ], 24 - }
-15
.github/workflows/renovate.yml
··· 1 - name: Renovate 2 - on: 3 - schedule: 4 - - cron: "0 9 * * 1" 5 - jobs: 6 - renovate: 7 - runs-on: ubuntu-latest 8 - steps: 9 - - name: Checkout 10 - uses: actions/checkout@v4.1.7 11 - - name: Self-hosted Renovate 12 - uses: renovatebot/github-action@v40.2.6 13 - with: 14 - configurationFile: .github/renovate.json5 15 - token: ${{ secrets.RENOVATE_TOKEN }}
-22
.gitignore
··· 1 - # build output 2 - dist/ 3 - 4 - # generated types 5 - .astro/ 6 - 7 - # dependencies 8 - node_modules/ 9 - 10 - # logs 11 - npm-debug.log* 12 - yarn-debug.log* 13 - yarn-error.log* 14 - pnpm-debug.log* 15 - 16 - # environment variables 17 - .env 18 - .env.production 19 - 20 - # macOS-specific files 21 - .DS_Store 22 - .vercel
+15
.tangled/workflows/deploy.yml
··· 1 + # deploy 2 + 3 + when: 4 + - event: ["push"] 5 + branch: ["main"] 6 + 7 + engine: "nixery" 8 + 9 + dependencies: 10 + nixpkgs: 11 + - nodejs 12 + 13 + steps: 14 + - name: "deploy" 15 + command: "npx wrangler deploy"
-4
.vscode/extensions.json
··· 1 - { 2 - "recommendations": ["astro-build.astro-vscode"], 3 - "unwantedRecommendations": [] 4 - }
-11
.vscode/launch.json
··· 1 - { 2 - "version": "0.2.0", 3 - "configurations": [ 4 - { 5 - "command": "./node_modules/.bin/astro dev", 6 - "name": "Development server", 7 - "request": "launch", 8 - "type": "node-terminal" 9 - } 10 - ] 11 - }
-3
README.md
··· 1 - # Dane's Personal Site 2 - 3 - Welcome to the repository for my personal site! This iteration is using [astro](https://astro.build). Feel free to look around if you want to use this as an example for your personal website.
-40
astro.config.ts
··· 1 - import { defineConfig, sharpImageService } from "astro/config"; 2 - import sitemap from "@astrojs/sitemap"; 3 - import UnoCSS from "unocss/astro"; 4 - import mdx from "@astrojs/mdx"; 5 - 6 - // https://astro.build/config 7 - export default defineConfig({ 8 - site: "https://dane.computer", 9 - experimental: { 10 - contentLayer: true, 11 - contentIntellisense: true, 12 - }, 13 - image: { 14 - service: sharpImageService(), 15 - }, 16 - integrations: [ 17 - UnoCSS({ 18 - injectReset: true, 19 - }), 20 - sitemap(), 21 - mdx(), 22 - ], 23 - markdown: { 24 - syntaxHighlight: "shiki", 25 - shikiConfig: { 26 - theme: "solarized-light", 27 - wrap: true, 28 - transformers: [ 29 - { 30 - preprocess(code) { 31 - if (code.endsWith("\n")) { 32 - code = code.slice(0, -1); 33 - } 34 - return code; 35 - }, 36 - }, 37 - ], 38 - }, 39 - }, 40 - });
+209
index.html
··· 1 + <!DOCTYPE html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="UTF-8"> 5 + <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 + <title>Dane's Website</title> 7 + <meta name="description" content="Hey, I'm Dane. A frontend/fullstack developer from Toronto that enjoys building cool and accessible websites using the latest web technologies."> 8 + <link rel="icon" type="image/svg+xml" href="/favicon.svg"> 9 + <meta property="og:type" content="website"> 10 + <meta property="og:title" content="Dane's Website"> 11 + <meta property="og:description" content="Hey, I'm Dane. A frontend/fullstack developer from Toronto that enjoys building cool and accessible websites using the latest web technologies."> 12 + <link rel="canonical" href="https://dane.computer/"> 13 + <meta property="og:url" content="https://dane.computer/"> 14 + <style> 15 + @layer reset { 16 + *, 17 + *::before, 18 + *::after { 19 + box-sizing: border-box; 20 + } 21 + 22 + * { 23 + margin: 0; 24 + padding: 0; 25 + } 26 + 27 + html { 28 + -webkit-text-size-adjust: none; 29 + -webkit-font-smoothing: antialiased; 30 + text-rendering: optimizespeed; 31 + text-size-adjust: none; 32 + color-scheme: dark light; 33 + tab-size: 2; 34 + scrollbar-gutter: stable; 35 + interpolate-size: allow-keywords; 36 + line-height: 1.5; 37 + } 38 + 39 + body { 40 + margin: 0; 41 + font-family: Menlo, Consolas, Monaco, Adwaita Mono, Liberation Mono, Lucida Console, monospace; 42 + font-synthesis: none; 43 + } 44 + 45 + ul[role=list], ol[role=list] { 46 + list-style: none; 47 + padding: 0; 48 + } 49 + 50 + ::marker { 51 + line-height: 0; 52 + } 53 + 54 + :focus-visible { 55 + outline-offset: 2px; 56 + } 57 + 58 + @media (prefers-reduced-motion: no-preference) { 59 + html:focus-within { 60 + scroll-behavior: smooth; 61 + } 62 + } 63 + 64 + a { 65 + color: inherit; 66 + text-underline-offset: 0.2ex; 67 + } 68 + 69 + h1, h2, 70 + h3, h4 { 71 + text-wrap: balance; 72 + } 73 + 74 + a[href] { 75 + -webkit-tap-highlight-color: transparent; 76 + } 77 + 78 + p, h1, h2, h3, h4, h5, h6 { 79 + overflow-wrap: break-word; 80 + } 81 + 82 + p { 83 + text-wrap: pretty; 84 + } 85 + 86 + } 87 + 88 + .container { 89 + max-width: 65ch; 90 + margin: 0 auto; 91 + padding: 5.5rem 0; 92 + } 93 + 94 + .intro { 95 + margin-bottom: 2rem; 96 + } 97 + 98 + .name { 99 + font-size: 2.5rem; 100 + font-weight: bold; 101 + text-transform: capitalize; 102 + } 103 + 104 + .title { 105 + font-weight: bold; 106 + margin-bottom: 1.5rem; 107 + } 108 + 109 + .bio { 110 + margin-bottom: 2rem; 111 + font-weight: 500; 112 + } 113 + 114 + .bio p:not(:last-of-type) { 115 + margin-bottom: 1rem; 116 + } 117 + 118 + .links { 119 + margin-bottom: 2rem; 120 + } 121 + 122 + .links p:first-of-type { 123 + font-weight: bold; 124 + } 125 + 126 + .job { 127 + display: flex; 128 + justify-content: space-between; 129 + } 130 + 131 + .work-experience ul { 132 + display: flex; 133 + flex-direction: column; 134 + row-gap: 1rem; 135 + } 136 + 137 + @media (width <= 640px) { 138 + .container { 139 + padding: 3.5rem 1rem; 140 + } 141 + } 142 + 143 + @media (width <= 600px) { 144 + .container { 145 + text-align: center; 146 + } 147 + 148 + .work-experience .job { 149 + display: flex; 150 + flex-direction: column; 151 + } 152 + } 153 + </style> 154 + </head> 155 + <body> 156 + <main class="container"> 157 + <section class="intro"> 158 + <h1 class="name">dane miller</h1> 159 + <p class="title">senior software developer</p> 160 + <aside class="bio"> 161 + <p>Currently working as a frontend developer at the Bank of Montreal in Toronto.</p> 162 + <p>In my spare time I enjoy (re)watching tv shows, listening to music and playing video games.</p> 163 + <p>I guess I code from time to time as well. At the moment i&apos;m into all things <a href="https://atproto.com" target="_blank" rel="noopener noreferrer">AT Protocol</a>.</p> 164 + <p>Writing code in Typescript, Go, Rust and Gleam.</p> 165 + </aside> 166 + </section> 167 + <section class="links"> 168 + <h2>where to find me on the world wide web</h2> 169 + <ul role="list"> 170 + <li> 171 + <a href="https://bsky.app/profile/did:plc:qttsv4e7pu2jl3ilanfgc3zn" target="_blank" aria-label="Go to Dane's bluesky profile, opens in a new tab" rel="noopener noreferrer">Bluesky</a> 172 + </li> 173 + <li> 174 + <a href="https://tangled.org/did:plc:qttsv4e7pu2jl3ilanfgc3zn" target="_blank" aria-label="Go to Dane's Tangled profile, opens in a new tab" rel="noopener noreferrer">Tangled</a> 175 + </li> 176 + <li> 177 + <a href="mailto:me@dane.computer">E-mail</a> 178 + </li> 179 + </ul> 180 + </section> 181 + <section class="work-experience"> 182 + <h2>work experience</h2> 183 + <ul role="list"> 184 + <li class="job"> 185 + <div> 186 + <p class="company">Bank of Montreal</p> 187 + <small class="title">Senior Software Developer</small> 188 + </div> 189 + <p>2021 to present</p> 190 + </li> 191 + <li class="job"> 192 + <div> 193 + <p class="company">Black Professionals In Tech Network</p> 194 + <small class="title">Intermediate Software Developer</small> 195 + </div> 196 + <p>2021 to 2021</p> 197 + </li> 198 + <li class="job"> 199 + <div> 200 + <p class="company">Wise Publishing</p> 201 + <small class="title">Frontend Developer Intern</small> 202 + </div> 203 + <p>2020 to 2020</p> 204 + </li> 205 + </ul> 206 + </section> 207 + </main> 208 + </body> 209 + </html>
-28
package.json
··· 1 - { 2 - "name": "danethe.dev-astro", 3 - "type": "module", 4 - "version": "0.0.1", 5 - "scripts": { 6 - "dev": "astro dev", 7 - "start": "astro dev", 8 - "build": "astro build", 9 - "preview": "astro preview", 10 - "astro": "astro" 11 - }, 12 - "dependencies": { 13 - "@astrojs/mdx": "^3.1.4", 14 - "@astrojs/sitemap": "latest", 15 - "@notionhq/client": "^2.2.15", 16 - "astro": "^4.14.5", 17 - "sharp": "^0.33.5" 18 - }, 19 - "trustedDependencies": [ 20 - "sharp" 21 - ], 22 - "devDependencies": { 23 - "@iconify-json/lucide": "^1.1.208", 24 - "@unocss/reset": "^0.62.2", 25 - "detect-libc": "^2.0.3", 26 - "unocss": "^0.62.2" 27 - } 28 - }
-5509
pnpm-lock.yaml
··· 1 - lockfileVersion: '9.0' 2 - 3 - settings: 4 - autoInstallPeers: true 5 - excludeLinksFromLockfile: false 6 - 7 - importers: 8 - 9 - .: 10 - dependencies: 11 - '@astrojs/mdx': 12 - specifier: ^3.1.4 13 - version: 3.1.4(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.0)(typescript@5.5.4)) 14 - '@astrojs/sitemap': 15 - specifier: latest 16 - version: 3.1.1 17 - '@notionhq/client': 18 - specifier: ^2.2.15 19 - version: 2.2.15 20 - astro: 21 - specifier: ^4.14.5 22 - version: 4.14.5(@types/node@22.5.0)(rollup@4.21.0)(typescript@5.5.4) 23 - sharp: 24 - specifier: ^0.33.5 25 - version: 0.33.5 26 - devDependencies: 27 - '@iconify-json/lucide': 28 - specifier: ^1.1.208 29 - version: 1.1.208 30 - '@unocss/reset': 31 - specifier: ^0.62.2 32 - version: 0.62.2 33 - detect-libc: 34 - specifier: ^2.0.3 35 - version: 2.0.3 36 - unocss: 37 - specifier: ^0.62.2 38 - version: 0.62.2(postcss@8.4.41)(rollup@4.21.0)(vite@5.4.2(@types/node@22.5.0)) 39 - 40 - packages: 41 - 42 - '@ampproject/remapping@2.3.0': 43 - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 44 - engines: {node: '>=6.0.0'} 45 - 46 - '@antfu/install-pkg@0.4.0': 47 - resolution: {integrity: sha512-vI73C0pFA9L+5v+djh0WSLXb8qYQGH5fX8nczaFe1OTI/8Fh03JS1Mov1V7urb6P3A2cBlBqZNjJIKv54+zVRw==} 48 - 49 - '@antfu/utils@0.7.10': 50 - resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} 51 - 52 - '@astrojs/compiler@2.10.3': 53 - resolution: {integrity: sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==} 54 - 55 - '@astrojs/internal-helpers@0.4.1': 56 - resolution: {integrity: sha512-bMf9jFihO8YP940uD70SI/RDzIhUHJAolWVcO1v5PUivxGKvfLZTLTVVxEYzGYyPsA3ivdLNqMnL5VgmQySa+g==} 57 - 58 - '@astrojs/markdown-remark@5.2.0': 59 - resolution: {integrity: sha512-vWGM24KZXz11jR3JO+oqYU3T2qpuOi4uGivJ9SQLCAI01+vEkHC60YJMRvHPc+hwd60F7euNs1PeOEixIIiNQw==} 60 - 61 - '@astrojs/mdx@3.1.4': 62 - resolution: {integrity: sha512-AcdcAlDpzTM5LHpur7A3NWoIqyfhH1gZNbTvvjiUlDEo7eJjIxl4gdWrb/kZZRfLBEuM8cptCB+Qk11ncQL4IA==} 63 - engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} 64 - peerDependencies: 65 - astro: ^4.8.0 66 - 67 - '@astrojs/prism@3.1.0': 68 - resolution: {integrity: sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==} 69 - engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} 70 - 71 - '@astrojs/sitemap@3.1.1': 72 - resolution: {integrity: sha512-qPgdBIcDUaea98mTtLfi5z9oXZpzSjEn/kes70/Ex8FOZZ+DIHVKRYOLOtvy8p+FTXr/9oc7BjmIbTYmYLLJVg==} 73 - 74 - '@astrojs/telemetry@3.1.0': 75 - resolution: {integrity: sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==} 76 - engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} 77 - 78 - '@babel/code-frame@7.24.7': 79 - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} 80 - engines: {node: '>=6.9.0'} 81 - 82 - '@babel/compat-data@7.25.4': 83 - resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} 84 - engines: {node: '>=6.9.0'} 85 - 86 - '@babel/core@7.25.2': 87 - resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} 88 - engines: {node: '>=6.9.0'} 89 - 90 - '@babel/generator@7.24.10': 91 - resolution: {integrity: sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==} 92 - engines: {node: '>=6.9.0'} 93 - 94 - '@babel/generator@7.25.5': 95 - resolution: {integrity: sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==} 96 - engines: {node: '>=6.9.0'} 97 - 98 - '@babel/helper-annotate-as-pure@7.24.7': 99 - resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} 100 - engines: {node: '>=6.9.0'} 101 - 102 - '@babel/helper-compilation-targets@7.25.2': 103 - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} 104 - engines: {node: '>=6.9.0'} 105 - 106 - '@babel/helper-create-class-features-plugin@7.24.8': 107 - resolution: {integrity: sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==} 108 - engines: {node: '>=6.9.0'} 109 - peerDependencies: 110 - '@babel/core': ^7.0.0 111 - 112 - '@babel/helper-environment-visitor@7.24.7': 113 - resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} 114 - engines: {node: '>=6.9.0'} 115 - 116 - '@babel/helper-function-name@7.24.7': 117 - resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} 118 - engines: {node: '>=6.9.0'} 119 - 120 - '@babel/helper-hoist-variables@7.24.7': 121 - resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} 122 - engines: {node: '>=6.9.0'} 123 - 124 - '@babel/helper-member-expression-to-functions@7.24.8': 125 - resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} 126 - engines: {node: '>=6.9.0'} 127 - 128 - '@babel/helper-module-imports@7.24.7': 129 - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} 130 - engines: {node: '>=6.9.0'} 131 - 132 - '@babel/helper-module-transforms@7.24.9': 133 - resolution: {integrity: sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==} 134 - engines: {node: '>=6.9.0'} 135 - peerDependencies: 136 - '@babel/core': ^7.0.0 137 - 138 - '@babel/helper-module-transforms@7.25.2': 139 - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} 140 - engines: {node: '>=6.9.0'} 141 - peerDependencies: 142 - '@babel/core': ^7.0.0 143 - 144 - '@babel/helper-optimise-call-expression@7.24.7': 145 - resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} 146 - engines: {node: '>=6.9.0'} 147 - 148 - '@babel/helper-plugin-utils@7.24.8': 149 - resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} 150 - engines: {node: '>=6.9.0'} 151 - 152 - '@babel/helper-replace-supers@7.24.7': 153 - resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} 154 - engines: {node: '>=6.9.0'} 155 - peerDependencies: 156 - '@babel/core': ^7.0.0 157 - 158 - '@babel/helper-simple-access@7.24.7': 159 - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} 160 - engines: {node: '>=6.9.0'} 161 - 162 - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': 163 - resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} 164 - engines: {node: '>=6.9.0'} 165 - 166 - '@babel/helper-split-export-declaration@7.24.7': 167 - resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} 168 - engines: {node: '>=6.9.0'} 169 - 170 - '@babel/helper-string-parser@7.24.8': 171 - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} 172 - engines: {node: '>=6.9.0'} 173 - 174 - '@babel/helper-validator-identifier@7.24.7': 175 - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} 176 - engines: {node: '>=6.9.0'} 177 - 178 - '@babel/helper-validator-option@7.24.8': 179 - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} 180 - engines: {node: '>=6.9.0'} 181 - 182 - '@babel/helpers@7.25.0': 183 - resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} 184 - engines: {node: '>=6.9.0'} 185 - 186 - '@babel/highlight@7.24.7': 187 - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} 188 - engines: {node: '>=6.9.0'} 189 - 190 - '@babel/parser@7.24.8': 191 - resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==} 192 - engines: {node: '>=6.0.0'} 193 - hasBin: true 194 - 195 - '@babel/parser@7.25.4': 196 - resolution: {integrity: sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==} 197 - engines: {node: '>=6.0.0'} 198 - hasBin: true 199 - 200 - '@babel/plugin-syntax-jsx@7.24.7': 201 - resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} 202 - engines: {node: '>=6.9.0'} 203 - peerDependencies: 204 - '@babel/core': ^7.0.0-0 205 - 206 - '@babel/plugin-syntax-typescript@7.24.7': 207 - resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} 208 - engines: {node: '>=6.9.0'} 209 - peerDependencies: 210 - '@babel/core': ^7.0.0-0 211 - 212 - '@babel/plugin-transform-modules-commonjs@7.24.8': 213 - resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} 214 - engines: {node: '>=6.9.0'} 215 - peerDependencies: 216 - '@babel/core': ^7.0.0-0 217 - 218 - '@babel/plugin-transform-react-jsx@7.25.2': 219 - resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} 220 - engines: {node: '>=6.9.0'} 221 - peerDependencies: 222 - '@babel/core': ^7.0.0-0 223 - 224 - '@babel/plugin-transform-typescript@7.24.8': 225 - resolution: {integrity: sha512-CgFgtN61BbdOGCP4fLaAMOPkzWUh6yQZNMr5YSt8uz2cZSSiQONCQFWqsE4NeVfOIhqDOlS9CR3WD91FzMeB2Q==} 226 - engines: {node: '>=6.9.0'} 227 - peerDependencies: 228 - '@babel/core': ^7.0.0-0 229 - 230 - '@babel/preset-typescript@7.24.7': 231 - resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} 232 - engines: {node: '>=6.9.0'} 233 - peerDependencies: 234 - '@babel/core': ^7.0.0-0 235 - 236 - '@babel/template@7.24.7': 237 - resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} 238 - engines: {node: '>=6.9.0'} 239 - 240 - '@babel/template@7.25.0': 241 - resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} 242 - engines: {node: '>=6.9.0'} 243 - 244 - '@babel/traverse@7.24.8': 245 - resolution: {integrity: sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==} 246 - engines: {node: '>=6.9.0'} 247 - 248 - '@babel/traverse@7.25.4': 249 - resolution: {integrity: sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==} 250 - engines: {node: '>=6.9.0'} 251 - 252 - '@babel/types@7.24.9': 253 - resolution: {integrity: sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==} 254 - engines: {node: '>=6.9.0'} 255 - 256 - '@babel/types@7.25.4': 257 - resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==} 258 - engines: {node: '>=6.9.0'} 259 - 260 - '@emnapi/runtime@1.2.0': 261 - resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} 262 - 263 - '@esbuild/aix-ppc64@0.20.2': 264 - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} 265 - engines: {node: '>=12'} 266 - cpu: [ppc64] 267 - os: [aix] 268 - 269 - '@esbuild/aix-ppc64@0.21.5': 270 - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 271 - engines: {node: '>=12'} 272 - cpu: [ppc64] 273 - os: [aix] 274 - 275 - '@esbuild/aix-ppc64@0.23.1': 276 - resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} 277 - engines: {node: '>=18'} 278 - cpu: [ppc64] 279 - os: [aix] 280 - 281 - '@esbuild/android-arm64@0.20.2': 282 - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} 283 - engines: {node: '>=12'} 284 - cpu: [arm64] 285 - os: [android] 286 - 287 - '@esbuild/android-arm64@0.21.5': 288 - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 289 - engines: {node: '>=12'} 290 - cpu: [arm64] 291 - os: [android] 292 - 293 - '@esbuild/android-arm64@0.23.1': 294 - resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} 295 - engines: {node: '>=18'} 296 - cpu: [arm64] 297 - os: [android] 298 - 299 - '@esbuild/android-arm@0.20.2': 300 - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} 301 - engines: {node: '>=12'} 302 - cpu: [arm] 303 - os: [android] 304 - 305 - '@esbuild/android-arm@0.21.5': 306 - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 307 - engines: {node: '>=12'} 308 - cpu: [arm] 309 - os: [android] 310 - 311 - '@esbuild/android-arm@0.23.1': 312 - resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} 313 - engines: {node: '>=18'} 314 - cpu: [arm] 315 - os: [android] 316 - 317 - '@esbuild/android-x64@0.20.2': 318 - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} 319 - engines: {node: '>=12'} 320 - cpu: [x64] 321 - os: [android] 322 - 323 - '@esbuild/android-x64@0.21.5': 324 - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 325 - engines: {node: '>=12'} 326 - cpu: [x64] 327 - os: [android] 328 - 329 - '@esbuild/android-x64@0.23.1': 330 - resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} 331 - engines: {node: '>=18'} 332 - cpu: [x64] 333 - os: [android] 334 - 335 - '@esbuild/darwin-arm64@0.20.2': 336 - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} 337 - engines: {node: '>=12'} 338 - cpu: [arm64] 339 - os: [darwin] 340 - 341 - '@esbuild/darwin-arm64@0.21.5': 342 - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 343 - engines: {node: '>=12'} 344 - cpu: [arm64] 345 - os: [darwin] 346 - 347 - '@esbuild/darwin-arm64@0.23.1': 348 - resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} 349 - engines: {node: '>=18'} 350 - cpu: [arm64] 351 - os: [darwin] 352 - 353 - '@esbuild/darwin-x64@0.20.2': 354 - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} 355 - engines: {node: '>=12'} 356 - cpu: [x64] 357 - os: [darwin] 358 - 359 - '@esbuild/darwin-x64@0.21.5': 360 - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 361 - engines: {node: '>=12'} 362 - cpu: [x64] 363 - os: [darwin] 364 - 365 - '@esbuild/darwin-x64@0.23.1': 366 - resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} 367 - engines: {node: '>=18'} 368 - cpu: [x64] 369 - os: [darwin] 370 - 371 - '@esbuild/freebsd-arm64@0.20.2': 372 - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} 373 - engines: {node: '>=12'} 374 - cpu: [arm64] 375 - os: [freebsd] 376 - 377 - '@esbuild/freebsd-arm64@0.21.5': 378 - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 379 - engines: {node: '>=12'} 380 - cpu: [arm64] 381 - os: [freebsd] 382 - 383 - '@esbuild/freebsd-arm64@0.23.1': 384 - resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} 385 - engines: {node: '>=18'} 386 - cpu: [arm64] 387 - os: [freebsd] 388 - 389 - '@esbuild/freebsd-x64@0.20.2': 390 - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} 391 - engines: {node: '>=12'} 392 - cpu: [x64] 393 - os: [freebsd] 394 - 395 - '@esbuild/freebsd-x64@0.21.5': 396 - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 397 - engines: {node: '>=12'} 398 - cpu: [x64] 399 - os: [freebsd] 400 - 401 - '@esbuild/freebsd-x64@0.23.1': 402 - resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} 403 - engines: {node: '>=18'} 404 - cpu: [x64] 405 - os: [freebsd] 406 - 407 - '@esbuild/linux-arm64@0.20.2': 408 - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} 409 - engines: {node: '>=12'} 410 - cpu: [arm64] 411 - os: [linux] 412 - 413 - '@esbuild/linux-arm64@0.21.5': 414 - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 415 - engines: {node: '>=12'} 416 - cpu: [arm64] 417 - os: [linux] 418 - 419 - '@esbuild/linux-arm64@0.23.1': 420 - resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} 421 - engines: {node: '>=18'} 422 - cpu: [arm64] 423 - os: [linux] 424 - 425 - '@esbuild/linux-arm@0.20.2': 426 - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} 427 - engines: {node: '>=12'} 428 - cpu: [arm] 429 - os: [linux] 430 - 431 - '@esbuild/linux-arm@0.21.5': 432 - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 433 - engines: {node: '>=12'} 434 - cpu: [arm] 435 - os: [linux] 436 - 437 - '@esbuild/linux-arm@0.23.1': 438 - resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} 439 - engines: {node: '>=18'} 440 - cpu: [arm] 441 - os: [linux] 442 - 443 - '@esbuild/linux-ia32@0.20.2': 444 - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} 445 - engines: {node: '>=12'} 446 - cpu: [ia32] 447 - os: [linux] 448 - 449 - '@esbuild/linux-ia32@0.21.5': 450 - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 451 - engines: {node: '>=12'} 452 - cpu: [ia32] 453 - os: [linux] 454 - 455 - '@esbuild/linux-ia32@0.23.1': 456 - resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} 457 - engines: {node: '>=18'} 458 - cpu: [ia32] 459 - os: [linux] 460 - 461 - '@esbuild/linux-loong64@0.20.2': 462 - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} 463 - engines: {node: '>=12'} 464 - cpu: [loong64] 465 - os: [linux] 466 - 467 - '@esbuild/linux-loong64@0.21.5': 468 - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 469 - engines: {node: '>=12'} 470 - cpu: [loong64] 471 - os: [linux] 472 - 473 - '@esbuild/linux-loong64@0.23.1': 474 - resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} 475 - engines: {node: '>=18'} 476 - cpu: [loong64] 477 - os: [linux] 478 - 479 - '@esbuild/linux-mips64el@0.20.2': 480 - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} 481 - engines: {node: '>=12'} 482 - cpu: [mips64el] 483 - os: [linux] 484 - 485 - '@esbuild/linux-mips64el@0.21.5': 486 - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 487 - engines: {node: '>=12'} 488 - cpu: [mips64el] 489 - os: [linux] 490 - 491 - '@esbuild/linux-mips64el@0.23.1': 492 - resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} 493 - engines: {node: '>=18'} 494 - cpu: [mips64el] 495 - os: [linux] 496 - 497 - '@esbuild/linux-ppc64@0.20.2': 498 - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} 499 - engines: {node: '>=12'} 500 - cpu: [ppc64] 501 - os: [linux] 502 - 503 - '@esbuild/linux-ppc64@0.21.5': 504 - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 505 - engines: {node: '>=12'} 506 - cpu: [ppc64] 507 - os: [linux] 508 - 509 - '@esbuild/linux-ppc64@0.23.1': 510 - resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} 511 - engines: {node: '>=18'} 512 - cpu: [ppc64] 513 - os: [linux] 514 - 515 - '@esbuild/linux-riscv64@0.20.2': 516 - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} 517 - engines: {node: '>=12'} 518 - cpu: [riscv64] 519 - os: [linux] 520 - 521 - '@esbuild/linux-riscv64@0.21.5': 522 - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 523 - engines: {node: '>=12'} 524 - cpu: [riscv64] 525 - os: [linux] 526 - 527 - '@esbuild/linux-riscv64@0.23.1': 528 - resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} 529 - engines: {node: '>=18'} 530 - cpu: [riscv64] 531 - os: [linux] 532 - 533 - '@esbuild/linux-s390x@0.20.2': 534 - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} 535 - engines: {node: '>=12'} 536 - cpu: [s390x] 537 - os: [linux] 538 - 539 - '@esbuild/linux-s390x@0.21.5': 540 - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 541 - engines: {node: '>=12'} 542 - cpu: [s390x] 543 - os: [linux] 544 - 545 - '@esbuild/linux-s390x@0.23.1': 546 - resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} 547 - engines: {node: '>=18'} 548 - cpu: [s390x] 549 - os: [linux] 550 - 551 - '@esbuild/linux-x64@0.20.2': 552 - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} 553 - engines: {node: '>=12'} 554 - cpu: [x64] 555 - os: [linux] 556 - 557 - '@esbuild/linux-x64@0.21.5': 558 - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 559 - engines: {node: '>=12'} 560 - cpu: [x64] 561 - os: [linux] 562 - 563 - '@esbuild/linux-x64@0.23.1': 564 - resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} 565 - engines: {node: '>=18'} 566 - cpu: [x64] 567 - os: [linux] 568 - 569 - '@esbuild/netbsd-x64@0.20.2': 570 - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} 571 - engines: {node: '>=12'} 572 - cpu: [x64] 573 - os: [netbsd] 574 - 575 - '@esbuild/netbsd-x64@0.21.5': 576 - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 577 - engines: {node: '>=12'} 578 - cpu: [x64] 579 - os: [netbsd] 580 - 581 - '@esbuild/netbsd-x64@0.23.1': 582 - resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} 583 - engines: {node: '>=18'} 584 - cpu: [x64] 585 - os: [netbsd] 586 - 587 - '@esbuild/openbsd-arm64@0.23.1': 588 - resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} 589 - engines: {node: '>=18'} 590 - cpu: [arm64] 591 - os: [openbsd] 592 - 593 - '@esbuild/openbsd-x64@0.20.2': 594 - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} 595 - engines: {node: '>=12'} 596 - cpu: [x64] 597 - os: [openbsd] 598 - 599 - '@esbuild/openbsd-x64@0.21.5': 600 - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 601 - engines: {node: '>=12'} 602 - cpu: [x64] 603 - os: [openbsd] 604 - 605 - '@esbuild/openbsd-x64@0.23.1': 606 - resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} 607 - engines: {node: '>=18'} 608 - cpu: [x64] 609 - os: [openbsd] 610 - 611 - '@esbuild/sunos-x64@0.20.2': 612 - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} 613 - engines: {node: '>=12'} 614 - cpu: [x64] 615 - os: [sunos] 616 - 617 - '@esbuild/sunos-x64@0.21.5': 618 - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 619 - engines: {node: '>=12'} 620 - cpu: [x64] 621 - os: [sunos] 622 - 623 - '@esbuild/sunos-x64@0.23.1': 624 - resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} 625 - engines: {node: '>=18'} 626 - cpu: [x64] 627 - os: [sunos] 628 - 629 - '@esbuild/win32-arm64@0.20.2': 630 - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} 631 - engines: {node: '>=12'} 632 - cpu: [arm64] 633 - os: [win32] 634 - 635 - '@esbuild/win32-arm64@0.21.5': 636 - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 637 - engines: {node: '>=12'} 638 - cpu: [arm64] 639 - os: [win32] 640 - 641 - '@esbuild/win32-arm64@0.23.1': 642 - resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} 643 - engines: {node: '>=18'} 644 - cpu: [arm64] 645 - os: [win32] 646 - 647 - '@esbuild/win32-ia32@0.20.2': 648 - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} 649 - engines: {node: '>=12'} 650 - cpu: [ia32] 651 - os: [win32] 652 - 653 - '@esbuild/win32-ia32@0.21.5': 654 - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 655 - engines: {node: '>=12'} 656 - cpu: [ia32] 657 - os: [win32] 658 - 659 - '@esbuild/win32-ia32@0.23.1': 660 - resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} 661 - engines: {node: '>=18'} 662 - cpu: [ia32] 663 - os: [win32] 664 - 665 - '@esbuild/win32-x64@0.20.2': 666 - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} 667 - engines: {node: '>=12'} 668 - cpu: [x64] 669 - os: [win32] 670 - 671 - '@esbuild/win32-x64@0.21.5': 672 - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 673 - engines: {node: '>=12'} 674 - cpu: [x64] 675 - os: [win32] 676 - 677 - '@esbuild/win32-x64@0.23.1': 678 - resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} 679 - engines: {node: '>=18'} 680 - cpu: [x64] 681 - os: [win32] 682 - 683 - '@iconify-json/lucide@1.1.208': 684 - resolution: {integrity: sha512-wdlljQKeoqmIw3YcYMCObPvuB3Gc0vbb0tocULrb0isl7wqINlHmcCAbL2mtLbHmwbldtW25AsplB6H56njPoA==} 685 - 686 - '@iconify/types@2.0.0': 687 - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} 688 - 689 - '@iconify/utils@2.1.32': 690 - resolution: {integrity: sha512-LeifFZPPKu28O3AEDpYJNdEbvS4/ojAPyIW+pF/vUpJTYnbTiXUHkCh0bwgFRzKvdpb8H4Fbfd/742++MF4fPQ==} 691 - 692 - '@img/sharp-darwin-arm64@0.33.5': 693 - resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} 694 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 695 - cpu: [arm64] 696 - os: [darwin] 697 - 698 - '@img/sharp-darwin-x64@0.33.5': 699 - resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} 700 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 701 - cpu: [x64] 702 - os: [darwin] 703 - 704 - '@img/sharp-libvips-darwin-arm64@1.0.4': 705 - resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} 706 - cpu: [arm64] 707 - os: [darwin] 708 - 709 - '@img/sharp-libvips-darwin-x64@1.0.4': 710 - resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} 711 - cpu: [x64] 712 - os: [darwin] 713 - 714 - '@img/sharp-libvips-linux-arm64@1.0.4': 715 - resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} 716 - cpu: [arm64] 717 - os: [linux] 718 - 719 - '@img/sharp-libvips-linux-arm@1.0.5': 720 - resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} 721 - cpu: [arm] 722 - os: [linux] 723 - 724 - '@img/sharp-libvips-linux-s390x@1.0.4': 725 - resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} 726 - cpu: [s390x] 727 - os: [linux] 728 - 729 - '@img/sharp-libvips-linux-x64@1.0.4': 730 - resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} 731 - cpu: [x64] 732 - os: [linux] 733 - 734 - '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 735 - resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} 736 - cpu: [arm64] 737 - os: [linux] 738 - 739 - '@img/sharp-libvips-linuxmusl-x64@1.0.4': 740 - resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} 741 - cpu: [x64] 742 - os: [linux] 743 - 744 - '@img/sharp-linux-arm64@0.33.5': 745 - resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} 746 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 747 - cpu: [arm64] 748 - os: [linux] 749 - 750 - '@img/sharp-linux-arm@0.33.5': 751 - resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} 752 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 753 - cpu: [arm] 754 - os: [linux] 755 - 756 - '@img/sharp-linux-s390x@0.33.5': 757 - resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} 758 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 759 - cpu: [s390x] 760 - os: [linux] 761 - 762 - '@img/sharp-linux-x64@0.33.5': 763 - resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} 764 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 765 - cpu: [x64] 766 - os: [linux] 767 - 768 - '@img/sharp-linuxmusl-arm64@0.33.5': 769 - resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} 770 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 771 - cpu: [arm64] 772 - os: [linux] 773 - 774 - '@img/sharp-linuxmusl-x64@0.33.5': 775 - resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} 776 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 777 - cpu: [x64] 778 - os: [linux] 779 - 780 - '@img/sharp-wasm32@0.33.5': 781 - resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} 782 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 783 - cpu: [wasm32] 784 - 785 - '@img/sharp-win32-ia32@0.33.5': 786 - resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} 787 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 788 - cpu: [ia32] 789 - os: [win32] 790 - 791 - '@img/sharp-win32-x64@0.33.5': 792 - resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} 793 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 794 - cpu: [x64] 795 - os: [win32] 796 - 797 - '@jridgewell/gen-mapping@0.3.5': 798 - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 799 - engines: {node: '>=6.0.0'} 800 - 801 - '@jridgewell/resolve-uri@3.1.2': 802 - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 803 - engines: {node: '>=6.0.0'} 804 - 805 - '@jridgewell/set-array@1.2.1': 806 - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 807 - engines: {node: '>=6.0.0'} 808 - 809 - '@jridgewell/sourcemap-codec@1.4.15': 810 - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 811 - 812 - '@jridgewell/sourcemap-codec@1.5.0': 813 - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 814 - 815 - '@jridgewell/trace-mapping@0.3.25': 816 - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 817 - 818 - '@mdx-js/mdx@3.0.1': 819 - resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} 820 - 821 - '@nodelib/fs.scandir@2.1.5': 822 - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 823 - engines: {node: '>= 8'} 824 - 825 - '@nodelib/fs.stat@2.0.5': 826 - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 827 - engines: {node: '>= 8'} 828 - 829 - '@nodelib/fs.walk@1.2.8': 830 - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 831 - engines: {node: '>= 8'} 832 - 833 - '@notionhq/client@2.2.15': 834 - resolution: {integrity: sha512-XhdSY/4B1D34tSco/GION+23GMjaS9S2zszcqYkMHo8RcWInymF6L1x+Gk7EmHdrSxNFva2WM8orhC4BwQCwgw==} 835 - engines: {node: '>=12'} 836 - 837 - '@oslojs/encoding@0.4.1': 838 - resolution: {integrity: sha512-hkjo6MuIK/kQR5CrGNdAPZhS01ZCXuWDRJ187zh6qqF2+yMHZpD9fAYpX8q2bOO6Ryhl3XpCT6kUX76N8hhm4Q==} 839 - 840 - '@polka/url@1.0.0-next.25': 841 - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} 842 - 843 - '@rollup/pluginutils@5.1.0': 844 - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} 845 - engines: {node: '>=14.0.0'} 846 - peerDependencies: 847 - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 848 - peerDependenciesMeta: 849 - rollup: 850 - optional: true 851 - 852 - '@rollup/rollup-android-arm-eabi@4.21.0': 853 - resolution: {integrity: sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==} 854 - cpu: [arm] 855 - os: [android] 856 - 857 - '@rollup/rollup-android-arm64@4.21.0': 858 - resolution: {integrity: sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==} 859 - cpu: [arm64] 860 - os: [android] 861 - 862 - '@rollup/rollup-darwin-arm64@4.21.0': 863 - resolution: {integrity: sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==} 864 - cpu: [arm64] 865 - os: [darwin] 866 - 867 - '@rollup/rollup-darwin-x64@4.21.0': 868 - resolution: {integrity: sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==} 869 - cpu: [x64] 870 - os: [darwin] 871 - 872 - '@rollup/rollup-linux-arm-gnueabihf@4.21.0': 873 - resolution: {integrity: sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==} 874 - cpu: [arm] 875 - os: [linux] 876 - 877 - '@rollup/rollup-linux-arm-musleabihf@4.21.0': 878 - resolution: {integrity: sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==} 879 - cpu: [arm] 880 - os: [linux] 881 - 882 - '@rollup/rollup-linux-arm64-gnu@4.21.0': 883 - resolution: {integrity: sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==} 884 - cpu: [arm64] 885 - os: [linux] 886 - 887 - '@rollup/rollup-linux-arm64-musl@4.21.0': 888 - resolution: {integrity: sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==} 889 - cpu: [arm64] 890 - os: [linux] 891 - 892 - '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': 893 - resolution: {integrity: sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==} 894 - cpu: [ppc64] 895 - os: [linux] 896 - 897 - '@rollup/rollup-linux-riscv64-gnu@4.21.0': 898 - resolution: {integrity: sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==} 899 - cpu: [riscv64] 900 - os: [linux] 901 - 902 - '@rollup/rollup-linux-s390x-gnu@4.21.0': 903 - resolution: {integrity: sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==} 904 - cpu: [s390x] 905 - os: [linux] 906 - 907 - '@rollup/rollup-linux-x64-gnu@4.21.0': 908 - resolution: {integrity: sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==} 909 - cpu: [x64] 910 - os: [linux] 911 - 912 - '@rollup/rollup-linux-x64-musl@4.21.0': 913 - resolution: {integrity: sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==} 914 - cpu: [x64] 915 - os: [linux] 916 - 917 - '@rollup/rollup-win32-arm64-msvc@4.21.0': 918 - resolution: {integrity: sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==} 919 - cpu: [arm64] 920 - os: [win32] 921 - 922 - '@rollup/rollup-win32-ia32-msvc@4.21.0': 923 - resolution: {integrity: sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==} 924 - cpu: [ia32] 925 - os: [win32] 926 - 927 - '@rollup/rollup-win32-x64-msvc@4.21.0': 928 - resolution: {integrity: sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==} 929 - cpu: [x64] 930 - os: [win32] 931 - 932 - '@shikijs/core@1.14.1': 933 - resolution: {integrity: sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==} 934 - 935 - '@types/acorn@4.0.6': 936 - resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} 937 - 938 - '@types/babel__core@7.20.5': 939 - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 940 - 941 - '@types/babel__generator@7.6.8': 942 - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} 943 - 944 - '@types/babel__template@7.4.4': 945 - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} 946 - 947 - '@types/babel__traverse@7.20.6': 948 - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} 949 - 950 - '@types/cookie@0.6.0': 951 - resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} 952 - 953 - '@types/debug@4.1.12': 954 - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} 955 - 956 - '@types/estree-jsx@1.0.5': 957 - resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} 958 - 959 - '@types/estree@1.0.5': 960 - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 961 - 962 - '@types/hast@3.0.4': 963 - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} 964 - 965 - '@types/mdast@4.0.4': 966 - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} 967 - 968 - '@types/mdx@2.0.13': 969 - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} 970 - 971 - '@types/ms@0.7.34': 972 - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} 973 - 974 - '@types/nlcst@2.0.3': 975 - resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} 976 - 977 - '@types/node-fetch@2.6.11': 978 - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} 979 - 980 - '@types/node@17.0.45': 981 - resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} 982 - 983 - '@types/node@20.11.30': 984 - resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} 985 - 986 - '@types/node@22.5.0': 987 - resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==} 988 - 989 - '@types/sax@1.2.7': 990 - resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} 991 - 992 - '@types/unist@2.0.11': 993 - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} 994 - 995 - '@types/unist@3.0.3': 996 - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} 997 - 998 - '@ungap/structured-clone@1.2.0': 999 - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} 1000 - 1001 - '@unocss/astro@0.62.2': 1002 - resolution: {integrity: sha512-RUPGmbNEyfbBOuS22PC23Dy9gmNBQHpLCmpuj6ehr6UcKeRy3xOwlbJDnCv08Vfd3mp3n45Va24wTK/yM6I1YQ==} 1003 - peerDependencies: 1004 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 1005 - peerDependenciesMeta: 1006 - vite: 1007 - optional: true 1008 - 1009 - '@unocss/cli@0.62.2': 1010 - resolution: {integrity: sha512-M1Itw4CVTnoBS1rTLYZvEV5lhq3r711Dwes4GlCHmCwuwEJcp7b83Saim2x6+h1BZbMY3CxgendGNQAIJ9rHkw==} 1011 - engines: {node: '>=14'} 1012 - hasBin: true 1013 - 1014 - '@unocss/config@0.62.2': 1015 - resolution: {integrity: sha512-TgWhO0hkTADnuSgcUZvFP3i4AVpaiMvr41hhQqCPQTaiLMRrroXFnqL33cpkEbHLIfbTh74pXrDxnzMLaEKVdQ==} 1016 - engines: {node: '>=14'} 1017 - 1018 - '@unocss/core@0.62.2': 1019 - resolution: {integrity: sha512-86jEFUJ/PSwdb1qqiEi0lWlewfKLQwiH+JAfnh8c2hLjOPVmCkb0nnsYSMh8drmtN5kpk6E06mN0IrKMO7OnvQ==} 1020 - 1021 - '@unocss/extractor-arbitrary-variants@0.62.2': 1022 - resolution: {integrity: sha512-k0+QifbKe3Wp6dznQIhn1bQ/shR8yMk1ypfWQFOAr0ylXXlKMXFxfpRyxH3awbTDRBpi/SxIIaBTAzflGxBSgg==} 1023 - 1024 - '@unocss/inspector@0.62.2': 1025 - resolution: {integrity: sha512-P2J8xx4MeB8VHCwjick+PzMyLPKvUNZBuUxuFVhh3xpMsbGlvSIKMH4PRCriwWih+7wqHlrI+fv1gAjoiGHe3Q==} 1026 - 1027 - '@unocss/postcss@0.62.2': 1028 - resolution: {integrity: sha512-x0vSz1l2eWpkfqLPcAO0kO36oKcMqtC6JmmM2tRB9WSxiz6xu9qHibfj6VXLe+KqggvFRnKObok4Fr1GIe0Srw==} 1029 - engines: {node: '>=14'} 1030 - peerDependencies: 1031 - postcss: ^8.4.21 1032 - 1033 - '@unocss/preset-attributify@0.62.2': 1034 - resolution: {integrity: sha512-QBxm62Lq6O7pN47TBD25LrH6CXZGDyTORguKL+IvIxuf8/VTEwwLl1z9FJ10u+kTwHX11RDnAF7KmZsTpcezgA==} 1035 - 1036 - '@unocss/preset-icons@0.62.2': 1037 - resolution: {integrity: sha512-cj5fhhgyMK2Wio2nsR4hJuorRtqrgeX8sApffCRxpdKb/rg0De7IzXlTRQvAivFingRLXxwMKcpR4hgw/kw/pA==} 1038 - 1039 - '@unocss/preset-mini@0.62.2': 1040 - resolution: {integrity: sha512-NeyYGwGCmMbjzMMhQGzn4qk74LYIsLM4zpQru2Krt1snw1DgVpp3iV8hCWIH4y0Y+ud+K5SUFMAvIe18vq2OQw==} 1041 - 1042 - '@unocss/preset-tagify@0.62.2': 1043 - resolution: {integrity: sha512-xfxyKqBxBFOtKRifpM+9co9GqXj5PmGNdLcoWoYninmtO1CvCc50IBIob2h85X18jsa6Vm3sATzEfgOSggcGzQ==} 1044 - 1045 - '@unocss/preset-typography@0.62.2': 1046 - resolution: {integrity: sha512-NnoblEZX+dDZeM537l6HcNfPJC8KPGcD5LimVO/HS7GuDarTXeu1JgnCqYc2d5q69OAbyfJfO9k1iKqnAHkqug==} 1047 - 1048 - '@unocss/preset-uno@0.62.2': 1049 - resolution: {integrity: sha512-oMwSP3haSiyiSqI0KqrYkda8mnkWu9lJDdm4bZ5iO6v/rDxmcydBr7MEl8iEy9EdOy1lv3xsyzwMrRer392JEw==} 1050 - 1051 - '@unocss/preset-web-fonts@0.62.2': 1052 - resolution: {integrity: sha512-LawmODVu8jjluVGxCIFePkqHLPkhU6S3xJIq8harZAt/uzfkosO3ozzWrRHcVR7SQGPWdATie0ggTFcmVRxFzw==} 1053 - 1054 - '@unocss/preset-wind@0.62.2': 1055 - resolution: {integrity: sha512-1pohITLsjhUfEA774Ftz2EAaolbUmhM8yircxTaQEty9qYF1dEcLM2Fm6Y0+ZNhPOcKCAOYZkExuu6JEjbEACg==} 1056 - 1057 - '@unocss/reset@0.62.2': 1058 - resolution: {integrity: sha512-5hgxcBMMbw5tMSSd4kUX70H0pZK9SwRHtm8Q4VvDV6xOZJa2/fvFR4qyxbuAM9nhOwYUqAAX23lxfmY0bXX73A==} 1059 - 1060 - '@unocss/rule-utils@0.62.2': 1061 - resolution: {integrity: sha512-0za00pkDHsGZhiXBiZfOuUyT+GjCInPxMXj+QsybRU4UrjJS+d3gAteC34BqNFfDAoKQb9G5q9etXztcNHXQbg==} 1062 - engines: {node: '>=14'} 1063 - 1064 - '@unocss/scope@0.62.2': 1065 - resolution: {integrity: sha512-AEQ1CV8s8NAkBJPO1NCSjADoNyCOYiqkW1DXMvB9mA6lTff5SgmFqIiNmBtMsnBs7/dO0iOSMEDIpdgtDg/KhA==} 1066 - 1067 - '@unocss/transformer-attributify-jsx-babel@0.62.2': 1068 - resolution: {integrity: sha512-t0/3TFc29vwurjRR0akGkYv1VdzqLXHJn6d+d4BSzYhsH0YIhNFxU7r7Gf9iea38IqW6av+OlPBgCZknbG9K+g==} 1069 - 1070 - '@unocss/transformer-attributify-jsx@0.62.2': 1071 - resolution: {integrity: sha512-Lgv6OH3rtO7fn0DzBH8C2tEN4247d2Bsm9eP3jIU2w/jTxuv+1XEh8Wir67winLdn/ZNBzVxJb3popnNo9qhcA==} 1072 - 1073 - '@unocss/transformer-compile-class@0.62.2': 1074 - resolution: {integrity: sha512-Kjyt7+NYLBRUSY0OA8tC6CDTC0qh9HkNt+WEEWvtTcrWwRvTU0VUroTkndHI3Fmv/yczuwmPXI71J+jJeLBQ6w==} 1075 - 1076 - '@unocss/transformer-directives@0.62.2': 1077 - resolution: {integrity: sha512-5ZGTmsXkAkFd7pHjHkGy6LGgxhh6bPbZ3jLltf98OhgBZH558y9iui6LKq3n2LpUsSZox6ey3yh1AibvakQeeg==} 1078 - 1079 - '@unocss/transformer-variant-group@0.62.2': 1080 - resolution: {integrity: sha512-WknoFYRAik2NJfo0AHoId912jzzZaOV9bKgoSh7Lpx7dMxgngfU027Gx7Wnd8mR+TSqQzsfYaXdPa+PqyTv6Xg==} 1081 - 1082 - '@unocss/vite@0.62.2': 1083 - resolution: {integrity: sha512-ES39SL7+0UDTM5IvIiDVodH4duUIzGXug/bhuDHHhhtUBoengH+Oe59jURzRChDj4Pf3cyqMtTwo5amoz3lV2Q==} 1084 - peerDependencies: 1085 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 1086 - 1087 - acorn-jsx@5.3.2: 1088 - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 1089 - peerDependencies: 1090 - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 1091 - 1092 - acorn@8.11.3: 1093 - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 1094 - engines: {node: '>=0.4.0'} 1095 - hasBin: true 1096 - 1097 - acorn@8.12.1: 1098 - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} 1099 - engines: {node: '>=0.4.0'} 1100 - hasBin: true 1101 - 1102 - ansi-align@3.0.1: 1103 - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} 1104 - 1105 - ansi-regex@5.0.1: 1106 - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1107 - engines: {node: '>=8'} 1108 - 1109 - ansi-regex@6.0.1: 1110 - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 1111 - engines: {node: '>=12'} 1112 - 1113 - ansi-styles@3.2.1: 1114 - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 1115 - engines: {node: '>=4'} 1116 - 1117 - ansi-styles@6.2.1: 1118 - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 1119 - engines: {node: '>=12'} 1120 - 1121 - anymatch@3.1.3: 1122 - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 1123 - engines: {node: '>= 8'} 1124 - 1125 - arg@5.0.2: 1126 - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 1127 - 1128 - argparse@1.0.10: 1129 - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 1130 - 1131 - argparse@2.0.1: 1132 - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 1133 - 1134 - aria-query@5.3.0: 1135 - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} 1136 - 1137 - array-iterate@2.0.1: 1138 - resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} 1139 - 1140 - astring@1.8.6: 1141 - resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} 1142 - hasBin: true 1143 - 1144 - astro@4.14.5: 1145 - resolution: {integrity: sha512-sv47kPE6FnvyxxHHcCePNwTKpOMKBq0r1m6WZYg6ag9j3yF9m72ov64NFB7c+hAMDUKgsHfVdLKjOOqDC/c+fA==} 1146 - engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} 1147 - hasBin: true 1148 - 1149 - asynckit@0.4.0: 1150 - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 1151 - 1152 - axobject-query@4.1.0: 1153 - resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 1154 - engines: {node: '>= 0.4'} 1155 - 1156 - bail@2.0.2: 1157 - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} 1158 - 1159 - base-64@1.0.0: 1160 - resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} 1161 - 1162 - binary-extensions@2.3.0: 1163 - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 1164 - engines: {node: '>=8'} 1165 - 1166 - boxen@7.1.1: 1167 - resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} 1168 - engines: {node: '>=14.16'} 1169 - 1170 - braces@3.0.2: 1171 - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1172 - engines: {node: '>=8'} 1173 - 1174 - braces@3.0.3: 1175 - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 1176 - engines: {node: '>=8'} 1177 - 1178 - browserslist@4.23.2: 1179 - resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} 1180 - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1181 - hasBin: true 1182 - 1183 - bundle-require@5.0.0: 1184 - resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} 1185 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1186 - peerDependencies: 1187 - esbuild: '>=0.18' 1188 - 1189 - cac@6.7.14: 1190 - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 1191 - engines: {node: '>=8'} 1192 - 1193 - camelcase@7.0.1: 1194 - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} 1195 - engines: {node: '>=14.16'} 1196 - 1197 - caniuse-lite@1.0.30001643: 1198 - resolution: {integrity: sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==} 1199 - 1200 - ccount@2.0.1: 1201 - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} 1202 - 1203 - chalk@2.4.2: 1204 - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1205 - engines: {node: '>=4'} 1206 - 1207 - chalk@5.3.0: 1208 - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 1209 - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 1210 - 1211 - character-entities-html4@2.1.0: 1212 - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} 1213 - 1214 - character-entities-legacy@3.0.0: 1215 - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} 1216 - 1217 - character-entities@2.0.2: 1218 - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} 1219 - 1220 - character-reference-invalid@2.0.1: 1221 - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} 1222 - 1223 - chokidar@3.6.0: 1224 - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 1225 - engines: {node: '>= 8.10.0'} 1226 - 1227 - ci-info@4.0.0: 1228 - resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} 1229 - engines: {node: '>=8'} 1230 - 1231 - cli-boxes@3.0.0: 1232 - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} 1233 - engines: {node: '>=10'} 1234 - 1235 - cli-cursor@4.0.0: 1236 - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} 1237 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1238 - 1239 - cli-spinners@2.9.2: 1240 - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 1241 - engines: {node: '>=6'} 1242 - 1243 - clsx@2.1.1: 1244 - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 1245 - engines: {node: '>=6'} 1246 - 1247 - collapse-white-space@2.1.0: 1248 - resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} 1249 - 1250 - color-convert@1.9.3: 1251 - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1252 - 1253 - color-convert@2.0.1: 1254 - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1255 - engines: {node: '>=7.0.0'} 1256 - 1257 - color-name@1.1.3: 1258 - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1259 - 1260 - color-name@1.1.4: 1261 - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1262 - 1263 - color-string@1.9.1: 1264 - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 1265 - 1266 - color@4.2.3: 1267 - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 1268 - engines: {node: '>=12.5.0'} 1269 - 1270 - colorette@2.0.20: 1271 - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} 1272 - 1273 - combined-stream@1.0.8: 1274 - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 1275 - engines: {node: '>= 0.8'} 1276 - 1277 - comma-separated-tokens@2.0.3: 1278 - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} 1279 - 1280 - common-ancestor-path@1.0.1: 1281 - resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} 1282 - 1283 - confbox@0.1.7: 1284 - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} 1285 - 1286 - consola@3.2.3: 1287 - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} 1288 - engines: {node: ^14.18.0 || >=16.10.0} 1289 - 1290 - convert-source-map@2.0.0: 1291 - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 1292 - 1293 - cookie@0.6.0: 1294 - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 1295 - engines: {node: '>= 0.6'} 1296 - 1297 - cross-spawn@7.0.3: 1298 - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1299 - engines: {node: '>= 8'} 1300 - 1301 - css-tree@2.3.1: 1302 - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} 1303 - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 1304 - 1305 - cssesc@3.0.0: 1306 - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1307 - engines: {node: '>=4'} 1308 - hasBin: true 1309 - 1310 - debug@4.3.4: 1311 - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1312 - engines: {node: '>=6.0'} 1313 - peerDependencies: 1314 - supports-color: '*' 1315 - peerDependenciesMeta: 1316 - supports-color: 1317 - optional: true 1318 - 1319 - debug@4.3.6: 1320 - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} 1321 - engines: {node: '>=6.0'} 1322 - peerDependencies: 1323 - supports-color: '*' 1324 - peerDependenciesMeta: 1325 - supports-color: 1326 - optional: true 1327 - 1328 - decode-named-character-reference@1.0.2: 1329 - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} 1330 - 1331 - defu@6.1.4: 1332 - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 1333 - 1334 - delayed-stream@1.0.0: 1335 - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 1336 - engines: {node: '>=0.4.0'} 1337 - 1338 - dequal@2.0.3: 1339 - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 1340 - engines: {node: '>=6'} 1341 - 1342 - destr@2.0.3: 1343 - resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} 1344 - 1345 - detect-libc@2.0.3: 1346 - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 1347 - engines: {node: '>=8'} 1348 - 1349 - deterministic-object-hash@2.0.2: 1350 - resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} 1351 - engines: {node: '>=18'} 1352 - 1353 - devalue@5.0.0: 1354 - resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==} 1355 - 1356 - devlop@1.1.0: 1357 - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} 1358 - 1359 - diff@5.2.0: 1360 - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} 1361 - engines: {node: '>=0.3.1'} 1362 - 1363 - dlv@1.1.3: 1364 - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 1365 - 1366 - dset@3.1.3: 1367 - resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} 1368 - engines: {node: '>=4'} 1369 - 1370 - duplexer@0.1.2: 1371 - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} 1372 - 1373 - eastasianwidth@0.2.0: 1374 - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 1375 - 1376 - electron-to-chromium@1.5.1: 1377 - resolution: {integrity: sha512-FKbOCOQ5QRB3VlIbl1LZQefWIYwszlBloaXcY2rbfpu9ioJnNh3TK03YtIDKDo3WKBi8u+YV4+Fn2CkEozgf4w==} 1378 - 1379 - emoji-regex@10.3.0: 1380 - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} 1381 - 1382 - emoji-regex@8.0.0: 1383 - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1384 - 1385 - emoji-regex@9.2.2: 1386 - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1387 - 1388 - entities@4.5.0: 1389 - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 1390 - engines: {node: '>=0.12'} 1391 - 1392 - es-module-lexer@1.5.4: 1393 - resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} 1394 - 1395 - esbuild@0.20.2: 1396 - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} 1397 - engines: {node: '>=12'} 1398 - hasBin: true 1399 - 1400 - esbuild@0.21.5: 1401 - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 1402 - engines: {node: '>=12'} 1403 - hasBin: true 1404 - 1405 - esbuild@0.23.1: 1406 - resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} 1407 - engines: {node: '>=18'} 1408 - hasBin: true 1409 - 1410 - escalade@3.1.2: 1411 - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} 1412 - engines: {node: '>=6'} 1413 - 1414 - escape-string-regexp@1.0.5: 1415 - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1416 - engines: {node: '>=0.8.0'} 1417 - 1418 - escape-string-regexp@5.0.0: 1419 - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 1420 - engines: {node: '>=12'} 1421 - 1422 - esprima@4.0.1: 1423 - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1424 - engines: {node: '>=4'} 1425 - hasBin: true 1426 - 1427 - estree-util-attach-comments@3.0.0: 1428 - resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} 1429 - 1430 - estree-util-build-jsx@3.0.1: 1431 - resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} 1432 - 1433 - estree-util-is-identifier-name@3.0.0: 1434 - resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} 1435 - 1436 - estree-util-to-js@2.0.0: 1437 - resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} 1438 - 1439 - estree-util-visit@2.0.0: 1440 - resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} 1441 - 1442 - estree-walker@2.0.2: 1443 - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1444 - 1445 - estree-walker@3.0.3: 1446 - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 1447 - 1448 - eventemitter3@5.0.1: 1449 - resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} 1450 - 1451 - execa@8.0.1: 1452 - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 1453 - engines: {node: '>=16.17'} 1454 - 1455 - extend-shallow@2.0.1: 1456 - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} 1457 - engines: {node: '>=0.10.0'} 1458 - 1459 - extend@3.0.2: 1460 - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} 1461 - 1462 - fast-glob@3.3.2: 1463 - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1464 - engines: {node: '>=8.6.0'} 1465 - 1466 - fastq@1.17.1: 1467 - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1468 - 1469 - fdir@6.2.0: 1470 - resolution: {integrity: sha512-9XaWcDl0riOX5j2kYfy0kKdg7skw3IY6kA4LFT8Tk2yF9UdrADUy8D6AJuBLtf7ISm/MksumwAHE3WVbMRyCLw==} 1471 - peerDependencies: 1472 - picomatch: ^3 || ^4 1473 - peerDependenciesMeta: 1474 - picomatch: 1475 - optional: true 1476 - 1477 - fill-range@7.0.1: 1478 - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1479 - engines: {node: '>=8'} 1480 - 1481 - fill-range@7.1.1: 1482 - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1483 - engines: {node: '>=8'} 1484 - 1485 - find-up-simple@1.0.0: 1486 - resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} 1487 - engines: {node: '>=18'} 1488 - 1489 - find-up@4.1.0: 1490 - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1491 - engines: {node: '>=8'} 1492 - 1493 - find-yarn-workspace-root2@1.2.16: 1494 - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} 1495 - 1496 - flattie@1.1.1: 1497 - resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} 1498 - engines: {node: '>=8'} 1499 - 1500 - form-data@4.0.0: 1501 - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} 1502 - engines: {node: '>= 6'} 1503 - 1504 - fsevents@2.3.3: 1505 - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1506 - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1507 - os: [darwin] 1508 - 1509 - gensync@1.0.0-beta.2: 1510 - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1511 - engines: {node: '>=6.9.0'} 1512 - 1513 - get-east-asian-width@1.2.0: 1514 - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} 1515 - engines: {node: '>=18'} 1516 - 1517 - get-stream@8.0.1: 1518 - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 1519 - engines: {node: '>=16'} 1520 - 1521 - get-tsconfig@4.7.6: 1522 - resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} 1523 - 1524 - github-slugger@2.0.0: 1525 - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} 1526 - 1527 - glob-parent@5.1.2: 1528 - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1529 - engines: {node: '>= 6'} 1530 - 1531 - globals@11.12.0: 1532 - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1533 - engines: {node: '>=4'} 1534 - 1535 - graceful-fs@4.2.11: 1536 - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1537 - 1538 - gray-matter@4.0.3: 1539 - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} 1540 - engines: {node: '>=6.0'} 1541 - 1542 - gzip-size@6.0.0: 1543 - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} 1544 - engines: {node: '>=10'} 1545 - 1546 - has-flag@3.0.0: 1547 - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1548 - engines: {node: '>=4'} 1549 - 1550 - hast-util-from-html@2.0.2: 1551 - resolution: {integrity: sha512-HwOHwxdt2zC5KQ/CNoybBntRook2zJvfZE/u5/Ap7aLPe22bDqen7KwGkOqOyzL5zIqKwiYX/OTtE0FWgr6XXA==} 1552 - 1553 - hast-util-from-parse5@8.0.1: 1554 - resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} 1555 - 1556 - hast-util-is-element@3.0.0: 1557 - resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} 1558 - 1559 - hast-util-parse-selector@4.0.0: 1560 - resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} 1561 - 1562 - hast-util-raw@9.0.4: 1563 - resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} 1564 - 1565 - hast-util-to-estree@3.1.0: 1566 - resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} 1567 - 1568 - hast-util-to-html@9.0.1: 1569 - resolution: {integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==} 1570 - 1571 - hast-util-to-jsx-runtime@2.3.0: 1572 - resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} 1573 - 1574 - hast-util-to-parse5@8.0.0: 1575 - resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} 1576 - 1577 - hast-util-to-text@4.0.2: 1578 - resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} 1579 - 1580 - hast-util-whitespace@3.0.0: 1581 - resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} 1582 - 1583 - hastscript@8.0.0: 1584 - resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} 1585 - 1586 - html-escaper@3.0.3: 1587 - resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} 1588 - 1589 - html-void-elements@3.0.0: 1590 - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} 1591 - 1592 - http-cache-semantics@4.1.1: 1593 - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} 1594 - 1595 - human-signals@5.0.0: 1596 - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 1597 - engines: {node: '>=16.17.0'} 1598 - 1599 - import-meta-resolve@4.1.0: 1600 - resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} 1601 - 1602 - importx@0.4.3: 1603 - resolution: {integrity: sha512-x6E6OxmWq/SUaj7wDeDeSjyHP+rMUbEaqJ5fw0uEtC/FTX9ocxNMFJ+ONnpJIsRpFz3ya6qJAK4orwSKqw0BSQ==} 1604 - 1605 - inline-style-parser@0.1.1: 1606 - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} 1607 - 1608 - inline-style-parser@0.2.3: 1609 - resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==} 1610 - 1611 - is-alphabetical@2.0.1: 1612 - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} 1613 - 1614 - is-alphanumerical@2.0.1: 1615 - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} 1616 - 1617 - is-arrayish@0.3.2: 1618 - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 1619 - 1620 - is-binary-path@2.1.0: 1621 - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1622 - engines: {node: '>=8'} 1623 - 1624 - is-decimal@2.0.1: 1625 - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} 1626 - 1627 - is-docker@3.0.0: 1628 - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} 1629 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1630 - hasBin: true 1631 - 1632 - is-extendable@0.1.1: 1633 - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} 1634 - engines: {node: '>=0.10.0'} 1635 - 1636 - is-extglob@2.1.1: 1637 - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1638 - engines: {node: '>=0.10.0'} 1639 - 1640 - is-fullwidth-code-point@3.0.0: 1641 - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1642 - engines: {node: '>=8'} 1643 - 1644 - is-glob@4.0.3: 1645 - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1646 - engines: {node: '>=0.10.0'} 1647 - 1648 - is-hexadecimal@2.0.1: 1649 - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} 1650 - 1651 - is-inside-container@1.0.0: 1652 - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} 1653 - engines: {node: '>=14.16'} 1654 - hasBin: true 1655 - 1656 - is-interactive@2.0.0: 1657 - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} 1658 - engines: {node: '>=12'} 1659 - 1660 - is-number@7.0.0: 1661 - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1662 - engines: {node: '>=0.12.0'} 1663 - 1664 - is-plain-obj@4.1.0: 1665 - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 1666 - engines: {node: '>=12'} 1667 - 1668 - is-reference@3.0.2: 1669 - resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} 1670 - 1671 - is-stream@3.0.0: 1672 - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1673 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1674 - 1675 - is-unicode-supported@1.3.0: 1676 - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} 1677 - engines: {node: '>=12'} 1678 - 1679 - is-unicode-supported@2.0.0: 1680 - resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} 1681 - engines: {node: '>=18'} 1682 - 1683 - is-wsl@3.1.0: 1684 - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} 1685 - engines: {node: '>=16'} 1686 - 1687 - isexe@2.0.0: 1688 - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1689 - 1690 - jiti@1.21.6: 1691 - resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 1692 - hasBin: true 1693 - 1694 - jiti@2.0.0-beta.2: 1695 - resolution: {integrity: sha512-c+PHQZakiQuMKbnhvrjZUvrK6E/AfmTOf4P+E3Y4FNVHcNMX9e/XrnbEvO+m4wS6ZjsvhHh/POQTlfy8uXFc0A==} 1696 - hasBin: true 1697 - 1698 - js-tokens@4.0.0: 1699 - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1700 - 1701 - js-yaml@3.14.1: 1702 - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1703 - hasBin: true 1704 - 1705 - js-yaml@4.1.0: 1706 - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1707 - hasBin: true 1708 - 1709 - jsesc@2.5.2: 1710 - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1711 - engines: {node: '>=4'} 1712 - hasBin: true 1713 - 1714 - json5@2.2.3: 1715 - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1716 - engines: {node: '>=6'} 1717 - hasBin: true 1718 - 1719 - jsonc-parser@3.2.1: 1720 - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} 1721 - 1722 - kind-of@6.0.3: 1723 - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 1724 - engines: {node: '>=0.10.0'} 1725 - 1726 - kleur@3.0.3: 1727 - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 1728 - engines: {node: '>=6'} 1729 - 1730 - kleur@4.1.5: 1731 - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 1732 - engines: {node: '>=6'} 1733 - 1734 - kolorist@1.8.0: 1735 - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} 1736 - 1737 - load-tsconfig@0.2.5: 1738 - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 1739 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1740 - 1741 - load-yaml-file@0.2.0: 1742 - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} 1743 - engines: {node: '>=6'} 1744 - 1745 - local-pkg@0.5.0: 1746 - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} 1747 - engines: {node: '>=14'} 1748 - 1749 - locate-path@5.0.0: 1750 - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1751 - engines: {node: '>=8'} 1752 - 1753 - log-symbols@6.0.0: 1754 - resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} 1755 - engines: {node: '>=18'} 1756 - 1757 - longest-streak@3.1.0: 1758 - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} 1759 - 1760 - lru-cache@5.1.1: 1761 - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1762 - 1763 - magic-string@0.30.11: 1764 - resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} 1765 - 1766 - markdown-extensions@2.0.0: 1767 - resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==} 1768 - engines: {node: '>=16'} 1769 - 1770 - markdown-table@3.0.3: 1771 - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} 1772 - 1773 - mdast-util-definitions@6.0.0: 1774 - resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} 1775 - 1776 - mdast-util-find-and-replace@3.0.1: 1777 - resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} 1778 - 1779 - mdast-util-from-markdown@2.0.1: 1780 - resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} 1781 - 1782 - mdast-util-gfm-autolink-literal@2.0.1: 1783 - resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} 1784 - 1785 - mdast-util-gfm-footnote@2.0.0: 1786 - resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} 1787 - 1788 - mdast-util-gfm-strikethrough@2.0.0: 1789 - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} 1790 - 1791 - mdast-util-gfm-table@2.0.0: 1792 - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} 1793 - 1794 - mdast-util-gfm-task-list-item@2.0.0: 1795 - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} 1796 - 1797 - mdast-util-gfm@3.0.0: 1798 - resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} 1799 - 1800 - mdast-util-mdx-expression@2.0.0: 1801 - resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} 1802 - 1803 - mdast-util-mdx-jsx@3.1.2: 1804 - resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==} 1805 - 1806 - mdast-util-mdx@3.0.0: 1807 - resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} 1808 - 1809 - mdast-util-mdxjs-esm@2.0.1: 1810 - resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} 1811 - 1812 - mdast-util-phrasing@4.1.0: 1813 - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} 1814 - 1815 - mdast-util-to-hast@13.2.0: 1816 - resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} 1817 - 1818 - mdast-util-to-markdown@2.1.0: 1819 - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} 1820 - 1821 - mdast-util-to-string@4.0.0: 1822 - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} 1823 - 1824 - mdn-data@2.0.30: 1825 - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} 1826 - 1827 - merge-stream@2.0.0: 1828 - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1829 - 1830 - merge2@1.4.1: 1831 - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1832 - engines: {node: '>= 8'} 1833 - 1834 - micromark-core-commonmark@2.0.1: 1835 - resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} 1836 - 1837 - micromark-extension-gfm-autolink-literal@2.1.0: 1838 - resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} 1839 - 1840 - micromark-extension-gfm-footnote@2.1.0: 1841 - resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} 1842 - 1843 - micromark-extension-gfm-strikethrough@2.1.0: 1844 - resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} 1845 - 1846 - micromark-extension-gfm-table@2.1.0: 1847 - resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} 1848 - 1849 - micromark-extension-gfm-tagfilter@2.0.0: 1850 - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} 1851 - 1852 - micromark-extension-gfm-task-list-item@2.1.0: 1853 - resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} 1854 - 1855 - micromark-extension-gfm@3.0.0: 1856 - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} 1857 - 1858 - micromark-extension-mdx-expression@3.0.0: 1859 - resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} 1860 - 1861 - micromark-extension-mdx-jsx@3.0.0: 1862 - resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} 1863 - 1864 - micromark-extension-mdx-md@2.0.0: 1865 - resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} 1866 - 1867 - micromark-extension-mdxjs-esm@3.0.0: 1868 - resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} 1869 - 1870 - micromark-extension-mdxjs@3.0.0: 1871 - resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} 1872 - 1873 - micromark-factory-destination@2.0.0: 1874 - resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} 1875 - 1876 - micromark-factory-label@2.0.0: 1877 - resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} 1878 - 1879 - micromark-factory-mdx-expression@2.0.1: 1880 - resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} 1881 - 1882 - micromark-factory-space@2.0.0: 1883 - resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} 1884 - 1885 - micromark-factory-title@2.0.0: 1886 - resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} 1887 - 1888 - micromark-factory-whitespace@2.0.0: 1889 - resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} 1890 - 1891 - micromark-util-character@2.1.0: 1892 - resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} 1893 - 1894 - micromark-util-chunked@2.0.0: 1895 - resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} 1896 - 1897 - micromark-util-classify-character@2.0.0: 1898 - resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} 1899 - 1900 - micromark-util-combine-extensions@2.0.0: 1901 - resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} 1902 - 1903 - micromark-util-decode-numeric-character-reference@2.0.1: 1904 - resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} 1905 - 1906 - micromark-util-decode-string@2.0.0: 1907 - resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} 1908 - 1909 - micromark-util-encode@2.0.0: 1910 - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} 1911 - 1912 - micromark-util-events-to-acorn@2.0.2: 1913 - resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} 1914 - 1915 - micromark-util-html-tag-name@2.0.0: 1916 - resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} 1917 - 1918 - micromark-util-normalize-identifier@2.0.0: 1919 - resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} 1920 - 1921 - micromark-util-resolve-all@2.0.0: 1922 - resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} 1923 - 1924 - micromark-util-sanitize-uri@2.0.0: 1925 - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} 1926 - 1927 - micromark-util-subtokenize@2.0.1: 1928 - resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} 1929 - 1930 - micromark-util-symbol@2.0.0: 1931 - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} 1932 - 1933 - micromark-util-types@2.0.0: 1934 - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} 1935 - 1936 - micromark@4.0.0: 1937 - resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} 1938 - 1939 - micromatch@4.0.8: 1940 - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1941 - engines: {node: '>=8.6'} 1942 - 1943 - mime-db@1.52.0: 1944 - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 1945 - engines: {node: '>= 0.6'} 1946 - 1947 - mime-types@2.1.35: 1948 - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 1949 - engines: {node: '>= 0.6'} 1950 - 1951 - mimic-fn@2.1.0: 1952 - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1953 - engines: {node: '>=6'} 1954 - 1955 - mimic-fn@4.0.0: 1956 - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 1957 - engines: {node: '>=12'} 1958 - 1959 - mlly@1.7.1: 1960 - resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} 1961 - 1962 - mrmime@2.0.0: 1963 - resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} 1964 - engines: {node: '>=10'} 1965 - 1966 - ms@2.1.2: 1967 - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1968 - 1969 - nanoid@3.3.7: 1970 - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1971 - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1972 - hasBin: true 1973 - 1974 - neotraverse@0.6.18: 1975 - resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} 1976 - engines: {node: '>= 10'} 1977 - 1978 - nlcst-to-string@4.0.0: 1979 - resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} 1980 - 1981 - node-fetch-native@1.6.4: 1982 - resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} 1983 - 1984 - node-fetch@2.7.0: 1985 - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} 1986 - engines: {node: 4.x || >=6.0.0} 1987 - peerDependencies: 1988 - encoding: ^0.1.0 1989 - peerDependenciesMeta: 1990 - encoding: 1991 - optional: true 1992 - 1993 - node-releases@2.0.14: 1994 - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} 1995 - 1996 - normalize-path@3.0.0: 1997 - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1998 - engines: {node: '>=0.10.0'} 1999 - 2000 - npm-run-path@5.3.0: 2001 - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 2002 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2003 - 2004 - ofetch@1.3.4: 2005 - resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} 2006 - 2007 - onetime@5.1.2: 2008 - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2009 - engines: {node: '>=6'} 2010 - 2011 - onetime@6.0.0: 2012 - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 2013 - engines: {node: '>=12'} 2014 - 2015 - ora@8.0.1: 2016 - resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==} 2017 - engines: {node: '>=18'} 2018 - 2019 - p-limit@2.3.0: 2020 - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2021 - engines: {node: '>=6'} 2022 - 2023 - p-limit@6.1.0: 2024 - resolution: {integrity: sha512-H0jc0q1vOzlEk0TqAKXKZxdl7kX3OFUzCnNVUnq5Pc3DGo0kpeaMuPqxQn235HibwBEb0/pm9dgKTjXy66fBkg==} 2025 - engines: {node: '>=18'} 2026 - 2027 - p-locate@4.1.0: 2028 - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2029 - engines: {node: '>=8'} 2030 - 2031 - p-queue@8.0.1: 2032 - resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} 2033 - engines: {node: '>=18'} 2034 - 2035 - p-timeout@6.1.2: 2036 - resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} 2037 - engines: {node: '>=14.16'} 2038 - 2039 - p-try@2.2.0: 2040 - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2041 - engines: {node: '>=6'} 2042 - 2043 - package-manager-detector@0.1.2: 2044 - resolution: {integrity: sha512-iePyefLTOm2gEzbaZKSW+eBMjg+UYsQvUKxmvGXAQ987K16efBg10MxIjZs08iyX+DY2/owKY9DIdu193kX33w==} 2045 - 2046 - parse-entities@4.0.1: 2047 - resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} 2048 - 2049 - parse-latin@7.0.0: 2050 - resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} 2051 - 2052 - parse5@7.1.2: 2053 - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} 2054 - 2055 - path-exists@4.0.0: 2056 - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2057 - engines: {node: '>=8'} 2058 - 2059 - path-key@3.1.1: 2060 - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2061 - engines: {node: '>=8'} 2062 - 2063 - path-key@4.0.0: 2064 - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 2065 - engines: {node: '>=12'} 2066 - 2067 - path-to-regexp@6.2.2: 2068 - resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} 2069 - 2070 - pathe@1.1.2: 2071 - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 2072 - 2073 - perfect-debounce@1.0.0: 2074 - resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} 2075 - 2076 - periscopic@3.1.0: 2077 - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} 2078 - 2079 - picocolors@1.0.1: 2080 - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} 2081 - 2082 - picomatch@2.3.1: 2083 - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2084 - engines: {node: '>=8.6'} 2085 - 2086 - picomatch@4.0.2: 2087 - resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 2088 - engines: {node: '>=12'} 2089 - 2090 - pify@4.0.1: 2091 - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 2092 - engines: {node: '>=6'} 2093 - 2094 - pkg-dir@4.2.0: 2095 - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 2096 - engines: {node: '>=8'} 2097 - 2098 - pkg-types@1.0.3: 2099 - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} 2100 - 2101 - pkg-types@1.2.0: 2102 - resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} 2103 - 2104 - postcss@8.4.41: 2105 - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} 2106 - engines: {node: ^10 || ^12 || >=14} 2107 - 2108 - preferred-pm@4.0.0: 2109 - resolution: {integrity: sha512-gYBeFTZLu055D8Vv3cSPox/0iTPtkzxpLroSYYA7WXgRi31WCJ51Uyl8ZiPeUUjyvs2MBzK+S8v9JVUgHU/Sqw==} 2110 - engines: {node: '>=18.12'} 2111 - 2112 - prismjs@1.29.0: 2113 - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} 2114 - engines: {node: '>=6'} 2115 - 2116 - prompts@2.4.2: 2117 - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 2118 - engines: {node: '>= 6'} 2119 - 2120 - property-information@6.5.0: 2121 - resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} 2122 - 2123 - queue-microtask@1.2.3: 2124 - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2125 - 2126 - readdirp@3.6.0: 2127 - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 2128 - engines: {node: '>=8.10.0'} 2129 - 2130 - rehype-parse@9.0.0: 2131 - resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} 2132 - 2133 - rehype-raw@7.0.0: 2134 - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} 2135 - 2136 - rehype-stringify@10.0.0: 2137 - resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==} 2138 - 2139 - rehype@13.0.1: 2140 - resolution: {integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==} 2141 - 2142 - remark-gfm@4.0.0: 2143 - resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} 2144 - 2145 - remark-mdx@3.0.1: 2146 - resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} 2147 - 2148 - remark-parse@11.0.0: 2149 - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} 2150 - 2151 - remark-rehype@11.1.0: 2152 - resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} 2153 - 2154 - remark-smartypants@3.0.2: 2155 - resolution: {integrity: sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==} 2156 - engines: {node: '>=16.0.0'} 2157 - 2158 - remark-stringify@11.0.0: 2159 - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} 2160 - 2161 - resolve-pkg-maps@1.0.0: 2162 - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 2163 - 2164 - restore-cursor@4.0.0: 2165 - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} 2166 - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2167 - 2168 - retext-latin@4.0.0: 2169 - resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} 2170 - 2171 - retext-smartypants@6.1.0: 2172 - resolution: {integrity: sha512-LDPXg95346bqFZnDMHo0S7Rq5p64+B+N8Vz733+wPMDtwb9rCOs9LIdIEhrUOU+TAywX9St+ocQWJt8wrzivcQ==} 2173 - 2174 - retext-stringify@4.0.0: 2175 - resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} 2176 - 2177 - retext@9.0.0: 2178 - resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} 2179 - 2180 - reusify@1.0.4: 2181 - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2182 - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2183 - 2184 - rollup@4.21.0: 2185 - resolution: {integrity: sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==} 2186 - engines: {node: '>=18.0.0', npm: '>=8.0.0'} 2187 - hasBin: true 2188 - 2189 - run-parallel@1.2.0: 2190 - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2191 - 2192 - sax@1.3.0: 2193 - resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} 2194 - 2195 - section-matter@1.0.0: 2196 - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} 2197 - engines: {node: '>=4'} 2198 - 2199 - semver@6.3.1: 2200 - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 2201 - hasBin: true 2202 - 2203 - semver@7.6.3: 2204 - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 2205 - engines: {node: '>=10'} 2206 - hasBin: true 2207 - 2208 - sharp@0.33.5: 2209 - resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} 2210 - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 2211 - 2212 - shebang-command@2.0.0: 2213 - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2214 - engines: {node: '>=8'} 2215 - 2216 - shebang-regex@3.0.0: 2217 - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2218 - engines: {node: '>=8'} 2219 - 2220 - shiki@1.14.1: 2221 - resolution: {integrity: sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA==} 2222 - 2223 - signal-exit@3.0.7: 2224 - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2225 - 2226 - signal-exit@4.1.0: 2227 - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 2228 - engines: {node: '>=14'} 2229 - 2230 - simple-swizzle@0.2.2: 2231 - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 2232 - 2233 - sirv@2.0.4: 2234 - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} 2235 - engines: {node: '>= 10'} 2236 - 2237 - sisteransi@1.0.5: 2238 - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 2239 - 2240 - sitemap@7.1.1: 2241 - resolution: {integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==} 2242 - engines: {node: '>=12.0.0', npm: '>=5.6.0'} 2243 - hasBin: true 2244 - 2245 - source-map-js@1.2.0: 2246 - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} 2247 - engines: {node: '>=0.10.0'} 2248 - 2249 - source-map@0.7.4: 2250 - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} 2251 - engines: {node: '>= 8'} 2252 - 2253 - space-separated-tokens@2.0.2: 2254 - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} 2255 - 2256 - sprintf-js@1.0.3: 2257 - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 2258 - 2259 - stdin-discarder@0.2.2: 2260 - resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} 2261 - engines: {node: '>=18'} 2262 - 2263 - string-width@4.2.3: 2264 - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2265 - engines: {node: '>=8'} 2266 - 2267 - string-width@5.1.2: 2268 - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 2269 - engines: {node: '>=12'} 2270 - 2271 - string-width@7.2.0: 2272 - resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} 2273 - engines: {node: '>=18'} 2274 - 2275 - stringify-entities@4.0.4: 2276 - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} 2277 - 2278 - strip-ansi@6.0.1: 2279 - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2280 - engines: {node: '>=8'} 2281 - 2282 - strip-ansi@7.1.0: 2283 - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 2284 - engines: {node: '>=12'} 2285 - 2286 - strip-bom-string@1.0.0: 2287 - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} 2288 - engines: {node: '>=0.10.0'} 2289 - 2290 - strip-bom@3.0.0: 2291 - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2292 - engines: {node: '>=4'} 2293 - 2294 - strip-final-newline@3.0.0: 2295 - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 2296 - engines: {node: '>=12'} 2297 - 2298 - style-to-object@0.4.4: 2299 - resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} 2300 - 2301 - style-to-object@1.0.6: 2302 - resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==} 2303 - 2304 - supports-color@5.5.0: 2305 - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2306 - engines: {node: '>=4'} 2307 - 2308 - tinyexec@0.2.0: 2309 - resolution: {integrity: sha512-au8dwv4xKSDR+Fw52csDo3wcDztPdne2oM1o/7LFro4h6bdFmvyUAeAfX40pwDtzHgRFqz1XWaUqgKS2G83/ig==} 2310 - 2311 - tinyglobby@0.2.2: 2312 - resolution: {integrity: sha512-mZ2sDMaySvi1PkTp4lTo1In2zjU+cY8OvZsfwrDrx3YGRbXPX1/cbPwCR9zkm3O/Fz9Jo0F1HNgIQ1b8BepqyQ==} 2313 - engines: {node: '>=12.0.0'} 2314 - 2315 - to-fast-properties@2.0.0: 2316 - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 2317 - engines: {node: '>=4'} 2318 - 2319 - to-regex-range@5.0.1: 2320 - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2321 - engines: {node: '>=8.0'} 2322 - 2323 - totalist@3.0.1: 2324 - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 2325 - engines: {node: '>=6'} 2326 - 2327 - tr46@0.0.3: 2328 - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 2329 - 2330 - trim-lines@3.0.1: 2331 - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} 2332 - 2333 - trough@2.2.0: 2334 - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} 2335 - 2336 - tsconfck@3.1.1: 2337 - resolution: {integrity: sha512-00eoI6WY57SvZEVjm13stEVE90VkEdJAFGgpFLTsZbJyW/LwFQ7uQxJHWpZ2hzSWgCPKc9AnBnNP+0X7o3hAmQ==} 2338 - engines: {node: ^18 || >=20} 2339 - hasBin: true 2340 - peerDependencies: 2341 - typescript: ^5.0.0 2342 - peerDependenciesMeta: 2343 - typescript: 2344 - optional: true 2345 - 2346 - tslib@2.6.2: 2347 - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 2348 - 2349 - tsx@4.17.0: 2350 - resolution: {integrity: sha512-eN4mnDA5UMKDt4YZixo9tBioibaMBpoxBkD+rIPAjVmYERSG0/dWEY1CEFuV89CgASlKL499q8AhmkMnnjtOJg==} 2351 - engines: {node: '>=18.0.0'} 2352 - hasBin: true 2353 - 2354 - type-fest@2.19.0: 2355 - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} 2356 - engines: {node: '>=12.20'} 2357 - 2358 - typescript@5.5.4: 2359 - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} 2360 - engines: {node: '>=14.17'} 2361 - hasBin: true 2362 - 2363 - ufo@1.5.3: 2364 - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} 2365 - 2366 - unconfig@0.5.5: 2367 - resolution: {integrity: sha512-VQZ5PT9HDX+qag0XdgQi8tJepPhXiR/yVOkn707gJDKo31lGjRilPREiQJ9Z6zd/Ugpv6ZvO5VxVIcatldYcNQ==} 2368 - 2369 - undici-types@5.26.5: 2370 - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 2371 - 2372 - undici-types@6.19.8: 2373 - resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 2374 - 2375 - unified@11.0.5: 2376 - resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} 2377 - 2378 - unist-util-find-after@5.0.0: 2379 - resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} 2380 - 2381 - unist-util-is@6.0.0: 2382 - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} 2383 - 2384 - unist-util-modify-children@4.0.0: 2385 - resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} 2386 - 2387 - unist-util-position-from-estree@2.0.0: 2388 - resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} 2389 - 2390 - unist-util-position@5.0.0: 2391 - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} 2392 - 2393 - unist-util-remove-position@5.0.0: 2394 - resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} 2395 - 2396 - unist-util-stringify-position@4.0.0: 2397 - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} 2398 - 2399 - unist-util-visit-children@3.0.0: 2400 - resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} 2401 - 2402 - unist-util-visit-parents@6.0.1: 2403 - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} 2404 - 2405 - unist-util-visit@5.0.0: 2406 - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} 2407 - 2408 - unocss@0.62.2: 2409 - resolution: {integrity: sha512-XLLOXyLrbLX7xIChdCPZAmfLR+1aqIHGN/y7QOn4t3g8C3Kk1tAH2aMMQHWhWFfNzskfNiPjKeVYhWQ8QV53Mg==} 2410 - engines: {node: '>=14'} 2411 - peerDependencies: 2412 - '@unocss/webpack': 0.62.2 2413 - vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 2414 - peerDependenciesMeta: 2415 - '@unocss/webpack': 2416 - optional: true 2417 - vite: 2418 - optional: true 2419 - 2420 - update-browserslist-db@1.1.0: 2421 - resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} 2422 - hasBin: true 2423 - peerDependencies: 2424 - browserslist: '>= 4.21.0' 2425 - 2426 - vfile-location@5.0.3: 2427 - resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} 2428 - 2429 - vfile-message@4.0.2: 2430 - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} 2431 - 2432 - vfile@6.0.2: 2433 - resolution: {integrity: sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg==} 2434 - 2435 - vite@5.4.2: 2436 - resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} 2437 - engines: {node: ^18.0.0 || >=20.0.0} 2438 - hasBin: true 2439 - peerDependencies: 2440 - '@types/node': ^18.0.0 || >=20.0.0 2441 - less: '*' 2442 - lightningcss: ^1.21.0 2443 - sass: '*' 2444 - sass-embedded: '*' 2445 - stylus: '*' 2446 - sugarss: '*' 2447 - terser: ^5.4.0 2448 - peerDependenciesMeta: 2449 - '@types/node': 2450 - optional: true 2451 - less: 2452 - optional: true 2453 - lightningcss: 2454 - optional: true 2455 - sass: 2456 - optional: true 2457 - sass-embedded: 2458 - optional: true 2459 - stylus: 2460 - optional: true 2461 - sugarss: 2462 - optional: true 2463 - terser: 2464 - optional: true 2465 - 2466 - vitefu@0.2.5: 2467 - resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} 2468 - peerDependencies: 2469 - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 2470 - peerDependenciesMeta: 2471 - vite: 2472 - optional: true 2473 - 2474 - web-namespaces@2.0.1: 2475 - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} 2476 - 2477 - webidl-conversions@3.0.1: 2478 - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 2479 - 2480 - whatwg-url@5.0.0: 2481 - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 2482 - 2483 - which-pm-runs@1.1.0: 2484 - resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} 2485 - engines: {node: '>=4'} 2486 - 2487 - which-pm@3.0.0: 2488 - resolution: {integrity: sha512-ysVYmw6+ZBhx3+ZkcPwRuJi38ZOTLJJ33PSHaitLxSKUMsh0LkKd0nC69zZCwt5D+AYUcMK2hhw4yWny20vSGg==} 2489 - engines: {node: '>=18.12'} 2490 - 2491 - which@2.0.2: 2492 - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2493 - engines: {node: '>= 8'} 2494 - hasBin: true 2495 - 2496 - widest-line@4.0.1: 2497 - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} 2498 - engines: {node: '>=12'} 2499 - 2500 - wrap-ansi@8.1.0: 2501 - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2502 - engines: {node: '>=12'} 2503 - 2504 - xxhash-wasm@1.0.2: 2505 - resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} 2506 - 2507 - yallist@3.1.1: 2508 - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 2509 - 2510 - yargs-parser@21.1.1: 2511 - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 2512 - engines: {node: '>=12'} 2513 - 2514 - yocto-queue@1.1.1: 2515 - resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} 2516 - engines: {node: '>=12.20'} 2517 - 2518 - zod-to-json-schema@3.23.2: 2519 - resolution: {integrity: sha512-uSt90Gzc/tUfyNqxnjlfBs8W6WSGpNBv0rVsNxP/BVSMHMKGdthPYff4xtCHYloJGM0CFxFsb3NbC0eqPhfImw==} 2520 - peerDependencies: 2521 - zod: ^3.23.3 2522 - 2523 - zod-to-ts@1.2.0: 2524 - resolution: {integrity: sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==} 2525 - peerDependencies: 2526 - typescript: ^4.9.4 || ^5.0.2 2527 - zod: ^3 2528 - 2529 - zod@3.22.4: 2530 - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} 2531 - 2532 - zod@3.23.8: 2533 - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} 2534 - 2535 - zwitch@2.0.4: 2536 - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} 2537 - 2538 - snapshots: 2539 - 2540 - '@ampproject/remapping@2.3.0': 2541 - dependencies: 2542 - '@jridgewell/gen-mapping': 0.3.5 2543 - '@jridgewell/trace-mapping': 0.3.25 2544 - 2545 - '@antfu/install-pkg@0.4.0': 2546 - dependencies: 2547 - package-manager-detector: 0.1.2 2548 - tinyexec: 0.2.0 2549 - 2550 - '@antfu/utils@0.7.10': {} 2551 - 2552 - '@astrojs/compiler@2.10.3': {} 2553 - 2554 - '@astrojs/internal-helpers@0.4.1': {} 2555 - 2556 - '@astrojs/markdown-remark@5.2.0': 2557 - dependencies: 2558 - '@astrojs/prism': 3.1.0 2559 - github-slugger: 2.0.0 2560 - hast-util-from-html: 2.0.2 2561 - hast-util-to-text: 4.0.2 2562 - import-meta-resolve: 4.1.0 2563 - mdast-util-definitions: 6.0.0 2564 - rehype-raw: 7.0.0 2565 - rehype-stringify: 10.0.0 2566 - remark-gfm: 4.0.0 2567 - remark-parse: 11.0.0 2568 - remark-rehype: 11.1.0 2569 - remark-smartypants: 3.0.2 2570 - shiki: 1.14.1 2571 - unified: 11.0.5 2572 - unist-util-remove-position: 5.0.0 2573 - unist-util-visit: 5.0.0 2574 - unist-util-visit-parents: 6.0.1 2575 - vfile: 6.0.2 2576 - transitivePeerDependencies: 2577 - - supports-color 2578 - 2579 - '@astrojs/mdx@3.1.4(astro@4.14.5(@types/node@22.5.0)(rollup@4.21.0)(typescript@5.5.4))': 2580 - dependencies: 2581 - '@astrojs/markdown-remark': 5.2.0 2582 - '@mdx-js/mdx': 3.0.1 2583 - acorn: 8.12.1 2584 - astro: 4.14.5(@types/node@22.5.0)(rollup@4.21.0)(typescript@5.5.4) 2585 - es-module-lexer: 1.5.4 2586 - estree-util-visit: 2.0.0 2587 - gray-matter: 4.0.3 2588 - hast-util-to-html: 9.0.1 2589 - kleur: 4.1.5 2590 - rehype-raw: 7.0.0 2591 - remark-gfm: 4.0.0 2592 - remark-smartypants: 3.0.2 2593 - source-map: 0.7.4 2594 - unist-util-visit: 5.0.0 2595 - vfile: 6.0.2 2596 - transitivePeerDependencies: 2597 - - supports-color 2598 - 2599 - '@astrojs/prism@3.1.0': 2600 - dependencies: 2601 - prismjs: 1.29.0 2602 - 2603 - '@astrojs/sitemap@3.1.1': 2604 - dependencies: 2605 - sitemap: 7.1.1 2606 - zod: 3.22.4 2607 - 2608 - '@astrojs/telemetry@3.1.0': 2609 - dependencies: 2610 - ci-info: 4.0.0 2611 - debug: 4.3.6 2612 - dlv: 1.1.3 2613 - dset: 3.1.3 2614 - is-docker: 3.0.0 2615 - is-wsl: 3.1.0 2616 - which-pm-runs: 1.1.0 2617 - transitivePeerDependencies: 2618 - - supports-color 2619 - 2620 - '@babel/code-frame@7.24.7': 2621 - dependencies: 2622 - '@babel/highlight': 7.24.7 2623 - picocolors: 1.0.1 2624 - 2625 - '@babel/compat-data@7.25.4': {} 2626 - 2627 - '@babel/core@7.25.2': 2628 - dependencies: 2629 - '@ampproject/remapping': 2.3.0 2630 - '@babel/code-frame': 7.24.7 2631 - '@babel/generator': 7.25.5 2632 - '@babel/helper-compilation-targets': 7.25.2 2633 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) 2634 - '@babel/helpers': 7.25.0 2635 - '@babel/parser': 7.25.4 2636 - '@babel/template': 7.25.0 2637 - '@babel/traverse': 7.25.4 2638 - '@babel/types': 7.25.4 2639 - convert-source-map: 2.0.0 2640 - debug: 4.3.4 2641 - gensync: 1.0.0-beta.2 2642 - json5: 2.2.3 2643 - semver: 6.3.1 2644 - transitivePeerDependencies: 2645 - - supports-color 2646 - 2647 - '@babel/generator@7.24.10': 2648 - dependencies: 2649 - '@babel/types': 7.24.9 2650 - '@jridgewell/gen-mapping': 0.3.5 2651 - '@jridgewell/trace-mapping': 0.3.25 2652 - jsesc: 2.5.2 2653 - 2654 - '@babel/generator@7.25.5': 2655 - dependencies: 2656 - '@babel/types': 7.25.4 2657 - '@jridgewell/gen-mapping': 0.3.5 2658 - '@jridgewell/trace-mapping': 0.3.25 2659 - jsesc: 2.5.2 2660 - 2661 - '@babel/helper-annotate-as-pure@7.24.7': 2662 - dependencies: 2663 - '@babel/types': 7.24.9 2664 - 2665 - '@babel/helper-compilation-targets@7.25.2': 2666 - dependencies: 2667 - '@babel/compat-data': 7.25.4 2668 - '@babel/helper-validator-option': 7.24.8 2669 - browserslist: 4.23.2 2670 - lru-cache: 5.1.1 2671 - semver: 6.3.1 2672 - 2673 - '@babel/helper-create-class-features-plugin@7.24.8(@babel/core@7.25.2)': 2674 - dependencies: 2675 - '@babel/core': 7.25.2 2676 - '@babel/helper-annotate-as-pure': 7.24.7 2677 - '@babel/helper-environment-visitor': 7.24.7 2678 - '@babel/helper-function-name': 7.24.7 2679 - '@babel/helper-member-expression-to-functions': 7.24.8 2680 - '@babel/helper-optimise-call-expression': 7.24.7 2681 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.25.2) 2682 - '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 2683 - '@babel/helper-split-export-declaration': 7.24.7 2684 - semver: 6.3.1 2685 - transitivePeerDependencies: 2686 - - supports-color 2687 - 2688 - '@babel/helper-environment-visitor@7.24.7': 2689 - dependencies: 2690 - '@babel/types': 7.24.9 2691 - 2692 - '@babel/helper-function-name@7.24.7': 2693 - dependencies: 2694 - '@babel/template': 7.24.7 2695 - '@babel/types': 7.24.9 2696 - 2697 - '@babel/helper-hoist-variables@7.24.7': 2698 - dependencies: 2699 - '@babel/types': 7.24.9 2700 - 2701 - '@babel/helper-member-expression-to-functions@7.24.8': 2702 - dependencies: 2703 - '@babel/traverse': 7.24.8 2704 - '@babel/types': 7.24.9 2705 - transitivePeerDependencies: 2706 - - supports-color 2707 - 2708 - '@babel/helper-module-imports@7.24.7': 2709 - dependencies: 2710 - '@babel/traverse': 7.25.4 2711 - '@babel/types': 7.25.4 2712 - transitivePeerDependencies: 2713 - - supports-color 2714 - 2715 - '@babel/helper-module-transforms@7.24.9(@babel/core@7.25.2)': 2716 - dependencies: 2717 - '@babel/core': 7.25.2 2718 - '@babel/helper-environment-visitor': 7.24.7 2719 - '@babel/helper-module-imports': 7.24.7 2720 - '@babel/helper-simple-access': 7.24.7 2721 - '@babel/helper-split-export-declaration': 7.24.7 2722 - '@babel/helper-validator-identifier': 7.24.7 2723 - transitivePeerDependencies: 2724 - - supports-color 2725 - 2726 - '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': 2727 - dependencies: 2728 - '@babel/core': 7.25.2 2729 - '@babel/helper-module-imports': 7.24.7 2730 - '@babel/helper-simple-access': 7.24.7 2731 - '@babel/helper-validator-identifier': 7.24.7 2732 - '@babel/traverse': 7.25.4 2733 - transitivePeerDependencies: 2734 - - supports-color 2735 - 2736 - '@babel/helper-optimise-call-expression@7.24.7': 2737 - dependencies: 2738 - '@babel/types': 7.24.9 2739 - 2740 - '@babel/helper-plugin-utils@7.24.8': {} 2741 - 2742 - '@babel/helper-replace-supers@7.24.7(@babel/core@7.25.2)': 2743 - dependencies: 2744 - '@babel/core': 7.25.2 2745 - '@babel/helper-environment-visitor': 7.24.7 2746 - '@babel/helper-member-expression-to-functions': 7.24.8 2747 - '@babel/helper-optimise-call-expression': 7.24.7 2748 - transitivePeerDependencies: 2749 - - supports-color 2750 - 2751 - '@babel/helper-simple-access@7.24.7': 2752 - dependencies: 2753 - '@babel/traverse': 7.24.8 2754 - '@babel/types': 7.24.9 2755 - transitivePeerDependencies: 2756 - - supports-color 2757 - 2758 - '@babel/helper-skip-transparent-expression-wrappers@7.24.7': 2759 - dependencies: 2760 - '@babel/traverse': 7.24.8 2761 - '@babel/types': 7.24.9 2762 - transitivePeerDependencies: 2763 - - supports-color 2764 - 2765 - '@babel/helper-split-export-declaration@7.24.7': 2766 - dependencies: 2767 - '@babel/types': 7.24.9 2768 - 2769 - '@babel/helper-string-parser@7.24.8': {} 2770 - 2771 - '@babel/helper-validator-identifier@7.24.7': {} 2772 - 2773 - '@babel/helper-validator-option@7.24.8': {} 2774 - 2775 - '@babel/helpers@7.25.0': 2776 - dependencies: 2777 - '@babel/template': 7.25.0 2778 - '@babel/types': 7.25.4 2779 - 2780 - '@babel/highlight@7.24.7': 2781 - dependencies: 2782 - '@babel/helper-validator-identifier': 7.24.7 2783 - chalk: 2.4.2 2784 - js-tokens: 4.0.0 2785 - picocolors: 1.0.1 2786 - 2787 - '@babel/parser@7.24.8': 2788 - dependencies: 2789 - '@babel/types': 7.24.9 2790 - 2791 - '@babel/parser@7.25.4': 2792 - dependencies: 2793 - '@babel/types': 7.25.4 2794 - 2795 - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': 2796 - dependencies: 2797 - '@babel/core': 7.25.2 2798 - '@babel/helper-plugin-utils': 7.24.8 2799 - 2800 - '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2)': 2801 - dependencies: 2802 - '@babel/core': 7.25.2 2803 - '@babel/helper-plugin-utils': 7.24.8 2804 - 2805 - '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)': 2806 - dependencies: 2807 - '@babel/core': 7.25.2 2808 - '@babel/helper-module-transforms': 7.24.9(@babel/core@7.25.2) 2809 - '@babel/helper-plugin-utils': 7.24.8 2810 - '@babel/helper-simple-access': 7.24.7 2811 - transitivePeerDependencies: 2812 - - supports-color 2813 - 2814 - '@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2)': 2815 - dependencies: 2816 - '@babel/core': 7.25.2 2817 - '@babel/helper-annotate-as-pure': 7.24.7 2818 - '@babel/helper-module-imports': 7.24.7 2819 - '@babel/helper-plugin-utils': 7.24.8 2820 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) 2821 - '@babel/types': 7.25.4 2822 - transitivePeerDependencies: 2823 - - supports-color 2824 - 2825 - '@babel/plugin-transform-typescript@7.24.8(@babel/core@7.25.2)': 2826 - dependencies: 2827 - '@babel/core': 7.25.2 2828 - '@babel/helper-annotate-as-pure': 7.24.7 2829 - '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.25.2) 2830 - '@babel/helper-plugin-utils': 7.24.8 2831 - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2) 2832 - transitivePeerDependencies: 2833 - - supports-color 2834 - 2835 - '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': 2836 - dependencies: 2837 - '@babel/core': 7.25.2 2838 - '@babel/helper-plugin-utils': 7.24.8 2839 - '@babel/helper-validator-option': 7.24.8 2840 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) 2841 - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) 2842 - '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.25.2) 2843 - transitivePeerDependencies: 2844 - - supports-color 2845 - 2846 - '@babel/template@7.24.7': 2847 - dependencies: 2848 - '@babel/code-frame': 7.24.7 2849 - '@babel/parser': 7.24.8 2850 - '@babel/types': 7.24.9 2851 - 2852 - '@babel/template@7.25.0': 2853 - dependencies: 2854 - '@babel/code-frame': 7.24.7 2855 - '@babel/parser': 7.25.4 2856 - '@babel/types': 7.25.4 2857 - 2858 - '@babel/traverse@7.24.8': 2859 - dependencies: 2860 - '@babel/code-frame': 7.24.7 2861 - '@babel/generator': 7.24.10 2862 - '@babel/helper-environment-visitor': 7.24.7 2863 - '@babel/helper-function-name': 7.24.7 2864 - '@babel/helper-hoist-variables': 7.24.7 2865 - '@babel/helper-split-export-declaration': 7.24.7 2866 - '@babel/parser': 7.24.8 2867 - '@babel/types': 7.24.9 2868 - debug: 4.3.4 2869 - globals: 11.12.0 2870 - transitivePeerDependencies: 2871 - - supports-color 2872 - 2873 - '@babel/traverse@7.25.4': 2874 - dependencies: 2875 - '@babel/code-frame': 7.24.7 2876 - '@babel/generator': 7.25.5 2877 - '@babel/parser': 7.25.4 2878 - '@babel/template': 7.25.0 2879 - '@babel/types': 7.25.4 2880 - debug: 4.3.4 2881 - globals: 11.12.0 2882 - transitivePeerDependencies: 2883 - - supports-color 2884 - 2885 - '@babel/types@7.24.9': 2886 - dependencies: 2887 - '@babel/helper-string-parser': 7.24.8 2888 - '@babel/helper-validator-identifier': 7.24.7 2889 - to-fast-properties: 2.0.0 2890 - 2891 - '@babel/types@7.25.4': 2892 - dependencies: 2893 - '@babel/helper-string-parser': 7.24.8 2894 - '@babel/helper-validator-identifier': 7.24.7 2895 - to-fast-properties: 2.0.0 2896 - 2897 - '@emnapi/runtime@1.2.0': 2898 - dependencies: 2899 - tslib: 2.6.2 2900 - optional: true 2901 - 2902 - '@esbuild/aix-ppc64@0.20.2': 2903 - optional: true 2904 - 2905 - '@esbuild/aix-ppc64@0.21.5': 2906 - optional: true 2907 - 2908 - '@esbuild/aix-ppc64@0.23.1': 2909 - optional: true 2910 - 2911 - '@esbuild/android-arm64@0.20.2': 2912 - optional: true 2913 - 2914 - '@esbuild/android-arm64@0.21.5': 2915 - optional: true 2916 - 2917 - '@esbuild/android-arm64@0.23.1': 2918 - optional: true 2919 - 2920 - '@esbuild/android-arm@0.20.2': 2921 - optional: true 2922 - 2923 - '@esbuild/android-arm@0.21.5': 2924 - optional: true 2925 - 2926 - '@esbuild/android-arm@0.23.1': 2927 - optional: true 2928 - 2929 - '@esbuild/android-x64@0.20.2': 2930 - optional: true 2931 - 2932 - '@esbuild/android-x64@0.21.5': 2933 - optional: true 2934 - 2935 - '@esbuild/android-x64@0.23.1': 2936 - optional: true 2937 - 2938 - '@esbuild/darwin-arm64@0.20.2': 2939 - optional: true 2940 - 2941 - '@esbuild/darwin-arm64@0.21.5': 2942 - optional: true 2943 - 2944 - '@esbuild/darwin-arm64@0.23.1': 2945 - optional: true 2946 - 2947 - '@esbuild/darwin-x64@0.20.2': 2948 - optional: true 2949 - 2950 - '@esbuild/darwin-x64@0.21.5': 2951 - optional: true 2952 - 2953 - '@esbuild/darwin-x64@0.23.1': 2954 - optional: true 2955 - 2956 - '@esbuild/freebsd-arm64@0.20.2': 2957 - optional: true 2958 - 2959 - '@esbuild/freebsd-arm64@0.21.5': 2960 - optional: true 2961 - 2962 - '@esbuild/freebsd-arm64@0.23.1': 2963 - optional: true 2964 - 2965 - '@esbuild/freebsd-x64@0.20.2': 2966 - optional: true 2967 - 2968 - '@esbuild/freebsd-x64@0.21.5': 2969 - optional: true 2970 - 2971 - '@esbuild/freebsd-x64@0.23.1': 2972 - optional: true 2973 - 2974 - '@esbuild/linux-arm64@0.20.2': 2975 - optional: true 2976 - 2977 - '@esbuild/linux-arm64@0.21.5': 2978 - optional: true 2979 - 2980 - '@esbuild/linux-arm64@0.23.1': 2981 - optional: true 2982 - 2983 - '@esbuild/linux-arm@0.20.2': 2984 - optional: true 2985 - 2986 - '@esbuild/linux-arm@0.21.5': 2987 - optional: true 2988 - 2989 - '@esbuild/linux-arm@0.23.1': 2990 - optional: true 2991 - 2992 - '@esbuild/linux-ia32@0.20.2': 2993 - optional: true 2994 - 2995 - '@esbuild/linux-ia32@0.21.5': 2996 - optional: true 2997 - 2998 - '@esbuild/linux-ia32@0.23.1': 2999 - optional: true 3000 - 3001 - '@esbuild/linux-loong64@0.20.2': 3002 - optional: true 3003 - 3004 - '@esbuild/linux-loong64@0.21.5': 3005 - optional: true 3006 - 3007 - '@esbuild/linux-loong64@0.23.1': 3008 - optional: true 3009 - 3010 - '@esbuild/linux-mips64el@0.20.2': 3011 - optional: true 3012 - 3013 - '@esbuild/linux-mips64el@0.21.5': 3014 - optional: true 3015 - 3016 - '@esbuild/linux-mips64el@0.23.1': 3017 - optional: true 3018 - 3019 - '@esbuild/linux-ppc64@0.20.2': 3020 - optional: true 3021 - 3022 - '@esbuild/linux-ppc64@0.21.5': 3023 - optional: true 3024 - 3025 - '@esbuild/linux-ppc64@0.23.1': 3026 - optional: true 3027 - 3028 - '@esbuild/linux-riscv64@0.20.2': 3029 - optional: true 3030 - 3031 - '@esbuild/linux-riscv64@0.21.5': 3032 - optional: true 3033 - 3034 - '@esbuild/linux-riscv64@0.23.1': 3035 - optional: true 3036 - 3037 - '@esbuild/linux-s390x@0.20.2': 3038 - optional: true 3039 - 3040 - '@esbuild/linux-s390x@0.21.5': 3041 - optional: true 3042 - 3043 - '@esbuild/linux-s390x@0.23.1': 3044 - optional: true 3045 - 3046 - '@esbuild/linux-x64@0.20.2': 3047 - optional: true 3048 - 3049 - '@esbuild/linux-x64@0.21.5': 3050 - optional: true 3051 - 3052 - '@esbuild/linux-x64@0.23.1': 3053 - optional: true 3054 - 3055 - '@esbuild/netbsd-x64@0.20.2': 3056 - optional: true 3057 - 3058 - '@esbuild/netbsd-x64@0.21.5': 3059 - optional: true 3060 - 3061 - '@esbuild/netbsd-x64@0.23.1': 3062 - optional: true 3063 - 3064 - '@esbuild/openbsd-arm64@0.23.1': 3065 - optional: true 3066 - 3067 - '@esbuild/openbsd-x64@0.20.2': 3068 - optional: true 3069 - 3070 - '@esbuild/openbsd-x64@0.21.5': 3071 - optional: true 3072 - 3073 - '@esbuild/openbsd-x64@0.23.1': 3074 - optional: true 3075 - 3076 - '@esbuild/sunos-x64@0.20.2': 3077 - optional: true 3078 - 3079 - '@esbuild/sunos-x64@0.21.5': 3080 - optional: true 3081 - 3082 - '@esbuild/sunos-x64@0.23.1': 3083 - optional: true 3084 - 3085 - '@esbuild/win32-arm64@0.20.2': 3086 - optional: true 3087 - 3088 - '@esbuild/win32-arm64@0.21.5': 3089 - optional: true 3090 - 3091 - '@esbuild/win32-arm64@0.23.1': 3092 - optional: true 3093 - 3094 - '@esbuild/win32-ia32@0.20.2': 3095 - optional: true 3096 - 3097 - '@esbuild/win32-ia32@0.21.5': 3098 - optional: true 3099 - 3100 - '@esbuild/win32-ia32@0.23.1': 3101 - optional: true 3102 - 3103 - '@esbuild/win32-x64@0.20.2': 3104 - optional: true 3105 - 3106 - '@esbuild/win32-x64@0.21.5': 3107 - optional: true 3108 - 3109 - '@esbuild/win32-x64@0.23.1': 3110 - optional: true 3111 - 3112 - '@iconify-json/lucide@1.1.208': 3113 - dependencies: 3114 - '@iconify/types': 2.0.0 3115 - 3116 - '@iconify/types@2.0.0': {} 3117 - 3118 - '@iconify/utils@2.1.32': 3119 - dependencies: 3120 - '@antfu/install-pkg': 0.4.0 3121 - '@antfu/utils': 0.7.10 3122 - '@iconify/types': 2.0.0 3123 - debug: 4.3.6 3124 - kolorist: 1.8.0 3125 - local-pkg: 0.5.0 3126 - mlly: 1.7.1 3127 - transitivePeerDependencies: 3128 - - supports-color 3129 - 3130 - '@img/sharp-darwin-arm64@0.33.5': 3131 - optionalDependencies: 3132 - '@img/sharp-libvips-darwin-arm64': 1.0.4 3133 - optional: true 3134 - 3135 - '@img/sharp-darwin-x64@0.33.5': 3136 - optionalDependencies: 3137 - '@img/sharp-libvips-darwin-x64': 1.0.4 3138 - optional: true 3139 - 3140 - '@img/sharp-libvips-darwin-arm64@1.0.4': 3141 - optional: true 3142 - 3143 - '@img/sharp-libvips-darwin-x64@1.0.4': 3144 - optional: true 3145 - 3146 - '@img/sharp-libvips-linux-arm64@1.0.4': 3147 - optional: true 3148 - 3149 - '@img/sharp-libvips-linux-arm@1.0.5': 3150 - optional: true 3151 - 3152 - '@img/sharp-libvips-linux-s390x@1.0.4': 3153 - optional: true 3154 - 3155 - '@img/sharp-libvips-linux-x64@1.0.4': 3156 - optional: true 3157 - 3158 - '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 3159 - optional: true 3160 - 3161 - '@img/sharp-libvips-linuxmusl-x64@1.0.4': 3162 - optional: true 3163 - 3164 - '@img/sharp-linux-arm64@0.33.5': 3165 - optionalDependencies: 3166 - '@img/sharp-libvips-linux-arm64': 1.0.4 3167 - optional: true 3168 - 3169 - '@img/sharp-linux-arm@0.33.5': 3170 - optionalDependencies: 3171 - '@img/sharp-libvips-linux-arm': 1.0.5 3172 - optional: true 3173 - 3174 - '@img/sharp-linux-s390x@0.33.5': 3175 - optionalDependencies: 3176 - '@img/sharp-libvips-linux-s390x': 1.0.4 3177 - optional: true 3178 - 3179 - '@img/sharp-linux-x64@0.33.5': 3180 - optionalDependencies: 3181 - '@img/sharp-libvips-linux-x64': 1.0.4 3182 - optional: true 3183 - 3184 - '@img/sharp-linuxmusl-arm64@0.33.5': 3185 - optionalDependencies: 3186 - '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 3187 - optional: true 3188 - 3189 - '@img/sharp-linuxmusl-x64@0.33.5': 3190 - optionalDependencies: 3191 - '@img/sharp-libvips-linuxmusl-x64': 1.0.4 3192 - optional: true 3193 - 3194 - '@img/sharp-wasm32@0.33.5': 3195 - dependencies: 3196 - '@emnapi/runtime': 1.2.0 3197 - optional: true 3198 - 3199 - '@img/sharp-win32-ia32@0.33.5': 3200 - optional: true 3201 - 3202 - '@img/sharp-win32-x64@0.33.5': 3203 - optional: true 3204 - 3205 - '@jridgewell/gen-mapping@0.3.5': 3206 - dependencies: 3207 - '@jridgewell/set-array': 1.2.1 3208 - '@jridgewell/sourcemap-codec': 1.4.15 3209 - '@jridgewell/trace-mapping': 0.3.25 3210 - 3211 - '@jridgewell/resolve-uri@3.1.2': {} 3212 - 3213 - '@jridgewell/set-array@1.2.1': {} 3214 - 3215 - '@jridgewell/sourcemap-codec@1.4.15': {} 3216 - 3217 - '@jridgewell/sourcemap-codec@1.5.0': {} 3218 - 3219 - '@jridgewell/trace-mapping@0.3.25': 3220 - dependencies: 3221 - '@jridgewell/resolve-uri': 3.1.2 3222 - '@jridgewell/sourcemap-codec': 1.4.15 3223 - 3224 - '@mdx-js/mdx@3.0.1': 3225 - dependencies: 3226 - '@types/estree': 1.0.5 3227 - '@types/estree-jsx': 1.0.5 3228 - '@types/hast': 3.0.4 3229 - '@types/mdx': 2.0.13 3230 - collapse-white-space: 2.1.0 3231 - devlop: 1.1.0 3232 - estree-util-build-jsx: 3.0.1 3233 - estree-util-is-identifier-name: 3.0.0 3234 - estree-util-to-js: 2.0.0 3235 - estree-walker: 3.0.3 3236 - hast-util-to-estree: 3.1.0 3237 - hast-util-to-jsx-runtime: 2.3.0 3238 - markdown-extensions: 2.0.0 3239 - periscopic: 3.1.0 3240 - remark-mdx: 3.0.1 3241 - remark-parse: 11.0.0 3242 - remark-rehype: 11.1.0 3243 - source-map: 0.7.4 3244 - unified: 11.0.5 3245 - unist-util-position-from-estree: 2.0.0 3246 - unist-util-stringify-position: 4.0.0 3247 - unist-util-visit: 5.0.0 3248 - vfile: 6.0.2 3249 - transitivePeerDependencies: 3250 - - supports-color 3251 - 3252 - '@nodelib/fs.scandir@2.1.5': 3253 - dependencies: 3254 - '@nodelib/fs.stat': 2.0.5 3255 - run-parallel: 1.2.0 3256 - 3257 - '@nodelib/fs.stat@2.0.5': {} 3258 - 3259 - '@nodelib/fs.walk@1.2.8': 3260 - dependencies: 3261 - '@nodelib/fs.scandir': 2.1.5 3262 - fastq: 1.17.1 3263 - 3264 - '@notionhq/client@2.2.15': 3265 - dependencies: 3266 - '@types/node-fetch': 2.6.11 3267 - node-fetch: 2.7.0 3268 - transitivePeerDependencies: 3269 - - encoding 3270 - 3271 - '@oslojs/encoding@0.4.1': {} 3272 - 3273 - '@polka/url@1.0.0-next.25': {} 3274 - 3275 - '@rollup/pluginutils@5.1.0(rollup@4.21.0)': 3276 - dependencies: 3277 - '@types/estree': 1.0.5 3278 - estree-walker: 2.0.2 3279 - picomatch: 2.3.1 3280 - optionalDependencies: 3281 - rollup: 4.21.0 3282 - 3283 - '@rollup/rollup-android-arm-eabi@4.21.0': 3284 - optional: true 3285 - 3286 - '@rollup/rollup-android-arm64@4.21.0': 3287 - optional: true 3288 - 3289 - '@rollup/rollup-darwin-arm64@4.21.0': 3290 - optional: true 3291 - 3292 - '@rollup/rollup-darwin-x64@4.21.0': 3293 - optional: true 3294 - 3295 - '@rollup/rollup-linux-arm-gnueabihf@4.21.0': 3296 - optional: true 3297 - 3298 - '@rollup/rollup-linux-arm-musleabihf@4.21.0': 3299 - optional: true 3300 - 3301 - '@rollup/rollup-linux-arm64-gnu@4.21.0': 3302 - optional: true 3303 - 3304 - '@rollup/rollup-linux-arm64-musl@4.21.0': 3305 - optional: true 3306 - 3307 - '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': 3308 - optional: true 3309 - 3310 - '@rollup/rollup-linux-riscv64-gnu@4.21.0': 3311 - optional: true 3312 - 3313 - '@rollup/rollup-linux-s390x-gnu@4.21.0': 3314 - optional: true 3315 - 3316 - '@rollup/rollup-linux-x64-gnu@4.21.0': 3317 - optional: true 3318 - 3319 - '@rollup/rollup-linux-x64-musl@4.21.0': 3320 - optional: true 3321 - 3322 - '@rollup/rollup-win32-arm64-msvc@4.21.0': 3323 - optional: true 3324 - 3325 - '@rollup/rollup-win32-ia32-msvc@4.21.0': 3326 - optional: true 3327 - 3328 - '@rollup/rollup-win32-x64-msvc@4.21.0': 3329 - optional: true 3330 - 3331 - '@shikijs/core@1.14.1': 3332 - dependencies: 3333 - '@types/hast': 3.0.4 3334 - 3335 - '@types/acorn@4.0.6': 3336 - dependencies: 3337 - '@types/estree': 1.0.5 3338 - 3339 - '@types/babel__core@7.20.5': 3340 - dependencies: 3341 - '@babel/parser': 7.25.4 3342 - '@babel/types': 7.25.4 3343 - '@types/babel__generator': 7.6.8 3344 - '@types/babel__template': 7.4.4 3345 - '@types/babel__traverse': 7.20.6 3346 - 3347 - '@types/babel__generator@7.6.8': 3348 - dependencies: 3349 - '@babel/types': 7.25.4 3350 - 3351 - '@types/babel__template@7.4.4': 3352 - dependencies: 3353 - '@babel/parser': 7.25.4 3354 - '@babel/types': 7.25.4 3355 - 3356 - '@types/babel__traverse@7.20.6': 3357 - dependencies: 3358 - '@babel/types': 7.25.4 3359 - 3360 - '@types/cookie@0.6.0': {} 3361 - 3362 - '@types/debug@4.1.12': 3363 - dependencies: 3364 - '@types/ms': 0.7.34 3365 - 3366 - '@types/estree-jsx@1.0.5': 3367 - dependencies: 3368 - '@types/estree': 1.0.5 3369 - 3370 - '@types/estree@1.0.5': {} 3371 - 3372 - '@types/hast@3.0.4': 3373 - dependencies: 3374 - '@types/unist': 3.0.3 3375 - 3376 - '@types/mdast@4.0.4': 3377 - dependencies: 3378 - '@types/unist': 3.0.3 3379 - 3380 - '@types/mdx@2.0.13': {} 3381 - 3382 - '@types/ms@0.7.34': {} 3383 - 3384 - '@types/nlcst@2.0.3': 3385 - dependencies: 3386 - '@types/unist': 3.0.3 3387 - 3388 - '@types/node-fetch@2.6.11': 3389 - dependencies: 3390 - '@types/node': 20.11.30 3391 - form-data: 4.0.0 3392 - 3393 - '@types/node@17.0.45': {} 3394 - 3395 - '@types/node@20.11.30': 3396 - dependencies: 3397 - undici-types: 5.26.5 3398 - 3399 - '@types/node@22.5.0': 3400 - dependencies: 3401 - undici-types: 6.19.8 3402 - optional: true 3403 - 3404 - '@types/sax@1.2.7': 3405 - dependencies: 3406 - '@types/node': 17.0.45 3407 - 3408 - '@types/unist@2.0.11': {} 3409 - 3410 - '@types/unist@3.0.3': {} 3411 - 3412 - '@ungap/structured-clone@1.2.0': {} 3413 - 3414 - '@unocss/astro@0.62.2(rollup@4.21.0)(vite@5.4.2(@types/node@22.5.0))': 3415 - dependencies: 3416 - '@unocss/core': 0.62.2 3417 - '@unocss/reset': 0.62.2 3418 - '@unocss/vite': 0.62.2(rollup@4.21.0)(vite@5.4.2(@types/node@22.5.0)) 3419 - optionalDependencies: 3420 - vite: 5.4.2(@types/node@22.5.0) 3421 - transitivePeerDependencies: 3422 - - rollup 3423 - - supports-color 3424 - 3425 - '@unocss/cli@0.62.2(rollup@4.21.0)': 3426 - dependencies: 3427 - '@ampproject/remapping': 2.3.0 3428 - '@rollup/pluginutils': 5.1.0(rollup@4.21.0) 3429 - '@unocss/config': 0.62.2 3430 - '@unocss/core': 0.62.2 3431 - '@unocss/preset-uno': 0.62.2 3432 - cac: 6.7.14 3433 - chokidar: 3.6.0 3434 - colorette: 2.0.20 3435 - consola: 3.2.3 3436 - magic-string: 0.30.11 3437 - pathe: 1.1.2 3438 - perfect-debounce: 1.0.0 3439 - tinyglobby: 0.2.2 3440 - transitivePeerDependencies: 3441 - - rollup 3442 - - supports-color 3443 - 3444 - '@unocss/config@0.62.2': 3445 - dependencies: 3446 - '@unocss/core': 0.62.2 3447 - unconfig: 0.5.5 3448 - transitivePeerDependencies: 3449 - - supports-color 3450 - 3451 - '@unocss/core@0.62.2': {} 3452 - 3453 - '@unocss/extractor-arbitrary-variants@0.62.2': 3454 - dependencies: 3455 - '@unocss/core': 0.62.2 3456 - 3457 - '@unocss/inspector@0.62.2': 3458 - dependencies: 3459 - '@unocss/core': 0.62.2 3460 - '@unocss/rule-utils': 0.62.2 3461 - gzip-size: 6.0.0 3462 - sirv: 2.0.4 3463 - 3464 - '@unocss/postcss@0.62.2(postcss@8.4.41)': 3465 - dependencies: 3466 - '@unocss/config': 0.62.2 3467 - '@unocss/core': 0.62.2 3468 - '@unocss/rule-utils': 0.62.2 3469 - css-tree: 2.3.1 3470 - magic-string: 0.30.11 3471 - postcss: 8.4.41 3472 - tinyglobby: 0.2.2 3473 - transitivePeerDependencies: 3474 - - supports-color 3475 - 3476 - '@unocss/preset-attributify@0.62.2': 3477 - dependencies: 3478 - '@unocss/core': 0.62.2 3479 - 3480 - '@unocss/preset-icons@0.62.2': 3481 - dependencies: 3482 - '@iconify/utils': 2.1.32 3483 - '@unocss/core': 0.62.2 3484 - ofetch: 1.3.4 3485 - transitivePeerDependencies: 3486 - - supports-color 3487 - 3488 - '@unocss/preset-mini@0.62.2': 3489 - dependencies: 3490 - '@unocss/core': 0.62.2 3491 - '@unocss/extractor-arbitrary-variants': 0.62.2 3492 - '@unocss/rule-utils': 0.62.2 3493 - 3494 - '@unocss/preset-tagify@0.62.2': 3495 - dependencies: 3496 - '@unocss/core': 0.62.2 3497 - 3498 - '@unocss/preset-typography@0.62.2': 3499 - dependencies: 3500 - '@unocss/core': 0.62.2 3501 - '@unocss/preset-mini': 0.62.2 3502 - 3503 - '@unocss/preset-uno@0.62.2': 3504 - dependencies: 3505 - '@unocss/core': 0.62.2 3506 - '@unocss/preset-mini': 0.62.2 3507 - '@unocss/preset-wind': 0.62.2 3508 - '@unocss/rule-utils': 0.62.2 3509 - 3510 - '@unocss/preset-web-fonts@0.62.2': 3511 - dependencies: 3512 - '@unocss/core': 0.62.2 3513 - ofetch: 1.3.4 3514 - 3515 - '@unocss/preset-wind@0.62.2': 3516 - dependencies: 3517 - '@unocss/core': 0.62.2 3518 - '@unocss/preset-mini': 0.62.2 3519 - '@unocss/rule-utils': 0.62.2 3520 - 3521 - '@unocss/reset@0.62.2': {} 3522 - 3523 - '@unocss/rule-utils@0.62.2': 3524 - dependencies: 3525 - '@unocss/core': 0.62.2 3526 - magic-string: 0.30.11 3527 - 3528 - '@unocss/scope@0.62.2': {} 3529 - 3530 - '@unocss/transformer-attributify-jsx-babel@0.62.2': 3531 - dependencies: 3532 - '@babel/core': 7.25.2 3533 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) 3534 - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) 3535 - '@unocss/core': 0.62.2 3536 - transitivePeerDependencies: 3537 - - supports-color 3538 - 3539 - '@unocss/transformer-attributify-jsx@0.62.2': 3540 - dependencies: 3541 - '@unocss/core': 0.62.2 3542 - 3543 - '@unocss/transformer-compile-class@0.62.2': 3544 - dependencies: 3545 - '@unocss/core': 0.62.2 3546 - 3547 - '@unocss/transformer-directives@0.62.2': 3548 - dependencies: 3549 - '@unocss/core': 0.62.2 3550 - '@unocss/rule-utils': 0.62.2 3551 - css-tree: 2.3.1 3552 - 3553 - '@unocss/transformer-variant-group@0.62.2': 3554 - dependencies: 3555 - '@unocss/core': 0.62.2 3556 - 3557 - '@unocss/vite@0.62.2(rollup@4.21.0)(vite@5.4.2(@types/node@22.5.0))': 3558 - dependencies: 3559 - '@ampproject/remapping': 2.3.0 3560 - '@rollup/pluginutils': 5.1.0(rollup@4.21.0) 3561 - '@unocss/config': 0.62.2 3562 - '@unocss/core': 0.62.2 3563 - '@unocss/inspector': 0.62.2 3564 - '@unocss/scope': 0.62.2 3565 - '@unocss/transformer-directives': 0.62.2 3566 - chokidar: 3.6.0 3567 - magic-string: 0.30.11 3568 - tinyglobby: 0.2.2 3569 - vite: 5.4.2(@types/node@22.5.0) 3570 - transitivePeerDependencies: 3571 - - rollup 3572 - - supports-color 3573 - 3574 - acorn-jsx@5.3.2(acorn@8.12.1): 3575 - dependencies: 3576 - acorn: 8.12.1 3577 - 3578 - acorn@8.11.3: {} 3579 - 3580 - acorn@8.12.1: {} 3581 - 3582 - ansi-align@3.0.1: 3583 - dependencies: 3584 - string-width: 4.2.3 3585 - 3586 - ansi-regex@5.0.1: {} 3587 - 3588 - ansi-regex@6.0.1: {} 3589 - 3590 - ansi-styles@3.2.1: 3591 - dependencies: 3592 - color-convert: 1.9.3 3593 - 3594 - ansi-styles@6.2.1: {} 3595 - 3596 - anymatch@3.1.3: 3597 - dependencies: 3598 - normalize-path: 3.0.0 3599 - picomatch: 2.3.1 3600 - 3601 - arg@5.0.2: {} 3602 - 3603 - argparse@1.0.10: 3604 - dependencies: 3605 - sprintf-js: 1.0.3 3606 - 3607 - argparse@2.0.1: {} 3608 - 3609 - aria-query@5.3.0: 3610 - dependencies: 3611 - dequal: 2.0.3 3612 - 3613 - array-iterate@2.0.1: {} 3614 - 3615 - astring@1.8.6: {} 3616 - 3617 - astro@4.14.5(@types/node@22.5.0)(rollup@4.21.0)(typescript@5.5.4): 3618 - dependencies: 3619 - '@astrojs/compiler': 2.10.3 3620 - '@astrojs/internal-helpers': 0.4.1 3621 - '@astrojs/markdown-remark': 5.2.0 3622 - '@astrojs/telemetry': 3.1.0 3623 - '@babel/core': 7.25.2 3624 - '@babel/generator': 7.25.5 3625 - '@babel/parser': 7.25.4 3626 - '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) 3627 - '@babel/traverse': 7.25.4 3628 - '@babel/types': 7.25.4 3629 - '@oslojs/encoding': 0.4.1 3630 - '@rollup/pluginutils': 5.1.0(rollup@4.21.0) 3631 - '@types/babel__core': 7.20.5 3632 - '@types/cookie': 0.6.0 3633 - acorn: 8.12.1 3634 - aria-query: 5.3.0 3635 - axobject-query: 4.1.0 3636 - boxen: 7.1.1 3637 - ci-info: 4.0.0 3638 - clsx: 2.1.1 3639 - common-ancestor-path: 1.0.1 3640 - cookie: 0.6.0 3641 - cssesc: 3.0.0 3642 - debug: 4.3.6 3643 - deterministic-object-hash: 2.0.2 3644 - devalue: 5.0.0 3645 - diff: 5.2.0 3646 - dlv: 1.1.3 3647 - dset: 3.1.3 3648 - es-module-lexer: 1.5.4 3649 - esbuild: 0.21.5 3650 - estree-walker: 3.0.3 3651 - execa: 8.0.1 3652 - fast-glob: 3.3.2 3653 - flattie: 1.1.1 3654 - github-slugger: 2.0.0 3655 - gray-matter: 4.0.3 3656 - html-escaper: 3.0.3 3657 - http-cache-semantics: 4.1.1 3658 - js-yaml: 4.1.0 3659 - kleur: 4.1.5 3660 - magic-string: 0.30.11 3661 - micromatch: 4.0.8 3662 - mrmime: 2.0.0 3663 - neotraverse: 0.6.18 3664 - ora: 8.0.1 3665 - p-limit: 6.1.0 3666 - p-queue: 8.0.1 3667 - path-to-regexp: 6.2.2 3668 - preferred-pm: 4.0.0 3669 - prompts: 2.4.2 3670 - rehype: 13.0.1 3671 - semver: 7.6.3 3672 - shiki: 1.14.1 3673 - string-width: 7.2.0 3674 - strip-ansi: 7.1.0 3675 - tsconfck: 3.1.1(typescript@5.5.4) 3676 - unist-util-visit: 5.0.0 3677 - vfile: 6.0.2 3678 - vite: 5.4.2(@types/node@22.5.0) 3679 - vitefu: 0.2.5(vite@5.4.2(@types/node@22.5.0)) 3680 - which-pm: 3.0.0 3681 - xxhash-wasm: 1.0.2 3682 - yargs-parser: 21.1.1 3683 - zod: 3.23.8 3684 - zod-to-json-schema: 3.23.2(zod@3.23.8) 3685 - zod-to-ts: 1.2.0(typescript@5.5.4)(zod@3.23.8) 3686 - optionalDependencies: 3687 - sharp: 0.33.5 3688 - transitivePeerDependencies: 3689 - - '@types/node' 3690 - - less 3691 - - lightningcss 3692 - - rollup 3693 - - sass 3694 - - sass-embedded 3695 - - stylus 3696 - - sugarss 3697 - - supports-color 3698 - - terser 3699 - - typescript 3700 - 3701 - asynckit@0.4.0: {} 3702 - 3703 - axobject-query@4.1.0: {} 3704 - 3705 - bail@2.0.2: {} 3706 - 3707 - base-64@1.0.0: {} 3708 - 3709 - binary-extensions@2.3.0: {} 3710 - 3711 - boxen@7.1.1: 3712 - dependencies: 3713 - ansi-align: 3.0.1 3714 - camelcase: 7.0.1 3715 - chalk: 5.3.0 3716 - cli-boxes: 3.0.0 3717 - string-width: 5.1.2 3718 - type-fest: 2.19.0 3719 - widest-line: 4.0.1 3720 - wrap-ansi: 8.1.0 3721 - 3722 - braces@3.0.2: 3723 - dependencies: 3724 - fill-range: 7.0.1 3725 - 3726 - braces@3.0.3: 3727 - dependencies: 3728 - fill-range: 7.1.1 3729 - 3730 - browserslist@4.23.2: 3731 - dependencies: 3732 - caniuse-lite: 1.0.30001643 3733 - electron-to-chromium: 1.5.1 3734 - node-releases: 2.0.14 3735 - update-browserslist-db: 1.1.0(browserslist@4.23.2) 3736 - 3737 - bundle-require@5.0.0(esbuild@0.20.2): 3738 - dependencies: 3739 - esbuild: 0.20.2 3740 - load-tsconfig: 0.2.5 3741 - 3742 - cac@6.7.14: {} 3743 - 3744 - camelcase@7.0.1: {} 3745 - 3746 - caniuse-lite@1.0.30001643: {} 3747 - 3748 - ccount@2.0.1: {} 3749 - 3750 - chalk@2.4.2: 3751 - dependencies: 3752 - ansi-styles: 3.2.1 3753 - escape-string-regexp: 1.0.5 3754 - supports-color: 5.5.0 3755 - 3756 - chalk@5.3.0: {} 3757 - 3758 - character-entities-html4@2.1.0: {} 3759 - 3760 - character-entities-legacy@3.0.0: {} 3761 - 3762 - character-entities@2.0.2: {} 3763 - 3764 - character-reference-invalid@2.0.1: {} 3765 - 3766 - chokidar@3.6.0: 3767 - dependencies: 3768 - anymatch: 3.1.3 3769 - braces: 3.0.2 3770 - glob-parent: 5.1.2 3771 - is-binary-path: 2.1.0 3772 - is-glob: 4.0.3 3773 - normalize-path: 3.0.0 3774 - readdirp: 3.6.0 3775 - optionalDependencies: 3776 - fsevents: 2.3.3 3777 - 3778 - ci-info@4.0.0: {} 3779 - 3780 - cli-boxes@3.0.0: {} 3781 - 3782 - cli-cursor@4.0.0: 3783 - dependencies: 3784 - restore-cursor: 4.0.0 3785 - 3786 - cli-spinners@2.9.2: {} 3787 - 3788 - clsx@2.1.1: {} 3789 - 3790 - collapse-white-space@2.1.0: {} 3791 - 3792 - color-convert@1.9.3: 3793 - dependencies: 3794 - color-name: 1.1.3 3795 - 3796 - color-convert@2.0.1: 3797 - dependencies: 3798 - color-name: 1.1.4 3799 - 3800 - color-name@1.1.3: {} 3801 - 3802 - color-name@1.1.4: {} 3803 - 3804 - color-string@1.9.1: 3805 - dependencies: 3806 - color-name: 1.1.4 3807 - simple-swizzle: 0.2.2 3808 - 3809 - color@4.2.3: 3810 - dependencies: 3811 - color-convert: 2.0.1 3812 - color-string: 1.9.1 3813 - 3814 - colorette@2.0.20: {} 3815 - 3816 - combined-stream@1.0.8: 3817 - dependencies: 3818 - delayed-stream: 1.0.0 3819 - 3820 - comma-separated-tokens@2.0.3: {} 3821 - 3822 - common-ancestor-path@1.0.1: {} 3823 - 3824 - confbox@0.1.7: {} 3825 - 3826 - consola@3.2.3: {} 3827 - 3828 - convert-source-map@2.0.0: {} 3829 - 3830 - cookie@0.6.0: {} 3831 - 3832 - cross-spawn@7.0.3: 3833 - dependencies: 3834 - path-key: 3.1.1 3835 - shebang-command: 2.0.0 3836 - which: 2.0.2 3837 - 3838 - css-tree@2.3.1: 3839 - dependencies: 3840 - mdn-data: 2.0.30 3841 - source-map-js: 1.2.0 3842 - 3843 - cssesc@3.0.0: {} 3844 - 3845 - debug@4.3.4: 3846 - dependencies: 3847 - ms: 2.1.2 3848 - 3849 - debug@4.3.6: 3850 - dependencies: 3851 - ms: 2.1.2 3852 - 3853 - decode-named-character-reference@1.0.2: 3854 - dependencies: 3855 - character-entities: 2.0.2 3856 - 3857 - defu@6.1.4: {} 3858 - 3859 - delayed-stream@1.0.0: {} 3860 - 3861 - dequal@2.0.3: {} 3862 - 3863 - destr@2.0.3: {} 3864 - 3865 - detect-libc@2.0.3: {} 3866 - 3867 - deterministic-object-hash@2.0.2: 3868 - dependencies: 3869 - base-64: 1.0.0 3870 - 3871 - devalue@5.0.0: {} 3872 - 3873 - devlop@1.1.0: 3874 - dependencies: 3875 - dequal: 2.0.3 3876 - 3877 - diff@5.2.0: {} 3878 - 3879 - dlv@1.1.3: {} 3880 - 3881 - dset@3.1.3: {} 3882 - 3883 - duplexer@0.1.2: {} 3884 - 3885 - eastasianwidth@0.2.0: {} 3886 - 3887 - electron-to-chromium@1.5.1: {} 3888 - 3889 - emoji-regex@10.3.0: {} 3890 - 3891 - emoji-regex@8.0.0: {} 3892 - 3893 - emoji-regex@9.2.2: {} 3894 - 3895 - entities@4.5.0: {} 3896 - 3897 - es-module-lexer@1.5.4: {} 3898 - 3899 - esbuild@0.20.2: 3900 - optionalDependencies: 3901 - '@esbuild/aix-ppc64': 0.20.2 3902 - '@esbuild/android-arm': 0.20.2 3903 - '@esbuild/android-arm64': 0.20.2 3904 - '@esbuild/android-x64': 0.20.2 3905 - '@esbuild/darwin-arm64': 0.20.2 3906 - '@esbuild/darwin-x64': 0.20.2 3907 - '@esbuild/freebsd-arm64': 0.20.2 3908 - '@esbuild/freebsd-x64': 0.20.2 3909 - '@esbuild/linux-arm': 0.20.2 3910 - '@esbuild/linux-arm64': 0.20.2 3911 - '@esbuild/linux-ia32': 0.20.2 3912 - '@esbuild/linux-loong64': 0.20.2 3913 - '@esbuild/linux-mips64el': 0.20.2 3914 - '@esbuild/linux-ppc64': 0.20.2 3915 - '@esbuild/linux-riscv64': 0.20.2 3916 - '@esbuild/linux-s390x': 0.20.2 3917 - '@esbuild/linux-x64': 0.20.2 3918 - '@esbuild/netbsd-x64': 0.20.2 3919 - '@esbuild/openbsd-x64': 0.20.2 3920 - '@esbuild/sunos-x64': 0.20.2 3921 - '@esbuild/win32-arm64': 0.20.2 3922 - '@esbuild/win32-ia32': 0.20.2 3923 - '@esbuild/win32-x64': 0.20.2 3924 - 3925 - esbuild@0.21.5: 3926 - optionalDependencies: 3927 - '@esbuild/aix-ppc64': 0.21.5 3928 - '@esbuild/android-arm': 0.21.5 3929 - '@esbuild/android-arm64': 0.21.5 3930 - '@esbuild/android-x64': 0.21.5 3931 - '@esbuild/darwin-arm64': 0.21.5 3932 - '@esbuild/darwin-x64': 0.21.5 3933 - '@esbuild/freebsd-arm64': 0.21.5 3934 - '@esbuild/freebsd-x64': 0.21.5 3935 - '@esbuild/linux-arm': 0.21.5 3936 - '@esbuild/linux-arm64': 0.21.5 3937 - '@esbuild/linux-ia32': 0.21.5 3938 - '@esbuild/linux-loong64': 0.21.5 3939 - '@esbuild/linux-mips64el': 0.21.5 3940 - '@esbuild/linux-ppc64': 0.21.5 3941 - '@esbuild/linux-riscv64': 0.21.5 3942 - '@esbuild/linux-s390x': 0.21.5 3943 - '@esbuild/linux-x64': 0.21.5 3944 - '@esbuild/netbsd-x64': 0.21.5 3945 - '@esbuild/openbsd-x64': 0.21.5 3946 - '@esbuild/sunos-x64': 0.21.5 3947 - '@esbuild/win32-arm64': 0.21.5 3948 - '@esbuild/win32-ia32': 0.21.5 3949 - '@esbuild/win32-x64': 0.21.5 3950 - 3951 - esbuild@0.23.1: 3952 - optionalDependencies: 3953 - '@esbuild/aix-ppc64': 0.23.1 3954 - '@esbuild/android-arm': 0.23.1 3955 - '@esbuild/android-arm64': 0.23.1 3956 - '@esbuild/android-x64': 0.23.1 3957 - '@esbuild/darwin-arm64': 0.23.1 3958 - '@esbuild/darwin-x64': 0.23.1 3959 - '@esbuild/freebsd-arm64': 0.23.1 3960 - '@esbuild/freebsd-x64': 0.23.1 3961 - '@esbuild/linux-arm': 0.23.1 3962 - '@esbuild/linux-arm64': 0.23.1 3963 - '@esbuild/linux-ia32': 0.23.1 3964 - '@esbuild/linux-loong64': 0.23.1 3965 - '@esbuild/linux-mips64el': 0.23.1 3966 - '@esbuild/linux-ppc64': 0.23.1 3967 - '@esbuild/linux-riscv64': 0.23.1 3968 - '@esbuild/linux-s390x': 0.23.1 3969 - '@esbuild/linux-x64': 0.23.1 3970 - '@esbuild/netbsd-x64': 0.23.1 3971 - '@esbuild/openbsd-arm64': 0.23.1 3972 - '@esbuild/openbsd-x64': 0.23.1 3973 - '@esbuild/sunos-x64': 0.23.1 3974 - '@esbuild/win32-arm64': 0.23.1 3975 - '@esbuild/win32-ia32': 0.23.1 3976 - '@esbuild/win32-x64': 0.23.1 3977 - 3978 - escalade@3.1.2: {} 3979 - 3980 - escape-string-regexp@1.0.5: {} 3981 - 3982 - escape-string-regexp@5.0.0: {} 3983 - 3984 - esprima@4.0.1: {} 3985 - 3986 - estree-util-attach-comments@3.0.0: 3987 - dependencies: 3988 - '@types/estree': 1.0.5 3989 - 3990 - estree-util-build-jsx@3.0.1: 3991 - dependencies: 3992 - '@types/estree-jsx': 1.0.5 3993 - devlop: 1.1.0 3994 - estree-util-is-identifier-name: 3.0.0 3995 - estree-walker: 3.0.3 3996 - 3997 - estree-util-is-identifier-name@3.0.0: {} 3998 - 3999 - estree-util-to-js@2.0.0: 4000 - dependencies: 4001 - '@types/estree-jsx': 1.0.5 4002 - astring: 1.8.6 4003 - source-map: 0.7.4 4004 - 4005 - estree-util-visit@2.0.0: 4006 - dependencies: 4007 - '@types/estree-jsx': 1.0.5 4008 - '@types/unist': 3.0.3 4009 - 4010 - estree-walker@2.0.2: {} 4011 - 4012 - estree-walker@3.0.3: 4013 - dependencies: 4014 - '@types/estree': 1.0.5 4015 - 4016 - eventemitter3@5.0.1: {} 4017 - 4018 - execa@8.0.1: 4019 - dependencies: 4020 - cross-spawn: 7.0.3 4021 - get-stream: 8.0.1 4022 - human-signals: 5.0.0 4023 - is-stream: 3.0.0 4024 - merge-stream: 2.0.0 4025 - npm-run-path: 5.3.0 4026 - onetime: 6.0.0 4027 - signal-exit: 4.1.0 4028 - strip-final-newline: 3.0.0 4029 - 4030 - extend-shallow@2.0.1: 4031 - dependencies: 4032 - is-extendable: 0.1.1 4033 - 4034 - extend@3.0.2: {} 4035 - 4036 - fast-glob@3.3.2: 4037 - dependencies: 4038 - '@nodelib/fs.stat': 2.0.5 4039 - '@nodelib/fs.walk': 1.2.8 4040 - glob-parent: 5.1.2 4041 - merge2: 1.4.1 4042 - micromatch: 4.0.8 4043 - 4044 - fastq@1.17.1: 4045 - dependencies: 4046 - reusify: 1.0.4 4047 - 4048 - fdir@6.2.0(picomatch@4.0.2): 4049 - optionalDependencies: 4050 - picomatch: 4.0.2 4051 - 4052 - fill-range@7.0.1: 4053 - dependencies: 4054 - to-regex-range: 5.0.1 4055 - 4056 - fill-range@7.1.1: 4057 - dependencies: 4058 - to-regex-range: 5.0.1 4059 - 4060 - find-up-simple@1.0.0: {} 4061 - 4062 - find-up@4.1.0: 4063 - dependencies: 4064 - locate-path: 5.0.0 4065 - path-exists: 4.0.0 4066 - 4067 - find-yarn-workspace-root2@1.2.16: 4068 - dependencies: 4069 - micromatch: 4.0.8 4070 - pkg-dir: 4.2.0 4071 - 4072 - flattie@1.1.1: {} 4073 - 4074 - form-data@4.0.0: 4075 - dependencies: 4076 - asynckit: 0.4.0 4077 - combined-stream: 1.0.8 4078 - mime-types: 2.1.35 4079 - 4080 - fsevents@2.3.3: 4081 - optional: true 4082 - 4083 - gensync@1.0.0-beta.2: {} 4084 - 4085 - get-east-asian-width@1.2.0: {} 4086 - 4087 - get-stream@8.0.1: {} 4088 - 4089 - get-tsconfig@4.7.6: 4090 - dependencies: 4091 - resolve-pkg-maps: 1.0.0 4092 - 4093 - github-slugger@2.0.0: {} 4094 - 4095 - glob-parent@5.1.2: 4096 - dependencies: 4097 - is-glob: 4.0.3 4098 - 4099 - globals@11.12.0: {} 4100 - 4101 - graceful-fs@4.2.11: {} 4102 - 4103 - gray-matter@4.0.3: 4104 - dependencies: 4105 - js-yaml: 3.14.1 4106 - kind-of: 6.0.3 4107 - section-matter: 1.0.0 4108 - strip-bom-string: 1.0.0 4109 - 4110 - gzip-size@6.0.0: 4111 - dependencies: 4112 - duplexer: 0.1.2 4113 - 4114 - has-flag@3.0.0: {} 4115 - 4116 - hast-util-from-html@2.0.2: 4117 - dependencies: 4118 - '@types/hast': 3.0.4 4119 - devlop: 1.1.0 4120 - hast-util-from-parse5: 8.0.1 4121 - parse5: 7.1.2 4122 - vfile: 6.0.2 4123 - vfile-message: 4.0.2 4124 - 4125 - hast-util-from-parse5@8.0.1: 4126 - dependencies: 4127 - '@types/hast': 3.0.4 4128 - '@types/unist': 3.0.3 4129 - devlop: 1.1.0 4130 - hastscript: 8.0.0 4131 - property-information: 6.5.0 4132 - vfile: 6.0.2 4133 - vfile-location: 5.0.3 4134 - web-namespaces: 2.0.1 4135 - 4136 - hast-util-is-element@3.0.0: 4137 - dependencies: 4138 - '@types/hast': 3.0.4 4139 - 4140 - hast-util-parse-selector@4.0.0: 4141 - dependencies: 4142 - '@types/hast': 3.0.4 4143 - 4144 - hast-util-raw@9.0.4: 4145 - dependencies: 4146 - '@types/hast': 3.0.4 4147 - '@types/unist': 3.0.3 4148 - '@ungap/structured-clone': 1.2.0 4149 - hast-util-from-parse5: 8.0.1 4150 - hast-util-to-parse5: 8.0.0 4151 - html-void-elements: 3.0.0 4152 - mdast-util-to-hast: 13.2.0 4153 - parse5: 7.1.2 4154 - unist-util-position: 5.0.0 4155 - unist-util-visit: 5.0.0 4156 - vfile: 6.0.2 4157 - web-namespaces: 2.0.1 4158 - zwitch: 2.0.4 4159 - 4160 - hast-util-to-estree@3.1.0: 4161 - dependencies: 4162 - '@types/estree': 1.0.5 4163 - '@types/estree-jsx': 1.0.5 4164 - '@types/hast': 3.0.4 4165 - comma-separated-tokens: 2.0.3 4166 - devlop: 1.1.0 4167 - estree-util-attach-comments: 3.0.0 4168 - estree-util-is-identifier-name: 3.0.0 4169 - hast-util-whitespace: 3.0.0 4170 - mdast-util-mdx-expression: 2.0.0 4171 - mdast-util-mdx-jsx: 3.1.2 4172 - mdast-util-mdxjs-esm: 2.0.1 4173 - property-information: 6.5.0 4174 - space-separated-tokens: 2.0.2 4175 - style-to-object: 0.4.4 4176 - unist-util-position: 5.0.0 4177 - zwitch: 2.0.4 4178 - transitivePeerDependencies: 4179 - - supports-color 4180 - 4181 - hast-util-to-html@9.0.1: 4182 - dependencies: 4183 - '@types/hast': 3.0.4 4184 - '@types/unist': 3.0.3 4185 - ccount: 2.0.1 4186 - comma-separated-tokens: 2.0.3 4187 - hast-util-raw: 9.0.4 4188 - hast-util-whitespace: 3.0.0 4189 - html-void-elements: 3.0.0 4190 - mdast-util-to-hast: 13.2.0 4191 - property-information: 6.5.0 4192 - space-separated-tokens: 2.0.2 4193 - stringify-entities: 4.0.4 4194 - zwitch: 2.0.4 4195 - 4196 - hast-util-to-jsx-runtime@2.3.0: 4197 - dependencies: 4198 - '@types/estree': 1.0.5 4199 - '@types/hast': 3.0.4 4200 - '@types/unist': 3.0.3 4201 - comma-separated-tokens: 2.0.3 4202 - devlop: 1.1.0 4203 - estree-util-is-identifier-name: 3.0.0 4204 - hast-util-whitespace: 3.0.0 4205 - mdast-util-mdx-expression: 2.0.0 4206 - mdast-util-mdx-jsx: 3.1.2 4207 - mdast-util-mdxjs-esm: 2.0.1 4208 - property-information: 6.5.0 4209 - space-separated-tokens: 2.0.2 4210 - style-to-object: 1.0.6 4211 - unist-util-position: 5.0.0 4212 - vfile-message: 4.0.2 4213 - transitivePeerDependencies: 4214 - - supports-color 4215 - 4216 - hast-util-to-parse5@8.0.0: 4217 - dependencies: 4218 - '@types/hast': 3.0.4 4219 - comma-separated-tokens: 2.0.3 4220 - devlop: 1.1.0 4221 - property-information: 6.5.0 4222 - space-separated-tokens: 2.0.2 4223 - web-namespaces: 2.0.1 4224 - zwitch: 2.0.4 4225 - 4226 - hast-util-to-text@4.0.2: 4227 - dependencies: 4228 - '@types/hast': 3.0.4 4229 - '@types/unist': 3.0.3 4230 - hast-util-is-element: 3.0.0 4231 - unist-util-find-after: 5.0.0 4232 - 4233 - hast-util-whitespace@3.0.0: 4234 - dependencies: 4235 - '@types/hast': 3.0.4 4236 - 4237 - hastscript@8.0.0: 4238 - dependencies: 4239 - '@types/hast': 3.0.4 4240 - comma-separated-tokens: 2.0.3 4241 - hast-util-parse-selector: 4.0.0 4242 - property-information: 6.5.0 4243 - space-separated-tokens: 2.0.2 4244 - 4245 - html-escaper@3.0.3: {} 4246 - 4247 - html-void-elements@3.0.0: {} 4248 - 4249 - http-cache-semantics@4.1.1: {} 4250 - 4251 - human-signals@5.0.0: {} 4252 - 4253 - import-meta-resolve@4.1.0: {} 4254 - 4255 - importx@0.4.3: 4256 - dependencies: 4257 - bundle-require: 5.0.0(esbuild@0.20.2) 4258 - debug: 4.3.6 4259 - esbuild: 0.20.2 4260 - jiti: 2.0.0-beta.2 4261 - jiti-v1: jiti@1.21.6 4262 - pathe: 1.1.2 4263 - pkg-types: 1.2.0 4264 - tsx: 4.17.0 4265 - transitivePeerDependencies: 4266 - - supports-color 4267 - 4268 - inline-style-parser@0.1.1: {} 4269 - 4270 - inline-style-parser@0.2.3: {} 4271 - 4272 - is-alphabetical@2.0.1: {} 4273 - 4274 - is-alphanumerical@2.0.1: 4275 - dependencies: 4276 - is-alphabetical: 2.0.1 4277 - is-decimal: 2.0.1 4278 - 4279 - is-arrayish@0.3.2: {} 4280 - 4281 - is-binary-path@2.1.0: 4282 - dependencies: 4283 - binary-extensions: 2.3.0 4284 - 4285 - is-decimal@2.0.1: {} 4286 - 4287 - is-docker@3.0.0: {} 4288 - 4289 - is-extendable@0.1.1: {} 4290 - 4291 - is-extglob@2.1.1: {} 4292 - 4293 - is-fullwidth-code-point@3.0.0: {} 4294 - 4295 - is-glob@4.0.3: 4296 - dependencies: 4297 - is-extglob: 2.1.1 4298 - 4299 - is-hexadecimal@2.0.1: {} 4300 - 4301 - is-inside-container@1.0.0: 4302 - dependencies: 4303 - is-docker: 3.0.0 4304 - 4305 - is-interactive@2.0.0: {} 4306 - 4307 - is-number@7.0.0: {} 4308 - 4309 - is-plain-obj@4.1.0: {} 4310 - 4311 - is-reference@3.0.2: 4312 - dependencies: 4313 - '@types/estree': 1.0.5 4314 - 4315 - is-stream@3.0.0: {} 4316 - 4317 - is-unicode-supported@1.3.0: {} 4318 - 4319 - is-unicode-supported@2.0.0: {} 4320 - 4321 - is-wsl@3.1.0: 4322 - dependencies: 4323 - is-inside-container: 1.0.0 4324 - 4325 - isexe@2.0.0: {} 4326 - 4327 - jiti@1.21.6: {} 4328 - 4329 - jiti@2.0.0-beta.2: {} 4330 - 4331 - js-tokens@4.0.0: {} 4332 - 4333 - js-yaml@3.14.1: 4334 - dependencies: 4335 - argparse: 1.0.10 4336 - esprima: 4.0.1 4337 - 4338 - js-yaml@4.1.0: 4339 - dependencies: 4340 - argparse: 2.0.1 4341 - 4342 - jsesc@2.5.2: {} 4343 - 4344 - json5@2.2.3: {} 4345 - 4346 - jsonc-parser@3.2.1: {} 4347 - 4348 - kind-of@6.0.3: {} 4349 - 4350 - kleur@3.0.3: {} 4351 - 4352 - kleur@4.1.5: {} 4353 - 4354 - kolorist@1.8.0: {} 4355 - 4356 - load-tsconfig@0.2.5: {} 4357 - 4358 - load-yaml-file@0.2.0: 4359 - dependencies: 4360 - graceful-fs: 4.2.11 4361 - js-yaml: 3.14.1 4362 - pify: 4.0.1 4363 - strip-bom: 3.0.0 4364 - 4365 - local-pkg@0.5.0: 4366 - dependencies: 4367 - mlly: 1.7.1 4368 - pkg-types: 1.0.3 4369 - 4370 - locate-path@5.0.0: 4371 - dependencies: 4372 - p-locate: 4.1.0 4373 - 4374 - log-symbols@6.0.0: 4375 - dependencies: 4376 - chalk: 5.3.0 4377 - is-unicode-supported: 1.3.0 4378 - 4379 - longest-streak@3.1.0: {} 4380 - 4381 - lru-cache@5.1.1: 4382 - dependencies: 4383 - yallist: 3.1.1 4384 - 4385 - magic-string@0.30.11: 4386 - dependencies: 4387 - '@jridgewell/sourcemap-codec': 1.5.0 4388 - 4389 - markdown-extensions@2.0.0: {} 4390 - 4391 - markdown-table@3.0.3: {} 4392 - 4393 - mdast-util-definitions@6.0.0: 4394 - dependencies: 4395 - '@types/mdast': 4.0.4 4396 - '@types/unist': 3.0.3 4397 - unist-util-visit: 5.0.0 4398 - 4399 - mdast-util-find-and-replace@3.0.1: 4400 - dependencies: 4401 - '@types/mdast': 4.0.4 4402 - escape-string-regexp: 5.0.0 4403 - unist-util-is: 6.0.0 4404 - unist-util-visit-parents: 6.0.1 4405 - 4406 - mdast-util-from-markdown@2.0.1: 4407 - dependencies: 4408 - '@types/mdast': 4.0.4 4409 - '@types/unist': 3.0.3 4410 - decode-named-character-reference: 1.0.2 4411 - devlop: 1.1.0 4412 - mdast-util-to-string: 4.0.0 4413 - micromark: 4.0.0 4414 - micromark-util-decode-numeric-character-reference: 2.0.1 4415 - micromark-util-decode-string: 2.0.0 4416 - micromark-util-normalize-identifier: 2.0.0 4417 - micromark-util-symbol: 2.0.0 4418 - micromark-util-types: 2.0.0 4419 - unist-util-stringify-position: 4.0.0 4420 - transitivePeerDependencies: 4421 - - supports-color 4422 - 4423 - mdast-util-gfm-autolink-literal@2.0.1: 4424 - dependencies: 4425 - '@types/mdast': 4.0.4 4426 - ccount: 2.0.1 4427 - devlop: 1.1.0 4428 - mdast-util-find-and-replace: 3.0.1 4429 - micromark-util-character: 2.1.0 4430 - 4431 - mdast-util-gfm-footnote@2.0.0: 4432 - dependencies: 4433 - '@types/mdast': 4.0.4 4434 - devlop: 1.1.0 4435 - mdast-util-from-markdown: 2.0.1 4436 - mdast-util-to-markdown: 2.1.0 4437 - micromark-util-normalize-identifier: 2.0.0 4438 - transitivePeerDependencies: 4439 - - supports-color 4440 - 4441 - mdast-util-gfm-strikethrough@2.0.0: 4442 - dependencies: 4443 - '@types/mdast': 4.0.4 4444 - mdast-util-from-markdown: 2.0.1 4445 - mdast-util-to-markdown: 2.1.0 4446 - transitivePeerDependencies: 4447 - - supports-color 4448 - 4449 - mdast-util-gfm-table@2.0.0: 4450 - dependencies: 4451 - '@types/mdast': 4.0.4 4452 - devlop: 1.1.0 4453 - markdown-table: 3.0.3 4454 - mdast-util-from-markdown: 2.0.1 4455 - mdast-util-to-markdown: 2.1.0 4456 - transitivePeerDependencies: 4457 - - supports-color 4458 - 4459 - mdast-util-gfm-task-list-item@2.0.0: 4460 - dependencies: 4461 - '@types/mdast': 4.0.4 4462 - devlop: 1.1.0 4463 - mdast-util-from-markdown: 2.0.1 4464 - mdast-util-to-markdown: 2.1.0 4465 - transitivePeerDependencies: 4466 - - supports-color 4467 - 4468 - mdast-util-gfm@3.0.0: 4469 - dependencies: 4470 - mdast-util-from-markdown: 2.0.1 4471 - mdast-util-gfm-autolink-literal: 2.0.1 4472 - mdast-util-gfm-footnote: 2.0.0 4473 - mdast-util-gfm-strikethrough: 2.0.0 4474 - mdast-util-gfm-table: 2.0.0 4475 - mdast-util-gfm-task-list-item: 2.0.0 4476 - mdast-util-to-markdown: 2.1.0 4477 - transitivePeerDependencies: 4478 - - supports-color 4479 - 4480 - mdast-util-mdx-expression@2.0.0: 4481 - dependencies: 4482 - '@types/estree-jsx': 1.0.5 4483 - '@types/hast': 3.0.4 4484 - '@types/mdast': 4.0.4 4485 - devlop: 1.1.0 4486 - mdast-util-from-markdown: 2.0.1 4487 - mdast-util-to-markdown: 2.1.0 4488 - transitivePeerDependencies: 4489 - - supports-color 4490 - 4491 - mdast-util-mdx-jsx@3.1.2: 4492 - dependencies: 4493 - '@types/estree-jsx': 1.0.5 4494 - '@types/hast': 3.0.4 4495 - '@types/mdast': 4.0.4 4496 - '@types/unist': 3.0.3 4497 - ccount: 2.0.1 4498 - devlop: 1.1.0 4499 - mdast-util-from-markdown: 2.0.1 4500 - mdast-util-to-markdown: 2.1.0 4501 - parse-entities: 4.0.1 4502 - stringify-entities: 4.0.4 4503 - unist-util-remove-position: 5.0.0 4504 - unist-util-stringify-position: 4.0.0 4505 - vfile-message: 4.0.2 4506 - transitivePeerDependencies: 4507 - - supports-color 4508 - 4509 - mdast-util-mdx@3.0.0: 4510 - dependencies: 4511 - mdast-util-from-markdown: 2.0.1 4512 - mdast-util-mdx-expression: 2.0.0 4513 - mdast-util-mdx-jsx: 3.1.2 4514 - mdast-util-mdxjs-esm: 2.0.1 4515 - mdast-util-to-markdown: 2.1.0 4516 - transitivePeerDependencies: 4517 - - supports-color 4518 - 4519 - mdast-util-mdxjs-esm@2.0.1: 4520 - dependencies: 4521 - '@types/estree-jsx': 1.0.5 4522 - '@types/hast': 3.0.4 4523 - '@types/mdast': 4.0.4 4524 - devlop: 1.1.0 4525 - mdast-util-from-markdown: 2.0.1 4526 - mdast-util-to-markdown: 2.1.0 4527 - transitivePeerDependencies: 4528 - - supports-color 4529 - 4530 - mdast-util-phrasing@4.1.0: 4531 - dependencies: 4532 - '@types/mdast': 4.0.4 4533 - unist-util-is: 6.0.0 4534 - 4535 - mdast-util-to-hast@13.2.0: 4536 - dependencies: 4537 - '@types/hast': 3.0.4 4538 - '@types/mdast': 4.0.4 4539 - '@ungap/structured-clone': 1.2.0 4540 - devlop: 1.1.0 4541 - micromark-util-sanitize-uri: 2.0.0 4542 - trim-lines: 3.0.1 4543 - unist-util-position: 5.0.0 4544 - unist-util-visit: 5.0.0 4545 - vfile: 6.0.2 4546 - 4547 - mdast-util-to-markdown@2.1.0: 4548 - dependencies: 4549 - '@types/mdast': 4.0.4 4550 - '@types/unist': 3.0.3 4551 - longest-streak: 3.1.0 4552 - mdast-util-phrasing: 4.1.0 4553 - mdast-util-to-string: 4.0.0 4554 - micromark-util-decode-string: 2.0.0 4555 - unist-util-visit: 5.0.0 4556 - zwitch: 2.0.4 4557 - 4558 - mdast-util-to-string@4.0.0: 4559 - dependencies: 4560 - '@types/mdast': 4.0.4 4561 - 4562 - mdn-data@2.0.30: {} 4563 - 4564 - merge-stream@2.0.0: {} 4565 - 4566 - merge2@1.4.1: {} 4567 - 4568 - micromark-core-commonmark@2.0.1: 4569 - dependencies: 4570 - decode-named-character-reference: 1.0.2 4571 - devlop: 1.1.0 4572 - micromark-factory-destination: 2.0.0 4573 - micromark-factory-label: 2.0.0 4574 - micromark-factory-space: 2.0.0 4575 - micromark-factory-title: 2.0.0 4576 - micromark-factory-whitespace: 2.0.0 4577 - micromark-util-character: 2.1.0 4578 - micromark-util-chunked: 2.0.0 4579 - micromark-util-classify-character: 2.0.0 4580 - micromark-util-html-tag-name: 2.0.0 4581 - micromark-util-normalize-identifier: 2.0.0 4582 - micromark-util-resolve-all: 2.0.0 4583 - micromark-util-subtokenize: 2.0.1 4584 - micromark-util-symbol: 2.0.0 4585 - micromark-util-types: 2.0.0 4586 - 4587 - micromark-extension-gfm-autolink-literal@2.1.0: 4588 - dependencies: 4589 - micromark-util-character: 2.1.0 4590 - micromark-util-sanitize-uri: 2.0.0 4591 - micromark-util-symbol: 2.0.0 4592 - micromark-util-types: 2.0.0 4593 - 4594 - micromark-extension-gfm-footnote@2.1.0: 4595 - dependencies: 4596 - devlop: 1.1.0 4597 - micromark-core-commonmark: 2.0.1 4598 - micromark-factory-space: 2.0.0 4599 - micromark-util-character: 2.1.0 4600 - micromark-util-normalize-identifier: 2.0.0 4601 - micromark-util-sanitize-uri: 2.0.0 4602 - micromark-util-symbol: 2.0.0 4603 - micromark-util-types: 2.0.0 4604 - 4605 - micromark-extension-gfm-strikethrough@2.1.0: 4606 - dependencies: 4607 - devlop: 1.1.0 4608 - micromark-util-chunked: 2.0.0 4609 - micromark-util-classify-character: 2.0.0 4610 - micromark-util-resolve-all: 2.0.0 4611 - micromark-util-symbol: 2.0.0 4612 - micromark-util-types: 2.0.0 4613 - 4614 - micromark-extension-gfm-table@2.1.0: 4615 - dependencies: 4616 - devlop: 1.1.0 4617 - micromark-factory-space: 2.0.0 4618 - micromark-util-character: 2.1.0 4619 - micromark-util-symbol: 2.0.0 4620 - micromark-util-types: 2.0.0 4621 - 4622 - micromark-extension-gfm-tagfilter@2.0.0: 4623 - dependencies: 4624 - micromark-util-types: 2.0.0 4625 - 4626 - micromark-extension-gfm-task-list-item@2.1.0: 4627 - dependencies: 4628 - devlop: 1.1.0 4629 - micromark-factory-space: 2.0.0 4630 - micromark-util-character: 2.1.0 4631 - micromark-util-symbol: 2.0.0 4632 - micromark-util-types: 2.0.0 4633 - 4634 - micromark-extension-gfm@3.0.0: 4635 - dependencies: 4636 - micromark-extension-gfm-autolink-literal: 2.1.0 4637 - micromark-extension-gfm-footnote: 2.1.0 4638 - micromark-extension-gfm-strikethrough: 2.1.0 4639 - micromark-extension-gfm-table: 2.1.0 4640 - micromark-extension-gfm-tagfilter: 2.0.0 4641 - micromark-extension-gfm-task-list-item: 2.1.0 4642 - micromark-util-combine-extensions: 2.0.0 4643 - micromark-util-types: 2.0.0 4644 - 4645 - micromark-extension-mdx-expression@3.0.0: 4646 - dependencies: 4647 - '@types/estree': 1.0.5 4648 - devlop: 1.1.0 4649 - micromark-factory-mdx-expression: 2.0.1 4650 - micromark-factory-space: 2.0.0 4651 - micromark-util-character: 2.1.0 4652 - micromark-util-events-to-acorn: 2.0.2 4653 - micromark-util-symbol: 2.0.0 4654 - micromark-util-types: 2.0.0 4655 - 4656 - micromark-extension-mdx-jsx@3.0.0: 4657 - dependencies: 4658 - '@types/acorn': 4.0.6 4659 - '@types/estree': 1.0.5 4660 - devlop: 1.1.0 4661 - estree-util-is-identifier-name: 3.0.0 4662 - micromark-factory-mdx-expression: 2.0.1 4663 - micromark-factory-space: 2.0.0 4664 - micromark-util-character: 2.1.0 4665 - micromark-util-symbol: 2.0.0 4666 - micromark-util-types: 2.0.0 4667 - vfile-message: 4.0.2 4668 - 4669 - micromark-extension-mdx-md@2.0.0: 4670 - dependencies: 4671 - micromark-util-types: 2.0.0 4672 - 4673 - micromark-extension-mdxjs-esm@3.0.0: 4674 - dependencies: 4675 - '@types/estree': 1.0.5 4676 - devlop: 1.1.0 4677 - micromark-core-commonmark: 2.0.1 4678 - micromark-util-character: 2.1.0 4679 - micromark-util-events-to-acorn: 2.0.2 4680 - micromark-util-symbol: 2.0.0 4681 - micromark-util-types: 2.0.0 4682 - unist-util-position-from-estree: 2.0.0 4683 - vfile-message: 4.0.2 4684 - 4685 - micromark-extension-mdxjs@3.0.0: 4686 - dependencies: 4687 - acorn: 8.12.1 4688 - acorn-jsx: 5.3.2(acorn@8.12.1) 4689 - micromark-extension-mdx-expression: 3.0.0 4690 - micromark-extension-mdx-jsx: 3.0.0 4691 - micromark-extension-mdx-md: 2.0.0 4692 - micromark-extension-mdxjs-esm: 3.0.0 4693 - micromark-util-combine-extensions: 2.0.0 4694 - micromark-util-types: 2.0.0 4695 - 4696 - micromark-factory-destination@2.0.0: 4697 - dependencies: 4698 - micromark-util-character: 2.1.0 4699 - micromark-util-symbol: 2.0.0 4700 - micromark-util-types: 2.0.0 4701 - 4702 - micromark-factory-label@2.0.0: 4703 - dependencies: 4704 - devlop: 1.1.0 4705 - micromark-util-character: 2.1.0 4706 - micromark-util-symbol: 2.0.0 4707 - micromark-util-types: 2.0.0 4708 - 4709 - micromark-factory-mdx-expression@2.0.1: 4710 - dependencies: 4711 - '@types/estree': 1.0.5 4712 - devlop: 1.1.0 4713 - micromark-util-character: 2.1.0 4714 - micromark-util-events-to-acorn: 2.0.2 4715 - micromark-util-symbol: 2.0.0 4716 - micromark-util-types: 2.0.0 4717 - unist-util-position-from-estree: 2.0.0 4718 - vfile-message: 4.0.2 4719 - 4720 - micromark-factory-space@2.0.0: 4721 - dependencies: 4722 - micromark-util-character: 2.1.0 4723 - micromark-util-types: 2.0.0 4724 - 4725 - micromark-factory-title@2.0.0: 4726 - dependencies: 4727 - micromark-factory-space: 2.0.0 4728 - micromark-util-character: 2.1.0 4729 - micromark-util-symbol: 2.0.0 4730 - micromark-util-types: 2.0.0 4731 - 4732 - micromark-factory-whitespace@2.0.0: 4733 - dependencies: 4734 - micromark-factory-space: 2.0.0 4735 - micromark-util-character: 2.1.0 4736 - micromark-util-symbol: 2.0.0 4737 - micromark-util-types: 2.0.0 4738 - 4739 - micromark-util-character@2.1.0: 4740 - dependencies: 4741 - micromark-util-symbol: 2.0.0 4742 - micromark-util-types: 2.0.0 4743 - 4744 - micromark-util-chunked@2.0.0: 4745 - dependencies: 4746 - micromark-util-symbol: 2.0.0 4747 - 4748 - micromark-util-classify-character@2.0.0: 4749 - dependencies: 4750 - micromark-util-character: 2.1.0 4751 - micromark-util-symbol: 2.0.0 4752 - micromark-util-types: 2.0.0 4753 - 4754 - micromark-util-combine-extensions@2.0.0: 4755 - dependencies: 4756 - micromark-util-chunked: 2.0.0 4757 - micromark-util-types: 2.0.0 4758 - 4759 - micromark-util-decode-numeric-character-reference@2.0.1: 4760 - dependencies: 4761 - micromark-util-symbol: 2.0.0 4762 - 4763 - micromark-util-decode-string@2.0.0: 4764 - dependencies: 4765 - decode-named-character-reference: 1.0.2 4766 - micromark-util-character: 2.1.0 4767 - micromark-util-decode-numeric-character-reference: 2.0.1 4768 - micromark-util-symbol: 2.0.0 4769 - 4770 - micromark-util-encode@2.0.0: {} 4771 - 4772 - micromark-util-events-to-acorn@2.0.2: 4773 - dependencies: 4774 - '@types/acorn': 4.0.6 4775 - '@types/estree': 1.0.5 4776 - '@types/unist': 3.0.3 4777 - devlop: 1.1.0 4778 - estree-util-visit: 2.0.0 4779 - micromark-util-symbol: 2.0.0 4780 - micromark-util-types: 2.0.0 4781 - vfile-message: 4.0.2 4782 - 4783 - micromark-util-html-tag-name@2.0.0: {} 4784 - 4785 - micromark-util-normalize-identifier@2.0.0: 4786 - dependencies: 4787 - micromark-util-symbol: 2.0.0 4788 - 4789 - micromark-util-resolve-all@2.0.0: 4790 - dependencies: 4791 - micromark-util-types: 2.0.0 4792 - 4793 - micromark-util-sanitize-uri@2.0.0: 4794 - dependencies: 4795 - micromark-util-character: 2.1.0 4796 - micromark-util-encode: 2.0.0 4797 - micromark-util-symbol: 2.0.0 4798 - 4799 - micromark-util-subtokenize@2.0.1: 4800 - dependencies: 4801 - devlop: 1.1.0 4802 - micromark-util-chunked: 2.0.0 4803 - micromark-util-symbol: 2.0.0 4804 - micromark-util-types: 2.0.0 4805 - 4806 - micromark-util-symbol@2.0.0: {} 4807 - 4808 - micromark-util-types@2.0.0: {} 4809 - 4810 - micromark@4.0.0: 4811 - dependencies: 4812 - '@types/debug': 4.1.12 4813 - debug: 4.3.6 4814 - decode-named-character-reference: 1.0.2 4815 - devlop: 1.1.0 4816 - micromark-core-commonmark: 2.0.1 4817 - micromark-factory-space: 2.0.0 4818 - micromark-util-character: 2.1.0 4819 - micromark-util-chunked: 2.0.0 4820 - micromark-util-combine-extensions: 2.0.0 4821 - micromark-util-decode-numeric-character-reference: 2.0.1 4822 - micromark-util-encode: 2.0.0 4823 - micromark-util-normalize-identifier: 2.0.0 4824 - micromark-util-resolve-all: 2.0.0 4825 - micromark-util-sanitize-uri: 2.0.0 4826 - micromark-util-subtokenize: 2.0.1 4827 - micromark-util-symbol: 2.0.0 4828 - micromark-util-types: 2.0.0 4829 - transitivePeerDependencies: 4830 - - supports-color 4831 - 4832 - micromatch@4.0.8: 4833 - dependencies: 4834 - braces: 3.0.3 4835 - picomatch: 2.3.1 4836 - 4837 - mime-db@1.52.0: {} 4838 - 4839 - mime-types@2.1.35: 4840 - dependencies: 4841 - mime-db: 1.52.0 4842 - 4843 - mimic-fn@2.1.0: {} 4844 - 4845 - mimic-fn@4.0.0: {} 4846 - 4847 - mlly@1.7.1: 4848 - dependencies: 4849 - acorn: 8.11.3 4850 - pathe: 1.1.2 4851 - pkg-types: 1.2.0 4852 - ufo: 1.5.3 4853 - 4854 - mrmime@2.0.0: {} 4855 - 4856 - ms@2.1.2: {} 4857 - 4858 - nanoid@3.3.7: {} 4859 - 4860 - neotraverse@0.6.18: {} 4861 - 4862 - nlcst-to-string@4.0.0: 4863 - dependencies: 4864 - '@types/nlcst': 2.0.3 4865 - 4866 - node-fetch-native@1.6.4: {} 4867 - 4868 - node-fetch@2.7.0: 4869 - dependencies: 4870 - whatwg-url: 5.0.0 4871 - 4872 - node-releases@2.0.14: {} 4873 - 4874 - normalize-path@3.0.0: {} 4875 - 4876 - npm-run-path@5.3.0: 4877 - dependencies: 4878 - path-key: 4.0.0 4879 - 4880 - ofetch@1.3.4: 4881 - dependencies: 4882 - destr: 2.0.3 4883 - node-fetch-native: 1.6.4 4884 - ufo: 1.5.3 4885 - 4886 - onetime@5.1.2: 4887 - dependencies: 4888 - mimic-fn: 2.1.0 4889 - 4890 - onetime@6.0.0: 4891 - dependencies: 4892 - mimic-fn: 4.0.0 4893 - 4894 - ora@8.0.1: 4895 - dependencies: 4896 - chalk: 5.3.0 4897 - cli-cursor: 4.0.0 4898 - cli-spinners: 2.9.2 4899 - is-interactive: 2.0.0 4900 - is-unicode-supported: 2.0.0 4901 - log-symbols: 6.0.0 4902 - stdin-discarder: 0.2.2 4903 - string-width: 7.2.0 4904 - strip-ansi: 7.1.0 4905 - 4906 - p-limit@2.3.0: 4907 - dependencies: 4908 - p-try: 2.2.0 4909 - 4910 - p-limit@6.1.0: 4911 - dependencies: 4912 - yocto-queue: 1.1.1 4913 - 4914 - p-locate@4.1.0: 4915 - dependencies: 4916 - p-limit: 2.3.0 4917 - 4918 - p-queue@8.0.1: 4919 - dependencies: 4920 - eventemitter3: 5.0.1 4921 - p-timeout: 6.1.2 4922 - 4923 - p-timeout@6.1.2: {} 4924 - 4925 - p-try@2.2.0: {} 4926 - 4927 - package-manager-detector@0.1.2: {} 4928 - 4929 - parse-entities@4.0.1: 4930 - dependencies: 4931 - '@types/unist': 2.0.11 4932 - character-entities: 2.0.2 4933 - character-entities-legacy: 3.0.0 4934 - character-reference-invalid: 2.0.1 4935 - decode-named-character-reference: 1.0.2 4936 - is-alphanumerical: 2.0.1 4937 - is-decimal: 2.0.1 4938 - is-hexadecimal: 2.0.1 4939 - 4940 - parse-latin@7.0.0: 4941 - dependencies: 4942 - '@types/nlcst': 2.0.3 4943 - '@types/unist': 3.0.3 4944 - nlcst-to-string: 4.0.0 4945 - unist-util-modify-children: 4.0.0 4946 - unist-util-visit-children: 3.0.0 4947 - vfile: 6.0.2 4948 - 4949 - parse5@7.1.2: 4950 - dependencies: 4951 - entities: 4.5.0 4952 - 4953 - path-exists@4.0.0: {} 4954 - 4955 - path-key@3.1.1: {} 4956 - 4957 - path-key@4.0.0: {} 4958 - 4959 - path-to-regexp@6.2.2: {} 4960 - 4961 - pathe@1.1.2: {} 4962 - 4963 - perfect-debounce@1.0.0: {} 4964 - 4965 - periscopic@3.1.0: 4966 - dependencies: 4967 - '@types/estree': 1.0.5 4968 - estree-walker: 3.0.3 4969 - is-reference: 3.0.2 4970 - 4971 - picocolors@1.0.1: {} 4972 - 4973 - picomatch@2.3.1: {} 4974 - 4975 - picomatch@4.0.2: {} 4976 - 4977 - pify@4.0.1: {} 4978 - 4979 - pkg-dir@4.2.0: 4980 - dependencies: 4981 - find-up: 4.1.0 4982 - 4983 - pkg-types@1.0.3: 4984 - dependencies: 4985 - jsonc-parser: 3.2.1 4986 - mlly: 1.7.1 4987 - pathe: 1.1.2 4988 - 4989 - pkg-types@1.2.0: 4990 - dependencies: 4991 - confbox: 0.1.7 4992 - mlly: 1.7.1 4993 - pathe: 1.1.2 4994 - 4995 - postcss@8.4.41: 4996 - dependencies: 4997 - nanoid: 3.3.7 4998 - picocolors: 1.0.1 4999 - source-map-js: 1.2.0 5000 - 5001 - preferred-pm@4.0.0: 5002 - dependencies: 5003 - find-up-simple: 1.0.0 5004 - find-yarn-workspace-root2: 1.2.16 5005 - which-pm: 3.0.0 5006 - 5007 - prismjs@1.29.0: {} 5008 - 5009 - prompts@2.4.2: 5010 - dependencies: 5011 - kleur: 3.0.3 5012 - sisteransi: 1.0.5 5013 - 5014 - property-information@6.5.0: {} 5015 - 5016 - queue-microtask@1.2.3: {} 5017 - 5018 - readdirp@3.6.0: 5019 - dependencies: 5020 - picomatch: 2.3.1 5021 - 5022 - rehype-parse@9.0.0: 5023 - dependencies: 5024 - '@types/hast': 3.0.4 5025 - hast-util-from-html: 2.0.2 5026 - unified: 11.0.5 5027 - 5028 - rehype-raw@7.0.0: 5029 - dependencies: 5030 - '@types/hast': 3.0.4 5031 - hast-util-raw: 9.0.4 5032 - vfile: 6.0.2 5033 - 5034 - rehype-stringify@10.0.0: 5035 - dependencies: 5036 - '@types/hast': 3.0.4 5037 - hast-util-to-html: 9.0.1 5038 - unified: 11.0.5 5039 - 5040 - rehype@13.0.1: 5041 - dependencies: 5042 - '@types/hast': 3.0.4 5043 - rehype-parse: 9.0.0 5044 - rehype-stringify: 10.0.0 5045 - unified: 11.0.5 5046 - 5047 - remark-gfm@4.0.0: 5048 - dependencies: 5049 - '@types/mdast': 4.0.4 5050 - mdast-util-gfm: 3.0.0 5051 - micromark-extension-gfm: 3.0.0 5052 - remark-parse: 11.0.0 5053 - remark-stringify: 11.0.0 5054 - unified: 11.0.5 5055 - transitivePeerDependencies: 5056 - - supports-color 5057 - 5058 - remark-mdx@3.0.1: 5059 - dependencies: 5060 - mdast-util-mdx: 3.0.0 5061 - micromark-extension-mdxjs: 3.0.0 5062 - transitivePeerDependencies: 5063 - - supports-color 5064 - 5065 - remark-parse@11.0.0: 5066 - dependencies: 5067 - '@types/mdast': 4.0.4 5068 - mdast-util-from-markdown: 2.0.1 5069 - micromark-util-types: 2.0.0 5070 - unified: 11.0.5 5071 - transitivePeerDependencies: 5072 - - supports-color 5073 - 5074 - remark-rehype@11.1.0: 5075 - dependencies: 5076 - '@types/hast': 3.0.4 5077 - '@types/mdast': 4.0.4 5078 - mdast-util-to-hast: 13.2.0 5079 - unified: 11.0.5 5080 - vfile: 6.0.2 5081 - 5082 - remark-smartypants@3.0.2: 5083 - dependencies: 5084 - retext: 9.0.0 5085 - retext-smartypants: 6.1.0 5086 - unified: 11.0.5 5087 - unist-util-visit: 5.0.0 5088 - 5089 - remark-stringify@11.0.0: 5090 - dependencies: 5091 - '@types/mdast': 4.0.4 5092 - mdast-util-to-markdown: 2.1.0 5093 - unified: 11.0.5 5094 - 5095 - resolve-pkg-maps@1.0.0: {} 5096 - 5097 - restore-cursor@4.0.0: 5098 - dependencies: 5099 - onetime: 5.1.2 5100 - signal-exit: 3.0.7 5101 - 5102 - retext-latin@4.0.0: 5103 - dependencies: 5104 - '@types/nlcst': 2.0.3 5105 - parse-latin: 7.0.0 5106 - unified: 11.0.5 5107 - 5108 - retext-smartypants@6.1.0: 5109 - dependencies: 5110 - '@types/nlcst': 2.0.3 5111 - nlcst-to-string: 4.0.0 5112 - unist-util-visit: 5.0.0 5113 - 5114 - retext-stringify@4.0.0: 5115 - dependencies: 5116 - '@types/nlcst': 2.0.3 5117 - nlcst-to-string: 4.0.0 5118 - unified: 11.0.5 5119 - 5120 - retext@9.0.0: 5121 - dependencies: 5122 - '@types/nlcst': 2.0.3 5123 - retext-latin: 4.0.0 5124 - retext-stringify: 4.0.0 5125 - unified: 11.0.5 5126 - 5127 - reusify@1.0.4: {} 5128 - 5129 - rollup@4.21.0: 5130 - dependencies: 5131 - '@types/estree': 1.0.5 5132 - optionalDependencies: 5133 - '@rollup/rollup-android-arm-eabi': 4.21.0 5134 - '@rollup/rollup-android-arm64': 4.21.0 5135 - '@rollup/rollup-darwin-arm64': 4.21.0 5136 - '@rollup/rollup-darwin-x64': 4.21.0 5137 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.0 5138 - '@rollup/rollup-linux-arm-musleabihf': 4.21.0 5139 - '@rollup/rollup-linux-arm64-gnu': 4.21.0 5140 - '@rollup/rollup-linux-arm64-musl': 4.21.0 5141 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.0 5142 - '@rollup/rollup-linux-riscv64-gnu': 4.21.0 5143 - '@rollup/rollup-linux-s390x-gnu': 4.21.0 5144 - '@rollup/rollup-linux-x64-gnu': 4.21.0 5145 - '@rollup/rollup-linux-x64-musl': 4.21.0 5146 - '@rollup/rollup-win32-arm64-msvc': 4.21.0 5147 - '@rollup/rollup-win32-ia32-msvc': 4.21.0 5148 - '@rollup/rollup-win32-x64-msvc': 4.21.0 5149 - fsevents: 2.3.3 5150 - 5151 - run-parallel@1.2.0: 5152 - dependencies: 5153 - queue-microtask: 1.2.3 5154 - 5155 - sax@1.3.0: {} 5156 - 5157 - section-matter@1.0.0: 5158 - dependencies: 5159 - extend-shallow: 2.0.1 5160 - kind-of: 6.0.3 5161 - 5162 - semver@6.3.1: {} 5163 - 5164 - semver@7.6.3: {} 5165 - 5166 - sharp@0.33.5: 5167 - dependencies: 5168 - color: 4.2.3 5169 - detect-libc: 2.0.3 5170 - semver: 7.6.3 5171 - optionalDependencies: 5172 - '@img/sharp-darwin-arm64': 0.33.5 5173 - '@img/sharp-darwin-x64': 0.33.5 5174 - '@img/sharp-libvips-darwin-arm64': 1.0.4 5175 - '@img/sharp-libvips-darwin-x64': 1.0.4 5176 - '@img/sharp-libvips-linux-arm': 1.0.5 5177 - '@img/sharp-libvips-linux-arm64': 1.0.4 5178 - '@img/sharp-libvips-linux-s390x': 1.0.4 5179 - '@img/sharp-libvips-linux-x64': 1.0.4 5180 - '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 5181 - '@img/sharp-libvips-linuxmusl-x64': 1.0.4 5182 - '@img/sharp-linux-arm': 0.33.5 5183 - '@img/sharp-linux-arm64': 0.33.5 5184 - '@img/sharp-linux-s390x': 0.33.5 5185 - '@img/sharp-linux-x64': 0.33.5 5186 - '@img/sharp-linuxmusl-arm64': 0.33.5 5187 - '@img/sharp-linuxmusl-x64': 0.33.5 5188 - '@img/sharp-wasm32': 0.33.5 5189 - '@img/sharp-win32-ia32': 0.33.5 5190 - '@img/sharp-win32-x64': 0.33.5 5191 - 5192 - shebang-command@2.0.0: 5193 - dependencies: 5194 - shebang-regex: 3.0.0 5195 - 5196 - shebang-regex@3.0.0: {} 5197 - 5198 - shiki@1.14.1: 5199 - dependencies: 5200 - '@shikijs/core': 1.14.1 5201 - '@types/hast': 3.0.4 5202 - 5203 - signal-exit@3.0.7: {} 5204 - 5205 - signal-exit@4.1.0: {} 5206 - 5207 - simple-swizzle@0.2.2: 5208 - dependencies: 5209 - is-arrayish: 0.3.2 5210 - 5211 - sirv@2.0.4: 5212 - dependencies: 5213 - '@polka/url': 1.0.0-next.25 5214 - mrmime: 2.0.0 5215 - totalist: 3.0.1 5216 - 5217 - sisteransi@1.0.5: {} 5218 - 5219 - sitemap@7.1.1: 5220 - dependencies: 5221 - '@types/node': 17.0.45 5222 - '@types/sax': 1.2.7 5223 - arg: 5.0.2 5224 - sax: 1.3.0 5225 - 5226 - source-map-js@1.2.0: {} 5227 - 5228 - source-map@0.7.4: {} 5229 - 5230 - space-separated-tokens@2.0.2: {} 5231 - 5232 - sprintf-js@1.0.3: {} 5233 - 5234 - stdin-discarder@0.2.2: {} 5235 - 5236 - string-width@4.2.3: 5237 - dependencies: 5238 - emoji-regex: 8.0.0 5239 - is-fullwidth-code-point: 3.0.0 5240 - strip-ansi: 6.0.1 5241 - 5242 - string-width@5.1.2: 5243 - dependencies: 5244 - eastasianwidth: 0.2.0 5245 - emoji-regex: 9.2.2 5246 - strip-ansi: 7.1.0 5247 - 5248 - string-width@7.2.0: 5249 - dependencies: 5250 - emoji-regex: 10.3.0 5251 - get-east-asian-width: 1.2.0 5252 - strip-ansi: 7.1.0 5253 - 5254 - stringify-entities@4.0.4: 5255 - dependencies: 5256 - character-entities-html4: 2.1.0 5257 - character-entities-legacy: 3.0.0 5258 - 5259 - strip-ansi@6.0.1: 5260 - dependencies: 5261 - ansi-regex: 5.0.1 5262 - 5263 - strip-ansi@7.1.0: 5264 - dependencies: 5265 - ansi-regex: 6.0.1 5266 - 5267 - strip-bom-string@1.0.0: {} 5268 - 5269 - strip-bom@3.0.0: {} 5270 - 5271 - strip-final-newline@3.0.0: {} 5272 - 5273 - style-to-object@0.4.4: 5274 - dependencies: 5275 - inline-style-parser: 0.1.1 5276 - 5277 - style-to-object@1.0.6: 5278 - dependencies: 5279 - inline-style-parser: 0.2.3 5280 - 5281 - supports-color@5.5.0: 5282 - dependencies: 5283 - has-flag: 3.0.0 5284 - 5285 - tinyexec@0.2.0: {} 5286 - 5287 - tinyglobby@0.2.2: 5288 - dependencies: 5289 - fdir: 6.2.0(picomatch@4.0.2) 5290 - picomatch: 4.0.2 5291 - 5292 - to-fast-properties@2.0.0: {} 5293 - 5294 - to-regex-range@5.0.1: 5295 - dependencies: 5296 - is-number: 7.0.0 5297 - 5298 - totalist@3.0.1: {} 5299 - 5300 - tr46@0.0.3: {} 5301 - 5302 - trim-lines@3.0.1: {} 5303 - 5304 - trough@2.2.0: {} 5305 - 5306 - tsconfck@3.1.1(typescript@5.5.4): 5307 - optionalDependencies: 5308 - typescript: 5.5.4 5309 - 5310 - tslib@2.6.2: 5311 - optional: true 5312 - 5313 - tsx@4.17.0: 5314 - dependencies: 5315 - esbuild: 0.23.1 5316 - get-tsconfig: 4.7.6 5317 - optionalDependencies: 5318 - fsevents: 2.3.3 5319 - 5320 - type-fest@2.19.0: {} 5321 - 5322 - typescript@5.5.4: {} 5323 - 5324 - ufo@1.5.3: {} 5325 - 5326 - unconfig@0.5.5: 5327 - dependencies: 5328 - '@antfu/utils': 0.7.10 5329 - defu: 6.1.4 5330 - importx: 0.4.3 5331 - transitivePeerDependencies: 5332 - - supports-color 5333 - 5334 - undici-types@5.26.5: {} 5335 - 5336 - undici-types@6.19.8: 5337 - optional: true 5338 - 5339 - unified@11.0.5: 5340 - dependencies: 5341 - '@types/unist': 3.0.3 5342 - bail: 2.0.2 5343 - devlop: 1.1.0 5344 - extend: 3.0.2 5345 - is-plain-obj: 4.1.0 5346 - trough: 2.2.0 5347 - vfile: 6.0.2 5348 - 5349 - unist-util-find-after@5.0.0: 5350 - dependencies: 5351 - '@types/unist': 3.0.3 5352 - unist-util-is: 6.0.0 5353 - 5354 - unist-util-is@6.0.0: 5355 - dependencies: 5356 - '@types/unist': 3.0.3 5357 - 5358 - unist-util-modify-children@4.0.0: 5359 - dependencies: 5360 - '@types/unist': 3.0.3 5361 - array-iterate: 2.0.1 5362 - 5363 - unist-util-position-from-estree@2.0.0: 5364 - dependencies: 5365 - '@types/unist': 3.0.3 5366 - 5367 - unist-util-position@5.0.0: 5368 - dependencies: 5369 - '@types/unist': 3.0.3 5370 - 5371 - unist-util-remove-position@5.0.0: 5372 - dependencies: 5373 - '@types/unist': 3.0.3 5374 - unist-util-visit: 5.0.0 5375 - 5376 - unist-util-stringify-position@4.0.0: 5377 - dependencies: 5378 - '@types/unist': 3.0.3 5379 - 5380 - unist-util-visit-children@3.0.0: 5381 - dependencies: 5382 - '@types/unist': 3.0.3 5383 - 5384 - unist-util-visit-parents@6.0.1: 5385 - dependencies: 5386 - '@types/unist': 3.0.3 5387 - unist-util-is: 6.0.0 5388 - 5389 - unist-util-visit@5.0.0: 5390 - dependencies: 5391 - '@types/unist': 3.0.3 5392 - unist-util-is: 6.0.0 5393 - unist-util-visit-parents: 6.0.1 5394 - 5395 - unocss@0.62.2(postcss@8.4.41)(rollup@4.21.0)(vite@5.4.2(@types/node@22.5.0)): 5396 - dependencies: 5397 - '@unocss/astro': 0.62.2(rollup@4.21.0)(vite@5.4.2(@types/node@22.5.0)) 5398 - '@unocss/cli': 0.62.2(rollup@4.21.0) 5399 - '@unocss/core': 0.62.2 5400 - '@unocss/extractor-arbitrary-variants': 0.62.2 5401 - '@unocss/postcss': 0.62.2(postcss@8.4.41) 5402 - '@unocss/preset-attributify': 0.62.2 5403 - '@unocss/preset-icons': 0.62.2 5404 - '@unocss/preset-mini': 0.62.2 5405 - '@unocss/preset-tagify': 0.62.2 5406 - '@unocss/preset-typography': 0.62.2 5407 - '@unocss/preset-uno': 0.62.2 5408 - '@unocss/preset-web-fonts': 0.62.2 5409 - '@unocss/preset-wind': 0.62.2 5410 - '@unocss/reset': 0.62.2 5411 - '@unocss/transformer-attributify-jsx': 0.62.2 5412 - '@unocss/transformer-attributify-jsx-babel': 0.62.2 5413 - '@unocss/transformer-compile-class': 0.62.2 5414 - '@unocss/transformer-directives': 0.62.2 5415 - '@unocss/transformer-variant-group': 0.62.2 5416 - '@unocss/vite': 0.62.2(rollup@4.21.0)(vite@5.4.2(@types/node@22.5.0)) 5417 - optionalDependencies: 5418 - vite: 5.4.2(@types/node@22.5.0) 5419 - transitivePeerDependencies: 5420 - - postcss 5421 - - rollup 5422 - - supports-color 5423 - 5424 - update-browserslist-db@1.1.0(browserslist@4.23.2): 5425 - dependencies: 5426 - browserslist: 4.23.2 5427 - escalade: 3.1.2 5428 - picocolors: 1.0.1 5429 - 5430 - vfile-location@5.0.3: 5431 - dependencies: 5432 - '@types/unist': 3.0.3 5433 - vfile: 6.0.2 5434 - 5435 - vfile-message@4.0.2: 5436 - dependencies: 5437 - '@types/unist': 3.0.3 5438 - unist-util-stringify-position: 4.0.0 5439 - 5440 - vfile@6.0.2: 5441 - dependencies: 5442 - '@types/unist': 3.0.3 5443 - unist-util-stringify-position: 4.0.0 5444 - vfile-message: 4.0.2 5445 - 5446 - vite@5.4.2(@types/node@22.5.0): 5447 - dependencies: 5448 - esbuild: 0.21.5 5449 - postcss: 8.4.41 5450 - rollup: 4.21.0 5451 - optionalDependencies: 5452 - '@types/node': 22.5.0 5453 - fsevents: 2.3.3 5454 - 5455 - vitefu@0.2.5(vite@5.4.2(@types/node@22.5.0)): 5456 - optionalDependencies: 5457 - vite: 5.4.2(@types/node@22.5.0) 5458 - 5459 - web-namespaces@2.0.1: {} 5460 - 5461 - webidl-conversions@3.0.1: {} 5462 - 5463 - whatwg-url@5.0.0: 5464 - dependencies: 5465 - tr46: 0.0.3 5466 - webidl-conversions: 3.0.1 5467 - 5468 - which-pm-runs@1.1.0: {} 5469 - 5470 - which-pm@3.0.0: 5471 - dependencies: 5472 - load-yaml-file: 0.2.0 5473 - 5474 - which@2.0.2: 5475 - dependencies: 5476 - isexe: 2.0.0 5477 - 5478 - widest-line@4.0.1: 5479 - dependencies: 5480 - string-width: 5.1.2 5481 - 5482 - wrap-ansi@8.1.0: 5483 - dependencies: 5484 - ansi-styles: 6.2.1 5485 - string-width: 5.1.2 5486 - strip-ansi: 7.1.0 5487 - 5488 - xxhash-wasm@1.0.2: {} 5489 - 5490 - yallist@3.1.1: {} 5491 - 5492 - yargs-parser@21.1.1: {} 5493 - 5494 - yocto-queue@1.1.1: {} 5495 - 5496 - zod-to-json-schema@3.23.2(zod@3.23.8): 5497 - dependencies: 5498 - zod: 3.23.8 5499 - 5500 - zod-to-ts@1.2.0(typescript@5.5.4)(zod@3.23.8): 5501 - dependencies: 5502 - typescript: 5.5.4 5503 - zod: 3.23.8 5504 - 5505 - zod@3.22.4: {} 5506 - 5507 - zod@3.23.8: {} 5508 - 5509 - zwitch@2.0.4: {}
-9
public/favicon.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128"> 2 - <path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" /> 3 - <style> 4 - path { fill: #000; } 5 - @media (prefers-color-scheme: dark) { 6 - path { fill: #FFF; } 7 - } 8 - </style> 9 - </svg>
public/resume.pdf

This is a binary file and will not be displayed.

-10
public/robots.txt
··· 1 - User-Agent: * 2 - Allow: / 3 - User-agent: GPTBot 4 - Disallow: / 5 - User-agent: ChatGPT-User 6 - Disallow: / 7 - User-agent: Google-Extended 8 - Disallow: / 9 - User-agent: PerplexityBot 10 - Disallow: /
-29
src/components/BlogPost.astro
··· 1 - --- 2 - interface Props { 3 - title: string; 4 - published_at: Date; 5 - slug: string; 6 - } 7 - 8 - const { title, published_at, slug } = Astro.props; 9 - import Link from "@components/Link.astro"; 10 - --- 11 - 12 - <li> 13 - <article> 14 - <h2 15 - class="mb-1 font-bold text-blue-700 hover:text-blue-500 hover:underline" 16 - > 17 - <Link href={`/blogs/${slug}`}>{title}</Link> 18 - </h2> 19 - <footer class="text-sm text-gray-500"> 20 - <time datetime={published_at.toISOString()}> 21 - { 22 - new Intl.DateTimeFormat("en-us", { 23 - dateStyle: "medium", 24 - }).format(new Date(published_at)) 25 - } 26 - </time> 27 - </footer> 28 - </article> 29 - </li>
-13
src/components/Link.astro
··· 1 - --- 2 - interface Props { 3 - extraClasses?: string; 4 - [x: string]: unknown; 5 - } 6 - --- 7 - 8 - <a 9 - {...Astro.props} 10 - class={`text-blue-700 hover:(underline text-blue-600) focus-visible:(outline outline-[4px] outline-black underline [box-shadow:0_0_0_6px_white]) ${Astro.props.extraClasses}`} 11 - > 12 - <slot /> 13 - </a>
-28
src/components/Meta.astro
··· 1 - --- 2 - interface Props { 3 - title: string; 4 - description: string; 5 - } 6 - 7 - const { title, description } = Astro.props; 8 - const canonicalURL = new URL(Astro.url.pathname, Astro.site); 9 - --- 10 - 11 - <head> 12 - <meta charset="UTF-8" /> 13 - <meta name="description" content={description} /> 14 - <meta name="viewport" content="width=device-width, initial-scale=1" /> 15 - <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 16 - <meta name="generator" content={Astro.generator} /> 17 - <meta property="og:type" content="website" /> 18 - <meta name="twitter:card" content="summary_large_image" /> 19 - <meta name="twitter:creator" content="@hybridearth" /> 20 - <meta property="og:title" content={title} /> 21 - <meta property="og:description" content={description} /> 22 - <meta name="twitter:title" content={title} /> 23 - <meta name="twitter:description" content={description} /> 24 - <link rel="sitemap" href="/sitemap-index.xml" /> 25 - <link rel="canonical" href={canonicalURL} /> 26 - <meta property="og:url" content={canonicalURL} /> 27 - <title>{title}</title> 28 - </head>
-23
src/components/Navbar.astro
··· 1 - --- 2 - const paths = [ 3 - { name: "home", path: "/" }, 4 - { name: "blogs", path: "/blogs" }, 5 - ]; 6 - import Link from "@components/Link.astro"; 7 - --- 8 - 9 - <header class="max-w-5xl mx-auto pt-2 md:pt-10 mb-2 px-3 md:px-0"> 10 - <nav> 11 - <ul class="flex gap-2"> 12 - { 13 - paths.map(({ name, path }) => ( 14 - <li> 15 - <Link href={path} extraClasses="font-bold"> 16 - {name} 17 - </Link>{" "} 18 - </li> 19 - )) 20 - } 21 - </ul> 22 - </nav> 23 - </header>
-14
src/content/config.ts
··· 1 - import { defineCollection, z } from "astro:content"; 2 - import { glob } from "astro/loaders"; 3 - 4 - const blog = defineCollection({ 5 - loader: glob({ pattern: "**/*.mdx", base: "./src/data/blog" }), 6 - schema: z.object({ 7 - title: z.string(), 8 - description: z.string(), 9 - year: z.number(), 10 - published_at: z.date(), 11 - }), 12 - }); 13 - 14 - export const collections = { blog };
-47
src/data/blog/building-a-ttc-alerts-bot-with-threads-api.mdx
··· 1 - --- 2 - title: Building a TTC service alert bot with the Threads API and TTC Live Alerts API 3 - description: Going into detail about how I built a bot to report service updates for the TTC on Threads 4 - year: 2024 5 - published_at: 2024-06-23 6 - --- 7 - 8 - The Threads team at Meta finally released an API to interact with the Threads platform. I've had this idea of creating a bot account that posts updates about the TTC since the API was announced. I'm happy to announce that I've "finished" this project today. In this post I'll talk about how I built it and how I found and figured out how the TTC alerts API worked. 9 - 10 - I've been using Threads since it was released last year. It's a great platform, I like it very much. I feel like I have a voice on Threads and I've been way more active on there than I ever have been on Twitter. The Threads team have also been releasing features like crazy lately and I think come either the end of this year or the beginning of next year, they'll have either caught up or surpassed Twitter in terms of useful features. Anyways, kudos to them and I'm excited to see where the platform goes. Now, let's talk about the good stuff. 11 - 12 - With the release of the Threads API I got straight to work. I wanted to build a bot that posted service updates about the TTC. There is already an official account that does this on Twitter and I wanted to replicate that on Threads. The only downside initially was that I had no idea how they were pulling those updates and the TTC does not have a public API. Luckily, these updates are also posted on the TTC website so I figured I might find some clues there. 13 - 14 - Sure enough, with very minimal effort, I found the endpoint for the live service updates inside of the browser devtools network tab. 15 - ![Inspecting the network tab in the browser devtools to find the API endpoint](https://i.ibb.co/KxTDsYT/Screenshot-2024-06-23-at-9-19-49-PM.png) 16 - 17 - Next, I went to the endpoint URL in the browser and compared it against what was being posted on Twitter. Whenever the Twitter account posted I would refresh API endpoint page and it would match with the Twitter account. "Of course, so easy", I thought to myself as I started to create the github repo and start coding. For this project I went with Cloudflare Workers, Cloudflare KV and TypeScript. Initially I wasn't sure how often I should be running the cron job so I just started with 5 minutes as that seemed reasonable. 18 - 19 - After a couple of hours of coding away and waiting for my new Threads account to become unblocked by the spam protection by Meta, I had something working. Well until I noticed a bug. My bot would not create posts when there was an update for an alert. For example, say the 505 Streetcar went out of service, it's an entirely new alert so my bot picks it up and posts it. Now if there was an update for that alert my bot would not post it at all while the one on Twitter would. Initially I thought it was because the Twitter account used a different source for posting updates and the live alerts endpoint wasn't getting updated but that wasn't it at all. Here's where I lost a couple days to figuring out how this live alerts endpoint worked. 20 - 21 - The TTC live alerts endpoint works like this: 22 - 23 - - Whenever the `lastUpdated` field from the API is updated to a NEW time, it means there's NEW alerts. 24 - - Whenever a specific alert or alerts are updated, the `lastUpdated` changes but it's changed to whatever the timestamp was when the initial alert was updated. So this could be a timestamp in the past. 25 - 26 - <aside class="bg-blue-200 border-l-4 text-blue-900 p-2 border-blue-600"> 27 - Ex. NEW alert timestamp saved with <b>'2024-06-24T01:57:45.606Z'</b>, another 28 - NEW update saved with <b>'2024-06-24T01:58:30.100Z'</b>. A content only update 29 - to a previous alert changes the `lastUpdated` back to{" "} 30 - <b>'2024-06-24T01:57:45.606Z'</b> in the API and because I was comparing the 31 - data in my cache with the key of <b>'2024-06-24T01:57:45.606Z'</b> versus what 32 - was being returned from the API with `lastUpdated` as this value{" "} 33 - <b>'2024-06-24T01:57:45.606Z'</b>, the IDs would be the exact same. The 34 - content however was different. 35 - </aside> 36 - 37 - Initially I was just checking the cache with the key being whatever the `lastUpdated` was at the time of fetching the data from the API. All good and dandy except when the second situation from above happened, it meant I was comparing a previously saved list of alerts versus whatever was coming back from the API. Which because it was using a `lastUpdated` timestamp that already existed, just comparing based on the IDs wouldn't work. Whenever there are content updates there are no NEW ids, the same ID for an alert is reused and the content is updated. I had to ALSO check the content to see if any of them have changed. It was simple enough, I just copied the logic for checking for new IDs but applied it to check for new content based on the alert titles. 38 - 39 - After figuring that out, here's how the logic for checking for new posts shakes out: 40 - 41 - 1. Every minute (I changed it so it'd be faster) fetch data from the TTC live alerts API 42 - 2. Check the data fetched from the API against the most recently cached data (Cloudflare KV) 43 - 3. Are there NEW ids in the data versus what's stored in the cached? If yes, these are completely new alerts, post them and add a new entry to the cache. 44 - 4. If not, check to see if there are any content changes based on the alert titles against the cached data. 45 - 5. If there are content changes, it means there was an update and we should post them and update the cache. If not, stop there there's nothing to do. 46 - 47 - It actually sounds much simpler after typing it out but figuring out how it worked required me to wait for updates to the API and run tests to verify my thought process which took a bit a time. Overall it was a fun experience and I enjoyed working backwards to figure this all out. I hope this motivates the TTC to start posting updates on Threads as well but we'll see. If you live in Toronto and want TTC service updates on threads, give @ttcserviceupdates a follow!
-61
src/data/blog/docker-for-frontend-developers.mdx
··· 1 - --- 2 - title: Docker for Frontend Developers 3 - description: A short walkthrough on how to create an API 4 - year: 2021 5 - published_at: 2021-03-17 6 - --- 7 - 8 - I'll be honest, it took me a while to understand what docker was and why/how one would even use it in a typical workflow. I've read the documentation months ago to understand the basics but never knew how I could apply it into my own workflow or projects until recently. That's when I started to use it wherever I could. 9 - 10 - ## A tl;dr of what docker is 11 - 12 - Docker is a platform for developing and deploying applications wherever docker is installed. Before docker there were VMs (such as virtualbox) where you could take an image, usually an operating system, and stick it on some virtual hardware that you would then configure to your needs and then use that image in production to run whatever service you configured it for. Docker is similar to that but much lighter and much easier to get up and running. 13 - 14 - With docker you're able to pull pre-configured images from the docker "hub" and get up and running in a matter of minutes. Docker also allows you to create an environment that is consistent no matter where the application is running which I think is a huge plus because I've run into situations where I switch computers and for whatever reason the thing I'm working on just doesn't work! 15 - 16 - ## Getting up and running, fast 17 - 18 - Typically when I start a new project, be it a website or a discord bot, I'll usually end up needing some sort of database. Usually I would download the software needed to run the database on my computer and maybe a client to view the data in the database. Now, I'd just use docker and pull whatever image I needed for the database I'm using. 19 - 20 - ``` 21 - docker pull postgres 22 - docker run --name -d -p 5432:5432 -e POSTGRES_PASSWORD=password postgres 23 - ``` 24 - 25 - That's it! That's all I would need to get a postgres database running. 26 - 27 - I'll explain what some of these command line options mean. 28 - 29 - ``` 30 - docker pull postgres 31 - ``` 32 - 33 - With this command I'm saying, "On docker hub, find the postgres image and download it". 34 - 35 - There are a ton of images on docker hub for services you may neeed such as redis, apache, mongoDB, etc. 36 - 37 - ``` 38 - docker run --name postgres -d -p 5432:5432 -e POSTGRES_PASSWORD=password postgres 39 - ``` 40 - 41 - This command is a little more involved so I'll break it down. 42 - 43 - `` docker run` --name postgres `` is how you would spin up a new container (a new, tiny instance of postgres) and the name of the container would be postgres. By default if no name is given then docker will generate a random one. It's good practice to give your containers a name because they become easier to identify and easy to remember should you need to stop or start the container. 44 - 45 - `-d` just means run the container in daemon mode, instead of in the foreground. 46 - 47 - `-p 5432:5432` this is where you would set the port for the container so that the docker host can communicate with the container. Postgres runs on the port 5432 so we would need to say port 5432 on the host maps to port 5432 on the container. 48 - 49 - `-e POSTGRES_PASSWORD=password` to set environment variables at runtime you would need to provide the -e flag. An alternative to this would be to have a file where your secrets live and use `--env-file .env` instead. 50 - 51 - `postgres` last but not least the image you want to run. You can see a list of images you have dowloaded on your machine with `docker images`. 52 - 53 - ## Conclusion 54 - 55 - This post is mostly just a tl;dr of how to get started with docker as well as showing how easy it is. There are other things I wanted to cover such as building your own image, pushing an image to docker hub as well as deploying an image but I felt that would be a lot for a blog post so I'll leave some resources that helped me a bunch when I was learning about docker. 56 - 57 - [Docker and Kubernetes for beginners (FreeCodeCamp)](https://www.youtube.com/watch?v=Wf2eSG3owoA&t=1999s) 58 - 59 - [Docker documentation](https://docs.docker.com/reference/) 60 - 61 - [Deploying docker images to Heroku](https://devcenter.heroku.com/categories/deploying-with-docker)
-101
src/data/blog/give-angular-a-second-chance.mdx
··· 1 - --- 2 - title: Why I think Developers should give Angular 17 a serious try 3 - description: If you're a developer that is new to Angular and its ecosystem, you should definitely take a minute to try their latest release 4 - year: 2023 5 - published_at: 2023-12-15 6 - --- 7 - 8 - You've seen the memes, you've seen the angry github comments, you've seen the negative press. I'll be honest, I fell victim to the propaganda online. Was some of it warranted? Probably, but some of it was a bit overexaggerated in my opinion. Seriously, Angular is a really good framework and I think the release of Angular 17 will bring it back into the light and a serious option for building websites. I've only been through the documentation briefly and did the tutorial but there are some things I _really_ like. 9 - 10 - ## The CLI 11 - 12 - One thing I've always admired and wished other frameworks/libraries would have adopted is their version of the Angular CLI. Not only can you use it to create new components with all of the boiler plate code all generated for you, you can also do things like open the docs or quickly add angular modules with `ng add`. I found with the short amount of time I've spent with it, it allows me to move a bit quicker and think less about creating my own scripts or thinking about the most optimal file structure. There are a lot of commands that are just great defaults to have that aren't unique from project to project such as testing. I tell people repeatedly that I wish there was something similar with React but maybe it wouldn't work out the same way as I imagine. 13 - 14 - ## Pipes 15 - 16 - Now if you're not really a Linux user you've probably never heard of the term `pipe` before and when I first saw it mentioned in the Angular docs I had no idea what to expect but it works exactly the same as it does in the terminal. Let's say I have a sentence and I want to count the amount of words in that sentence. In my terminal I could do `echo hello this is a sentence` _and then_ pipe that ( | ) to the `wc` program that's available ("wc" without any options outputs the amount of lines, words and characters from whatever is passed in). So the full command in my terminal would look like this. 17 - 18 - ```bash 19 - echo hello this is a sentence | wc 20 - // 1 5 25 21 - ``` 22 - 23 - It's the same concept in Angular, which is really cool in my opinion. For example by default Angular has an `uppercase` pipe that transforms some text to uppercase. 24 - 25 - ```ts 26 - import { Component } from "@angular/core"; 27 - import { UppercasePipe } from "@angular/common"; 28 - 29 - @Component({ 30 - standalone: true, 31 - templateUrl: ` 32 - <p>Hello my name is {{ name | uppercase }}</p> 33 - `, 34 - imports: [UppercasePipe], 35 - }) 36 - export class AppComponent { 37 - name = "Dane"; 38 - } 39 - ``` 40 - 41 - You can also make your own pipes to do whatever you need them to, like this capitalize pipe! 42 - 43 - ```ts 44 - // captialize.ts 45 - import { Pipe, PipeTransform } from "@angular/core"; 46 - 47 - @Pipe({ 48 - name: "capitalize", 49 - standalone: true, 50 - }) 51 - export class CapitalizePipe implements PipeTransform { 52 - transform(value: string): string { 53 - if (typeof value !== "string" || value.length <= 1) return value; 54 - let uppercasedFirstLetter = value.slice(0, 1).toUpperCase(); 55 - let restOfWord = value.substring(1, value.length); 56 - return `${uppercasedFirstLetter}${restOfWord}`; 57 - } 58 - } 59 - ``` 60 - 61 - ```ts 62 - // main.ts 63 - import { Component } from "@angular/core"; 64 - import { CapitalizePipe } from "./capitalize"; 65 - 66 - @Component({ 67 - selector: "app-root", 68 - standalone: true, 69 - template: ` Hello world, {{ name | capitalize }} `, 70 - imports: [CapitalizePipe], 71 - }) 72 - export class AppComponent { 73 - name = "dane"; 74 - } 75 - ``` 76 - 77 - Simple examples but you can imagine how useful this is and I honestly prefer writing reusable functions like this. 78 - 79 - ## Deferrable views 80 - 81 - This is something new in Angular and something most frameworks/libraries have included but the way it's been done in Angular is super cool and really simple to grasp. [In the documentation](https://angular.dev/guide/defer) they have a simple example showing how to defer something like a list of comments so that the page loads quicker. Sure, when there are maybe 1 or 2 comments it won't impact page performance much but when that list grows a user will have to wait for the main content _and_ the comments to be loaded. Angular 17 introduces deferrable views to help with this sort of thing. Let's say I want to defer the loading of a list of recipies, I would do something like this: 82 - 83 - ```ts 84 - @defer { 85 - <recipie-list /> 86 - } 87 - ``` 88 - 89 - That's literally it! In addition to the @defer syntax you can also specify a placeholder. Placeholders are good because it gives the user more information about what's happening and makes it so content doesn't just show up on the page. So combined with the last snippet it could look something like this: 90 - 91 - ```ts 92 - @defer { 93 - <recipe-list /> 94 - } @placeholder (minimum 500ms) { 95 - <p>Recipe list is loading...</p> 96 - } 97 - ``` 98 - 99 - The `minimum` parameter let's us say how long the placeholder should show before showing the resolved content. This is done so there isn't a weird flicker after the content is ready to be shown. This only scratches the surface of what Angular gives you to help improve the performance of your website, there are a few examples on how you get fine tuned performance even more with triggers which is definitely worth a read. 100 - 101 - I honestly believe Angular should be given another chance with this new release, there are a ton of great features you get out of the box that help with making a performant website. I plan on using Angular to make a side project so I can really explore all of the features in depth and I hope more people do the same!
-131
src/data/blog/running-a-containerized-application-in-the-cloud.mdx
··· 1 - --- 2 - title: Running a containerized application in the cloud using AWS App Runner 3 - description: Exploring the new AWS App Runner service 4 - published_at: 2021-05-19 5 - year: 2021 6 - --- 7 - 8 - I've been pretty deep in the cloud space for a few weeks now, researching different topics related to system design and playing around with different AWS services. So far I've been playing around with containers and figuring out ways I could deploy a simple containerized application to the cloud without much fuss. I've found AWS Elastic Container Service and AWS Elastic Kubernetes Service (more on kubernetes in another blog post, I've been having fun learning about it) but those are more for managing clusters of containers than just being able to deploy something simple and small. I've also looked at AWS Elastic Beanstalk and while it is possible to deploy docker containers through that service I haven't had much luck doing it through the UI or the Elastic Beanstalk CLI. 9 - 10 - ## Enter AWS App Runner 11 - 12 - This was actually just released a few days ago and is pretty much exactly what I needed for the application I wanted to run. It is pretty similar to Elastic Beanstalk in some ways but with Elastic Beanstalk there are still some things you need to configure yourself like SSL for example whereas with App Runner that's already ready and configured for you. You can simply upload a docker image to your AWS Container registry or link your github repository and any time the image is updated or new code is pushed it'll re-run the build process and deploy your application (automatic deployments are opt-in and a flat $1/month). There are some costs associated with provisioned / active instances + the amount of RAM and CPU you choose and you're billed by the hour but the cost is pretty low and depends on how much traffic your application is getting. 13 - 14 - ## Deploying an application to App Runner 15 - 16 - In these next few screenshots I'll show going from a simple node application to a deployed version in App Runner. I will be using docker to deploy so if you don't already have it installed and would like to follow along I'd suggest doing that now. 17 - 18 - ### Bootstrapping our application 19 - 20 - So, you've decided to feed your hotwheels addiction by making an application to trade hotwheels with other enthusiasts. Great idea! First we'll need to install some dependencies. 21 - 22 - ```bash 23 - mkdir hotwheels-trading-app && cd hotwheels-trading-app 24 - npm init -y 25 - npm install express 26 - ``` 27 - 28 - With our dependencies installed we can now start adding some code! 29 - 30 - ```javascript 31 - // index.js 32 - const express = require("express"); 33 - const app = express(); 34 - 35 - app.get("/", (_, response) => { 36 - response.status(200).json({ 37 - data: { 38 - message: "Welcome to my hotwheels app!", 39 - }, 40 - }); 41 - }); 42 - 43 - app.listen(4000, () => console.log("App running!")); 44 - ``` 45 - 46 - Beautiful, ain't it? You can test it out by running `node index.js` and navigating to `http://localhost:4000`. 47 - 48 - Next we'll containerize the application. Create a Dockerfile and add this to it. 49 - 50 - ```bash 51 - FROM node:alpine 52 - 53 - WORKDIR /app 54 - 55 - COPY package*.json /app/ 56 - 57 - RUN npm install 58 - 59 - COPY . /app/ 60 - 61 - CMD ["node", "index.js"] 62 - ``` 63 - 64 - Then build the image. 65 - 66 - ```bash 67 - docker build -t hotwheels-app:latest . 68 - ``` 69 - 70 - Then test it locally to make sure everything is still working. 71 - 72 - ```bash 73 - docker run --name hotwheels-app -p 4000:4000 -d hotwheels-app:latest 74 - ``` 75 - 76 - You should be able to navigate to the same URL that we used before and see the same message. Alright cool, we've finished setting up our nifty application and now we want to get it to the public. 77 - 78 - ### Uploading the image to AWS Elastic Container Registry 79 - 80 - In the AWS console navigate over to the Elastic Container Registry 81 - 82 - ![AWS Console search results](https://www.datocms-assets.com/44755/1621569095-console.png) 83 - 84 - Then click create repository 85 - 86 - ![Image of the AWS ECR main screen](https://www.datocms-assets.com/44755/1621569099-ecr1.png) 87 - 88 - You can just leave all the settings to default (I chose to turn scanning on just so it checks for vulnerabilites but for this you don't need to turn it on) 89 - 90 - ![Image of AWS ECR create repository page](https://www.datocms-assets.com/44755/1621569102-ecr2.png) 91 - 92 - Once the repository is created you should see it in the list on the main screen, click the repository name then in the top right click "View push commands". Copy and execute the commands one by one to push your image to the repository. After you're done you should see your image in the repository (click the refresh button if you don't). 93 - 94 - ![Image of docker container in the ECR repository](https://www.datocms-assets.com/44755/1621569528-ecr4.png) 95 - 96 - That's all that needs to be done for the docker image side of things. The last step would be to get everything set up in App Runner. 97 - 98 - ### Deploying our cool new app ๐Ÿš€ 99 - 100 - In the AWS console head over to AWS App runner. 101 - 102 - ![Image of AWS console](https://www.datocms-assets.com/44755/1621571455-runner1.png) 103 - 104 - Some more things App Runner includes out of the box are 105 - load balancing, auto-scaling and monitoring via cloud watch and since you're already in the AWS ecosystem you can make use of the many other services they offer. 106 - 107 - Click "Create an App Runner service" to get started. In the first step you're prompted with a few different options. We'll be using the docker image we uploaded to ECR so keep the repository type "Container registry" selected. The provider you can leave default also since we uploaded our image to a private repository but if you wanted to you could use public also so as long your image is in a public respository. 108 - 109 - ![Image of App Runner create service page](https://www.datocms-assets.com/44755/1621571459-runner2.png) 110 - 111 - For the docker image click browse and select the hotwheels-app from the dropdown and then click continue. 112 - 113 - ![Image of selecting docker image for App Runner](https://www.datocms-assets.com/44755/1621571463-runner3.png) 114 - 115 - For deployment settings you have the option between manual and automatic. As a reminder, **automatic deployments do cost money** ($1/month) so keep that in mind if you do select it. For this example I will but will also delete the application right after I am done as I don't think it incurs a cost. 116 - 117 - For step two all you need to do is give the application a name and fill out the port number. In this step you're also able to customize the auto-scaling settings, you can set minimum and maximum instances as well as the amount of concurrent requests your application should reach before adding more instances. 118 - 119 - ![Image of step two of App Runner settings](https://www.datocms-assets.com/44755/1621571466-runner4.png) 120 - 121 - Step three is just reviewing your configurations but you can also edit anything here if you wanted to. After you're done reviewing just click "create & deploy" and wait for your application to be created. 122 - 123 - ### Issues 124 - 125 - As of May 20th, 2021, creating a service role is a bit bugged and you'll get an error the first time you use App Runner when you get to the 3rd step. What I did was select "create service role" then fill out the information until the end then click create & deploy. You may or may not get an error depending on if it's fixed or not but if it isn't all you have to do is go back to step one and select "use existing role" and select the app runner role from the list then try deploying again. 126 - 127 - If everything goes well you should see a message saying the deployment was successful and there is a link provided under "default domain" to view your newly deployed application! Remember to tear down the environment after playing around with it also! 128 - 129 - ## Conclusion 130 - 131 - I think App Runner is pretty neat and I may use it in the future to host an application. Another free alternative would be Heroku but if you're looking for something equivalent in the AWS space this is it. I'd suggest to keep poking around and taking a look at the [pricing](https://aws.amazon.com/apprunner/pricing/) breakdown and find which configuration fits for you.
-255
src/data/blog/supabase-auth-with-remix-and-vite.mdx
··· 1 - --- 2 - title: Add authentication to your Remix application with Supabase 3 - description: Adding authentication to your remix app with Supabase has never been easier, this blog post will show you how to get up and running quickly 4 - year: 2024 5 - published_at: 2024-03-08 6 - --- 7 - 8 - With Supabase now fully supporting doing authentication completely server-side, it has never been easier to take advantage of all of the features that it offers. We'll go through how to quickly spin up a Remix project and add supabase with authentication. 9 - 10 - ## Spin up a new Remix project 11 - 12 - This guide should also work for non-vite Remix projects but my preference is to use vite so we'll use a clean vite template. 13 - 14 - ```bash 15 - npx create-remix@latest 16 - ``` 17 - 18 - Run this command in your terminal and follow the prompts, then open your new project in your editor of choice. You'll also need to [create a new project in supabase](https://supabase.com/) so that we can get access to the environment variables for this example. 19 - 20 - Once you've created a supabase project, in the root of your project create a `.env` file and paste in the values for your `SUPABASE_URL` and `SUPABASE_ANON_KEY`. You can find these values by going into your supabase project dashboard, clicking on the on the connect button and selecting Remix from the frameworks list. 21 - 22 - ![Supabase dashboard connect button](https://i.ibb.co/k4GYkG8/Screenshot-2024-03-07-at-6-38-35-PM.png) 23 - 24 - ![Supabase frameworks dropdown list](https://i.ibb.co/HpXVMMW/Screenshot-2024-03-07-at-6-40-13-PM.png) 25 - 26 - Lastly, install the `@supabase/ssr` package. 27 - 28 - ```bash 29 - npm install @supabase/ssr 30 - ``` 31 - 32 - ## Setting up authentication 33 - 34 - There are a bunch of ways you can set up auth in supabase. E-mail and password combo, E-mail magic link, OAuth and so on. For the sake of this blog post we'll set up E-mail and password since it's the simplest one. Though that should be enough to explore the other methods as well if you wish. 35 - 36 - ### Create the necessary files 37 - 38 - In here we are just creating a utility function so that we can re-use this function across all instances where we need to access supabase resources. 39 - 40 - ```ts 41 - // app/utils/supabase.server.ts 42 - 43 - import { createServerClient, serialize, parse } from "@supabase/ssr"; 44 - 45 - export function createClient(request: Request) { 46 - const cookies = parse(request.headers.get("Cookie") ?? ""); 47 - const headers = new Headers(); 48 - 49 - const supabase = createServerClient( 50 - process.env.SUPABASE_URL!, 51 - process.env.SUPABASE_ANON_KEY!, 52 - { 53 - cookies: { 54 - get(key) { 55 - return cookies[key]; 56 - }, 57 - set(key, value, options) { 58 - headers.append("Set-Cookie", serialize(key, value, options)); 59 - }, 60 - remove(key, options) { 61 - headers.append("Set-Cookie", serialize(key, "", options)); 62 - }, 63 - }, 64 - }, 65 - ); 66 - 67 - return { 68 - supabase, 69 - headers, 70 - }; 71 - } 72 - ``` 73 - 74 - This file is for when we are signing up for the first time and receive a confirmation e-mail. Clicking the link with log you in automatically but going forward you will log in through the log in page. 75 - 76 - ```ts 77 - // app/routes/auth.callback.tsx 78 - 79 - import { redirect, type LoaderFunctionArgs } from "@remix-run/node"; 80 - import { createClient } from "~/utils/supabase.server"; 81 - 82 - export async function loader({ request }: LoaderFunctionArgs) { 83 - const requestUrl = new URL(request.url); 84 - const code = requestUrl.searchParams.get("code"); 85 - const next = requestUrl.searchParams.get("next") || "/"; 86 - const { supabase, headers } = createClient(request); 87 - 88 - if (code) { 89 - const { error } = await supabase.auth.exchangeCodeForSession(code); 90 - if (!error) { 91 - return redirect(next, { headers }); 92 - } 93 - } 94 - 95 - return redirect("/auth/auth-error-page", { headers }); 96 - } 97 - ``` 98 - 99 - Sign up page, you will recieve a confirmation e-mail for the first time that you sign up. After you click the link in your e-mail you will be signed in. 100 - 101 - ```ts 102 - // app/routes/signup.tsx 103 - 104 - import { ActionFunctionArgs, json } from "@remix-run/node"; 105 - import { Form } from "@remix-run/react"; 106 - import { createClient } from "~/utils/supabase.server"; 107 - 108 - export async function action({ request }: ActionFunctionArgs) { 109 - const formData = await request.formData(); 110 - const email = formData.get("email") as string; 111 - const password = formData.get("password") as string; 112 - const { supabase } = createClient(request); 113 - 114 - const { error } = await supabase.auth.signUp({ 115 - email, 116 - password, 117 - }); 118 - 119 - if (error) { 120 - return json({ message: error.message }, { status: 400 }); 121 - } 122 - return null; 123 - } 124 - 125 - export default function Component() { 126 - return ( 127 - <div> 128 - <h1>Sign up</h1> 129 - <Form method="POST"> 130 - <label htmlFor="email">E-mail</label> 131 - <input type="email" name="email" id="email" /> 132 - <label htmlFor="password">Password</label> 133 - <input type="password" name="password" id="password" /> 134 - <button type="submit">Sign up</button> 135 - </Form> 136 - </div> 137 - ); 138 - } 139 - ``` 140 - 141 - Log in page, if all goes well then you will be redirected to the home page after logging in successfully. 142 - 143 - ```ts 144 - // app/routes/login.tsx 145 - 146 - import { ActionFunctionArgs, json } from "@remix-run/node"; 147 - import { Form } from "@remix-run/react"; 148 - import { redirect } from "react-router"; 149 - import { createClient } from "~/utils/supabase.server"; 150 - 151 - export async function action({ request }: ActionFunctionArgs) { 152 - const formData = await request.formData(); 153 - const email = formData.get("email") as string; 154 - const password = formData.get("password") as string; 155 - const { supabase, headers } = createClient(request); 156 - 157 - const { error } = await supabase.auth.signInWithPassword({ 158 - email, 159 - password, 160 - }); 161 - 162 - if (error) { 163 - return json({ message: error.message }, { status: 400 }); 164 - } 165 - return redirect("/", { headers }); 166 - } 167 - 168 - export default function Component() { 169 - return ( 170 - <div> 171 - <h1>Log in</h1> 172 - <Form method="POST"> 173 - <label htmlFor="email">E-mail</label> 174 - <input type="email" name="email" id="email" /> 175 - <label htmlFor="password">Password</label> 176 - <input type="password" name="password" id="password" /> 177 - <button type="submit">Log in</button> 178 - </Form> 179 - </div> 180 - ); 181 - } 182 - ``` 183 - 184 - To verify that everything is working correctly, you can display the information of the currently logged in user. 185 - 186 - ```ts 187 - // app/_index.tsx 188 - 189 - import type { LoaderFunctionArgs, MetaFunction } from "@remix-run/node"; 190 - import { useLoaderData } from "@remix-run/react"; 191 - import { createClient } from "~/utils/supabase.server"; 192 - 193 - export const meta: MetaFunction = () => { 194 - return [ 195 - { title: "New Remix App" }, 196 - { name: "description", content: "Welcome to Remix!" }, 197 - ]; 198 - }; 199 - 200 - export async function loader({ request }: LoaderFunctionArgs) { 201 - const { supabase } = createClient(request); 202 - 203 - const { data } = await supabase.auth.getSession(); 204 - 205 - return { user: data?.session?.user }; 206 - } 207 - 208 - export default function Index() { 209 - const { user } = useLoaderData<typeof loader>(); 210 - return ( 211 - <div> 212 - <h1>Currently logged in user</h1> 213 - <pre>{JSON.stringify(user, null, 2)}</pre> 214 - </div> 215 - ); 216 - } 217 - ``` 218 - 219 - Finally, add a log out button and resource route so that you can sign the user out. 220 - 221 - ```diff 222 - export default function Index() { 223 - const { user } = useLoaderData<typeof loader>(); 224 - return ( 225 - <div> 226 - <h1>Currently logged in user</h1> 227 - <pre>{JSON.stringify(user, null, 2)}</pre> 228 - + <Form method="POST" action="/logout"> 229 - + <button type="submit">Log out</button> 230 - + </Form> 231 - </div> 232 - ); 233 - } 234 - ``` 235 - 236 - ```ts 237 - // app/logout.tsx 238 - 239 - import { ActionFunctionArgs, redirect } from "@remix-run/node"; 240 - import { createClient } from "~/utils/supabase.server"; 241 - 242 - export async function action({ request }: ActionFunctionArgs) { 243 - const { supabase, headers } = createClient(request); 244 - await supabase.auth.signOut(); 245 - return redirect("/login", { headers }); 246 - } 247 - 248 - export const loader = () => redirect("/"); 249 - ``` 250 - 251 - And with that you have fully functioning authentication! 252 - 253 - ## Conclusion 254 - 255 - This is all that is needed to set up authentication, you can explore the other authentication methods if you choose to do so. I have a [repository set up with Github authentication](https://github.com/nulfrost/supabase-remix-ssr) as well as a [live example of supabase auth in action](https://supabase-ssr-remix.vercel.app/).
-107
src/data/blog/type-safe-environment-variables-in-remix.mdx
··· 1 - --- 2 - title: Type-safe environment variables in your Remix application using t3-env 3 - description: Quickly and easily add type-safety and runtime validation to your environment variables using the t3-env package. 4 - year: 2024 5 - published_at: 2024-04-05 6 - --- 7 - 8 - There are many was you can get type-safe variables in your projects, I've tried a few but recently found the t3-env package which makes it even easier and comes with some nice features as well. I will quickly walk through how to set this up in a Remix project. 9 - 10 - ## Install t3-env 11 - 12 - As of writing this, currently you can't just bring in any validation library so you will need to install `zod` as well. 13 - 14 - ```bash 15 - npm install @t3-oss/env-core zod 16 - ``` 17 - 18 - ## Create a new `env.server.ts` file 19 - 20 - Inside of the `/app` directory, create a file named `env.server.ts` and add the following code: 21 - 22 - ```typescript 23 - // app/env.server.ts 24 - 25 - import { createEnv } from "@t3-oss/env-core"; 26 - import { z } from "zod"; 27 - 28 - export const env = createEnv({ 29 - server: { 30 - DATABASE_URL: z.string().url(), 31 - // whatever else you may need 32 - }, 33 - }); 34 - ``` 35 - 36 - Then, to access the environment variables in your loaders or actions or anywhere you might need them, you would just need to import the `env` object and use it like this: 37 - 38 - ```typescript 39 - import { env } from "~/env.server"; 40 - 41 - export async function loader() { 42 - const dbUrl = env.server.DATABASE_URL; 43 - // do something with the dbUrl 44 - } 45 - ``` 46 - 47 - This is enough to get type-safety for your environment variables, but we can go even further. 48 - 49 - If you want to add runtime validation you just need to add a single property: 50 - 51 - ```typescript 52 - export const env = createEnv({ 53 - // ... 54 - runtimeEnv: process.env, 55 - }); 56 - ``` 57 - 58 - and then you'll need to import the `env.server.ts` file into the `entry.server.tsx` file like so: 59 - 60 - ```diff 61 - // app/entry.server.tsx 62 - 63 - import { PassThrough } from "node:stream"; 64 - 65 - import type { AppLoadContext, EntryContext } from "@remix-run/node"; 66 - import { createReadableStreamFromReadable } from "@remix-run/node"; 67 - import { RemixServer } from "@remix-run/react"; 68 - import { isbot } from "isbot"; 69 - import { renderToPipeableStream } from "react-dom/server"; 70 - + import "~/env.server.ts"; 71 - ``` 72 - 73 - On top of that, if you want to override the default error handler, you can do so like this: 74 - 75 - ```typescript 76 - export const env = createEnv({ 77 - onValidationError: (error) => { 78 - throw new Error( 79 - `Invalid environment configuration, missing the following variables: ${error.errors.map((error) => error.path[0]).join(", ")}`, 80 - ); 81 - }, 82 - // ... 83 - }); 84 - ``` 85 - 86 - Putting that all together you should end up with a file that looks like this: 87 - 88 - ```typescript 89 - // app/env.server.ts 90 - 91 - import { createEnv } from "@t3-oss/env-core"; 92 - import { z } from "zod"; 93 - 94 - export const env = createEnv({ 95 - onValidationError: (error) => { 96 - throw new Error( 97 - `Invalid environment configuration, missing the following variables: ${error.errors.map((error) => error.path[0]).join(", ")}`, 98 - ); 99 - }, 100 - server: { 101 - DATABASE_URL: z.string().url(), 102 - }, 103 - runtimeEnv: process.env, 104 - }); 105 - ``` 106 - 107 - If you want to see all of the features available in the t3-env package, I recommend checking out [the official documentation](https://env.t3.gg/docs/introduction).
-57
src/data/blog/what-im-going-to-be-learning-in-2022.mdx
··· 1 - --- 2 - title: What I'm going to be learning in the year 2022 3 - description: Tech / frameworks / languages I'm focusing on in the new year 4 - published_at: 2021-12-15 5 - year: 2021 6 - --- 7 - 8 - This year has been a pretty wild ride for me, from not having a job for almost a year then having multiple offers and then now ending up at a place I feel comfortable in. All in all I think I've made good decisions 9 - and I'm looking forward to more growth in the new year! ๐Ÿš€ 10 - 11 - In terms of learning new things I don't feel like I have done that a lot this year. Things in tech move pretty fast and it gets exhausting trying to keep up with everything that is happening 12 - but for the new year I want to change that. I have an itch to build things and try out all the stuff I've read about in the past year, and maybe actually follow through with finishing my side projects. Okay 13 - who are we kidding that won't change. 14 - 15 - For real though, I want to take my knowledge to the next level. I struggle with figuring out where I stand in terms of experience, I'm not quite a junior but also I feel 16 - my skills aren't there yet to consider myself a senior developer. I know labels don't really matter much but for myself I'd just like to figure out where I am. So, in the new year I'm going to reinforce 17 - the skills I already have and tackle some new things. Here's what I plan to do. 18 - 19 - ## New languages 20 - 21 - I don't really have much for this section, I've been learning Go on and off for probably about a year now but I haven't really applied my learning. I hope to pair it with my learning of cloud technologies. Also I guess rust is all the rage now so maybe that will be worth while to learn, who knows. 22 - 23 - ## Open source 24 - 25 - One thing I'd really love to do is get involved with the open source commmunity whether it be something I make or contributing to another project. This is another thing I have fears about when it comes to being judged harshly for maybe not doing things the correct way. Also a lot of open source projects look pretty daunting. 26 - I know the contribution doesn't have to be code all the time though so maybe I'll focus my efforts on improving documentation first before trying to contribute some code. 27 - 28 - ## Getting really good at CSS 29 - 30 - I know people like to joke about CSS and say it's really hard to work with and while there might be some truth to that I think it's extremely worth while as a frontend developer to be really good at it. You 31 - can definitely get away with knowing the very basic stuff but I've seen some amazing website designs from people on twitter and I'd love to be able to get to that level. I did purchase Josh Comeau's css <a href="https://css-for-js.dev/" target="_blank" rel="noopener noreferrer" aria-label="Visit CSS for JS devs, opens in a new tab">course</a> back 32 - when it was in preview for a good price. I got through most of the sections but work got in the way so I didn't finish it. I plan on starting over from the beginning and finishing it. 33 - 34 - ## Head in the clouds 35 - 36 - After completing the <abbr title="Certified Cloud Practitioner">CCP</abbr> exam last year I started looking into possibly studying for the solutions architect exam for <abbr title="Amazon Web Services">AWS</abbr> next. It is slightly harder than the <abbr title="Certified Cloud Practitioner">CCP</abbr> exam but I have confidence that 37 - with enough preparation I will do fine. I do love learning about cloud technologies 38 - and this the career path I will likely end up going to sometime in the future. Kubernetes 39 - is another thing I tinkered with a bit this year which I plan on going back to and 40 - doing a deeper dive on also. Besides that I want to practice building out mock environments 41 - for small to medium business scenarios for fun and for practice. 42 - 43 - ## Frameworks on Frameworks 44 - 45 - As much as I love Next.js it would be foolish for me to not give kudos to the team behind Remix. My first impressions with it have been extremely positive and I want to try building some side projects with 46 - it as soon as possible! That isn't to say that Vercel hasn't been making some big moves this year either. Some new things introduced such as middleware, URL imports (holy shit), the new rust compiler and alpha support for React server components 47 - has me extremely excited for whats to come next year. Also them going on a hiring spree and picking up some of the brightest minds in tech seems pretty promising too. 48 - 49 - ## Shipping more 50 - 51 - The one thing I love about web development is how easy it is to get started with a project and share it with the world within a matter of minutes. I love the feeling of completing a project (which happens sometimes), hooking it up to a hosting site and then finding all of the bugs you missed during developement. There are 52 - definitely a ton of ideas I'd like to try shipping this year. A lot of this inspiration comes from watching people on twitter ship their side projects, sometimes they fail but they are quick to move onto something else and take the knowledge they've gained from a previous project 53 - and apply it to something new. I think what scared me before was the fear of failing or receiving harsh feedback on the ideas I have but I'm not going to let that stop me in the new year. 2022 is the year of shipping more! 54 - 55 - ## Conclusion 56 - 57 - I've definitely outlined a lot of stuff I want to do in the new year but I don't think it's impossible for me to complete. It's just a matter of creating a plan and sticking to it. I hope by this time next year that I've gained a ton of knowledge and completed all the objectives I've laid out in this post.
-12
src/data/blog/you-dont-have-to-code-all-the-time.mdx
··· 1 - --- 2 - title: You don't have to code all the time 3 - description: Talking about burnout and how I recovered 4 - published_at: 2021-03-18 5 - year: 2021 6 - --- 7 - 8 - Honestly, this is something that I have to remind myself all the time. There's always this voice in the back of my head that tells me I'm wasting time if I'm not practicing or reading about the hip new javascript library that just came out. Being self-taught I always feel I lack a ton of skills that people that have a degree in computer science have and feel very insecure when I'm stuck on a task at work which makes me feel very dumb. 9 - 10 - I know it isn't true and there are endless examples of people that don't have a degree in CS that are extremely smart and are doing exceptionally well in the field and I guess this is something I just need to get over. Mostly what I think it is, is burnout from trying to get _in_ to the software development industry. I have a tech, non-CS background but worked manual labor jobs after college because I was still unsure of what I wanted to do career wise. Software / web development was something I always came back to because at the time it was really fun and I liked creating cool things in the browser. Two years ago I started studying endlessly to get a job as a frontend developer and would use any free time I had to learn. While it was very tiring at times and I would get frustrated I still enjoyed it and still do. 11 - 12 - I did end up getting a job as an intern last year but I think at that point the burnout had already set in. I did enjoy working at the place I was hired at but I would be really hard on myself when I couldn't do simple things and would have mini breakdowns some days. While I still love web development I think I need to turn my brain off for longer breaks and just relax a bit. I enjoy working hard but not to the point where I feel depressed all the time. If I have any advice for people that are in the same situation I was in I'd just say step away from the computer and do things that make you happy. No job / profession is worth driving yourself insane.
-1
src/env.d.ts
··· 1 - /// <reference path="../.astro/types.d.ts" />
src/images/dane.png

This is a binary file and will not be displayed.

-27
src/layouts/BlogLayout.astro
··· 1 - --- 2 - interface Props { 3 - title: string; 4 - description: string; 5 - } 6 - 7 - import Meta from "@components/Meta.astro"; 8 - import Navbar from "@components/Navbar.astro"; 9 - const { title, description } = Astro.props; 10 - --- 11 - 12 - <!doctype html> 13 - <html lang="en" class="font-sans" dir="ltr"> 14 - <Meta title={title} description={description} /> 15 - <body> 16 - <Navbar /> 17 - <main class="max-w-5xl px-3 mx-auto xl:px-0" id="maincontent"> 18 - <h1 class="mt-4 mb-1 text-4xl font-bold"> 19 - {title} 20 - </h1> 21 - <p class="mb-4 text-gray-500">{description}</p> 22 - <div class="pb-6 prose max-w-none"> 23 - <slot /> 24 - </div> 25 - </main> 26 - </body> 27 - </html>
-24
src/layouts/Layout.astro
··· 1 - --- 2 - import Meta from "@components/Meta.astro"; 3 - import Navbar from "@components/Navbar.astro"; 4 - interface Props { 5 - title: string; 6 - description: string; 7 - } 8 - 9 - const { title, description } = Astro.props; 10 - --- 11 - 12 - <!doctype html> 13 - <html lang="en" class="font-sans" dir="ltr"> 14 - <Meta title={title} description={description} /> 15 - <body class="bg-snes-light-gray"> 16 - <Navbar /> 17 - <main 18 - class="max-w-5xl px-3 mx-auto xl:px-0 pb-5 md:pb-0" 19 - id="maincontent" 20 - > 21 - <slot /> 22 - </main> 23 - </body> 24 - </html>
-82
src/pages/blogs/[blog].astro
··· 1 - --- 2 - import BlogLayout from "@layouts/BlogLayout.astro"; 3 - import { 4 - type CollectionEntry, 5 - getCollection, 6 - getEntry, 7 - render, 8 - } from "astro:content"; 9 - 10 - export async function getStaticPaths() { 11 - const posts = await getCollection("blog"); 12 - return posts.map((post) => ({ 13 - params: { blog: post.id }, 14 - props: post, 15 - })); 16 - } 17 - 18 - type Props = CollectionEntry<"blog">; 19 - 20 - const post = await getEntry("blog", Astro.params.blog); 21 - 22 - const { Content } = await render(post); 23 - --- 24 - 25 - <script> 26 - const codeBlock = document.querySelectorAll("pre"); 27 - const copyButton = document.createElement("button"); 28 - copyButton.textContent = "Copy code to clipboard"; 29 - codeBlock.forEach((block) => { 30 - block?.parentNode?.insertBefore(copyButton.cloneNode(true), block); 31 - }); 32 - 33 - const copyButtons = document.querySelectorAll("button"); 34 - 35 - copyButtons.forEach((button) => { 36 - button.addEventListener("click", (event) => { 37 - // @ts-ignore 38 - const code = event.target.nextElementSibling.textContent; 39 - setTimeout(() => { 40 - // @ts-ignore 41 - event.target.textContent = "Copied!"; 42 - setTimeout(() => { 43 - // @ts-ignore 44 - event.target.textContent = "Copy code to clipboard"; 45 - }, 2000); 46 - }, 0); 47 - navigator.clipboard.writeText(code); 48 - }); 49 - }); 50 - </script> 51 - 52 - <BlogLayout {...post!.data}> 53 - <Content /> 54 - </BlogLayout> 55 - 56 - <style is:global> 57 - code { 58 - position: relative; 59 - counter-reset: step; 60 - counter-increment: step 0; 61 - } 62 - 63 - code .line::before { 64 - content: counter(step); 65 - counter-increment: step; 66 - width: 1rem; 67 - margin-right: 1.5rem; 68 - display: inline-block; 69 - text-align: right; 70 - color: rgba(115, 138, 148, 0.2); 71 - } 72 - 73 - pre:hover .line::before { 74 - color: rgba(115, 138, 148, 0.5); 75 - } 76 - 77 - button { 78 - font-size: 0.8rem; 79 - text-align: right; 80 - width: 100%; 81 - } 82 - </style>
-27
src/pages/blogs/index.astro
··· 1 - --- 2 - import Layout from "@layouts/Layout.astro"; 3 - import BlogPost from "@components/BlogPost.astro"; 4 - import { getCollection } from "astro:content"; 5 - 6 - const posts = (await getCollection("blog")).sort( 7 - (a, b) => b.data.published_at.valueOf() - a.data.published_at.valueOf(), 8 - ); 9 - --- 10 - 11 - <Layout 12 - title="Dane's Space | Blog" 13 - description="Where I write about things I've learned or found interesting" 14 - > 15 - <h1 class="mt-4 mb-4 text-2xl font-bold text-snes-black">Blog</h1> 16 - <ul class="space-y-4"> 17 - { 18 - posts.map((post) => ( 19 - <BlogPost 20 - title={post.data.title} 21 - slug={post.id} 22 - published_at={post.data.published_at} 23 - /> 24 - )) 25 - } 26 - </ul> 27 - </Layout>
-129
src/pages/index.astro
··· 1 - --- 2 - import { Image } from "astro:assets"; 3 - import daneImage from "../images/dane.png"; 4 - import Layout from "@layouts/Layout.astro"; 5 - import Link from "@components/Link.astro"; 6 - 7 - import { getCollection } from "astro:content"; 8 - 9 - const posts = (await getCollection("blog")) 10 - .sort( 11 - (a, b) => b.data.published_at.valueOf() - a.data.published_at.valueOf(), 12 - ) 13 - .slice(0, 4); 14 - --- 15 - 16 - <Layout 17 - title="Dane's Space | Home" 18 - description="Hey, I'm Dane. A frontend/fullstack developer from Toronto that enjoys building cool and accessible websites using the latest web technologies." 19 - > 20 - <h1 class="text-2xl font-bold mb-4">Dane</h1> 21 - <div class="mb-4 grid xl:grid-cols-2 gap-4"> 22 - <div> 23 - <div> 24 - <Image 25 - src={daneImage} 26 - alt="Dane staring down at his camera while on a boat" 27 - format="avif" 28 - quality={80} 29 - class="h-full w-sm rounded-lg border border-gray-300 mb-2" 30 - /> 31 - </div> 32 - <div> 33 - <p>He/They</p> 34 - <p>29 years old</p> 35 - <p>Toronto, ONTARIO, Canada</p> 36 - </div> 37 - </div> 38 - <div> 39 - <h2 class="font-bold mb-1">Dane&apos;s latest blog entires</h2> 40 - <ul> 41 - { 42 - posts.map((post) => ( 43 - <li class="mb-2"> 44 - <p class="mb-0 max-w-[60ch]"> 45 - {post.data.title} 46 - <Link 47 - href={`/blogs/${post.id}`} 48 - extraClasses="text-sm font-bold ml-1" 49 - > 50 - (view more) 51 - </Link> 52 - </p> 53 - <span class="text-gray-500 text-sm"> 54 - posted on{" "} 55 - <time 56 - datetime={post.data.published_at.toISOString()} 57 - > 58 - {new Intl.DateTimeFormat("en-US").format( 59 - new Date(post.data.published_at), 60 - )} 61 - </time> 62 - </span> 63 - </li> 64 - )) 65 - } 66 - </ul> 67 - <Link href="/blogs" extraClasses="font-bold" 68 - >View All Blog Entries</Link 69 - > 70 - </div> 71 - </div> 72 - <div class="grid xl:grid-cols-2"> 73 - <div class="border-2 border-blue-400 xl:w-[400px] h-min mb-4 xl:mb-0"> 74 - <h2 class="bg-blue-400 font-bold text-white px-2 py-0.5"> 75 - Contacting Dane 76 - </h2> 77 - <ul class="px-2 py-0.5"> 78 - <li class="flex items-center gap-1"> 79 - <div class="i-lucide-mailbox"></div> 80 - <Link 81 - href="mailto:khadane.miller@gmail.com?subject=Hey%20There" 82 - > 83 - Send Message 84 - </Link> 85 - </li> 86 - <li class="flex items-center gap-1"> 87 - <div class="i-lucide-square-user"></div> 88 - <Link 89 - href="https://www.linkedin.com/in/dmiller94/" 90 - target="_blank" 91 - rel="noopener noreferrer" 92 - > 93 - Add on LinkedIn 94 - </Link> 95 - </li> 96 - <li class="flex items-center gap-1"> 97 - <div class="i-lucide-at-sign"></div> 98 - <Link 99 - href="https://www.threads.net/@dane__m" 100 - target="_blank" 101 - rel="noopener noreferrer" 102 - > 103 - Follow on Threads 104 - </Link> 105 - </li> 106 - </ul> 107 - </div> 108 - <div> 109 - <h2 110 - class="bg-orange-200 font-bold text-orange-500 px-2 py-0.5 mb-2" 111 - > 112 - Dane's Blurbs 113 - </h2> 114 - <h3 class="text-orange-500 font-bold">About me:</h3> 115 - <p class="mb-4"> 116 - I'm a developer from Toronto interested in making <i>cool</i> and 117 - <span class="font-bold">accessible</span> websites for everyone. 118 - </p> 119 - <p> 120 - I got my start in programming through video games and just being 121 - very curious about how things worked. Eventually that turned in 122 - to developing websites which I am still doing today but I have 123 - interests in other areas such as DevOps and Game Development. I 124 - also try to blog about things I've learned when I remember to do 125 - so. 126 - </p> 127 - </div> 128 - </div> 129 - </Layout>
-10
tsconfig.json
··· 1 - { 2 - "extends": "astro/tsconfigs/strict", 3 - "compilerOptions": { 4 - "baseUrl": ".", 5 - "paths": { 6 - "@components/*": ["src/components/*"], 7 - "@layouts/*": ["src/layouts/*"] 8 - } 9 - } 10 - }
-22
uno.config.ts
··· 1 - import { 2 - defineConfig, 3 - presetWebFonts, 4 - transformerVariantGroup, 5 - presetUno, 6 - presetIcons, 7 - presetTypography, 8 - } from "unocss"; 9 - 10 - export default defineConfig({ 11 - presets: [ 12 - presetUno(), 13 - presetWebFonts({ 14 - fonts: { 15 - sans: "Asap:100,300,400,600,700", 16 - }, 17 - }), 18 - presetIcons(), 19 - presetTypography(), 20 - ], 21 - transformers: [transformerVariantGroup()], 22 - });