its for when you want to get like notifications for your reposts

feat: add a small app for monitoring easily on web

ptr.pet 0e34cf20 a2d6dcc7

verified
+3703
+2
app/.gitignore
··· 1 + node_modules 2 + dist
+44
app/.helix/languages.toml
··· 1 + [[language]] 2 + name = "html" 3 + formatter = { command = 'prettierd', args = [".html"] } 4 + auto-format = true 5 + 6 + [[language]] 7 + name = "css" 8 + formatter = { command = 'prettierd', args = [".css"] } 9 + auto-format = true 10 + 11 + [[language]] 12 + name = "scss" 13 + formatter = { command = 'prettierd', args = [".scss"] } 14 + auto-format = true 15 + 16 + [[language]] 17 + name = "javascript" 18 + formatter = { command = 'prettierd', args = [".js"] } 19 + auto-format = true 20 + 21 + [[language]] 22 + name = "typescript" 23 + formatter = { command = 'prettierd', args = [".ts"] } 24 + auto-format = true 25 + 26 + [[language]] 27 + name = "jsx" 28 + formatter = { command = 'prettierd', args = [".jsx"] } 29 + auto-format = true 30 + 31 + [[language]] 32 + name = "tsx" 33 + formatter = { command = 'prettierd', args = [".tsx"] } 34 + auto-format = true 35 + 36 + [[language]] 37 + name = "json" 38 + formatter = { command = 'prettierd', args = [".json"] } 39 + auto-format = true 40 + 41 + [[language]] 42 + name = "jsonc" 43 + formatter = { command = 'prettierd', args = [".jsonc"] } 44 + auto-format = true
+1
app/.prettierrc
··· 1 + {}
+34
app/README.md
··· 1 + ## Usage 2 + 3 + Those templates dependencies are maintained via [pnpm](https://pnpm.io) via `pnpm up -Lri`. 4 + 5 + This is the reason you see a `pnpm-lock.yaml`. That being said, any package manager will work. This file can be safely be removed once you clone a template. 6 + 7 + ```bash 8 + $ npm install # or pnpm install or yarn install 9 + ``` 10 + 11 + ### Learn more on the [Solid Website](https://solidjs.com) and come chat with us on our [Discord](https://discord.com/invite/solidjs) 12 + 13 + ## Available Scripts 14 + 15 + In the project directory, you can run: 16 + 17 + ### `npm run dev` or `npm start` 18 + 19 + Runs the app in the development mode.<br> 20 + Open [http://localhost:3000](http://localhost:3000) to view it in the browser. 21 + 22 + The page will reload if you make edits.<br> 23 + 24 + ### `npm run build` 25 + 26 + Builds the app for production to the `dist` folder.<br> 27 + It correctly bundles Solid in production mode and optimizes the build for the best performance. 28 + 29 + The build is minified and the filenames include the hashes.<br> 30 + Your app is ready to be deployed! 31 + 32 + ## Deployment 33 + 34 + You can deploy the `dist` folder to any static host provider (netlify, surge, now, etc.)
+29
app/eslint.config.js
··· 1 + import js from "@eslint/js"; 2 + import globals from "globals"; 3 + import tseslint from "typescript-eslint"; 4 + import css from "@eslint/css"; 5 + import solid from "eslint-plugin-solid"; 6 + import eslintConfigPrettier from "eslint-config-prettier/flat"; 7 + import { defineConfig } from "eslint/config"; 8 + 9 + export default defineConfig([ 10 + { 11 + files: ["**/*.{js,mjs,cjs,ts,mts,cts}"], 12 + plugins: { js }, 13 + extends: ["js/recommended"], 14 + }, 15 + { 16 + files: ["**/*.{js,mjs,cjs,ts,mts,cts}"], 17 + languageOptions: { globals: globals.browser }, 18 + }, 19 + tseslint.configs.recommended, 20 + { 21 + files: ["**/*.css"], 22 + plugins: { css }, 23 + language: "css/css", 24 + extends: ["css/recommended"], 25 + }, 26 + solid.configs["flat/recommended"], 27 + solid.configs["flat/typescript"], 28 + eslintConfigPrettier, 29 + ]);
+16
app/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" /> 6 + <meta name="theme-color" content="#000000" /> 7 + <link rel="shortcut icon" type="image/ico" href="/src/assets/favicon.ico" /> 8 + <title>bsky repost likes monitor</title> 9 + </head> 10 + <body> 11 + <noscript>You need to enable JavaScript to run this app.</noscript> 12 + <div id="root"></div> 13 + 14 + <script src="/src/index.tsx" type="module"></script> 15 + </body> 16 + </html>
+40
app/package.json
··· 1 + { 2 + "name": "vite-template-solid", 3 + "version": "0.0.0", 4 + "description": "", 5 + "type": "module", 6 + "scripts": { 7 + "start": "vite", 8 + "dev": "vite", 9 + "build": "vite build", 10 + "serve": "vite preview" 11 + }, 12 + "license": "MIT", 13 + "devDependencies": { 14 + "@eslint/css": "^0.8.1", 15 + "@eslint/js": "^9.28.0", 16 + "@unocss/preset-attributify": "^66.1.4", 17 + "@unocss/preset-wind4": "^66.1.4", 18 + "@unocss/transformer-attributify-jsx": "^66.1.4", 19 + "@unocss/transformer-directives": "^66.1.4", 20 + "@unocss/transformer-variant-group": "^66.1.4", 21 + "eslint": "^9.28.0", 22 + "eslint-config-prettier": "^10.1.5", 23 + "eslint-plugin-solid": "^0.14.5", 24 + "globals": "^16.2.0", 25 + "prettier": "3.5.3", 26 + "typescript": "^5.7.2", 27 + "typescript-eslint": "^8.33.1", 28 + "unocss": "^66.1.4", 29 + "vite": "^6.0.0", 30 + "vite-plugin-solid": "^2.11.6" 31 + }, 32 + "dependencies": { 33 + "@atcute/atproto": "^3.1.0", 34 + "@atcute/bluesky": "^3.1.1", 35 + "@atcute/client": "^4.0.3", 36 + "@atcute/identity-resolver": "^1.1.3", 37 + "@atcute/lexicons": "^1.0.4", 38 + "solid-js": "^1.9.5" 39 + } 40 + }
+21
app/package.nix
··· 1 + { 2 + stdenv, 3 + nodejs, 4 + pnpm, 5 + }: 6 + stdenv.mkDerivation (finalAttrs: { 7 + pname = "bsky-repost-likes-monitor"; 8 + version = "main"; 9 + 10 + src = ./.; 11 + 12 + nativeBuildInputs = [ 13 + nodejs 14 + pnpm.configHook 15 + ]; 16 + 17 + pnpmDeps = pnpm.fetchDeps { 18 + inherit (finalAttrs) pname version src; 19 + hash = ""; 20 + }; 21 + })
+3059
app/pnpm-lock.yaml
··· 1 + lockfileVersion: '9.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + importers: 8 + 9 + .: 10 + dependencies: 11 + '@atcute/atproto': 12 + specifier: ^3.1.0 13 + version: 3.1.0 14 + '@atcute/bluesky': 15 + specifier: ^3.1.1 16 + version: 3.1.1 17 + '@atcute/client': 18 + specifier: ^4.0.3 19 + version: 4.0.3 20 + '@atcute/identity-resolver': 21 + specifier: ^1.1.3 22 + version: 1.1.3(@atcute/identity@1.0.2) 23 + '@atcute/lexicons': 24 + specifier: ^1.0.4 25 + version: 1.0.4 26 + solid-js: 27 + specifier: ^1.9.5 28 + version: 1.9.5 29 + devDependencies: 30 + '@eslint/css': 31 + specifier: ^0.8.1 32 + version: 0.8.1 33 + '@eslint/js': 34 + specifier: ^9.28.0 35 + version: 9.28.0 36 + '@unocss/preset-attributify': 37 + specifier: ^66.1.4 38 + version: 66.1.4 39 + '@unocss/preset-wind4': 40 + specifier: ^66.1.4 41 + version: 66.1.4 42 + '@unocss/transformer-attributify-jsx': 43 + specifier: ^66.1.4 44 + version: 66.1.4 45 + '@unocss/transformer-directives': 46 + specifier: ^66.1.4 47 + version: 66.1.4 48 + '@unocss/transformer-variant-group': 49 + specifier: ^66.1.4 50 + version: 66.1.4 51 + eslint: 52 + specifier: ^9.28.0 53 + version: 9.28.0(jiti@2.4.2) 54 + eslint-config-prettier: 55 + specifier: ^10.1.5 56 + version: 10.1.5(eslint@9.28.0(jiti@2.4.2)) 57 + eslint-plugin-solid: 58 + specifier: ^0.14.5 59 + version: 0.14.5(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2) 60 + globals: 61 + specifier: ^16.2.0 62 + version: 16.2.0 63 + prettier: 64 + specifier: 3.5.3 65 + version: 3.5.3 66 + typescript: 67 + specifier: ^5.7.2 68 + version: 5.7.2 69 + typescript-eslint: 70 + specifier: ^8.33.1 71 + version: 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2) 72 + unocss: 73 + specifier: ^66.1.4 74 + version: 66.1.4(postcss@8.5.4)(vite@6.0.0(jiti@2.4.2))(vue@3.5.16(typescript@5.7.2)) 75 + vite: 76 + specifier: ^6.0.0 77 + version: 6.0.0(jiti@2.4.2) 78 + vite-plugin-solid: 79 + specifier: ^2.11.6 80 + version: 2.11.6(solid-js@1.9.5)(vite@6.0.0(jiti@2.4.2)) 81 + 82 + packages: 83 + 84 + '@ampproject/remapping@2.3.0': 85 + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 86 + engines: {node: '>=6.0.0'} 87 + 88 + '@antfu/install-pkg@1.1.0': 89 + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} 90 + 91 + '@antfu/utils@8.1.1': 92 + resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} 93 + 94 + '@atcute/atproto@3.1.0': 95 + resolution: {integrity: sha512-aJbDsY7FcIh8APWKAimBtshPwqoRE056tc0UV6vw4TW4e3nYaHedoJmKhlh/k8KQWxyw64MQThNGMaC89HNoTg==} 96 + 97 + '@atcute/bluesky@3.1.1': 98 + resolution: {integrity: sha512-CyUKfYnl6Uh5esmlr7D3gYV4cq94gA0BjbsOZI2RBpG+UxAlghs/kBPrJQQGZkuYHzuyelmQNS1gALuJjjfhVg==} 99 + 100 + '@atcute/client@4.0.3': 101 + resolution: {integrity: sha512-RIOZWFVLca/HiPAAUDqQPOdOreCxTbL5cb+WUf5yqQOKIu5yEAP3eksinmlLmgIrlr5qVOE7brazUUzaskFCfw==} 102 + 103 + '@atcute/identity-resolver@1.1.3': 104 + resolution: {integrity: sha512-KZgGgg99CWaV7Df3+h3X/WMrDzTPQVfsaoIVbTNLx2B56BvCL2EmaxPSVw/7BFUJMZHlVU4rtoEB4lyvNyMswA==} 105 + peerDependencies: 106 + '@atcute/identity': ^1.0.0 107 + 108 + '@atcute/identity@1.0.2': 109 + resolution: {integrity: sha512-SrDPHuEarEHj9bx7NfYn7DYG6kIgJIMRU581iOCIaVaiZ1WhE9D8QxTxeYG/rbGNSa85E891ECp1sQcKiBN0kg==} 110 + 111 + '@atcute/lexicons@1.0.4': 112 + resolution: {integrity: sha512-VyGJuGKAIeE+71UT9aSMJJdvfxfXsdsGMG9acv9rnGT7enVy4TD5XoYQy7TCHZ4YpxXzuHkqjyAqBz95c4WkRg==} 113 + 114 + '@atcute/util-fetch@1.0.1': 115 + resolution: {integrity: sha512-Clc0E/5ufyGBVfYBUwWNlHONlZCoblSr4Ho50l1LhmRPGB1Wu/AQ9Sz+rsBg7fdaW/auve8ulmwhRhnX2cGRow==} 116 + 117 + '@babel/code-frame@7.26.2': 118 + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} 119 + engines: {node: '>=6.9.0'} 120 + 121 + '@babel/compat-data@7.26.2': 122 + resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} 123 + engines: {node: '>=6.9.0'} 124 + 125 + '@babel/core@7.26.0': 126 + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} 127 + engines: {node: '>=6.9.0'} 128 + 129 + '@babel/generator@7.26.2': 130 + resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} 131 + engines: {node: '>=6.9.0'} 132 + 133 + '@babel/helper-compilation-targets@7.25.9': 134 + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} 135 + engines: {node: '>=6.9.0'} 136 + 137 + '@babel/helper-module-imports@7.18.6': 138 + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} 139 + engines: {node: '>=6.9.0'} 140 + 141 + '@babel/helper-module-imports@7.25.9': 142 + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} 143 + engines: {node: '>=6.9.0'} 144 + 145 + '@babel/helper-module-transforms@7.26.0': 146 + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} 147 + engines: {node: '>=6.9.0'} 148 + peerDependencies: 149 + '@babel/core': ^7.0.0 150 + 151 + '@babel/helper-plugin-utils@7.25.9': 152 + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} 153 + engines: {node: '>=6.9.0'} 154 + 155 + '@babel/helper-string-parser@7.25.9': 156 + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} 157 + engines: {node: '>=6.9.0'} 158 + 159 + '@babel/helper-string-parser@7.27.1': 160 + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} 161 + engines: {node: '>=6.9.0'} 162 + 163 + '@babel/helper-validator-identifier@7.25.9': 164 + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 165 + engines: {node: '>=6.9.0'} 166 + 167 + '@babel/helper-validator-identifier@7.27.1': 168 + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} 169 + engines: {node: '>=6.9.0'} 170 + 171 + '@babel/helper-validator-option@7.25.9': 172 + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} 173 + engines: {node: '>=6.9.0'} 174 + 175 + '@babel/helpers@7.26.0': 176 + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} 177 + engines: {node: '>=6.9.0'} 178 + 179 + '@babel/parser@7.26.2': 180 + resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} 181 + engines: {node: '>=6.0.0'} 182 + hasBin: true 183 + 184 + '@babel/parser@7.27.5': 185 + resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} 186 + engines: {node: '>=6.0.0'} 187 + hasBin: true 188 + 189 + '@babel/plugin-syntax-jsx@7.25.9': 190 + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} 191 + engines: {node: '>=6.9.0'} 192 + peerDependencies: 193 + '@babel/core': ^7.0.0-0 194 + 195 + '@babel/template@7.25.9': 196 + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} 197 + engines: {node: '>=6.9.0'} 198 + 199 + '@babel/traverse@7.25.9': 200 + resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} 201 + engines: {node: '>=6.9.0'} 202 + 203 + '@babel/types@7.26.0': 204 + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} 205 + engines: {node: '>=6.9.0'} 206 + 207 + '@babel/types@7.27.6': 208 + resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} 209 + engines: {node: '>=6.9.0'} 210 + 211 + '@badrap/valita@0.4.5': 212 + resolution: {integrity: sha512-4QwGbuhh/JesHRQj79mO/l37PvJj4l/tlAu7+S1n4h47qwaNpZ0WDvIwUGLYUsdi9uQ5UPpiG9wb1Wm3XUFBUQ==} 213 + engines: {node: '>= 18'} 214 + 215 + '@esbuild/aix-ppc64@0.24.0': 216 + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} 217 + engines: {node: '>=18'} 218 + cpu: [ppc64] 219 + os: [aix] 220 + 221 + '@esbuild/android-arm64@0.24.0': 222 + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} 223 + engines: {node: '>=18'} 224 + cpu: [arm64] 225 + os: [android] 226 + 227 + '@esbuild/android-arm@0.24.0': 228 + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} 229 + engines: {node: '>=18'} 230 + cpu: [arm] 231 + os: [android] 232 + 233 + '@esbuild/android-x64@0.24.0': 234 + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} 235 + engines: {node: '>=18'} 236 + cpu: [x64] 237 + os: [android] 238 + 239 + '@esbuild/darwin-arm64@0.24.0': 240 + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} 241 + engines: {node: '>=18'} 242 + cpu: [arm64] 243 + os: [darwin] 244 + 245 + '@esbuild/darwin-x64@0.24.0': 246 + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} 247 + engines: {node: '>=18'} 248 + cpu: [x64] 249 + os: [darwin] 250 + 251 + '@esbuild/freebsd-arm64@0.24.0': 252 + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} 253 + engines: {node: '>=18'} 254 + cpu: [arm64] 255 + os: [freebsd] 256 + 257 + '@esbuild/freebsd-x64@0.24.0': 258 + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} 259 + engines: {node: '>=18'} 260 + cpu: [x64] 261 + os: [freebsd] 262 + 263 + '@esbuild/linux-arm64@0.24.0': 264 + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} 265 + engines: {node: '>=18'} 266 + cpu: [arm64] 267 + os: [linux] 268 + 269 + '@esbuild/linux-arm@0.24.0': 270 + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} 271 + engines: {node: '>=18'} 272 + cpu: [arm] 273 + os: [linux] 274 + 275 + '@esbuild/linux-ia32@0.24.0': 276 + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} 277 + engines: {node: '>=18'} 278 + cpu: [ia32] 279 + os: [linux] 280 + 281 + '@esbuild/linux-loong64@0.24.0': 282 + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} 283 + engines: {node: '>=18'} 284 + cpu: [loong64] 285 + os: [linux] 286 + 287 + '@esbuild/linux-mips64el@0.24.0': 288 + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} 289 + engines: {node: '>=18'} 290 + cpu: [mips64el] 291 + os: [linux] 292 + 293 + '@esbuild/linux-ppc64@0.24.0': 294 + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} 295 + engines: {node: '>=18'} 296 + cpu: [ppc64] 297 + os: [linux] 298 + 299 + '@esbuild/linux-riscv64@0.24.0': 300 + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} 301 + engines: {node: '>=18'} 302 + cpu: [riscv64] 303 + os: [linux] 304 + 305 + '@esbuild/linux-s390x@0.24.0': 306 + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} 307 + engines: {node: '>=18'} 308 + cpu: [s390x] 309 + os: [linux] 310 + 311 + '@esbuild/linux-x64@0.24.0': 312 + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} 313 + engines: {node: '>=18'} 314 + cpu: [x64] 315 + os: [linux] 316 + 317 + '@esbuild/netbsd-x64@0.24.0': 318 + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} 319 + engines: {node: '>=18'} 320 + cpu: [x64] 321 + os: [netbsd] 322 + 323 + '@esbuild/openbsd-arm64@0.24.0': 324 + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} 325 + engines: {node: '>=18'} 326 + cpu: [arm64] 327 + os: [openbsd] 328 + 329 + '@esbuild/openbsd-x64@0.24.0': 330 + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} 331 + engines: {node: '>=18'} 332 + cpu: [x64] 333 + os: [openbsd] 334 + 335 + '@esbuild/sunos-x64@0.24.0': 336 + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} 337 + engines: {node: '>=18'} 338 + cpu: [x64] 339 + os: [sunos] 340 + 341 + '@esbuild/win32-arm64@0.24.0': 342 + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} 343 + engines: {node: '>=18'} 344 + cpu: [arm64] 345 + os: [win32] 346 + 347 + '@esbuild/win32-ia32@0.24.0': 348 + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} 349 + engines: {node: '>=18'} 350 + cpu: [ia32] 351 + os: [win32] 352 + 353 + '@esbuild/win32-x64@0.24.0': 354 + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} 355 + engines: {node: '>=18'} 356 + cpu: [x64] 357 + os: [win32] 358 + 359 + '@eslint-community/eslint-utils@4.7.0': 360 + resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} 361 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 362 + peerDependencies: 363 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 364 + 365 + '@eslint-community/regexpp@4.12.1': 366 + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 367 + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 368 + 369 + '@eslint/config-array@0.20.0': 370 + resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} 371 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 372 + 373 + '@eslint/config-helpers@0.2.2': 374 + resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} 375 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 376 + 377 + '@eslint/core@0.14.0': 378 + resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} 379 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 380 + 381 + '@eslint/css-tree@3.6.0': 382 + resolution: {integrity: sha512-5avBDwDRRjPII9JqiMauDGTmhGcSEsx+NZhkFrWv3RxwMCFccruAGu5N5RFPp4rug9xaZUujLP3jAXByxYDzSw==} 383 + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 384 + 385 + '@eslint/css@0.8.1': 386 + resolution: {integrity: sha512-674JJD1q8sDlJORLep+gGnm3VRCQo/qLmKQgCIf2LnUK/tHf96StWjLX2IF3yyp3yeU9npZ6ixySMr2G256eiQ==} 387 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 388 + 389 + '@eslint/eslintrc@3.3.1': 390 + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} 391 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 392 + 393 + '@eslint/js@9.28.0': 394 + resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==} 395 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 396 + 397 + '@eslint/object-schema@2.1.6': 398 + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} 399 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 400 + 401 + '@eslint/plugin-kit@0.3.1': 402 + resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} 403 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 404 + 405 + '@humanfs/core@0.19.1': 406 + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 407 + engines: {node: '>=18.18.0'} 408 + 409 + '@humanfs/node@0.16.6': 410 + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 411 + engines: {node: '>=18.18.0'} 412 + 413 + '@humanwhocodes/module-importer@1.0.1': 414 + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 415 + engines: {node: '>=12.22'} 416 + 417 + '@humanwhocodes/retry@0.3.1': 418 + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 419 + engines: {node: '>=18.18'} 420 + 421 + '@humanwhocodes/retry@0.4.3': 422 + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} 423 + engines: {node: '>=18.18'} 424 + 425 + '@iconify/types@2.0.0': 426 + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} 427 + 428 + '@iconify/utils@2.3.0': 429 + resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} 430 + 431 + '@jridgewell/gen-mapping@0.3.5': 432 + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 433 + engines: {node: '>=6.0.0'} 434 + 435 + '@jridgewell/resolve-uri@3.1.2': 436 + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 437 + engines: {node: '>=6.0.0'} 438 + 439 + '@jridgewell/set-array@1.2.1': 440 + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 441 + engines: {node: '>=6.0.0'} 442 + 443 + '@jridgewell/sourcemap-codec@1.5.0': 444 + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 445 + 446 + '@jridgewell/trace-mapping@0.3.25': 447 + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 448 + 449 + '@nodelib/fs.scandir@2.1.5': 450 + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 451 + engines: {node: '>= 8'} 452 + 453 + '@nodelib/fs.stat@2.0.5': 454 + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 455 + engines: {node: '>= 8'} 456 + 457 + '@nodelib/fs.walk@1.2.8': 458 + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 459 + engines: {node: '>= 8'} 460 + 461 + '@polka/url@1.0.0-next.29': 462 + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} 463 + 464 + '@quansync/fs@0.1.3': 465 + resolution: {integrity: sha512-G0OnZbMWEs5LhDyqy2UL17vGhSVHkQIfVojMtEWVenvj0V5S84VBgy86kJIuNsGDp2p7sTKlpSIpBUWdC35OKg==} 466 + engines: {node: '>=20.0.0'} 467 + 468 + '@rollup/rollup-android-arm-eabi@4.27.4': 469 + resolution: {integrity: sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==} 470 + cpu: [arm] 471 + os: [android] 472 + 473 + '@rollup/rollup-android-arm64@4.27.4': 474 + resolution: {integrity: sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==} 475 + cpu: [arm64] 476 + os: [android] 477 + 478 + '@rollup/rollup-darwin-arm64@4.27.4': 479 + resolution: {integrity: sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==} 480 + cpu: [arm64] 481 + os: [darwin] 482 + 483 + '@rollup/rollup-darwin-x64@4.27.4': 484 + resolution: {integrity: sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==} 485 + cpu: [x64] 486 + os: [darwin] 487 + 488 + '@rollup/rollup-freebsd-arm64@4.27.4': 489 + resolution: {integrity: sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==} 490 + cpu: [arm64] 491 + os: [freebsd] 492 + 493 + '@rollup/rollup-freebsd-x64@4.27.4': 494 + resolution: {integrity: sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==} 495 + cpu: [x64] 496 + os: [freebsd] 497 + 498 + '@rollup/rollup-linux-arm-gnueabihf@4.27.4': 499 + resolution: {integrity: sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==} 500 + cpu: [arm] 501 + os: [linux] 502 + 503 + '@rollup/rollup-linux-arm-musleabihf@4.27.4': 504 + resolution: {integrity: sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==} 505 + cpu: [arm] 506 + os: [linux] 507 + 508 + '@rollup/rollup-linux-arm64-gnu@4.27.4': 509 + resolution: {integrity: sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==} 510 + cpu: [arm64] 511 + os: [linux] 512 + 513 + '@rollup/rollup-linux-arm64-musl@4.27.4': 514 + resolution: {integrity: sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==} 515 + cpu: [arm64] 516 + os: [linux] 517 + 518 + '@rollup/rollup-linux-powerpc64le-gnu@4.27.4': 519 + resolution: {integrity: sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==} 520 + cpu: [ppc64] 521 + os: [linux] 522 + 523 + '@rollup/rollup-linux-riscv64-gnu@4.27.4': 524 + resolution: {integrity: sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==} 525 + cpu: [riscv64] 526 + os: [linux] 527 + 528 + '@rollup/rollup-linux-s390x-gnu@4.27.4': 529 + resolution: {integrity: sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==} 530 + cpu: [s390x] 531 + os: [linux] 532 + 533 + '@rollup/rollup-linux-x64-gnu@4.27.4': 534 + resolution: {integrity: sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==} 535 + cpu: [x64] 536 + os: [linux] 537 + 538 + '@rollup/rollup-linux-x64-musl@4.27.4': 539 + resolution: {integrity: sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==} 540 + cpu: [x64] 541 + os: [linux] 542 + 543 + '@rollup/rollup-win32-arm64-msvc@4.27.4': 544 + resolution: {integrity: sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==} 545 + cpu: [arm64] 546 + os: [win32] 547 + 548 + '@rollup/rollup-win32-ia32-msvc@4.27.4': 549 + resolution: {integrity: sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==} 550 + cpu: [ia32] 551 + os: [win32] 552 + 553 + '@rollup/rollup-win32-x64-msvc@4.27.4': 554 + resolution: {integrity: sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==} 555 + cpu: [x64] 556 + os: [win32] 557 + 558 + '@types/babel__core@7.20.5': 559 + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} 560 + 561 + '@types/babel__generator@7.6.8': 562 + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} 563 + 564 + '@types/babel__template@7.4.4': 565 + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} 566 + 567 + '@types/babel__traverse@7.20.6': 568 + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} 569 + 570 + '@types/estree@1.0.6': 571 + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 572 + 573 + '@types/json-schema@7.0.15': 574 + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 575 + 576 + '@typescript-eslint/eslint-plugin@8.33.1': 577 + resolution: {integrity: sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==} 578 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 579 + peerDependencies: 580 + '@typescript-eslint/parser': ^8.33.1 581 + eslint: ^8.57.0 || ^9.0.0 582 + typescript: '>=4.8.4 <5.9.0' 583 + 584 + '@typescript-eslint/parser@8.33.1': 585 + resolution: {integrity: sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==} 586 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 587 + peerDependencies: 588 + eslint: ^8.57.0 || ^9.0.0 589 + typescript: '>=4.8.4 <5.9.0' 590 + 591 + '@typescript-eslint/project-service@8.33.1': 592 + resolution: {integrity: sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==} 593 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 594 + peerDependencies: 595 + typescript: '>=4.8.4 <5.9.0' 596 + 597 + '@typescript-eslint/scope-manager@8.33.1': 598 + resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==} 599 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 600 + 601 + '@typescript-eslint/tsconfig-utils@8.33.1': 602 + resolution: {integrity: sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==} 603 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 604 + peerDependencies: 605 + typescript: '>=4.8.4 <5.9.0' 606 + 607 + '@typescript-eslint/type-utils@8.33.1': 608 + resolution: {integrity: sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==} 609 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 610 + peerDependencies: 611 + eslint: ^8.57.0 || ^9.0.0 612 + typescript: '>=4.8.4 <5.9.0' 613 + 614 + '@typescript-eslint/types@8.33.1': 615 + resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==} 616 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 617 + 618 + '@typescript-eslint/typescript-estree@8.33.1': 619 + resolution: {integrity: sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==} 620 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 621 + peerDependencies: 622 + typescript: '>=4.8.4 <5.9.0' 623 + 624 + '@typescript-eslint/utils@8.33.1': 625 + resolution: {integrity: sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==} 626 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 627 + peerDependencies: 628 + eslint: ^8.57.0 || ^9.0.0 629 + typescript: '>=4.8.4 <5.9.0' 630 + 631 + '@typescript-eslint/visitor-keys@8.33.1': 632 + resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==} 633 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 634 + 635 + '@unocss/astro@66.1.4': 636 + resolution: {integrity: sha512-PFtJKa8V5uJHQ3iKJpdKWWVLG8l0u359a4VUk78ncKGAhRUnQaAhIIEhABTT9MP7iXQP1P12I9myyJbjfw3dHA==} 637 + peerDependencies: 638 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 639 + peerDependenciesMeta: 640 + vite: 641 + optional: true 642 + 643 + '@unocss/cli@66.1.4': 644 + resolution: {integrity: sha512-a+RHPCIOepTDhP3yAk+Kl+NhGldeBmK5wNmBFSzQpltF/dGy4/oCbH3BgmjJzy5LFPcmoF287G5w6P7L0V5pMQ==} 645 + engines: {node: '>=14'} 646 + hasBin: true 647 + 648 + '@unocss/config@66.1.4': 649 + resolution: {integrity: sha512-UIROc/omuctALF7+7vCNAruCii3bZkYe1VfZoy2LgZU71GoTWj7RvRsEOHETY93noTtyUN1+9E7kOCdhxWeGlA==} 650 + engines: {node: '>=14'} 651 + 652 + '@unocss/core@66.1.4': 653 + resolution: {integrity: sha512-PE9PbRG0Gs/srBfps+OuTJ2dJXkz/FgCqefma6Hgdu7xYHFWx2Fq8AnmqghAJxyT6GDpcyQYXiL+ovJNOKWTEg==} 654 + 655 + '@unocss/extractor-arbitrary-variants@66.1.4': 656 + resolution: {integrity: sha512-JSkGUVeOZ4p6XQwVXPrsYvC3Dcz/SOGwGqkaq+KnvdfVxEvLvhCIc6rmj3xKLDx3KotvL+b0HKxKpRZA3SRo2A==} 657 + 658 + '@unocss/inspector@66.1.4': 659 + resolution: {integrity: sha512-iLc4RDTJuSUzMeiJZBfl+DJ2oHjPl59SsgrqWBjMR/kjtnY783tWbIbGdEMNWxamRuHaEWaeTvuJJLQB9CT00w==} 660 + 661 + '@unocss/postcss@66.1.4': 662 + resolution: {integrity: sha512-uCFb3tBB8frLExuhUbPX/oj0KiKXhb6AQP22b7KmErqTzMn8O/QwRUXMsaXxnuIbkyy4pKhwbfxZGraGltswSw==} 663 + engines: {node: '>=14'} 664 + peerDependencies: 665 + postcss: ^8.4.21 666 + 667 + '@unocss/preset-attributify@66.1.4': 668 + resolution: {integrity: sha512-b84oMo4xEoT1y3qdr1xdb/EfG3nfmqn3QPhfmGwJQcAtghO05889M6eqUTW8H7qdANirQ9JEkx0c/wLo3Mr/ZQ==} 669 + 670 + '@unocss/preset-icons@66.1.4': 671 + resolution: {integrity: sha512-QnaNU0Mk5JRivCuGvVUtmCnc5y4oYCAXWnBG1kmY63iN0SEmwjxaMIGWX3+1SyugQzmtAzQhlSRJ8QEV0JItEA==} 672 + 673 + '@unocss/preset-mini@66.1.4': 674 + resolution: {integrity: sha512-Vephm8kprVFJRzfLhxsWV0M/zPrTbumaXG9O+/HRIzodpx6b/fZtoA4MFRWUr0AiiFyj+1PklKGmeNEgGpk4jw==} 675 + 676 + '@unocss/preset-tagify@66.1.4': 677 + resolution: {integrity: sha512-ZbWpO/APW/vc61ePgqnBufEAhYiyzTTGj5j3G9PJ6RyKW3rAj7X3tbFoSfL/sLXddVzal8cR368JRYJYHPEpWA==} 678 + 679 + '@unocss/preset-typography@66.1.4': 680 + resolution: {integrity: sha512-+ZI0q07Ra18DApZ8tOR4S49ju8SEUwNI/+y0+WKwv6+uoD1c+g99EButHmC8//H5k7vvgOlMVLq2p791o8bpTg==} 681 + 682 + '@unocss/preset-uno@66.1.4': 683 + resolution: {integrity: sha512-wjnGQyzGOqm72dhdRCkf5iaddcUu3hKZH2a9hUazUCqR6EJnOTGqgY9rgr3zPVFN/V3rbmwmrVDtp5nwSyiPEw==} 684 + 685 + '@unocss/preset-web-fonts@66.1.4': 686 + resolution: {integrity: sha512-3/JMsvq2sHAOM5PTKnqZYSqmqrVjS8j/MTQFq+au5OeKzaOexz0vjyWHoMmdCBQbJgL1ouX8BaxFVfAN/mdZeA==} 687 + 688 + '@unocss/preset-wind3@66.1.4': 689 + resolution: {integrity: sha512-nXjpiAVt4PUR/sw3ZDxCRVkOdMkmf4n8Ie7Few+ItmzOHJe+xTi2/Y8rpbCqlOyoG33jTxB2ht3TzOJBQw9YoA==} 690 + 691 + '@unocss/preset-wind4@66.1.4': 692 + resolution: {integrity: sha512-fYzPsfIX+n4qhnc+NR8IKvpCIaX7vlrVZC7X01ZD/P8ajiDz9ColmpiutGsowRNwuKuHjzm7pswKSaOEyUDENw==} 693 + 694 + '@unocss/preset-wind@66.1.4': 695 + resolution: {integrity: sha512-hmEj28a/RGwQ6NvyS/22xLK5yAurE1UnvucblPzMSu4hVgTcQk8gtdhJMVYjNzBvAqoFaez4pu9ZVAw1L8bZJg==} 696 + 697 + '@unocss/reset@66.1.4': 698 + resolution: {integrity: sha512-lxLx1jw14wwgYWhO3c68hkh/f9UuGGmb97NsNOO9ZZ06yaafRiAxicUhCEU/FqjdVLKfoWEN9FNnGQbIpxi6lA==} 699 + 700 + '@unocss/rule-utils@66.1.4': 701 + resolution: {integrity: sha512-Hxudvnf0289r+fq4O+GoTvWRQRDEsifTD3DCvSm1kirv/9am8s3+IGHIfkhX3nn1b1Id/fML4kEtXfDLeDLzhg==} 702 + engines: {node: '>=14'} 703 + 704 + '@unocss/transformer-attributify-jsx@66.1.4': 705 + resolution: {integrity: sha512-WUIU5ngoGy5tQEfrD39zDfztKD+jHd+fDlAwdVkVtAYWp8NPeTx8idRdbjXOI9gK3+1IbjBgSuiy2Tsye6KAmA==} 706 + 707 + '@unocss/transformer-compile-class@66.1.4': 708 + resolution: {integrity: sha512-J36BlXyCfSQ/JMHVlQVONQb6vOYlVXejOPHzkVsexZS0iLkiGzVcrdiJ1ceeT+7jQ/8A4DIV4lhQI07rnAS1Qw==} 709 + 710 + '@unocss/transformer-directives@66.1.4': 711 + resolution: {integrity: sha512-KEQrNYFjaNy+rEuuEHx/ckbiIJeutNipMX/d/sf28O8TzEJxYQRjTv48auAZX/F3nBFSdoRfNDg88iLqj+ke2Q==} 712 + 713 + '@unocss/transformer-variant-group@66.1.4': 714 + resolution: {integrity: sha512-uP6UlBoK/mwGwDPzwcdS4wpUVdO+z04ifkRICKWHu8RqPEZd1CrFByI02OI4y8+1CSvck2l2OW7uOmoHjXkQnw==} 715 + 716 + '@unocss/vite@66.1.4': 717 + resolution: {integrity: sha512-1QpErdHiru/pGkAcspXBMwqDti0JrqqjabzgIdz6mNwmP4e4LbGzlWmoe5eEJUXuwJX+NHtWPqM2pDRKIobjeA==} 718 + peerDependencies: 719 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 720 + 721 + '@vue/compiler-core@3.5.16': 722 + resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} 723 + 724 + '@vue/compiler-dom@3.5.16': 725 + resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} 726 + 727 + '@vue/compiler-sfc@3.5.16': 728 + resolution: {integrity: sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==} 729 + 730 + '@vue/compiler-ssr@3.5.16': 731 + resolution: {integrity: sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==} 732 + 733 + '@vue/reactivity@3.5.16': 734 + resolution: {integrity: sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA==} 735 + 736 + '@vue/runtime-core@3.5.16': 737 + resolution: {integrity: sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ==} 738 + 739 + '@vue/runtime-dom@3.5.16': 740 + resolution: {integrity: sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww==} 741 + 742 + '@vue/server-renderer@3.5.16': 743 + resolution: {integrity: sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg==} 744 + peerDependencies: 745 + vue: 3.5.16 746 + 747 + '@vue/shared@3.5.16': 748 + resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} 749 + 750 + acorn-jsx@5.3.2: 751 + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 752 + peerDependencies: 753 + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 754 + 755 + acorn@8.15.0: 756 + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 757 + engines: {node: '>=0.4.0'} 758 + hasBin: true 759 + 760 + ajv@6.12.6: 761 + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 762 + 763 + ansi-styles@4.3.0: 764 + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 765 + engines: {node: '>=8'} 766 + 767 + anymatch@3.1.3: 768 + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 769 + engines: {node: '>= 8'} 770 + 771 + argparse@2.0.1: 772 + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 773 + 774 + babel-plugin-jsx-dom-expressions@0.39.3: 775 + resolution: {integrity: sha512-6RzmSu21zYPlV2gNwzjGG9FgODtt9hIWnx7L//OIioIEuRcnpDZoY8Tr+I81Cy1SrH4qoDyKpwHHo6uAMAeyPA==} 776 + peerDependencies: 777 + '@babel/core': ^7.20.12 778 + 779 + babel-preset-solid@1.9.3: 780 + resolution: {integrity: sha512-jvlx5wDp8s+bEF9sGFw/84SInXOA51ttkUEroQziKMbxplXThVKt83qB6bDTa1HuLNatdU9FHpFOiQWs1tLQIg==} 781 + peerDependencies: 782 + '@babel/core': ^7.0.0 783 + 784 + balanced-match@1.0.2: 785 + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 786 + 787 + binary-extensions@2.3.0: 788 + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 789 + engines: {node: '>=8'} 790 + 791 + brace-expansion@1.1.11: 792 + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 793 + 794 + brace-expansion@2.0.1: 795 + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 796 + 797 + braces@3.0.3: 798 + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 799 + engines: {node: '>=8'} 800 + 801 + browserslist@4.24.2: 802 + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} 803 + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 804 + hasBin: true 805 + 806 + cac@6.7.14: 807 + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 808 + engines: {node: '>=8'} 809 + 810 + callsites@3.1.0: 811 + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 812 + engines: {node: '>=6'} 813 + 814 + caniuse-lite@1.0.30001684: 815 + resolution: {integrity: sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==} 816 + 817 + chalk@4.1.2: 818 + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 819 + engines: {node: '>=10'} 820 + 821 + chokidar@3.6.0: 822 + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 823 + engines: {node: '>= 8.10.0'} 824 + 825 + color-convert@2.0.1: 826 + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 827 + engines: {node: '>=7.0.0'} 828 + 829 + color-name@1.1.4: 830 + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 831 + 832 + colorette@2.0.20: 833 + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} 834 + 835 + concat-map@0.0.1: 836 + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 837 + 838 + confbox@0.1.8: 839 + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} 840 + 841 + confbox@0.2.2: 842 + resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} 843 + 844 + consola@3.4.2: 845 + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} 846 + engines: {node: ^14.18.0 || >=16.10.0} 847 + 848 + convert-source-map@2.0.0: 849 + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 850 + 851 + cross-spawn@7.0.6: 852 + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 853 + engines: {node: '>= 8'} 854 + 855 + css-tree@3.1.0: 856 + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} 857 + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 858 + 859 + csstype@3.1.3: 860 + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 861 + 862 + debug@4.3.7: 863 + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} 864 + engines: {node: '>=6.0'} 865 + peerDependencies: 866 + supports-color: '*' 867 + peerDependenciesMeta: 868 + supports-color: 869 + optional: true 870 + 871 + debug@4.4.1: 872 + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} 873 + engines: {node: '>=6.0'} 874 + peerDependencies: 875 + supports-color: '*' 876 + peerDependenciesMeta: 877 + supports-color: 878 + optional: true 879 + 880 + deep-is@0.1.4: 881 + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 882 + 883 + defu@6.1.4: 884 + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 885 + 886 + destr@2.0.5: 887 + resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} 888 + 889 + duplexer@0.1.2: 890 + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} 891 + 892 + electron-to-chromium@1.5.65: 893 + resolution: {integrity: sha512-PWVzBjghx7/wop6n22vS2MLU8tKGd4Q91aCEGhG/TYmW6PP5OcSXcdnxTe1NNt0T66N8D6jxh4kC8UsdzOGaIw==} 894 + 895 + entities@4.5.0: 896 + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 897 + engines: {node: '>=0.12'} 898 + 899 + esbuild@0.24.0: 900 + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} 901 + engines: {node: '>=18'} 902 + hasBin: true 903 + 904 + escalade@3.2.0: 905 + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 906 + engines: {node: '>=6'} 907 + 908 + escape-string-regexp@4.0.0: 909 + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 910 + engines: {node: '>=10'} 911 + 912 + eslint-config-prettier@10.1.5: 913 + resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} 914 + hasBin: true 915 + peerDependencies: 916 + eslint: '>=7.0.0' 917 + 918 + eslint-plugin-solid@0.14.5: 919 + resolution: {integrity: sha512-nfuYK09ah5aJG/oEN6P1qziy1zLgW4PDWe75VNPi4CEFYk1x2AEqwFeQfEPR7gNn0F2jOeqKhx2E+5oNCOBYWQ==} 920 + engines: {node: '>=18.0.0'} 921 + peerDependencies: 922 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 923 + typescript: '>=4.8.4' 924 + 925 + eslint-scope@8.3.0: 926 + resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} 927 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 928 + 929 + eslint-visitor-keys@3.4.3: 930 + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 931 + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 932 + 933 + eslint-visitor-keys@4.2.0: 934 + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 935 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 936 + 937 + eslint@9.28.0: 938 + resolution: {integrity: sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==} 939 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 940 + hasBin: true 941 + peerDependencies: 942 + jiti: '*' 943 + peerDependenciesMeta: 944 + jiti: 945 + optional: true 946 + 947 + esm-env@1.2.2: 948 + resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} 949 + 950 + espree@10.3.0: 951 + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 952 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 953 + 954 + esquery@1.6.0: 955 + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 956 + engines: {node: '>=0.10'} 957 + 958 + esrecurse@4.3.0: 959 + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 960 + engines: {node: '>=4.0'} 961 + 962 + estraverse@5.3.0: 963 + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 964 + engines: {node: '>=4.0'} 965 + 966 + estree-walker@2.0.2: 967 + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 968 + 969 + esutils@2.0.3: 970 + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 971 + engines: {node: '>=0.10.0'} 972 + 973 + exsolve@1.0.5: 974 + resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} 975 + 976 + fast-deep-equal@3.1.3: 977 + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 978 + 979 + fast-glob@3.3.3: 980 + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 981 + engines: {node: '>=8.6.0'} 982 + 983 + fast-json-stable-stringify@2.1.0: 984 + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 985 + 986 + fast-levenshtein@2.0.6: 987 + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 988 + 989 + fastq@1.19.1: 990 + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 991 + 992 + fdir@6.4.5: 993 + resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==} 994 + peerDependencies: 995 + picomatch: ^3 || ^4 996 + peerDependenciesMeta: 997 + picomatch: 998 + optional: true 999 + 1000 + file-entry-cache@8.0.0: 1001 + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 1002 + engines: {node: '>=16.0.0'} 1003 + 1004 + fill-range@7.1.1: 1005 + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1006 + engines: {node: '>=8'} 1007 + 1008 + find-up@5.0.0: 1009 + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1010 + engines: {node: '>=10'} 1011 + 1012 + flat-cache@4.0.1: 1013 + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 1014 + engines: {node: '>=16'} 1015 + 1016 + flatted@3.3.3: 1017 + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 1018 + 1019 + fsevents@2.3.3: 1020 + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1021 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1022 + os: [darwin] 1023 + 1024 + gensync@1.0.0-beta.2: 1025 + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1026 + engines: {node: '>=6.9.0'} 1027 + 1028 + glob-parent@5.1.2: 1029 + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1030 + engines: {node: '>= 6'} 1031 + 1032 + glob-parent@6.0.2: 1033 + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1034 + engines: {node: '>=10.13.0'} 1035 + 1036 + globals@11.12.0: 1037 + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1038 + engines: {node: '>=4'} 1039 + 1040 + globals@14.0.0: 1041 + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 1042 + engines: {node: '>=18'} 1043 + 1044 + globals@15.15.0: 1045 + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} 1046 + engines: {node: '>=18'} 1047 + 1048 + globals@16.2.0: 1049 + resolution: {integrity: sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==} 1050 + engines: {node: '>=18'} 1051 + 1052 + graphemer@1.4.0: 1053 + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1054 + 1055 + gzip-size@6.0.0: 1056 + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} 1057 + engines: {node: '>=10'} 1058 + 1059 + has-flag@4.0.0: 1060 + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1061 + engines: {node: '>=8'} 1062 + 1063 + html-entities@2.3.3: 1064 + resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} 1065 + 1066 + html-tags@3.3.1: 1067 + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} 1068 + engines: {node: '>=8'} 1069 + 1070 + ignore@5.3.2: 1071 + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1072 + engines: {node: '>= 4'} 1073 + 1074 + ignore@7.0.5: 1075 + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} 1076 + engines: {node: '>= 4'} 1077 + 1078 + import-fresh@3.3.1: 1079 + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1080 + engines: {node: '>=6'} 1081 + 1082 + imurmurhash@0.1.4: 1083 + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1084 + engines: {node: '>=0.8.19'} 1085 + 1086 + inline-style-parser@0.2.4: 1087 + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} 1088 + 1089 + is-binary-path@2.1.0: 1090 + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1091 + engines: {node: '>=8'} 1092 + 1093 + is-extglob@2.1.1: 1094 + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1095 + engines: {node: '>=0.10.0'} 1096 + 1097 + is-glob@4.0.3: 1098 + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1099 + engines: {node: '>=0.10.0'} 1100 + 1101 + is-html@2.0.0: 1102 + resolution: {integrity: sha512-S+OpgB5i7wzIue/YSE5hg0e5ZYfG3hhpNh9KGl6ayJ38p7ED6wxQLd1TV91xHpcTvw90KMJ9EwN3F/iNflHBVg==} 1103 + engines: {node: '>=8'} 1104 + 1105 + is-number@7.0.0: 1106 + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1107 + engines: {node: '>=0.12.0'} 1108 + 1109 + is-what@4.1.16: 1110 + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} 1111 + engines: {node: '>=12.13'} 1112 + 1113 + isexe@2.0.0: 1114 + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1115 + 1116 + jiti@2.4.2: 1117 + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} 1118 + hasBin: true 1119 + 1120 + js-tokens@4.0.0: 1121 + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1122 + 1123 + js-yaml@4.1.0: 1124 + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1125 + hasBin: true 1126 + 1127 + jsesc@3.0.2: 1128 + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} 1129 + engines: {node: '>=6'} 1130 + hasBin: true 1131 + 1132 + json-buffer@3.0.1: 1133 + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1134 + 1135 + json-schema-traverse@0.4.1: 1136 + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1137 + 1138 + json-stable-stringify-without-jsonify@1.0.1: 1139 + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1140 + 1141 + json5@2.2.3: 1142 + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1143 + engines: {node: '>=6'} 1144 + hasBin: true 1145 + 1146 + kebab-case@1.0.2: 1147 + resolution: {integrity: sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q==} 1148 + 1149 + keyv@4.5.4: 1150 + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1151 + 1152 + known-css-properties@0.30.0: 1153 + resolution: {integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==} 1154 + 1155 + kolorist@1.8.0: 1156 + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} 1157 + 1158 + levn@0.4.1: 1159 + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1160 + engines: {node: '>= 0.8.0'} 1161 + 1162 + local-pkg@1.1.1: 1163 + resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} 1164 + engines: {node: '>=14'} 1165 + 1166 + locate-path@6.0.0: 1167 + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1168 + engines: {node: '>=10'} 1169 + 1170 + lodash.merge@4.6.2: 1171 + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1172 + 1173 + lru-cache@5.1.1: 1174 + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1175 + 1176 + magic-string@0.30.17: 1177 + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1178 + 1179 + mdn-data@2.12.2: 1180 + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} 1181 + 1182 + mdn-data@2.21.0: 1183 + resolution: {integrity: sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ==} 1184 + 1185 + merge-anything@5.1.7: 1186 + resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} 1187 + engines: {node: '>=12.13'} 1188 + 1189 + merge2@1.4.1: 1190 + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1191 + engines: {node: '>= 8'} 1192 + 1193 + micromatch@4.0.8: 1194 + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1195 + engines: {node: '>=8.6'} 1196 + 1197 + minimatch@3.1.2: 1198 + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1199 + 1200 + minimatch@9.0.5: 1201 + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1202 + engines: {node: '>=16 || 14 >=14.17'} 1203 + 1204 + mlly@1.7.4: 1205 + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} 1206 + 1207 + mrmime@2.0.1: 1208 + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} 1209 + engines: {node: '>=10'} 1210 + 1211 + ms@2.1.3: 1212 + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1213 + 1214 + nanoid@3.3.11: 1215 + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1216 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1217 + hasBin: true 1218 + 1219 + nanoid@3.3.8: 1220 + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} 1221 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1222 + hasBin: true 1223 + 1224 + natural-compare@1.4.0: 1225 + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1226 + 1227 + node-fetch-native@1.6.6: 1228 + resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} 1229 + 1230 + node-releases@2.0.18: 1231 + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} 1232 + 1233 + normalize-path@3.0.0: 1234 + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1235 + engines: {node: '>=0.10.0'} 1236 + 1237 + ofetch@1.4.1: 1238 + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} 1239 + 1240 + optionator@0.9.4: 1241 + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1242 + engines: {node: '>= 0.8.0'} 1243 + 1244 + p-limit@3.1.0: 1245 + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1246 + engines: {node: '>=10'} 1247 + 1248 + p-locate@5.0.0: 1249 + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1250 + engines: {node: '>=10'} 1251 + 1252 + package-manager-detector@1.3.0: 1253 + resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} 1254 + 1255 + parent-module@1.0.1: 1256 + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1257 + engines: {node: '>=6'} 1258 + 1259 + parse5@7.2.1: 1260 + resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} 1261 + 1262 + path-exists@4.0.0: 1263 + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1264 + engines: {node: '>=8'} 1265 + 1266 + path-key@3.1.1: 1267 + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1268 + engines: {node: '>=8'} 1269 + 1270 + pathe@2.0.3: 1271 + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 1272 + 1273 + perfect-debounce@1.0.0: 1274 + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} 1275 + 1276 + picocolors@1.1.1: 1277 + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1278 + 1279 + picomatch@2.3.1: 1280 + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1281 + engines: {node: '>=8.6'} 1282 + 1283 + picomatch@4.0.2: 1284 + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1285 + engines: {node: '>=12'} 1286 + 1287 + pkg-types@1.3.1: 1288 + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} 1289 + 1290 + pkg-types@2.1.0: 1291 + resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} 1292 + 1293 + postcss@8.4.49: 1294 + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} 1295 + engines: {node: ^10 || ^12 || >=14} 1296 + 1297 + postcss@8.5.4: 1298 + resolution: {integrity: sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==} 1299 + engines: {node: ^10 || ^12 || >=14} 1300 + 1301 + prelude-ls@1.2.1: 1302 + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1303 + engines: {node: '>= 0.8.0'} 1304 + 1305 + prettier@3.5.3: 1306 + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} 1307 + engines: {node: '>=14'} 1308 + hasBin: true 1309 + 1310 + punycode@2.3.1: 1311 + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1312 + engines: {node: '>=6'} 1313 + 1314 + quansync@0.2.10: 1315 + resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} 1316 + 1317 + queue-microtask@1.2.3: 1318 + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1319 + 1320 + readdirp@3.6.0: 1321 + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1322 + engines: {node: '>=8.10.0'} 1323 + 1324 + resolve-from@4.0.0: 1325 + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1326 + engines: {node: '>=4'} 1327 + 1328 + reusify@1.1.0: 1329 + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1330 + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1331 + 1332 + rollup@4.27.4: 1333 + resolution: {integrity: sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==} 1334 + engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1335 + hasBin: true 1336 + 1337 + run-parallel@1.2.0: 1338 + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1339 + 1340 + semver@6.3.1: 1341 + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1342 + hasBin: true 1343 + 1344 + semver@7.7.2: 1345 + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} 1346 + engines: {node: '>=10'} 1347 + hasBin: true 1348 + 1349 + seroval-plugins@1.1.1: 1350 + resolution: {integrity: sha512-qNSy1+nUj7hsCOon7AO4wdAIo9P0jrzAMp18XhiOzA6/uO5TKtP7ScozVJ8T293oRIvi5wyCHSM4TrJo/c/GJA==} 1351 + engines: {node: '>=10'} 1352 + peerDependencies: 1353 + seroval: ^1.0 1354 + 1355 + seroval@1.1.1: 1356 + resolution: {integrity: sha512-rqEO6FZk8mv7Hyv4UCj3FD3b6Waqft605TLfsCe/BiaylRpyyMC0b+uA5TJKawX3KzMrdi3wsLbCaLplrQmBvQ==} 1357 + engines: {node: '>=10'} 1358 + 1359 + shebang-command@2.0.0: 1360 + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1361 + engines: {node: '>=8'} 1362 + 1363 + shebang-regex@3.0.0: 1364 + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1365 + engines: {node: '>=8'} 1366 + 1367 + sirv@3.0.1: 1368 + resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} 1369 + engines: {node: '>=18'} 1370 + 1371 + solid-js@1.9.5: 1372 + resolution: {integrity: sha512-ogI3DaFcyn6UhYhrgcyRAMbu/buBJitYQASZz5WzfQVPP10RD2AbCoRZ517psnezrasyCbWzIxZ6kVqet768xw==} 1373 + 1374 + solid-refresh@0.6.3: 1375 + resolution: {integrity: sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==} 1376 + peerDependencies: 1377 + solid-js: ^1.3 1378 + 1379 + source-map-js@1.2.1: 1380 + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1381 + engines: {node: '>=0.10.0'} 1382 + 1383 + strip-json-comments@3.1.1: 1384 + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1385 + engines: {node: '>=8'} 1386 + 1387 + style-to-object@1.0.9: 1388 + resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} 1389 + 1390 + supports-color@7.2.0: 1391 + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1392 + engines: {node: '>=8'} 1393 + 1394 + tinyexec@1.0.1: 1395 + resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} 1396 + 1397 + tinyglobby@0.2.14: 1398 + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} 1399 + engines: {node: '>=12.0.0'} 1400 + 1401 + to-regex-range@5.0.1: 1402 + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1403 + engines: {node: '>=8.0'} 1404 + 1405 + totalist@3.0.1: 1406 + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 1407 + engines: {node: '>=6'} 1408 + 1409 + ts-api-utils@2.1.0: 1410 + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 1411 + engines: {node: '>=18.12'} 1412 + peerDependencies: 1413 + typescript: '>=4.8.4' 1414 + 1415 + type-check@0.4.0: 1416 + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1417 + engines: {node: '>= 0.8.0'} 1418 + 1419 + typescript-eslint@8.33.1: 1420 + resolution: {integrity: sha512-AgRnV4sKkWOiZ0Kjbnf5ytTJXMUZQ0qhSVdQtDNYLPLnjsATEYhaO94GlRQwi4t4gO8FfjM6NnikHeKjUm8D7A==} 1421 + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1422 + peerDependencies: 1423 + eslint: ^8.57.0 || ^9.0.0 1424 + typescript: '>=4.8.4 <5.9.0' 1425 + 1426 + typescript@5.7.2: 1427 + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} 1428 + engines: {node: '>=14.17'} 1429 + hasBin: true 1430 + 1431 + ufo@1.6.1: 1432 + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} 1433 + 1434 + unconfig@7.3.2: 1435 + resolution: {integrity: sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==} 1436 + 1437 + unocss@66.1.4: 1438 + resolution: {integrity: sha512-8CrYOrGzTL+YnOTWSefD8L+AI8VAbLE7ho0sG8Mri3mlOCDxZOJ2yX4hwEK5sOQ/vcutQFuWTVfOUiSlnzjRCw==} 1439 + engines: {node: '>=14'} 1440 + peerDependencies: 1441 + '@unocss/webpack': 66.1.4 1442 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 1443 + peerDependenciesMeta: 1444 + '@unocss/webpack': 1445 + optional: true 1446 + vite: 1447 + optional: true 1448 + 1449 + unplugin-utils@0.2.4: 1450 + resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} 1451 + engines: {node: '>=18.12.0'} 1452 + 1453 + update-browserslist-db@1.1.1: 1454 + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} 1455 + hasBin: true 1456 + peerDependencies: 1457 + browserslist: '>= 4.21.0' 1458 + 1459 + uri-js@4.4.1: 1460 + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1461 + 1462 + validate-html-nesting@1.2.2: 1463 + resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} 1464 + 1465 + vite-plugin-solid@2.11.6: 1466 + resolution: {integrity: sha512-Sl5CTqJTGyEeOsmdH6BOgalIZlwH3t4/y0RQuFLMGnvWMBvxb4+lq7x3BSiAw6etf0QexfNJW7HSOO/Qf7pigg==} 1467 + peerDependencies: 1468 + '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* 1469 + solid-js: ^1.7.2 1470 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 1471 + peerDependenciesMeta: 1472 + '@testing-library/jest-dom': 1473 + optional: true 1474 + 1475 + vite@6.0.0: 1476 + resolution: {integrity: sha512-Q2+5yQV79EdnpbNxjD3/QHVMCBaQ3Kpd4/uL51UGuh38bIIM+s4o3FqyCzRvTRwFb+cWIUeZvaWwS9y2LD2qeQ==} 1477 + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1478 + hasBin: true 1479 + peerDependencies: 1480 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1481 + jiti: '>=1.21.0' 1482 + less: '*' 1483 + lightningcss: ^1.21.0 1484 + sass: '*' 1485 + sass-embedded: '*' 1486 + stylus: '*' 1487 + sugarss: '*' 1488 + terser: ^5.16.0 1489 + tsx: ^4.8.1 1490 + yaml: ^2.4.2 1491 + peerDependenciesMeta: 1492 + '@types/node': 1493 + optional: true 1494 + jiti: 1495 + optional: true 1496 + less: 1497 + optional: true 1498 + lightningcss: 1499 + optional: true 1500 + sass: 1501 + optional: true 1502 + sass-embedded: 1503 + optional: true 1504 + stylus: 1505 + optional: true 1506 + sugarss: 1507 + optional: true 1508 + terser: 1509 + optional: true 1510 + tsx: 1511 + optional: true 1512 + yaml: 1513 + optional: true 1514 + 1515 + vitefu@1.0.4: 1516 + resolution: {integrity: sha512-y6zEE3PQf6uu/Mt6DTJ9ih+kyJLr4XcSgHR2zUkM8SWDhuixEJxfJ6CZGMHh1Ec3vPLoEA0IHU5oWzVqw8ulow==} 1517 + peerDependencies: 1518 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 1519 + peerDependenciesMeta: 1520 + vite: 1521 + optional: true 1522 + 1523 + vue-flow-layout@0.1.1: 1524 + resolution: {integrity: sha512-JdgRRUVrN0Y2GosA0M68DEbKlXMqJ7FQgsK8CjQD2vxvNSqAU6PZEpi4cfcTVtfM2GVOMjHo7GKKLbXxOBqDqA==} 1525 + peerDependencies: 1526 + vue: ^3.4.37 1527 + 1528 + vue@3.5.16: 1529 + resolution: {integrity: sha512-rjOV2ecxMd5SiAmof2xzh2WxntRcigkX/He4YFJ6WdRvVUrbt6DxC1Iujh10XLl8xCDRDtGKMeO3D+pRQ1PP9w==} 1530 + peerDependencies: 1531 + typescript: '*' 1532 + peerDependenciesMeta: 1533 + typescript: 1534 + optional: true 1535 + 1536 + which@2.0.2: 1537 + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1538 + engines: {node: '>= 8'} 1539 + hasBin: true 1540 + 1541 + word-wrap@1.2.5: 1542 + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1543 + engines: {node: '>=0.10.0'} 1544 + 1545 + yallist@3.1.1: 1546 + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 1547 + 1548 + yocto-queue@0.1.0: 1549 + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1550 + engines: {node: '>=10'} 1551 + 1552 + snapshots: 1553 + 1554 + '@ampproject/remapping@2.3.0': 1555 + dependencies: 1556 + '@jridgewell/gen-mapping': 0.3.5 1557 + '@jridgewell/trace-mapping': 0.3.25 1558 + 1559 + '@antfu/install-pkg@1.1.0': 1560 + dependencies: 1561 + package-manager-detector: 1.3.0 1562 + tinyexec: 1.0.1 1563 + 1564 + '@antfu/utils@8.1.1': {} 1565 + 1566 + '@atcute/atproto@3.1.0': 1567 + dependencies: 1568 + '@atcute/lexicons': 1.0.4 1569 + 1570 + '@atcute/bluesky@3.1.1': 1571 + dependencies: 1572 + '@atcute/atproto': 3.1.0 1573 + '@atcute/lexicons': 1.0.4 1574 + 1575 + '@atcute/client@4.0.3': 1576 + dependencies: 1577 + '@atcute/identity': 1.0.2 1578 + '@atcute/lexicons': 1.0.4 1579 + 1580 + '@atcute/identity-resolver@1.1.3(@atcute/identity@1.0.2)': 1581 + dependencies: 1582 + '@atcute/identity': 1.0.2 1583 + '@atcute/lexicons': 1.0.4 1584 + '@atcute/util-fetch': 1.0.1 1585 + '@badrap/valita': 0.4.5 1586 + 1587 + '@atcute/identity@1.0.2': 1588 + dependencies: 1589 + '@atcute/lexicons': 1.0.4 1590 + '@badrap/valita': 0.4.5 1591 + 1592 + '@atcute/lexicons@1.0.4': 1593 + dependencies: 1594 + esm-env: 1.2.2 1595 + 1596 + '@atcute/util-fetch@1.0.1': 1597 + dependencies: 1598 + '@badrap/valita': 0.4.5 1599 + 1600 + '@babel/code-frame@7.26.2': 1601 + dependencies: 1602 + '@babel/helper-validator-identifier': 7.25.9 1603 + js-tokens: 4.0.0 1604 + picocolors: 1.1.1 1605 + 1606 + '@babel/compat-data@7.26.2': {} 1607 + 1608 + '@babel/core@7.26.0': 1609 + dependencies: 1610 + '@ampproject/remapping': 2.3.0 1611 + '@babel/code-frame': 7.26.2 1612 + '@babel/generator': 7.26.2 1613 + '@babel/helper-compilation-targets': 7.25.9 1614 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) 1615 + '@babel/helpers': 7.26.0 1616 + '@babel/parser': 7.26.2 1617 + '@babel/template': 7.25.9 1618 + '@babel/traverse': 7.25.9 1619 + '@babel/types': 7.26.0 1620 + convert-source-map: 2.0.0 1621 + debug: 4.3.7 1622 + gensync: 1.0.0-beta.2 1623 + json5: 2.2.3 1624 + semver: 6.3.1 1625 + transitivePeerDependencies: 1626 + - supports-color 1627 + 1628 + '@babel/generator@7.26.2': 1629 + dependencies: 1630 + '@babel/parser': 7.26.2 1631 + '@babel/types': 7.26.0 1632 + '@jridgewell/gen-mapping': 0.3.5 1633 + '@jridgewell/trace-mapping': 0.3.25 1634 + jsesc: 3.0.2 1635 + 1636 + '@babel/helper-compilation-targets@7.25.9': 1637 + dependencies: 1638 + '@babel/compat-data': 7.26.2 1639 + '@babel/helper-validator-option': 7.25.9 1640 + browserslist: 4.24.2 1641 + lru-cache: 5.1.1 1642 + semver: 6.3.1 1643 + 1644 + '@babel/helper-module-imports@7.18.6': 1645 + dependencies: 1646 + '@babel/types': 7.26.0 1647 + 1648 + '@babel/helper-module-imports@7.25.9': 1649 + dependencies: 1650 + '@babel/traverse': 7.25.9 1651 + '@babel/types': 7.26.0 1652 + transitivePeerDependencies: 1653 + - supports-color 1654 + 1655 + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': 1656 + dependencies: 1657 + '@babel/core': 7.26.0 1658 + '@babel/helper-module-imports': 7.25.9 1659 + '@babel/helper-validator-identifier': 7.25.9 1660 + '@babel/traverse': 7.25.9 1661 + transitivePeerDependencies: 1662 + - supports-color 1663 + 1664 + '@babel/helper-plugin-utils@7.25.9': {} 1665 + 1666 + '@babel/helper-string-parser@7.25.9': {} 1667 + 1668 + '@babel/helper-string-parser@7.27.1': {} 1669 + 1670 + '@babel/helper-validator-identifier@7.25.9': {} 1671 + 1672 + '@babel/helper-validator-identifier@7.27.1': {} 1673 + 1674 + '@babel/helper-validator-option@7.25.9': {} 1675 + 1676 + '@babel/helpers@7.26.0': 1677 + dependencies: 1678 + '@babel/template': 7.25.9 1679 + '@babel/types': 7.26.0 1680 + 1681 + '@babel/parser@7.26.2': 1682 + dependencies: 1683 + '@babel/types': 7.26.0 1684 + 1685 + '@babel/parser@7.27.5': 1686 + dependencies: 1687 + '@babel/types': 7.27.6 1688 + 1689 + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': 1690 + dependencies: 1691 + '@babel/core': 7.26.0 1692 + '@babel/helper-plugin-utils': 7.25.9 1693 + 1694 + '@babel/template@7.25.9': 1695 + dependencies: 1696 + '@babel/code-frame': 7.26.2 1697 + '@babel/parser': 7.26.2 1698 + '@babel/types': 7.26.0 1699 + 1700 + '@babel/traverse@7.25.9': 1701 + dependencies: 1702 + '@babel/code-frame': 7.26.2 1703 + '@babel/generator': 7.26.2 1704 + '@babel/parser': 7.26.2 1705 + '@babel/template': 7.25.9 1706 + '@babel/types': 7.26.0 1707 + debug: 4.3.7 1708 + globals: 11.12.0 1709 + transitivePeerDependencies: 1710 + - supports-color 1711 + 1712 + '@babel/types@7.26.0': 1713 + dependencies: 1714 + '@babel/helper-string-parser': 7.25.9 1715 + '@babel/helper-validator-identifier': 7.25.9 1716 + 1717 + '@babel/types@7.27.6': 1718 + dependencies: 1719 + '@babel/helper-string-parser': 7.27.1 1720 + '@babel/helper-validator-identifier': 7.27.1 1721 + 1722 + '@badrap/valita@0.4.5': {} 1723 + 1724 + '@esbuild/aix-ppc64@0.24.0': 1725 + optional: true 1726 + 1727 + '@esbuild/android-arm64@0.24.0': 1728 + optional: true 1729 + 1730 + '@esbuild/android-arm@0.24.0': 1731 + optional: true 1732 + 1733 + '@esbuild/android-x64@0.24.0': 1734 + optional: true 1735 + 1736 + '@esbuild/darwin-arm64@0.24.0': 1737 + optional: true 1738 + 1739 + '@esbuild/darwin-x64@0.24.0': 1740 + optional: true 1741 + 1742 + '@esbuild/freebsd-arm64@0.24.0': 1743 + optional: true 1744 + 1745 + '@esbuild/freebsd-x64@0.24.0': 1746 + optional: true 1747 + 1748 + '@esbuild/linux-arm64@0.24.0': 1749 + optional: true 1750 + 1751 + '@esbuild/linux-arm@0.24.0': 1752 + optional: true 1753 + 1754 + '@esbuild/linux-ia32@0.24.0': 1755 + optional: true 1756 + 1757 + '@esbuild/linux-loong64@0.24.0': 1758 + optional: true 1759 + 1760 + '@esbuild/linux-mips64el@0.24.0': 1761 + optional: true 1762 + 1763 + '@esbuild/linux-ppc64@0.24.0': 1764 + optional: true 1765 + 1766 + '@esbuild/linux-riscv64@0.24.0': 1767 + optional: true 1768 + 1769 + '@esbuild/linux-s390x@0.24.0': 1770 + optional: true 1771 + 1772 + '@esbuild/linux-x64@0.24.0': 1773 + optional: true 1774 + 1775 + '@esbuild/netbsd-x64@0.24.0': 1776 + optional: true 1777 + 1778 + '@esbuild/openbsd-arm64@0.24.0': 1779 + optional: true 1780 + 1781 + '@esbuild/openbsd-x64@0.24.0': 1782 + optional: true 1783 + 1784 + '@esbuild/sunos-x64@0.24.0': 1785 + optional: true 1786 + 1787 + '@esbuild/win32-arm64@0.24.0': 1788 + optional: true 1789 + 1790 + '@esbuild/win32-ia32@0.24.0': 1791 + optional: true 1792 + 1793 + '@esbuild/win32-x64@0.24.0': 1794 + optional: true 1795 + 1796 + '@eslint-community/eslint-utils@4.7.0(eslint@9.28.0(jiti@2.4.2))': 1797 + dependencies: 1798 + eslint: 9.28.0(jiti@2.4.2) 1799 + eslint-visitor-keys: 3.4.3 1800 + 1801 + '@eslint-community/regexpp@4.12.1': {} 1802 + 1803 + '@eslint/config-array@0.20.0': 1804 + dependencies: 1805 + '@eslint/object-schema': 2.1.6 1806 + debug: 4.4.1 1807 + minimatch: 3.1.2 1808 + transitivePeerDependencies: 1809 + - supports-color 1810 + 1811 + '@eslint/config-helpers@0.2.2': {} 1812 + 1813 + '@eslint/core@0.14.0': 1814 + dependencies: 1815 + '@types/json-schema': 7.0.15 1816 + 1817 + '@eslint/css-tree@3.6.0': 1818 + dependencies: 1819 + mdn-data: 2.21.0 1820 + source-map-js: 1.2.1 1821 + 1822 + '@eslint/css@0.8.1': 1823 + dependencies: 1824 + '@eslint/core': 0.14.0 1825 + '@eslint/css-tree': 3.6.0 1826 + '@eslint/plugin-kit': 0.3.1 1827 + 1828 + '@eslint/eslintrc@3.3.1': 1829 + dependencies: 1830 + ajv: 6.12.6 1831 + debug: 4.4.1 1832 + espree: 10.3.0 1833 + globals: 14.0.0 1834 + ignore: 5.3.2 1835 + import-fresh: 3.3.1 1836 + js-yaml: 4.1.0 1837 + minimatch: 3.1.2 1838 + strip-json-comments: 3.1.1 1839 + transitivePeerDependencies: 1840 + - supports-color 1841 + 1842 + '@eslint/js@9.28.0': {} 1843 + 1844 + '@eslint/object-schema@2.1.6': {} 1845 + 1846 + '@eslint/plugin-kit@0.3.1': 1847 + dependencies: 1848 + '@eslint/core': 0.14.0 1849 + levn: 0.4.1 1850 + 1851 + '@humanfs/core@0.19.1': {} 1852 + 1853 + '@humanfs/node@0.16.6': 1854 + dependencies: 1855 + '@humanfs/core': 0.19.1 1856 + '@humanwhocodes/retry': 0.3.1 1857 + 1858 + '@humanwhocodes/module-importer@1.0.1': {} 1859 + 1860 + '@humanwhocodes/retry@0.3.1': {} 1861 + 1862 + '@humanwhocodes/retry@0.4.3': {} 1863 + 1864 + '@iconify/types@2.0.0': {} 1865 + 1866 + '@iconify/utils@2.3.0': 1867 + dependencies: 1868 + '@antfu/install-pkg': 1.1.0 1869 + '@antfu/utils': 8.1.1 1870 + '@iconify/types': 2.0.0 1871 + debug: 4.4.1 1872 + globals: 15.15.0 1873 + kolorist: 1.8.0 1874 + local-pkg: 1.1.1 1875 + mlly: 1.7.4 1876 + transitivePeerDependencies: 1877 + - supports-color 1878 + 1879 + '@jridgewell/gen-mapping@0.3.5': 1880 + dependencies: 1881 + '@jridgewell/set-array': 1.2.1 1882 + '@jridgewell/sourcemap-codec': 1.5.0 1883 + '@jridgewell/trace-mapping': 0.3.25 1884 + 1885 + '@jridgewell/resolve-uri@3.1.2': {} 1886 + 1887 + '@jridgewell/set-array@1.2.1': {} 1888 + 1889 + '@jridgewell/sourcemap-codec@1.5.0': {} 1890 + 1891 + '@jridgewell/trace-mapping@0.3.25': 1892 + dependencies: 1893 + '@jridgewell/resolve-uri': 3.1.2 1894 + '@jridgewell/sourcemap-codec': 1.5.0 1895 + 1896 + '@nodelib/fs.scandir@2.1.5': 1897 + dependencies: 1898 + '@nodelib/fs.stat': 2.0.5 1899 + run-parallel: 1.2.0 1900 + 1901 + '@nodelib/fs.stat@2.0.5': {} 1902 + 1903 + '@nodelib/fs.walk@1.2.8': 1904 + dependencies: 1905 + '@nodelib/fs.scandir': 2.1.5 1906 + fastq: 1.19.1 1907 + 1908 + '@polka/url@1.0.0-next.29': {} 1909 + 1910 + '@quansync/fs@0.1.3': 1911 + dependencies: 1912 + quansync: 0.2.10 1913 + 1914 + '@rollup/rollup-android-arm-eabi@4.27.4': 1915 + optional: true 1916 + 1917 + '@rollup/rollup-android-arm64@4.27.4': 1918 + optional: true 1919 + 1920 + '@rollup/rollup-darwin-arm64@4.27.4': 1921 + optional: true 1922 + 1923 + '@rollup/rollup-darwin-x64@4.27.4': 1924 + optional: true 1925 + 1926 + '@rollup/rollup-freebsd-arm64@4.27.4': 1927 + optional: true 1928 + 1929 + '@rollup/rollup-freebsd-x64@4.27.4': 1930 + optional: true 1931 + 1932 + '@rollup/rollup-linux-arm-gnueabihf@4.27.4': 1933 + optional: true 1934 + 1935 + '@rollup/rollup-linux-arm-musleabihf@4.27.4': 1936 + optional: true 1937 + 1938 + '@rollup/rollup-linux-arm64-gnu@4.27.4': 1939 + optional: true 1940 + 1941 + '@rollup/rollup-linux-arm64-musl@4.27.4': 1942 + optional: true 1943 + 1944 + '@rollup/rollup-linux-powerpc64le-gnu@4.27.4': 1945 + optional: true 1946 + 1947 + '@rollup/rollup-linux-riscv64-gnu@4.27.4': 1948 + optional: true 1949 + 1950 + '@rollup/rollup-linux-s390x-gnu@4.27.4': 1951 + optional: true 1952 + 1953 + '@rollup/rollup-linux-x64-gnu@4.27.4': 1954 + optional: true 1955 + 1956 + '@rollup/rollup-linux-x64-musl@4.27.4': 1957 + optional: true 1958 + 1959 + '@rollup/rollup-win32-arm64-msvc@4.27.4': 1960 + optional: true 1961 + 1962 + '@rollup/rollup-win32-ia32-msvc@4.27.4': 1963 + optional: true 1964 + 1965 + '@rollup/rollup-win32-x64-msvc@4.27.4': 1966 + optional: true 1967 + 1968 + '@types/babel__core@7.20.5': 1969 + dependencies: 1970 + '@babel/parser': 7.26.2 1971 + '@babel/types': 7.26.0 1972 + '@types/babel__generator': 7.6.8 1973 + '@types/babel__template': 7.4.4 1974 + '@types/babel__traverse': 7.20.6 1975 + 1976 + '@types/babel__generator@7.6.8': 1977 + dependencies: 1978 + '@babel/types': 7.26.0 1979 + 1980 + '@types/babel__template@7.4.4': 1981 + dependencies: 1982 + '@babel/parser': 7.26.2 1983 + '@babel/types': 7.26.0 1984 + 1985 + '@types/babel__traverse@7.20.6': 1986 + dependencies: 1987 + '@babel/types': 7.26.0 1988 + 1989 + '@types/estree@1.0.6': {} 1990 + 1991 + '@types/json-schema@7.0.15': {} 1992 + 1993 + '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2)': 1994 + dependencies: 1995 + '@eslint-community/regexpp': 4.12.1 1996 + '@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2) 1997 + '@typescript-eslint/scope-manager': 8.33.1 1998 + '@typescript-eslint/type-utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2) 1999 + '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2) 2000 + '@typescript-eslint/visitor-keys': 8.33.1 2001 + eslint: 9.28.0(jiti@2.4.2) 2002 + graphemer: 1.4.0 2003 + ignore: 7.0.5 2004 + natural-compare: 1.4.0 2005 + ts-api-utils: 2.1.0(typescript@5.7.2) 2006 + typescript: 5.7.2 2007 + transitivePeerDependencies: 2008 + - supports-color 2009 + 2010 + '@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2)': 2011 + dependencies: 2012 + '@typescript-eslint/scope-manager': 8.33.1 2013 + '@typescript-eslint/types': 8.33.1 2014 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.7.2) 2015 + '@typescript-eslint/visitor-keys': 8.33.1 2016 + debug: 4.4.1 2017 + eslint: 9.28.0(jiti@2.4.2) 2018 + typescript: 5.7.2 2019 + transitivePeerDependencies: 2020 + - supports-color 2021 + 2022 + '@typescript-eslint/project-service@8.33.1(typescript@5.7.2)': 2023 + dependencies: 2024 + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.7.2) 2025 + '@typescript-eslint/types': 8.33.1 2026 + debug: 4.4.1 2027 + typescript: 5.7.2 2028 + transitivePeerDependencies: 2029 + - supports-color 2030 + 2031 + '@typescript-eslint/scope-manager@8.33.1': 2032 + dependencies: 2033 + '@typescript-eslint/types': 8.33.1 2034 + '@typescript-eslint/visitor-keys': 8.33.1 2035 + 2036 + '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.7.2)': 2037 + dependencies: 2038 + typescript: 5.7.2 2039 + 2040 + '@typescript-eslint/type-utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2)': 2041 + dependencies: 2042 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.7.2) 2043 + '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2) 2044 + debug: 4.4.1 2045 + eslint: 9.28.0(jiti@2.4.2) 2046 + ts-api-utils: 2.1.0(typescript@5.7.2) 2047 + typescript: 5.7.2 2048 + transitivePeerDependencies: 2049 + - supports-color 2050 + 2051 + '@typescript-eslint/types@8.33.1': {} 2052 + 2053 + '@typescript-eslint/typescript-estree@8.33.1(typescript@5.7.2)': 2054 + dependencies: 2055 + '@typescript-eslint/project-service': 8.33.1(typescript@5.7.2) 2056 + '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.7.2) 2057 + '@typescript-eslint/types': 8.33.1 2058 + '@typescript-eslint/visitor-keys': 8.33.1 2059 + debug: 4.4.1 2060 + fast-glob: 3.3.3 2061 + is-glob: 4.0.3 2062 + minimatch: 9.0.5 2063 + semver: 7.7.2 2064 + ts-api-utils: 2.1.0(typescript@5.7.2) 2065 + typescript: 5.7.2 2066 + transitivePeerDependencies: 2067 + - supports-color 2068 + 2069 + '@typescript-eslint/utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2)': 2070 + dependencies: 2071 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) 2072 + '@typescript-eslint/scope-manager': 8.33.1 2073 + '@typescript-eslint/types': 8.33.1 2074 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.7.2) 2075 + eslint: 9.28.0(jiti@2.4.2) 2076 + typescript: 5.7.2 2077 + transitivePeerDependencies: 2078 + - supports-color 2079 + 2080 + '@typescript-eslint/visitor-keys@8.33.1': 2081 + dependencies: 2082 + '@typescript-eslint/types': 8.33.1 2083 + eslint-visitor-keys: 4.2.0 2084 + 2085 + '@unocss/astro@66.1.4(vite@6.0.0(jiti@2.4.2))(vue@3.5.16(typescript@5.7.2))': 2086 + dependencies: 2087 + '@unocss/core': 66.1.4 2088 + '@unocss/reset': 66.1.4 2089 + '@unocss/vite': 66.1.4(vite@6.0.0(jiti@2.4.2))(vue@3.5.16(typescript@5.7.2)) 2090 + optionalDependencies: 2091 + vite: 6.0.0(jiti@2.4.2) 2092 + transitivePeerDependencies: 2093 + - vue 2094 + 2095 + '@unocss/cli@66.1.4': 2096 + dependencies: 2097 + '@ampproject/remapping': 2.3.0 2098 + '@unocss/config': 66.1.4 2099 + '@unocss/core': 66.1.4 2100 + '@unocss/preset-uno': 66.1.4 2101 + cac: 6.7.14 2102 + chokidar: 3.6.0 2103 + colorette: 2.0.20 2104 + consola: 3.4.2 2105 + magic-string: 0.30.17 2106 + pathe: 2.0.3 2107 + perfect-debounce: 1.0.0 2108 + tinyglobby: 0.2.14 2109 + unplugin-utils: 0.2.4 2110 + 2111 + '@unocss/config@66.1.4': 2112 + dependencies: 2113 + '@unocss/core': 66.1.4 2114 + unconfig: 7.3.2 2115 + 2116 + '@unocss/core@66.1.4': {} 2117 + 2118 + '@unocss/extractor-arbitrary-variants@66.1.4': 2119 + dependencies: 2120 + '@unocss/core': 66.1.4 2121 + 2122 + '@unocss/inspector@66.1.4(vue@3.5.16(typescript@5.7.2))': 2123 + dependencies: 2124 + '@unocss/core': 66.1.4 2125 + '@unocss/rule-utils': 66.1.4 2126 + colorette: 2.0.20 2127 + gzip-size: 6.0.0 2128 + sirv: 3.0.1 2129 + vue-flow-layout: 0.1.1(vue@3.5.16(typescript@5.7.2)) 2130 + transitivePeerDependencies: 2131 + - vue 2132 + 2133 + '@unocss/postcss@66.1.4(postcss@8.5.4)': 2134 + dependencies: 2135 + '@unocss/config': 66.1.4 2136 + '@unocss/core': 66.1.4 2137 + '@unocss/rule-utils': 66.1.4 2138 + css-tree: 3.1.0 2139 + postcss: 8.5.4 2140 + tinyglobby: 0.2.14 2141 + 2142 + '@unocss/preset-attributify@66.1.4': 2143 + dependencies: 2144 + '@unocss/core': 66.1.4 2145 + 2146 + '@unocss/preset-icons@66.1.4': 2147 + dependencies: 2148 + '@iconify/utils': 2.3.0 2149 + '@unocss/core': 66.1.4 2150 + ofetch: 1.4.1 2151 + transitivePeerDependencies: 2152 + - supports-color 2153 + 2154 + '@unocss/preset-mini@66.1.4': 2155 + dependencies: 2156 + '@unocss/core': 66.1.4 2157 + '@unocss/extractor-arbitrary-variants': 66.1.4 2158 + '@unocss/rule-utils': 66.1.4 2159 + 2160 + '@unocss/preset-tagify@66.1.4': 2161 + dependencies: 2162 + '@unocss/core': 66.1.4 2163 + 2164 + '@unocss/preset-typography@66.1.4': 2165 + dependencies: 2166 + '@unocss/core': 66.1.4 2167 + '@unocss/preset-mini': 66.1.4 2168 + '@unocss/rule-utils': 66.1.4 2169 + 2170 + '@unocss/preset-uno@66.1.4': 2171 + dependencies: 2172 + '@unocss/core': 66.1.4 2173 + '@unocss/preset-wind3': 66.1.4 2174 + 2175 + '@unocss/preset-web-fonts@66.1.4': 2176 + dependencies: 2177 + '@unocss/core': 66.1.4 2178 + ofetch: 1.4.1 2179 + 2180 + '@unocss/preset-wind3@66.1.4': 2181 + dependencies: 2182 + '@unocss/core': 66.1.4 2183 + '@unocss/preset-mini': 66.1.4 2184 + '@unocss/rule-utils': 66.1.4 2185 + 2186 + '@unocss/preset-wind4@66.1.4': 2187 + dependencies: 2188 + '@unocss/core': 66.1.4 2189 + '@unocss/extractor-arbitrary-variants': 66.1.4 2190 + '@unocss/rule-utils': 66.1.4 2191 + 2192 + '@unocss/preset-wind@66.1.4': 2193 + dependencies: 2194 + '@unocss/core': 66.1.4 2195 + '@unocss/preset-wind3': 66.1.4 2196 + 2197 + '@unocss/reset@66.1.4': {} 2198 + 2199 + '@unocss/rule-utils@66.1.4': 2200 + dependencies: 2201 + '@unocss/core': 66.1.4 2202 + magic-string: 0.30.17 2203 + 2204 + '@unocss/transformer-attributify-jsx@66.1.4': 2205 + dependencies: 2206 + '@unocss/core': 66.1.4 2207 + 2208 + '@unocss/transformer-compile-class@66.1.4': 2209 + dependencies: 2210 + '@unocss/core': 66.1.4 2211 + 2212 + '@unocss/transformer-directives@66.1.4': 2213 + dependencies: 2214 + '@unocss/core': 66.1.4 2215 + '@unocss/rule-utils': 66.1.4 2216 + css-tree: 3.1.0 2217 + 2218 + '@unocss/transformer-variant-group@66.1.4': 2219 + dependencies: 2220 + '@unocss/core': 66.1.4 2221 + 2222 + '@unocss/vite@66.1.4(vite@6.0.0(jiti@2.4.2))(vue@3.5.16(typescript@5.7.2))': 2223 + dependencies: 2224 + '@ampproject/remapping': 2.3.0 2225 + '@unocss/config': 66.1.4 2226 + '@unocss/core': 66.1.4 2227 + '@unocss/inspector': 66.1.4(vue@3.5.16(typescript@5.7.2)) 2228 + chokidar: 3.6.0 2229 + magic-string: 0.30.17 2230 + pathe: 2.0.3 2231 + tinyglobby: 0.2.14 2232 + unplugin-utils: 0.2.4 2233 + vite: 6.0.0(jiti@2.4.2) 2234 + transitivePeerDependencies: 2235 + - vue 2236 + 2237 + '@vue/compiler-core@3.5.16': 2238 + dependencies: 2239 + '@babel/parser': 7.27.5 2240 + '@vue/shared': 3.5.16 2241 + entities: 4.5.0 2242 + estree-walker: 2.0.2 2243 + source-map-js: 1.2.1 2244 + 2245 + '@vue/compiler-dom@3.5.16': 2246 + dependencies: 2247 + '@vue/compiler-core': 3.5.16 2248 + '@vue/shared': 3.5.16 2249 + 2250 + '@vue/compiler-sfc@3.5.16': 2251 + dependencies: 2252 + '@babel/parser': 7.27.5 2253 + '@vue/compiler-core': 3.5.16 2254 + '@vue/compiler-dom': 3.5.16 2255 + '@vue/compiler-ssr': 3.5.16 2256 + '@vue/shared': 3.5.16 2257 + estree-walker: 2.0.2 2258 + magic-string: 0.30.17 2259 + postcss: 8.5.4 2260 + source-map-js: 1.2.1 2261 + 2262 + '@vue/compiler-ssr@3.5.16': 2263 + dependencies: 2264 + '@vue/compiler-dom': 3.5.16 2265 + '@vue/shared': 3.5.16 2266 + 2267 + '@vue/reactivity@3.5.16': 2268 + dependencies: 2269 + '@vue/shared': 3.5.16 2270 + 2271 + '@vue/runtime-core@3.5.16': 2272 + dependencies: 2273 + '@vue/reactivity': 3.5.16 2274 + '@vue/shared': 3.5.16 2275 + 2276 + '@vue/runtime-dom@3.5.16': 2277 + dependencies: 2278 + '@vue/reactivity': 3.5.16 2279 + '@vue/runtime-core': 3.5.16 2280 + '@vue/shared': 3.5.16 2281 + csstype: 3.1.3 2282 + 2283 + '@vue/server-renderer@3.5.16(vue@3.5.16(typescript@5.7.2))': 2284 + dependencies: 2285 + '@vue/compiler-ssr': 3.5.16 2286 + '@vue/shared': 3.5.16 2287 + vue: 3.5.16(typescript@5.7.2) 2288 + 2289 + '@vue/shared@3.5.16': {} 2290 + 2291 + acorn-jsx@5.3.2(acorn@8.15.0): 2292 + dependencies: 2293 + acorn: 8.15.0 2294 + 2295 + acorn@8.15.0: {} 2296 + 2297 + ajv@6.12.6: 2298 + dependencies: 2299 + fast-deep-equal: 3.1.3 2300 + fast-json-stable-stringify: 2.1.0 2301 + json-schema-traverse: 0.4.1 2302 + uri-js: 4.4.1 2303 + 2304 + ansi-styles@4.3.0: 2305 + dependencies: 2306 + color-convert: 2.0.1 2307 + 2308 + anymatch@3.1.3: 2309 + dependencies: 2310 + normalize-path: 3.0.0 2311 + picomatch: 2.3.1 2312 + 2313 + argparse@2.0.1: {} 2314 + 2315 + babel-plugin-jsx-dom-expressions@0.39.3(@babel/core@7.26.0): 2316 + dependencies: 2317 + '@babel/core': 7.26.0 2318 + '@babel/helper-module-imports': 7.18.6 2319 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) 2320 + '@babel/types': 7.26.0 2321 + html-entities: 2.3.3 2322 + parse5: 7.2.1 2323 + validate-html-nesting: 1.2.2 2324 + 2325 + babel-preset-solid@1.9.3(@babel/core@7.26.0): 2326 + dependencies: 2327 + '@babel/core': 7.26.0 2328 + babel-plugin-jsx-dom-expressions: 0.39.3(@babel/core@7.26.0) 2329 + 2330 + balanced-match@1.0.2: {} 2331 + 2332 + binary-extensions@2.3.0: {} 2333 + 2334 + brace-expansion@1.1.11: 2335 + dependencies: 2336 + balanced-match: 1.0.2 2337 + concat-map: 0.0.1 2338 + 2339 + brace-expansion@2.0.1: 2340 + dependencies: 2341 + balanced-match: 1.0.2 2342 + 2343 + braces@3.0.3: 2344 + dependencies: 2345 + fill-range: 7.1.1 2346 + 2347 + browserslist@4.24.2: 2348 + dependencies: 2349 + caniuse-lite: 1.0.30001684 2350 + electron-to-chromium: 1.5.65 2351 + node-releases: 2.0.18 2352 + update-browserslist-db: 1.1.1(browserslist@4.24.2) 2353 + 2354 + cac@6.7.14: {} 2355 + 2356 + callsites@3.1.0: {} 2357 + 2358 + caniuse-lite@1.0.30001684: {} 2359 + 2360 + chalk@4.1.2: 2361 + dependencies: 2362 + ansi-styles: 4.3.0 2363 + supports-color: 7.2.0 2364 + 2365 + chokidar@3.6.0: 2366 + dependencies: 2367 + anymatch: 3.1.3 2368 + braces: 3.0.3 2369 + glob-parent: 5.1.2 2370 + is-binary-path: 2.1.0 2371 + is-glob: 4.0.3 2372 + normalize-path: 3.0.0 2373 + readdirp: 3.6.0 2374 + optionalDependencies: 2375 + fsevents: 2.3.3 2376 + 2377 + color-convert@2.0.1: 2378 + dependencies: 2379 + color-name: 1.1.4 2380 + 2381 + color-name@1.1.4: {} 2382 + 2383 + colorette@2.0.20: {} 2384 + 2385 + concat-map@0.0.1: {} 2386 + 2387 + confbox@0.1.8: {} 2388 + 2389 + confbox@0.2.2: {} 2390 + 2391 + consola@3.4.2: {} 2392 + 2393 + convert-source-map@2.0.0: {} 2394 + 2395 + cross-spawn@7.0.6: 2396 + dependencies: 2397 + path-key: 3.1.1 2398 + shebang-command: 2.0.0 2399 + which: 2.0.2 2400 + 2401 + css-tree@3.1.0: 2402 + dependencies: 2403 + mdn-data: 2.12.2 2404 + source-map-js: 1.2.1 2405 + 2406 + csstype@3.1.3: {} 2407 + 2408 + debug@4.3.7: 2409 + dependencies: 2410 + ms: 2.1.3 2411 + 2412 + debug@4.4.1: 2413 + dependencies: 2414 + ms: 2.1.3 2415 + 2416 + deep-is@0.1.4: {} 2417 + 2418 + defu@6.1.4: {} 2419 + 2420 + destr@2.0.5: {} 2421 + 2422 + duplexer@0.1.2: {} 2423 + 2424 + electron-to-chromium@1.5.65: {} 2425 + 2426 + entities@4.5.0: {} 2427 + 2428 + esbuild@0.24.0: 2429 + optionalDependencies: 2430 + '@esbuild/aix-ppc64': 0.24.0 2431 + '@esbuild/android-arm': 0.24.0 2432 + '@esbuild/android-arm64': 0.24.0 2433 + '@esbuild/android-x64': 0.24.0 2434 + '@esbuild/darwin-arm64': 0.24.0 2435 + '@esbuild/darwin-x64': 0.24.0 2436 + '@esbuild/freebsd-arm64': 0.24.0 2437 + '@esbuild/freebsd-x64': 0.24.0 2438 + '@esbuild/linux-arm': 0.24.0 2439 + '@esbuild/linux-arm64': 0.24.0 2440 + '@esbuild/linux-ia32': 0.24.0 2441 + '@esbuild/linux-loong64': 0.24.0 2442 + '@esbuild/linux-mips64el': 0.24.0 2443 + '@esbuild/linux-ppc64': 0.24.0 2444 + '@esbuild/linux-riscv64': 0.24.0 2445 + '@esbuild/linux-s390x': 0.24.0 2446 + '@esbuild/linux-x64': 0.24.0 2447 + '@esbuild/netbsd-x64': 0.24.0 2448 + '@esbuild/openbsd-arm64': 0.24.0 2449 + '@esbuild/openbsd-x64': 0.24.0 2450 + '@esbuild/sunos-x64': 0.24.0 2451 + '@esbuild/win32-arm64': 0.24.0 2452 + '@esbuild/win32-ia32': 0.24.0 2453 + '@esbuild/win32-x64': 0.24.0 2454 + 2455 + escalade@3.2.0: {} 2456 + 2457 + escape-string-regexp@4.0.0: {} 2458 + 2459 + eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)): 2460 + dependencies: 2461 + eslint: 9.28.0(jiti@2.4.2) 2462 + 2463 + eslint-plugin-solid@0.14.5(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2): 2464 + dependencies: 2465 + '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2) 2466 + eslint: 9.28.0(jiti@2.4.2) 2467 + estraverse: 5.3.0 2468 + is-html: 2.0.0 2469 + kebab-case: 1.0.2 2470 + known-css-properties: 0.30.0 2471 + style-to-object: 1.0.9 2472 + typescript: 5.7.2 2473 + transitivePeerDependencies: 2474 + - supports-color 2475 + 2476 + eslint-scope@8.3.0: 2477 + dependencies: 2478 + esrecurse: 4.3.0 2479 + estraverse: 5.3.0 2480 + 2481 + eslint-visitor-keys@3.4.3: {} 2482 + 2483 + eslint-visitor-keys@4.2.0: {} 2484 + 2485 + eslint@9.28.0(jiti@2.4.2): 2486 + dependencies: 2487 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) 2488 + '@eslint-community/regexpp': 4.12.1 2489 + '@eslint/config-array': 0.20.0 2490 + '@eslint/config-helpers': 0.2.2 2491 + '@eslint/core': 0.14.0 2492 + '@eslint/eslintrc': 3.3.1 2493 + '@eslint/js': 9.28.0 2494 + '@eslint/plugin-kit': 0.3.1 2495 + '@humanfs/node': 0.16.6 2496 + '@humanwhocodes/module-importer': 1.0.1 2497 + '@humanwhocodes/retry': 0.4.3 2498 + '@types/estree': 1.0.6 2499 + '@types/json-schema': 7.0.15 2500 + ajv: 6.12.6 2501 + chalk: 4.1.2 2502 + cross-spawn: 7.0.6 2503 + debug: 4.4.1 2504 + escape-string-regexp: 4.0.0 2505 + eslint-scope: 8.3.0 2506 + eslint-visitor-keys: 4.2.0 2507 + espree: 10.3.0 2508 + esquery: 1.6.0 2509 + esutils: 2.0.3 2510 + fast-deep-equal: 3.1.3 2511 + file-entry-cache: 8.0.0 2512 + find-up: 5.0.0 2513 + glob-parent: 6.0.2 2514 + ignore: 5.3.2 2515 + imurmurhash: 0.1.4 2516 + is-glob: 4.0.3 2517 + json-stable-stringify-without-jsonify: 1.0.1 2518 + lodash.merge: 4.6.2 2519 + minimatch: 3.1.2 2520 + natural-compare: 1.4.0 2521 + optionator: 0.9.4 2522 + optionalDependencies: 2523 + jiti: 2.4.2 2524 + transitivePeerDependencies: 2525 + - supports-color 2526 + 2527 + esm-env@1.2.2: {} 2528 + 2529 + espree@10.3.0: 2530 + dependencies: 2531 + acorn: 8.15.0 2532 + acorn-jsx: 5.3.2(acorn@8.15.0) 2533 + eslint-visitor-keys: 4.2.0 2534 + 2535 + esquery@1.6.0: 2536 + dependencies: 2537 + estraverse: 5.3.0 2538 + 2539 + esrecurse@4.3.0: 2540 + dependencies: 2541 + estraverse: 5.3.0 2542 + 2543 + estraverse@5.3.0: {} 2544 + 2545 + estree-walker@2.0.2: {} 2546 + 2547 + esutils@2.0.3: {} 2548 + 2549 + exsolve@1.0.5: {} 2550 + 2551 + fast-deep-equal@3.1.3: {} 2552 + 2553 + fast-glob@3.3.3: 2554 + dependencies: 2555 + '@nodelib/fs.stat': 2.0.5 2556 + '@nodelib/fs.walk': 1.2.8 2557 + glob-parent: 5.1.2 2558 + merge2: 1.4.1 2559 + micromatch: 4.0.8 2560 + 2561 + fast-json-stable-stringify@2.1.0: {} 2562 + 2563 + fast-levenshtein@2.0.6: {} 2564 + 2565 + fastq@1.19.1: 2566 + dependencies: 2567 + reusify: 1.1.0 2568 + 2569 + fdir@6.4.5(picomatch@4.0.2): 2570 + optionalDependencies: 2571 + picomatch: 4.0.2 2572 + 2573 + file-entry-cache@8.0.0: 2574 + dependencies: 2575 + flat-cache: 4.0.1 2576 + 2577 + fill-range@7.1.1: 2578 + dependencies: 2579 + to-regex-range: 5.0.1 2580 + 2581 + find-up@5.0.0: 2582 + dependencies: 2583 + locate-path: 6.0.0 2584 + path-exists: 4.0.0 2585 + 2586 + flat-cache@4.0.1: 2587 + dependencies: 2588 + flatted: 3.3.3 2589 + keyv: 4.5.4 2590 + 2591 + flatted@3.3.3: {} 2592 + 2593 + fsevents@2.3.3: 2594 + optional: true 2595 + 2596 + gensync@1.0.0-beta.2: {} 2597 + 2598 + glob-parent@5.1.2: 2599 + dependencies: 2600 + is-glob: 4.0.3 2601 + 2602 + glob-parent@6.0.2: 2603 + dependencies: 2604 + is-glob: 4.0.3 2605 + 2606 + globals@11.12.0: {} 2607 + 2608 + globals@14.0.0: {} 2609 + 2610 + globals@15.15.0: {} 2611 + 2612 + globals@16.2.0: {} 2613 + 2614 + graphemer@1.4.0: {} 2615 + 2616 + gzip-size@6.0.0: 2617 + dependencies: 2618 + duplexer: 0.1.2 2619 + 2620 + has-flag@4.0.0: {} 2621 + 2622 + html-entities@2.3.3: {} 2623 + 2624 + html-tags@3.3.1: {} 2625 + 2626 + ignore@5.3.2: {} 2627 + 2628 + ignore@7.0.5: {} 2629 + 2630 + import-fresh@3.3.1: 2631 + dependencies: 2632 + parent-module: 1.0.1 2633 + resolve-from: 4.0.0 2634 + 2635 + imurmurhash@0.1.4: {} 2636 + 2637 + inline-style-parser@0.2.4: {} 2638 + 2639 + is-binary-path@2.1.0: 2640 + dependencies: 2641 + binary-extensions: 2.3.0 2642 + 2643 + is-extglob@2.1.1: {} 2644 + 2645 + is-glob@4.0.3: 2646 + dependencies: 2647 + is-extglob: 2.1.1 2648 + 2649 + is-html@2.0.0: 2650 + dependencies: 2651 + html-tags: 3.3.1 2652 + 2653 + is-number@7.0.0: {} 2654 + 2655 + is-what@4.1.16: {} 2656 + 2657 + isexe@2.0.0: {} 2658 + 2659 + jiti@2.4.2: {} 2660 + 2661 + js-tokens@4.0.0: {} 2662 + 2663 + js-yaml@4.1.0: 2664 + dependencies: 2665 + argparse: 2.0.1 2666 + 2667 + jsesc@3.0.2: {} 2668 + 2669 + json-buffer@3.0.1: {} 2670 + 2671 + json-schema-traverse@0.4.1: {} 2672 + 2673 + json-stable-stringify-without-jsonify@1.0.1: {} 2674 + 2675 + json5@2.2.3: {} 2676 + 2677 + kebab-case@1.0.2: {} 2678 + 2679 + keyv@4.5.4: 2680 + dependencies: 2681 + json-buffer: 3.0.1 2682 + 2683 + known-css-properties@0.30.0: {} 2684 + 2685 + kolorist@1.8.0: {} 2686 + 2687 + levn@0.4.1: 2688 + dependencies: 2689 + prelude-ls: 1.2.1 2690 + type-check: 0.4.0 2691 + 2692 + local-pkg@1.1.1: 2693 + dependencies: 2694 + mlly: 1.7.4 2695 + pkg-types: 2.1.0 2696 + quansync: 0.2.10 2697 + 2698 + locate-path@6.0.0: 2699 + dependencies: 2700 + p-locate: 5.0.0 2701 + 2702 + lodash.merge@4.6.2: {} 2703 + 2704 + lru-cache@5.1.1: 2705 + dependencies: 2706 + yallist: 3.1.1 2707 + 2708 + magic-string@0.30.17: 2709 + dependencies: 2710 + '@jridgewell/sourcemap-codec': 1.5.0 2711 + 2712 + mdn-data@2.12.2: {} 2713 + 2714 + mdn-data@2.21.0: {} 2715 + 2716 + merge-anything@5.1.7: 2717 + dependencies: 2718 + is-what: 4.1.16 2719 + 2720 + merge2@1.4.1: {} 2721 + 2722 + micromatch@4.0.8: 2723 + dependencies: 2724 + braces: 3.0.3 2725 + picomatch: 2.3.1 2726 + 2727 + minimatch@3.1.2: 2728 + dependencies: 2729 + brace-expansion: 1.1.11 2730 + 2731 + minimatch@9.0.5: 2732 + dependencies: 2733 + brace-expansion: 2.0.1 2734 + 2735 + mlly@1.7.4: 2736 + dependencies: 2737 + acorn: 8.15.0 2738 + pathe: 2.0.3 2739 + pkg-types: 1.3.1 2740 + ufo: 1.6.1 2741 + 2742 + mrmime@2.0.1: {} 2743 + 2744 + ms@2.1.3: {} 2745 + 2746 + nanoid@3.3.11: {} 2747 + 2748 + nanoid@3.3.8: {} 2749 + 2750 + natural-compare@1.4.0: {} 2751 + 2752 + node-fetch-native@1.6.6: {} 2753 + 2754 + node-releases@2.0.18: {} 2755 + 2756 + normalize-path@3.0.0: {} 2757 + 2758 + ofetch@1.4.1: 2759 + dependencies: 2760 + destr: 2.0.5 2761 + node-fetch-native: 1.6.6 2762 + ufo: 1.6.1 2763 + 2764 + optionator@0.9.4: 2765 + dependencies: 2766 + deep-is: 0.1.4 2767 + fast-levenshtein: 2.0.6 2768 + levn: 0.4.1 2769 + prelude-ls: 1.2.1 2770 + type-check: 0.4.0 2771 + word-wrap: 1.2.5 2772 + 2773 + p-limit@3.1.0: 2774 + dependencies: 2775 + yocto-queue: 0.1.0 2776 + 2777 + p-locate@5.0.0: 2778 + dependencies: 2779 + p-limit: 3.1.0 2780 + 2781 + package-manager-detector@1.3.0: {} 2782 + 2783 + parent-module@1.0.1: 2784 + dependencies: 2785 + callsites: 3.1.0 2786 + 2787 + parse5@7.2.1: 2788 + dependencies: 2789 + entities: 4.5.0 2790 + 2791 + path-exists@4.0.0: {} 2792 + 2793 + path-key@3.1.1: {} 2794 + 2795 + pathe@2.0.3: {} 2796 + 2797 + perfect-debounce@1.0.0: {} 2798 + 2799 + picocolors@1.1.1: {} 2800 + 2801 + picomatch@2.3.1: {} 2802 + 2803 + picomatch@4.0.2: {} 2804 + 2805 + pkg-types@1.3.1: 2806 + dependencies: 2807 + confbox: 0.1.8 2808 + mlly: 1.7.4 2809 + pathe: 2.0.3 2810 + 2811 + pkg-types@2.1.0: 2812 + dependencies: 2813 + confbox: 0.2.2 2814 + exsolve: 1.0.5 2815 + pathe: 2.0.3 2816 + 2817 + postcss@8.4.49: 2818 + dependencies: 2819 + nanoid: 3.3.8 2820 + picocolors: 1.1.1 2821 + source-map-js: 1.2.1 2822 + 2823 + postcss@8.5.4: 2824 + dependencies: 2825 + nanoid: 3.3.11 2826 + picocolors: 1.1.1 2827 + source-map-js: 1.2.1 2828 + 2829 + prelude-ls@1.2.1: {} 2830 + 2831 + prettier@3.5.3: {} 2832 + 2833 + punycode@2.3.1: {} 2834 + 2835 + quansync@0.2.10: {} 2836 + 2837 + queue-microtask@1.2.3: {} 2838 + 2839 + readdirp@3.6.0: 2840 + dependencies: 2841 + picomatch: 2.3.1 2842 + 2843 + resolve-from@4.0.0: {} 2844 + 2845 + reusify@1.1.0: {} 2846 + 2847 + rollup@4.27.4: 2848 + dependencies: 2849 + '@types/estree': 1.0.6 2850 + optionalDependencies: 2851 + '@rollup/rollup-android-arm-eabi': 4.27.4 2852 + '@rollup/rollup-android-arm64': 4.27.4 2853 + '@rollup/rollup-darwin-arm64': 4.27.4 2854 + '@rollup/rollup-darwin-x64': 4.27.4 2855 + '@rollup/rollup-freebsd-arm64': 4.27.4 2856 + '@rollup/rollup-freebsd-x64': 4.27.4 2857 + '@rollup/rollup-linux-arm-gnueabihf': 4.27.4 2858 + '@rollup/rollup-linux-arm-musleabihf': 4.27.4 2859 + '@rollup/rollup-linux-arm64-gnu': 4.27.4 2860 + '@rollup/rollup-linux-arm64-musl': 4.27.4 2861 + '@rollup/rollup-linux-powerpc64le-gnu': 4.27.4 2862 + '@rollup/rollup-linux-riscv64-gnu': 4.27.4 2863 + '@rollup/rollup-linux-s390x-gnu': 4.27.4 2864 + '@rollup/rollup-linux-x64-gnu': 4.27.4 2865 + '@rollup/rollup-linux-x64-musl': 4.27.4 2866 + '@rollup/rollup-win32-arm64-msvc': 4.27.4 2867 + '@rollup/rollup-win32-ia32-msvc': 4.27.4 2868 + '@rollup/rollup-win32-x64-msvc': 4.27.4 2869 + fsevents: 2.3.3 2870 + 2871 + run-parallel@1.2.0: 2872 + dependencies: 2873 + queue-microtask: 1.2.3 2874 + 2875 + semver@6.3.1: {} 2876 + 2877 + semver@7.7.2: {} 2878 + 2879 + seroval-plugins@1.1.1(seroval@1.1.1): 2880 + dependencies: 2881 + seroval: 1.1.1 2882 + 2883 + seroval@1.1.1: {} 2884 + 2885 + shebang-command@2.0.0: 2886 + dependencies: 2887 + shebang-regex: 3.0.0 2888 + 2889 + shebang-regex@3.0.0: {} 2890 + 2891 + sirv@3.0.1: 2892 + dependencies: 2893 + '@polka/url': 1.0.0-next.29 2894 + mrmime: 2.0.1 2895 + totalist: 3.0.1 2896 + 2897 + solid-js@1.9.5: 2898 + dependencies: 2899 + csstype: 3.1.3 2900 + seroval: 1.1.1 2901 + seroval-plugins: 1.1.1(seroval@1.1.1) 2902 + 2903 + solid-refresh@0.6.3(solid-js@1.9.5): 2904 + dependencies: 2905 + '@babel/generator': 7.26.2 2906 + '@babel/helper-module-imports': 7.25.9 2907 + '@babel/types': 7.26.0 2908 + solid-js: 1.9.5 2909 + transitivePeerDependencies: 2910 + - supports-color 2911 + 2912 + source-map-js@1.2.1: {} 2913 + 2914 + strip-json-comments@3.1.1: {} 2915 + 2916 + style-to-object@1.0.9: 2917 + dependencies: 2918 + inline-style-parser: 0.2.4 2919 + 2920 + supports-color@7.2.0: 2921 + dependencies: 2922 + has-flag: 4.0.0 2923 + 2924 + tinyexec@1.0.1: {} 2925 + 2926 + tinyglobby@0.2.14: 2927 + dependencies: 2928 + fdir: 6.4.5(picomatch@4.0.2) 2929 + picomatch: 4.0.2 2930 + 2931 + to-regex-range@5.0.1: 2932 + dependencies: 2933 + is-number: 7.0.0 2934 + 2935 + totalist@3.0.1: {} 2936 + 2937 + ts-api-utils@2.1.0(typescript@5.7.2): 2938 + dependencies: 2939 + typescript: 5.7.2 2940 + 2941 + type-check@0.4.0: 2942 + dependencies: 2943 + prelude-ls: 1.2.1 2944 + 2945 + typescript-eslint@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2): 2946 + dependencies: 2947 + '@typescript-eslint/eslint-plugin': 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2) 2948 + '@typescript-eslint/parser': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2) 2949 + '@typescript-eslint/utils': 8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.7.2) 2950 + eslint: 9.28.0(jiti@2.4.2) 2951 + typescript: 5.7.2 2952 + transitivePeerDependencies: 2953 + - supports-color 2954 + 2955 + typescript@5.7.2: {} 2956 + 2957 + ufo@1.6.1: {} 2958 + 2959 + unconfig@7.3.2: 2960 + dependencies: 2961 + '@quansync/fs': 0.1.3 2962 + defu: 6.1.4 2963 + jiti: 2.4.2 2964 + quansync: 0.2.10 2965 + 2966 + unocss@66.1.4(postcss@8.5.4)(vite@6.0.0(jiti@2.4.2))(vue@3.5.16(typescript@5.7.2)): 2967 + dependencies: 2968 + '@unocss/astro': 66.1.4(vite@6.0.0(jiti@2.4.2))(vue@3.5.16(typescript@5.7.2)) 2969 + '@unocss/cli': 66.1.4 2970 + '@unocss/core': 66.1.4 2971 + '@unocss/postcss': 66.1.4(postcss@8.5.4) 2972 + '@unocss/preset-attributify': 66.1.4 2973 + '@unocss/preset-icons': 66.1.4 2974 + '@unocss/preset-mini': 66.1.4 2975 + '@unocss/preset-tagify': 66.1.4 2976 + '@unocss/preset-typography': 66.1.4 2977 + '@unocss/preset-uno': 66.1.4 2978 + '@unocss/preset-web-fonts': 66.1.4 2979 + '@unocss/preset-wind': 66.1.4 2980 + '@unocss/preset-wind3': 66.1.4 2981 + '@unocss/preset-wind4': 66.1.4 2982 + '@unocss/transformer-attributify-jsx': 66.1.4 2983 + '@unocss/transformer-compile-class': 66.1.4 2984 + '@unocss/transformer-directives': 66.1.4 2985 + '@unocss/transformer-variant-group': 66.1.4 2986 + '@unocss/vite': 66.1.4(vite@6.0.0(jiti@2.4.2))(vue@3.5.16(typescript@5.7.2)) 2987 + optionalDependencies: 2988 + vite: 6.0.0(jiti@2.4.2) 2989 + transitivePeerDependencies: 2990 + - postcss 2991 + - supports-color 2992 + - vue 2993 + 2994 + unplugin-utils@0.2.4: 2995 + dependencies: 2996 + pathe: 2.0.3 2997 + picomatch: 4.0.2 2998 + 2999 + update-browserslist-db@1.1.1(browserslist@4.24.2): 3000 + dependencies: 3001 + browserslist: 4.24.2 3002 + escalade: 3.2.0 3003 + picocolors: 1.1.1 3004 + 3005 + uri-js@4.4.1: 3006 + dependencies: 3007 + punycode: 2.3.1 3008 + 3009 + validate-html-nesting@1.2.2: {} 3010 + 3011 + vite-plugin-solid@2.11.6(solid-js@1.9.5)(vite@6.0.0(jiti@2.4.2)): 3012 + dependencies: 3013 + '@babel/core': 7.26.0 3014 + '@types/babel__core': 7.20.5 3015 + babel-preset-solid: 1.9.3(@babel/core@7.26.0) 3016 + merge-anything: 5.1.7 3017 + solid-js: 1.9.5 3018 + solid-refresh: 0.6.3(solid-js@1.9.5) 3019 + vite: 6.0.0(jiti@2.4.2) 3020 + vitefu: 1.0.4(vite@6.0.0(jiti@2.4.2)) 3021 + transitivePeerDependencies: 3022 + - supports-color 3023 + 3024 + vite@6.0.0(jiti@2.4.2): 3025 + dependencies: 3026 + esbuild: 0.24.0 3027 + postcss: 8.4.49 3028 + rollup: 4.27.4 3029 + optionalDependencies: 3030 + fsevents: 2.3.3 3031 + jiti: 2.4.2 3032 + 3033 + vitefu@1.0.4(vite@6.0.0(jiti@2.4.2)): 3034 + optionalDependencies: 3035 + vite: 6.0.0(jiti@2.4.2) 3036 + 3037 + vue-flow-layout@0.1.1(vue@3.5.16(typescript@5.7.2)): 3038 + dependencies: 3039 + vue: 3.5.16(typescript@5.7.2) 3040 + 3041 + vue@3.5.16(typescript@5.7.2): 3042 + dependencies: 3043 + '@vue/compiler-dom': 3.5.16 3044 + '@vue/compiler-sfc': 3.5.16 3045 + '@vue/runtime-dom': 3.5.16 3046 + '@vue/server-renderer': 3.5.16(vue@3.5.16(typescript@5.7.2)) 3047 + '@vue/shared': 3.5.16 3048 + optionalDependencies: 3049 + typescript: 5.7.2 3050 + 3051 + which@2.0.2: 3052 + dependencies: 3053 + isexe: 2.0.0 3054 + 3055 + word-wrap@1.2.5: {} 3056 + 3057 + yallist@3.1.1: {} 3058 + 3059 + yocto-queue@0.1.0: {}
+2
app/pnpm-workspace.yaml
··· 1 + onlyBuiltDependencies: 2 + - esbuild
+7
app/shims.d.ts
··· 1 + import type { AttributifyAttributes } from "@unocss/preset-attributify"; 2 + 3 + declare module "solid-js" { 4 + namespace JSX { 5 + interface HTMLAttributes<T> extends AttributifyAttributes {} 6 + } 7 + }
+107
app/src/ActivityItem.tsx
··· 1 + import { Did, Handle } from "@atcute/lexicons"; 2 + import { Client, ok, simpleFetchHandler } from "@atcute/client"; 3 + import type {} from "@atcute/bluesky"; 4 + import type {} from "@atcute/atproto"; 5 + import { isDid, parseCanonicalResourceUri } from "@atcute/lexicons/syntax"; 6 + import { Component, createSignal, createEffect } from "solid-js"; 7 + import { ATProtoActivity } from "./types.js"; 8 + 9 + const profileCache = new Map<string, ActorData>(); 10 + const handler = simpleFetchHandler({ 11 + service: "https://public.api.bsky.app", 12 + }); 13 + const rpc = new Client({ handler }); 14 + 15 + interface ActivityItemProps { 16 + data: ATProtoActivity; 17 + } 18 + 19 + interface ActorData { 20 + did: Did; 21 + handle: Handle; 22 + displayName?: string; 23 + } 24 + 25 + export const ActivityItem: Component<ActivityItemProps> = (props) => { 26 + const [actorData, setActorData] = createSignal<ActorData | null>(null); 27 + const [error, setError] = createSignal<string | null>(null); 28 + const [postUrl, setPostUrl] = createSignal<string | null>(null); 29 + 30 + const fetchProfile = async (did: string) => { 31 + if (!isDid(did)) { 32 + setError("user DID invalid"); 33 + return; 34 + } 35 + const resp = ok( 36 + await rpc.get("app.bsky.actor.getProfile", { 37 + params: { actor: did }, 38 + }), 39 + ); 40 + const data: ActorData = { 41 + did, 42 + handle: resp.handle, 43 + displayName: resp.displayName, 44 + }; 45 + setActorData(data); 46 + profileCache.set(data.did, data); 47 + }; 48 + 49 + createEffect(() => { 50 + const actorData = profileCache.get(props.data.did); 51 + if (actorData) { 52 + setActorData(actorData); 53 + } else { 54 + fetchProfile(props.data.did); 55 + } 56 + 57 + const postUri = parseCanonicalResourceUri(props.data.post_uri); 58 + if (postUri.ok) { 59 + setPostUrl( 60 + `https://bsky.app/profile/${postUri.value.repo}/post/${postUri.value.rkey}`, 61 + ); 62 + } 63 + }); 64 + 65 + return ( 66 + <div 67 + class={`flex flex-wrap items-center border py-1 px-2 ${ 68 + props.data.liked 69 + ? "bg-green-50 border-green-200" 70 + : "bg-red-50 border-red-200" 71 + }`} 72 + > 73 + <p text-wrap> 74 + <span text-lg>{props.data.liked ? "❤️" : "💔"}</span>{" "} 75 + {(actorData() && ( 76 + <span font-medium text="sm gray-700"> 77 + {actorData()!.displayName ?? actorData()!.handle}{" "} 78 + {actorData()!.displayName && ( 79 + <span font-normal text-gray-500> 80 + (@{actorData()!.handle}) 81 + </span> 82 + )} 83 + </span> 84 + )) || 85 + (error() && ( 86 + <span italic text="xs red-500"> 87 + !{error()}! 88 + </span> 89 + )) || ( 90 + <span font-medium text="sm gray-700"> 91 + {props.data.did} 92 + </span> 93 + )}{" "} 94 + <span text-gray-800>{props.data.liked ? "liked" : "unliked"}</span>{" "} 95 + <a 96 + text-blue-800 97 + hover="underline text-blue-400" 98 + href={postUrl() ?? props.data.post_uri} 99 + > 100 + this post 101 + </a>{" "} 102 + </p> 103 + <div grow /> 104 + <div text="xs gray-500 end">{new Date().toLocaleTimeString()}</div> 105 + </div> 106 + ); 107 + };
+258
app/src/App.tsx
··· 1 + import { createSignal, onCleanup, For, type Component } from "solid-js"; 2 + 3 + import type {} from "@atcute/bluesky"; 4 + import type {} from "@atcute/atproto"; 5 + import { isDid, isHandle } from "@atcute/lexicons/syntax"; 6 + import { XrpcHandleResolver } from "@atcute/identity-resolver"; 7 + import { ATProtoActivity } from "./types.js"; 8 + import { ActivityItem } from "./ActivityItem.jsx"; 9 + 10 + const handleResolver = new XrpcHandleResolver({ 11 + serviceUrl: "https://public.api.bsky.app", 12 + }); 13 + 14 + const App: Component = () => { 15 + const [actorId, setActorId] = createSignal<string>(""); 16 + const [serviceDomain, setWsUrl] = createSignal<string>("likes.gaze.systems"); 17 + const [isConnected, setIsConnected] = createSignal<boolean>(false); 18 + const [items, setItems] = createSignal<ATProtoActivity[]>([]); 19 + const [connectionStatus, setConnectionStatus] = createSignal< 20 + "disconnected" | "connecting..." | "connected" | "error" 21 + >("disconnected"); 22 + const [error, setError] = createSignal<string | null>(null); 23 + 24 + let ws: WebSocket | null = null; 25 + 26 + const connectWebSocket = async () => { 27 + const didOrHandle = actorId().trim(); 28 + const host = serviceDomain().trim(); 29 + 30 + setError(null); 31 + setConnectionStatus("connecting..."); 32 + 33 + let did: string; 34 + if (!didOrHandle) { 35 + setConnectionStatus("error"); 36 + setError("please enter a DID or a handle"); 37 + return; 38 + } else if (isHandle(didOrHandle)) { 39 + try { 40 + did = await handleResolver.resolve(didOrHandle); 41 + } catch (error) { 42 + setConnectionStatus("error"); 43 + setError(`can't resolve handle: ${error}`); 44 + return; 45 + } 46 + } else if (isDid(didOrHandle)) { 47 + did = didOrHandle; 48 + } else { 49 + setConnectionStatus("error"); 50 + setError("inputted DID / handle is not valid"); 51 + return; 52 + } 53 + 54 + if (!host) { 55 + setError("please enter service host"); 56 + setConnectionStatus("error"); 57 + return; 58 + } 59 + 60 + // Close existing connection if any 61 + if (ws) { 62 + ws.close(); 63 + } 64 + 65 + const url = `wss://${host}/subscribe/${did}`; 66 + 67 + try { 68 + ws = new WebSocket(url); 69 + 70 + ws.onopen = () => { 71 + setIsConnected(true); 72 + setConnectionStatus("connected"); 73 + setError(null); 74 + console.log("WebSocket connected to:", url); 75 + }; 76 + 77 + ws.onmessage = (event: MessageEvent) => { 78 + try { 79 + const data: ATProtoActivity = JSON.parse(event.data); 80 + setItems((prev) => [data, ...prev]); // add new items to the top 81 + } catch (error) { 82 + console.error("Error parsing JSON:", error); 83 + } 84 + }; 85 + 86 + ws.onclose = () => { 87 + setIsConnected(false); 88 + setConnectionStatus("disconnected"); 89 + console.log("WebSocket disconnected"); 90 + }; 91 + 92 + ws.onerror = (error: Event) => { 93 + setConnectionStatus("error"); 94 + setError(`connection failed: ${error}`); 95 + console.error("WebSocket error:", error); 96 + }; 97 + } catch (error) { 98 + setConnectionStatus("error"); 99 + setError(`failed to create connection: ${error}`); 100 + console.error("Failed to create WebSocket:", error); 101 + } 102 + }; 103 + 104 + const disconnect = (): void => { 105 + if (ws) { 106 + ws.close(); 107 + ws = null; 108 + } 109 + }; 110 + 111 + const clearItems = (): void => { 112 + setItems([]); 113 + }; 114 + 115 + onCleanup(() => { 116 + if (ws) { 117 + ws.close(); 118 + } 119 + }); 120 + 121 + return ( 122 + <div max-w-4xl mx-auto p-6 bg-gray-50 min-h-screen> 123 + <h1 border="l-16 blue" font-bold text="3xl gray-800" pl-2 mb-6> 124 + monitor bluesky repost likes 125 + </h1> 126 + 127 + {/* connection */} 128 + <div mb-6> 129 + <div flex gap-2 mb-2> 130 + <input 131 + type="text" 132 + value={serviceDomain()} 133 + onInput={(e) => setWsUrl((e.target as HTMLInputElement).value)} 134 + placeholder="enter service host (e.g., likes.gaze.systems)" 135 + class="flex-1 px-4 py-2 border border-gray-300 rounded-none focus:(outline-none ring-2 ring-purple-500) bg-white" 136 + disabled={isConnected() || connectionStatus() == "connecting..."} 137 + /> 138 + </div> 139 + <div flex gap-2 mb-2> 140 + <input 141 + type="text" 142 + value={actorId()} 143 + onInput={(e) => setActorId((e.target as HTMLInputElement).value)} 144 + onKeyPress={(e) => { 145 + if (!isConnected() && e.key == "Enter") { 146 + connectWebSocket(); 147 + e.preventDefault(); 148 + } 149 + }} 150 + placeholder="enter handle or DID" 151 + class="flex-1 px-4 py-2 border border-gray-300 rounded-none focus:(outline-none ring-2 ring-blue-500) bg-white" 152 + disabled={isConnected() || connectionStatus() == "connecting..."} 153 + /> 154 + <button 155 + onClick={() => (isConnected() ? disconnect() : connectWebSocket())} 156 + class={`px-6 py-2 rounded-none font-medium transition-colors ${ 157 + isConnected() 158 + ? "bg-red-500 hover:bg-red-600 text-white" 159 + : "bg-blue-500 hover:bg-blue-600 text-white" 160 + }`} 161 + > 162 + {isConnected() ? "Disconnect" : "Connect"} 163 + </button> 164 + </div> 165 + 166 + {/* Status indicator */} 167 + <div flex gap-2 items-center> 168 + <div w-fit border border-gray-300 bg-gray-80 px-1 py="0.5"> 169 + <div 170 + inline-block 171 + w-3 172 + h-3 173 + rounded-full 174 + class={ 175 + connectionStatus() === "connected" 176 + ? "bg-green-500" 177 + : connectionStatus() === "connecting..." 178 + ? "bg-yellow-500" 179 + : connectionStatus() === "error" 180 + ? "bg-red-500" 181 + : "bg-gray-400" 182 + } 183 + /> 184 + <span ml-2 align="10%" text="sm gray-600"> 185 + status: {connectionStatus()} 186 + </span> 187 + </div> 188 + {error() && ( 189 + <div w-fit border border-gray-300 bg-gray-80 p-1> 190 + <div text="sm red-500">{error()}</div> 191 + </div> 192 + )} 193 + </div> 194 + </div> 195 + 196 + {/* feed */} 197 + <div class="mb-4"> 198 + <div class="flex justify-between items-center mb-4"> 199 + <h2 border="l-8 blue" pl-2 text="xl gray-700" font-semibold> 200 + activity feed ({items().length}) 201 + </h2> 202 + <button 203 + onClick={clearItems} 204 + text="white sm" 205 + class="px-4 py-2 bg-gray-500 hover:bg-gray-600 rounded-none transition-colors disabled:opacity-50" 206 + disabled={items().length === 0} 207 + > 208 + clear feed 209 + </button> 210 + </div> 211 + 212 + <div class="h-[60vh] max-h-[60vh] overflow-y-auto border border-gray-200 rounded-none p-4 bg-white"> 213 + {items().length === 0 ? ( 214 + <div flex items-center w-full h-full> 215 + <div mx-auto text="center gray-500"> 216 + <div text-lg mb-2> 217 + 👀 218 + </div> 219 + <div> 220 + nothing yet. connect and wait for someone to like a repost of 221 + yours! 222 + </div> 223 + </div> 224 + </div> 225 + ) : ( 226 + <For each={items()}> 227 + {(item, index) => ( 228 + <div mb={index() == items().length - 1 ? "0" : "2"}> 229 + <ActivityItem data={item} /> 230 + </div> 231 + )} 232 + </For> 233 + )} 234 + </div> 235 + </div> 236 + 237 + {/* Instructions */} 238 + <div border bg-blue-50 border-blue-200 rounded-none pl="1.5" p-1> 239 + <span text="xs blue-800" align="10%"> 240 + <span text-pink-400>source</span> <span text-gray>=</span>{" "} 241 + <a 242 + href="https://tangled.sh/@gaze.systems/bsky-repost-likes" 243 + text-orange-700 244 + hover:text-orange-400 245 + > 246 + "https://tangled.sh/@gaze.systems/bsky-repost-likes" 247 + </a>{" "} 248 + // made by{" "} 249 + <a text-purple-700 hover:text-purple href="https://gaze.systems"> 250 + dusk 251 + </a> 252 + </span> 253 + </div> 254 + </div> 255 + ); 256 + }; 257 + 258 + export default App;
app/src/assets/favicon.ico

This is a binary file and will not be displayed.

+13
app/src/index.css
··· 1 + body { 2 + margin: 0; 3 + font-family: 4 + -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", 5 + "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; 6 + -webkit-font-smoothing: antialiased; 7 + -moz-osx-font-smoothing: grayscale; 8 + } 9 + 10 + code { 11 + font-family: 12 + source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace; 13 + }
+17
app/src/index.tsx
··· 1 + /* @refresh reload */ 2 + import { render } from "solid-js/web"; 3 + 4 + import "./index.css"; 5 + import App from "./App"; 6 + 7 + import "virtual:uno.css"; 8 + 9 + const root = document.getElementById("root"); 10 + 11 + if (import.meta.env.DEV && !(root instanceof HTMLElement)) { 12 + throw new Error( 13 + "Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got misspelled?", 14 + ); 15 + } 16 + 17 + render(() => <App />, root!);
+6
app/src/types.ts
··· 1 + export interface ATProtoActivity { 2 + did: string; 3 + liked: boolean; 4 + repost_uri: string; 5 + post_uri: string; 6 + }
+15
app/tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + "strict": true, 4 + "target": "ESNext", 5 + "module": "NodeNext", 6 + "moduleResolution": "nodenext", 7 + "allowSyntheticDefaultImports": true, 8 + "esModuleInterop": true, 9 + "jsx": "preserve", 10 + "jsxImportSource": "solid-js", 11 + "types": ["vite/client"], 12 + "noEmit": true, 13 + "isolatedModules": true 14 + } 15 + }
+31
app/vite.config.ts
··· 1 + import { defineConfig } from "vite"; 2 + import solidPlugin from "vite-plugin-solid"; 3 + 4 + import UnoCSS from "unocss/vite"; 5 + import { 6 + presetAttributify, 7 + presetWind4, 8 + transformerAttributifyJsx, 9 + transformerVariantGroup, 10 + transformerDirectives, 11 + } from "unocss"; 12 + 13 + export default defineConfig({ 14 + plugins: [ 15 + UnoCSS({ 16 + presets: [presetWind4(), presetAttributify()], 17 + transformers: [ 18 + transformerVariantGroup(), 19 + transformerDirectives(), 20 + transformerAttributifyJsx(), 21 + ], 22 + }), 23 + solidPlugin(), 24 + ], 25 + server: { 26 + port: 3000, 27 + }, 28 + build: { 29 + target: "esnext", 30 + }, 31 + });
+1
flake.nix
··· 9 9 systems = [ "x86_64-linux" ]; 10 10 perSystem = { pkgs, ... }: { 11 11 packages.default = pkgs.callPackage ./server/package.nix {}; 12 + packages.monitor = pkgs.callPackage ./app/package.nix {}; 12 13 }; 13 14 }; 14 15 }