From 65849824b5ecf3380f7e45b427afbcbd0ad19956 Mon Sep 17 00:00:00 2001 From: Dinesh Korukonda Date: Wed, 21 Jan 2026 14:47:36 +0530 Subject: [PATCH 1/3] moved from npm to bun --- web/.editorconfig | 23 + web/.eslintrc.json | 33 + web/.prettierrc | 13 + web/bun.lock | 440 ++++++ web/package-lock.json | 2999 ----------------------------------------- web/package.json | 4 +- 6 files changed, 511 insertions(+), 3001 deletions(-) create mode 100644 web/.editorconfig create mode 100644 web/.eslintrc.json create mode 100644 web/.prettierrc create mode 100644 web/bun.lock delete mode 100644 web/package-lock.json diff --git a/web/.editorconfig b/web/.editorconfig new file mode 100644 index 0000000..7119abf --- /dev/null +++ b/web/.editorconfig @@ -0,0 +1,23 @@ +# EditorConfig helps maintain consistent coding styles +# https://editorconfig.org + +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +indent_style = space +indent_size = 2 + +[*.{js,jsx,ts,tsx,json}] +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false +max_line_length = off + +[Makefile] +indent_style = tab diff --git a/web/.eslintrc.json b/web/.eslintrc.json new file mode 100644 index 0000000..b3740a5 --- /dev/null +++ b/web/.eslintrc.json @@ -0,0 +1,33 @@ +{ + "extends": [ + "next/core-web-vitals", + "plugin:react/recommended", + "plugin:react-hooks/recommended", + "plugin:@typescript-eslint/recommended" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 2021, + "sourceType": "module", + "ecmaFeatures": { + "jsx": true + } + }, + "plugins": ["react", "react-hooks", "@typescript-eslint"], + "rules": { + "react/react-in-jsx-scope": "off", + "react/prop-types": "off", + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "warn", + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }], + "@typescript-eslint/no-explicit-any": "warn", + "prefer-const": "error", + "no-console": ["warn", { "allow": ["warn", "error"] }] + }, + "settings": { + "react": { + "version": "detect" + } + } +} diff --git a/web/.prettierrc b/web/.prettierrc new file mode 100644 index 0000000..f6c5a1c --- /dev/null +++ b/web/.prettierrc @@ -0,0 +1,13 @@ +{ + "semi": true, + "trailingComma": "es5", + "singleQuote": true, + "printWidth": 100, + "tabWidth": 2, + "useTabs": false, + "arrowParens": "always", + "endOfLine": "lf", + "bracketSpacing": true, + "jsxSingleQuote": false, + "jsxBracketSameLine": false +} diff --git a/web/bun.lock b/web/bun.lock new file mode 100644 index 0000000..21ebc61 --- /dev/null +++ b/web/bun.lock @@ -0,0 +1,440 @@ +{ + "lockfileVersion": 1, + "configVersion": 1, + "workspaces": { + "": { + "name": "my-app", + "dependencies": { + "@vercel/analytics": "^1.6.1", + "@vercel/speed-insights": "^1.3.1", + "clsx": "^2.1.1", + "lucide-react": "^0.562.0", + "maplibre-gl": "^5.15.0", + "next": "16.1.1", + "next-themes": "^0.4.6", + "react": "19.2.3", + "react-dom": "19.2.3", + "tailwind-merge": "^3.4.0", + }, + "devDependencies": { + "@biomejs/biome": "2.2.0", + "@tailwindcss/postcss": "^4", + "@types/node": "^20.19.27", + "@types/react": "^19", + "@types/react-dom": "^19", + "knip": "^5.80.2", + "postcss": "^8.4.49", + "tailwindcss": "^4", + "tw-animate-css": "^1.4.0", + "typescript": "^5.9.3", + }, + }, + }, + "packages": { + "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], + + "@biomejs/biome": ["@biomejs/biome@2.2.0", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.2.0", "@biomejs/cli-darwin-x64": "2.2.0", "@biomejs/cli-linux-arm64": "2.2.0", "@biomejs/cli-linux-arm64-musl": "2.2.0", "@biomejs/cli-linux-x64": "2.2.0", "@biomejs/cli-linux-x64-musl": "2.2.0", "@biomejs/cli-win32-arm64": "2.2.0", "@biomejs/cli-win32-x64": "2.2.0" }, "bin": { "biome": "bin/biome" } }, "sha512-3On3RSYLsX+n9KnoSgfoYlckYBoU6VRM22cw1gB4Y0OuUVSYd/O/2saOJMrA4HFfA1Ff0eacOvMN1yAAvHtzIw=="], + + "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.2.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zKbwUUh+9uFmWfS8IFxmVD6XwqFcENjZvEyfOxHs1epjdH3wyyMQG80FGDsmauPwS2r5kXdEM0v/+dTIA9FXAg=="], + + "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.2.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-+OmT4dsX2eTfhD5crUOPw3RPhaR+SKVspvGVmSdZ9y9O/AgL8pla6T4hOn1q+VAFBHuHhsdxDRJgFCSC7RaMOw=="], + + "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.2.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-6eoRdF2yW5FnW9Lpeivh7Mayhq0KDdaDMYOJnH9aT02KuSIX5V1HmWJCQQPwIQbhDh68Zrcpl8inRlTEan0SXw=="], + + "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.2.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-egKpOa+4FL9YO+SMUMLUvf543cprjevNc3CAgDNFLcjknuNMcZ0GLJYa3EGTCR2xIkIUJDVneBV3O9OcIlCEZQ=="], + + "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.2.0", "", { "os": "linux", "cpu": "x64" }, "sha512-5UmQx/OZAfJfi25zAnAGHUMuOd+LOsliIt119x2soA2gLggQYrVPA+2kMUxR6Mw5M1deUF/AWWP2qpxgH7Nyfw=="], + + "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.2.0", "", { "os": "linux", "cpu": "x64" }, "sha512-I5J85yWwUWpgJyC1CcytNSGusu2p9HjDnOPAFG4Y515hwRD0jpR9sT9/T1cKHtuCvEQ/sBvx+6zhz9l9wEJGAg=="], + + "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.2.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-n9a1/f2CwIDmNMNkFs+JI0ZjFnMO0jdOyGNtihgUNFnlmd84yIYY2KMTBmMV58ZlVHjgmY5Y6E1hVTnSRieggA=="], + + "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.2.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Nawu5nHjP/zPKTIryh2AavzTc/KEg4um/MxWdXW0A6P/RZOyIpa7+QSjeXwAwX/utJGaCoXRPWtF3m5U/bB3Ww=="], + + "@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" } }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], + + "@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], + + "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], + + "@img/colour": ["@img/colour@1.0.0", "", {}, "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw=="], + + "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w=="], + + "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.4" }, "os": "darwin", "cpu": "x64" }, "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw=="], + + "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g=="], + + "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg=="], + + "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A=="], + + "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw=="], + + "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA=="], + + "@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.2.4", "", { "os": "linux", "cpu": "none" }, "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA=="], + + "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ=="], + + "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw=="], + + "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw=="], + + "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg=="], + + "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.4" }, "os": "linux", "cpu": "arm" }, "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw=="], + + "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg=="], + + "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.4" }, "os": "linux", "cpu": "ppc64" }, "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA=="], + + "@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.2.4" }, "os": "linux", "cpu": "none" }, "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw=="], + + "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.4" }, "os": "linux", "cpu": "s390x" }, "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg=="], + + "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ=="], + + "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg=="], + + "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q=="], + + "@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.5", "", { "dependencies": { "@emnapi/runtime": "^1.7.0" }, "cpu": "none" }, "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw=="], + + "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g=="], + + "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg=="], + + "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], + + "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + + "@mapbox/geojson-rewind": ["@mapbox/geojson-rewind@0.5.2", "", { "dependencies": { "get-stream": "^6.0.1", "minimist": "^1.2.6" }, "bin": { "geojson-rewind": "geojson-rewind" } }, "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA=="], + + "@mapbox/jsonlint-lines-primitives": ["@mapbox/jsonlint-lines-primitives@2.0.2", "", {}, "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ=="], + + "@mapbox/point-geometry": ["@mapbox/point-geometry@1.1.0", "", {}, "sha512-YGcBz1cg4ATXDCM/71L9xveh4dynfGmcLDqufR+nQQy3fKwsAZsWd/x4621/6uJaeB9mwOHE6hPeDgXz9uViUQ=="], + + "@mapbox/tiny-sdf": ["@mapbox/tiny-sdf@2.0.7", "", {}, "sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug=="], + + "@mapbox/unitbezier": ["@mapbox/unitbezier@0.0.1", "", {}, "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw=="], + + "@mapbox/vector-tile": ["@mapbox/vector-tile@2.0.4", "", { "dependencies": { "@mapbox/point-geometry": "~1.1.0", "@types/geojson": "^7946.0.16", "pbf": "^4.0.1" } }, "sha512-AkOLcbgGTdXScosBWwmmD7cDlvOjkg/DetGva26pIRiZPdeJYjYKarIlb4uxVzi6bwHO6EWH82eZ5Nuv4T5DUg=="], + + "@mapbox/whoots-js": ["@mapbox/whoots-js@3.1.0", "", {}, "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q=="], + + "@maplibre/maplibre-gl-style-spec": ["@maplibre/maplibre-gl-style-spec@24.4.1", "", { "dependencies": { "@mapbox/jsonlint-lines-primitives": "~2.0.2", "@mapbox/unitbezier": "^0.0.1", "json-stringify-pretty-compact": "^4.0.0", "minimist": "^1.2.8", "quickselect": "^3.0.0", "rw": "^1.3.3", "tinyqueue": "^3.0.0" }, "bin": { "gl-style-migrate": "dist/gl-style-migrate.mjs", "gl-style-validate": "dist/gl-style-validate.mjs", "gl-style-format": "dist/gl-style-format.mjs" } }, "sha512-UKhA4qv1h30XT768ccSv5NjNCX+dgfoq2qlLVmKejspPcSQTYD4SrVucgqegmYcKcmwf06wcNAa/kRd0NHWbUg=="], + + "@maplibre/mlt": ["@maplibre/mlt@1.1.2", "", { "dependencies": { "@mapbox/point-geometry": "^1.1.0" } }, "sha512-SQKdJ909VGROkA6ovJgtHNs9YXV4YXUPS+VaZ50I2Mt951SLlUm2Cv34x5Xwc1HiFlsd3h2Yrs5cn7xzqBmENw=="], + + "@maplibre/vt-pbf": ["@maplibre/vt-pbf@4.2.0", "", { "dependencies": { "@mapbox/point-geometry": "^1.1.0", "@mapbox/vector-tile": "^2.0.4", "@types/geojson-vt": "3.2.5", "@types/supercluster": "^7.1.3", "geojson-vt": "^4.0.2", "pbf": "^4.0.1", "supercluster": "^8.0.1" } }, "sha512-bxrk/kQUwWXZgmqYgwOCnZCMONCRi3MJMqJdza4T3E4AeR5i+VyMnaJ8iDWtWxdfEAJRtrzIOeJtxZSy5mFrFA=="], + + "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.1", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" } }, "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A=="], + + "@next/env": ["@next/env@16.1.1", "", {}, "sha512-3oxyM97Sr2PqiVyMyrZUtrtM3jqqFxOQJVuKclDsgj/L728iZt/GyslkN4NwarledZATCenbk4Offjk1hQmaAA=="], + + "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@16.1.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-JS3m42ifsVSJjSTzh27nW+Igfha3NdBOFScr9C80hHGrWx55pTrVL23RJbqir7k7/15SKlrLHhh/MQzqBBYrQA=="], + + "@next/swc-darwin-x64": ["@next/swc-darwin-x64@16.1.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-hbyKtrDGUkgkyQi1m1IyD3q4I/3m9ngr+V93z4oKHrPcmxwNL5iMWORvLSGAf2YujL+6HxgVvZuCYZfLfb4bGw=="], + + "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@16.1.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-/fvHet+EYckFvRLQ0jPHJCUI5/B56+2DpI1xDSvi80r/3Ez+Eaa2Yq4tJcRTaB1kqj/HrYKn8Yplm9bNoMJpwQ=="], + + "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@16.1.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-MFHrgL4TXNQbBPzkKKur4Fb5ICEJa87HM7fczFs2+HWblM7mMLdco3dvyTI+QmLBU9xgns/EeeINSZD6Ar+oLg=="], + + "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@16.1.1", "", { "os": "linux", "cpu": "x64" }, "sha512-20bYDfgOQAPUkkKBnyP9PTuHiJGM7HzNBbuqmD0jiFVZ0aOldz+VnJhbxzjcSabYsnNjMPsE0cyzEudpYxsrUQ=="], + + "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@16.1.1", "", { "os": "linux", "cpu": "x64" }, "sha512-9pRbK3M4asAHQRkwaXwu601oPZHghuSC8IXNENgbBSyImHv/zY4K5udBusgdHkvJ/Tcr96jJwQYOll0qU8+fPA=="], + + "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@16.1.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-bdfQkggaLgnmYrFkSQfsHfOhk/mCYmjnrbRCGgkMcoOBZ4n+TRRSLmT/CU5SATzlBJ9TpioUyBW/vWFXTqQRiA=="], + + "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@16.1.1", "", { "os": "win32", "cpu": "x64" }, "sha512-Ncwbw2WJ57Al5OX0k4chM68DKhEPlrXBaSXDCi2kPi5f4d8b3ejr3RRJGfKBLrn2YJL5ezNS7w2TZLHSti8CMw=="], + + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + + "@oxc-resolver/binding-android-arm-eabi": ["@oxc-resolver/binding-android-arm-eabi@11.16.3", "", { "os": "android", "cpu": "arm" }, "sha512-CVyWHu6ACDqDcJxR4nmGiG8vDF4TISJHqRNzac5z/gPQycs/QrP/1pDsJBy0MD7jSw8nVq2E5WqeHQKabBG/Jg=="], + + "@oxc-resolver/binding-android-arm64": ["@oxc-resolver/binding-android-arm64@11.16.3", "", { "os": "android", "cpu": "arm64" }, "sha512-tTIoB7plLeh2o6Ay7NnV5CJb6QUXdxI7Shnsp2ECrLSV81k+oVE3WXYrQSh4ltWL75i0OgU5Bj3bsuyg5SMepw=="], + + "@oxc-resolver/binding-darwin-arm64": ["@oxc-resolver/binding-darwin-arm64@11.16.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-OXKVH7uwYd3Rbw1s2yJZd6/w+6b01iaokZubYhDAq4tOYArr+YCS+lr81q1hsTPPRZeIsWE+rJLulmf1qHdYZA=="], + + "@oxc-resolver/binding-darwin-x64": ["@oxc-resolver/binding-darwin-x64@11.16.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-WwjQ4WdnCxVYZYd3e3oY5XbV3JeLy9pPMK+eQQ2m8DtqUtbxnvPpAYC2Knv/2bS6q5JiktqOVJ2Hfia3OSo0/A=="], + + "@oxc-resolver/binding-freebsd-x64": ["@oxc-resolver/binding-freebsd-x64@11.16.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-4OHKFGJBBfOnuJnelbCS4eBorI6cj54FUxcZJwEXPeoLc8yzORBoJ2w+fQbwjlQcUUZLEg92uGhKCRiUoqznjg=="], + + "@oxc-resolver/binding-linux-arm-gnueabihf": ["@oxc-resolver/binding-linux-arm-gnueabihf@11.16.3", "", { "os": "linux", "cpu": "arm" }, "sha512-OM3W0NLt9u7uKwG/yZbeXABansZC0oZeDF1nKgvcZoRw4/Yak6/l4S0onBfDFeYMY94eYeAt2bl60e30lgsb5A=="], + + "@oxc-resolver/binding-linux-arm-musleabihf": ["@oxc-resolver/binding-linux-arm-musleabihf@11.16.3", "", { "os": "linux", "cpu": "arm" }, "sha512-MRs7D7i1t7ACsAdTuP81gLZES918EpBmiUyEl8fu302yQB+4L7L7z0Ui8BWnthUTQd3nAU9dXvENLK/SqRVH8A=="], + + "@oxc-resolver/binding-linux-arm64-gnu": ["@oxc-resolver/binding-linux-arm64-gnu@11.16.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-0eVYZxSceNqGADzhlV4ZRqkHF0fjWxRXQOB7Qwl5y1gN/XYUDvMfip+ngtzj4dM7zQT4U97hUhJ7PUKSy/JIGQ=="], + + "@oxc-resolver/binding-linux-arm64-musl": ["@oxc-resolver/binding-linux-arm64-musl@11.16.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-B1BvLeZbgDdVN0FvU40l5Q7lej8310WlabCBaouk8jY7H7xbI8phtomTtk3Efmevgfy5hImaQJu6++OmcFb2NQ=="], + + "@oxc-resolver/binding-linux-ppc64-gnu": ["@oxc-resolver/binding-linux-ppc64-gnu@11.16.3", "", { "os": "linux", "cpu": "ppc64" }, "sha512-q7khglic3Jqak7uDgA3MFnjDeI7krQT595GDZpvFq785fmFYSx8rlTkoHzmhQtUisYtl4XG7WUscwsoidFUI4w=="], + + "@oxc-resolver/binding-linux-riscv64-gnu": ["@oxc-resolver/binding-linux-riscv64-gnu@11.16.3", "", { "os": "linux", "cpu": "none" }, "sha512-aFRNmQNPzDgQEbw2s3c8yJYRimacSDI+u9df8rn5nSKzTVitHmbEpZqfxpwNLCKIuLSNmozHR1z1OT+oZVeYqg=="], + + "@oxc-resolver/binding-linux-riscv64-musl": ["@oxc-resolver/binding-linux-riscv64-musl@11.16.3", "", { "os": "linux", "cpu": "none" }, "sha512-vZI85SvSMADcEL9G1TIrV0Rlkc1fY5Mup0DdlVC5EHPysZB4hXXHpr+h09pjlK5y+5om5foIzDRxE1baUCaWOA=="], + + "@oxc-resolver/binding-linux-s390x-gnu": ["@oxc-resolver/binding-linux-s390x-gnu@11.16.3", "", { "os": "linux", "cpu": "s390x" }, "sha512-xiLBnaUlddFEzRHiHiSGEMbkg8EwZY6VD8F+3GfnFsiK3xg/4boaUV2bwXd+nUzl3UDQOMW1QcZJ4jJSb0qiJA=="], + + "@oxc-resolver/binding-linux-x64-gnu": ["@oxc-resolver/binding-linux-x64-gnu@11.16.3", "", { "os": "linux", "cpu": "x64" }, "sha512-6y0b05wIazJJgwu7yU/AYGFswzQQudYJBOb/otDhiDacp1+6ye8egoxx63iVo9lSpDbipL++54AJQFlcOHCB+g=="], + + "@oxc-resolver/binding-linux-x64-musl": ["@oxc-resolver/binding-linux-x64-musl@11.16.3", "", { "os": "linux", "cpu": "x64" }, "sha512-RmMgwuMa42c9logS7Pjprf5KCp8J1a1bFiuBFtG9/+yMu0BhY2t+0VR/um7pwtkNFvIQqAVh6gDOg/PnoKRcdQ=="], + + "@oxc-resolver/binding-openharmony-arm64": ["@oxc-resolver/binding-openharmony-arm64@11.16.3", "", { "os": "none", "cpu": "arm64" }, "sha512-/7AYRkjjW7xu1nrHgWUFy99Duj4/ydOBVaHtODie9/M6fFngo+8uQDFFnzmr4q//sd/cchIerISp/8CQ5TsqIA=="], + + "@oxc-resolver/binding-wasm32-wasi": ["@oxc-resolver/binding-wasm32-wasi@11.16.3", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.1.1" }, "cpu": "none" }, "sha512-urM6aIPbi5di4BSlnpd/TWtDJgG6RD06HvLBuNM+qOYuFtY1/xPbzQ2LanBI2ycpqIoIZwsChyplALwAMdyfCQ=="], + + "@oxc-resolver/binding-win32-arm64-msvc": ["@oxc-resolver/binding-win32-arm64-msvc@11.16.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-QuvLqGKf7frxWHQ5TnrcY0C/hJpANsaez99Q4dAk1hen7lDTD4FBPtBzPnntLFXeaVG3PnSmnVjlv0vMILwU7Q=="], + + "@oxc-resolver/binding-win32-ia32-msvc": ["@oxc-resolver/binding-win32-ia32-msvc@11.16.3", "", { "os": "win32", "cpu": "ia32" }, "sha512-QR/witXK6BmYTlEP8CCjC5fxeG5U9A6a50pNpC1nLnhAcJjtzFG8KcQ5etVy/XvCLiDc7fReaAWRNWtCaIhM8Q=="], + + "@oxc-resolver/binding-win32-x64-msvc": ["@oxc-resolver/binding-win32-x64-msvc@11.16.3", "", { "os": "win32", "cpu": "x64" }, "sha512-bFuJRKOscsDAEZ/a8BezcTMAe2BQ/OBRfuMLFUuINfTR5qGVcm4a3xBIrQVepBaPxFj16SJdRjGe05vDiwZmFw=="], + + "@swc/helpers": ["@swc/helpers@0.5.15", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g=="], + + "@tailwindcss/node": ["@tailwindcss/node@4.1.18", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "enhanced-resolve": "^5.18.3", "jiti": "^2.6.1", "lightningcss": "1.30.2", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.1.18" } }, "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ=="], + + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.18", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.18", "@tailwindcss/oxide-darwin-arm64": "4.1.18", "@tailwindcss/oxide-darwin-x64": "4.1.18", "@tailwindcss/oxide-freebsd-x64": "4.1.18", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", "@tailwindcss/oxide-linux-x64-musl": "4.1.18", "@tailwindcss/oxide-wasm32-wasi": "4.1.18", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" } }, "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A=="], + + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.18", "", { "os": "android", "cpu": "arm64" }, "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q=="], + + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.18", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A=="], + + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.18", "", { "os": "darwin", "cpu": "x64" }, "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw=="], + + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.18", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA=="], + + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18", "", { "os": "linux", "cpu": "arm" }, "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA=="], + + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw=="], + + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg=="], + + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.18", "", { "os": "linux", "cpu": "x64" }, "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g=="], + + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.18", "", { "os": "linux", "cpu": "x64" }, "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ=="], + + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.18", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.1.0", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.4.0" }, "cpu": "none" }, "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA=="], + + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.18", "", { "os": "win32", "cpu": "arm64" }, "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA=="], + + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.18", "", { "os": "win32", "cpu": "x64" }, "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q=="], + + "@tailwindcss/postcss": ["@tailwindcss/postcss@4.1.18", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.1.18", "@tailwindcss/oxide": "4.1.18", "postcss": "^8.4.41", "tailwindcss": "4.1.18" } }, "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g=="], + + "@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], + + "@types/geojson": ["@types/geojson@7946.0.16", "", {}, "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg=="], + + "@types/geojson-vt": ["@types/geojson-vt@3.2.5", "", { "dependencies": { "@types/geojson": "*" } }, "sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g=="], + + "@types/node": ["@types/node@20.19.30", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g=="], + + "@types/react": ["@types/react@19.2.9", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA=="], + + "@types/react-dom": ["@types/react-dom@19.2.3", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="], + + "@types/supercluster": ["@types/supercluster@7.1.3", "", { "dependencies": { "@types/geojson": "*" } }, "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA=="], + + "@vercel/analytics": ["@vercel/analytics@1.6.1", "", { "peerDependencies": { "@remix-run/react": "^2", "@sveltejs/kit": "^1 || ^2", "next": ">= 13", "react": "^18 || ^19 || ^19.0.0-rc", "svelte": ">= 4", "vue": "^3", "vue-router": "^4" }, "optionalPeers": ["@remix-run/react", "@sveltejs/kit", "next", "react", "svelte", "vue", "vue-router"] }, "sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg=="], + + "@vercel/speed-insights": ["@vercel/speed-insights@1.3.1", "", { "peerDependencies": { "@sveltejs/kit": "^1 || ^2", "next": ">= 13", "react": "^18 || ^19 || ^19.0.0-rc", "svelte": ">= 4", "vue": "^3", "vue-router": "^4" }, "optionalPeers": ["@sveltejs/kit", "next", "react", "svelte", "vue", "vue-router"] }, "sha512-PbEr7FrMkUrGYvlcLHGkXdCkxnylCWePx7lPxxq36DNdfo9mcUjLOmqOyPDHAOgnfqgGGdmE3XI9L/4+5fr+vQ=="], + + "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + + "baseline-browser-mapping": ["baseline-browser-mapping@2.9.16", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-KeUZdBuxngy825i8xvzaK1Ncnkx0tBmb3k8DkEuqjKRkmtvNTjey2ZsNeh8Dw4lfKvbCOu9oeNx2TKm2vHqcRw=="], + + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + + "caniuse-lite": ["caniuse-lite@1.0.30001765", "", {}, "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ=="], + + "client-only": ["client-only@0.0.1", "", {}, "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="], + + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + + "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], + + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], + + "earcut": ["earcut@3.0.2", "", {}, "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ=="], + + "enhanced-resolve": ["enhanced-resolve@5.18.4", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q=="], + + "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + + "fastq": ["fastq@1.20.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw=="], + + "fd-package-json": ["fd-package-json@2.0.0", "", { "dependencies": { "walk-up-path": "^4.0.0" } }, "sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "formatly": ["formatly@0.3.0", "", { "dependencies": { "fd-package-json": "^2.0.0" }, "bin": { "formatly": "bin/index.mjs" } }, "sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w=="], + + "geojson-vt": ["geojson-vt@4.0.2", "", {}, "sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A=="], + + "get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="], + + "gl-matrix": ["gl-matrix@3.4.4", "", {}, "sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ=="], + + "glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], + + "js-yaml": ["js-yaml@4.1.1", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA=="], + + "json-stringify-pretty-compact": ["json-stringify-pretty-compact@4.0.0", "", {}, "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q=="], + + "kdbush": ["kdbush@4.0.2", "", {}, "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA=="], + + "knip": ["knip@5.82.1", "", { "dependencies": { "@nodelib/fs.walk": "^1.2.3", "fast-glob": "^3.3.3", "formatly": "^0.3.0", "jiti": "^2.6.0", "js-yaml": "^4.1.1", "minimist": "^1.2.8", "oxc-resolver": "^11.15.0", "picocolors": "^1.1.1", "picomatch": "^4.0.1", "smol-toml": "^1.5.2", "strip-json-comments": "5.0.3", "zod": "^4.1.11" }, "peerDependencies": { "@types/node": ">=18", "typescript": ">=5.0.4 <7" }, "bin": { "knip": "bin/knip.js", "knip-bun": "bin/knip-bun.js" } }, "sha512-1nQk+5AcnkqL40kGQXfouzAEXkTR+eSrgo/8m1d0BMei4eAzFwghoXC4gOKbACgBiCof7hE8wkBVDsEvznf85w=="], + + "lightningcss": ["lightningcss@1.30.2", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.30.2", "lightningcss-darwin-arm64": "1.30.2", "lightningcss-darwin-x64": "1.30.2", "lightningcss-freebsd-x64": "1.30.2", "lightningcss-linux-arm-gnueabihf": "1.30.2", "lightningcss-linux-arm64-gnu": "1.30.2", "lightningcss-linux-arm64-musl": "1.30.2", "lightningcss-linux-x64-gnu": "1.30.2", "lightningcss-linux-x64-musl": "1.30.2", "lightningcss-win32-arm64-msvc": "1.30.2", "lightningcss-win32-x64-msvc": "1.30.2" } }, "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ=="], + + "lightningcss-android-arm64": ["lightningcss-android-arm64@1.30.2", "", { "os": "android", "cpu": "arm64" }, "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A=="], + + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA=="], + + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ=="], + + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA=="], + + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.2", "", { "os": "linux", "cpu": "arm" }, "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA=="], + + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A=="], + + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA=="], + + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.2", "", { "os": "linux", "cpu": "x64" }, "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w=="], + + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.2", "", { "os": "linux", "cpu": "x64" }, "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA=="], + + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ=="], + + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.2", "", { "os": "win32", "cpu": "x64" }, "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw=="], + + "lucide-react": ["lucide-react@0.562.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-82hOAu7y0dbVuFfmO4bYF1XEwYk/mEbM5E+b1jgci/udUBEE/R7LF5Ip0CCEmXe8AybRM8L+04eP+LGZeDvkiw=="], + + "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + + "maplibre-gl": ["maplibre-gl@5.16.0", "", { "dependencies": { "@mapbox/geojson-rewind": "^0.5.2", "@mapbox/jsonlint-lines-primitives": "^2.0.2", "@mapbox/point-geometry": "^1.1.0", "@mapbox/tiny-sdf": "^2.0.7", "@mapbox/unitbezier": "^0.0.1", "@mapbox/vector-tile": "^2.0.4", "@mapbox/whoots-js": "^3.1.0", "@maplibre/maplibre-gl-style-spec": "^24.4.1", "@maplibre/mlt": "^1.1.2", "@maplibre/vt-pbf": "^4.2.0", "@types/geojson": "^7946.0.16", "@types/geojson-vt": "3.2.5", "@types/supercluster": "^7.1.3", "earcut": "^3.0.2", "geojson-vt": "^4.0.2", "gl-matrix": "^3.4.4", "kdbush": "^4.0.2", "murmurhash-js": "^1.0.0", "pbf": "^4.0.1", "potpack": "^2.1.0", "quickselect": "^3.0.0", "supercluster": "^8.0.1", "tinyqueue": "^3.0.0" } }, "sha512-/VDY89nr4jgLJyzmhy325cG6VUI02WkZ/UfVuDbG/piXzo6ODnM+omDFIwWY8tsEsBG26DNDmNMn3Y2ikHsBiA=="], + + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], + + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], + + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], + + "murmurhash-js": ["murmurhash-js@1.0.0", "", {}, "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "next": ["next@16.1.1", "", { "dependencies": { "@next/env": "16.1.1", "@swc/helpers": "0.5.15", "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "16.1.1", "@next/swc-darwin-x64": "16.1.1", "@next/swc-linux-arm64-gnu": "16.1.1", "@next/swc-linux-arm64-musl": "16.1.1", "@next/swc-linux-x64-gnu": "16.1.1", "@next/swc-linux-x64-musl": "16.1.1", "@next/swc-win32-arm64-msvc": "16.1.1", "@next/swc-win32-x64-msvc": "16.1.1", "sharp": "^0.34.4" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-QI+T7xrxt1pF6SQ/JYFz95ro/mg/1Znk5vBebsWwbpejj1T0A23hO7GYEaVac9QUOT2BIMiuzm0L99ooq7k0/w=="], + + "next-themes": ["next-themes@0.4.6", "", { "peerDependencies": { "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" } }, "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA=="], + + "oxc-resolver": ["oxc-resolver@11.16.3", "", { "optionalDependencies": { "@oxc-resolver/binding-android-arm-eabi": "11.16.3", "@oxc-resolver/binding-android-arm64": "11.16.3", "@oxc-resolver/binding-darwin-arm64": "11.16.3", "@oxc-resolver/binding-darwin-x64": "11.16.3", "@oxc-resolver/binding-freebsd-x64": "11.16.3", "@oxc-resolver/binding-linux-arm-gnueabihf": "11.16.3", "@oxc-resolver/binding-linux-arm-musleabihf": "11.16.3", "@oxc-resolver/binding-linux-arm64-gnu": "11.16.3", "@oxc-resolver/binding-linux-arm64-musl": "11.16.3", "@oxc-resolver/binding-linux-ppc64-gnu": "11.16.3", "@oxc-resolver/binding-linux-riscv64-gnu": "11.16.3", "@oxc-resolver/binding-linux-riscv64-musl": "11.16.3", "@oxc-resolver/binding-linux-s390x-gnu": "11.16.3", "@oxc-resolver/binding-linux-x64-gnu": "11.16.3", "@oxc-resolver/binding-linux-x64-musl": "11.16.3", "@oxc-resolver/binding-openharmony-arm64": "11.16.3", "@oxc-resolver/binding-wasm32-wasi": "11.16.3", "@oxc-resolver/binding-win32-arm64-msvc": "11.16.3", "@oxc-resolver/binding-win32-ia32-msvc": "11.16.3", "@oxc-resolver/binding-win32-x64-msvc": "11.16.3" } }, "sha512-goLOJH3x69VouGWGp5CgCIHyksmOZzXr36lsRmQz1APg3SPFORrvV2q7nsUHMzLVa6ZJgNwkgUSJFsbCpAWkCA=="], + + "pbf": ["pbf@4.0.1", "", { "dependencies": { "resolve-protobuf-schema": "^2.1.0" }, "bin": { "pbf": "bin/pbf" } }, "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA=="], + + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + + "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], + + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "potpack": ["potpack@2.1.0", "", {}, "sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ=="], + + "protocol-buffers-schema": ["protocol-buffers-schema@3.6.0", "", {}, "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw=="], + + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + + "quickselect": ["quickselect@3.0.0", "", {}, "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g=="], + + "react": ["react@19.2.3", "", {}, "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA=="], + + "react-dom": ["react-dom@19.2.3", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.3" } }, "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg=="], + + "resolve-protobuf-schema": ["resolve-protobuf-schema@2.1.0", "", { "dependencies": { "protocol-buffers-schema": "^3.3.1" } }, "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ=="], + + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], + + "rw": ["rw@1.3.3", "", {}, "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="], + + "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], + + "semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], + + "sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="], + + "smol-toml": ["smol-toml@1.6.0", "", {}, "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw=="], + + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + + "strip-json-comments": ["strip-json-comments@5.0.3", "", {}, "sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw=="], + + "styled-jsx": ["styled-jsx@5.1.6", "", { "dependencies": { "client-only": "0.0.1" }, "peerDependencies": { "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" } }, "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA=="], + + "supercluster": ["supercluster@8.0.1", "", { "dependencies": { "kdbush": "^4.0.2" } }, "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ=="], + + "tailwind-merge": ["tailwind-merge@3.4.0", "", {}, "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g=="], + + "tailwindcss": ["tailwindcss@4.1.18", "", {}, "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw=="], + + "tapable": ["tapable@2.3.0", "", {}, "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg=="], + + "tinyqueue": ["tinyqueue@3.0.0", "", {}, "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g=="], + + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], + + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "tw-animate-css": ["tw-animate-css@1.4.0", "", {}, "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ=="], + + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "walk-up-path": ["walk-up-path@4.0.0", "", {}, "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A=="], + + "zod": ["zod@4.3.5", "", {}, "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], + + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.1", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" }, "bundled": true }, "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A=="], + + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], + + "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + + "next/postcss": ["postcss@8.4.31", "", { "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="], + } +} diff --git a/web/package-lock.json b/web/package-lock.json deleted file mode 100644 index f464d03..0000000 --- a/web/package-lock.json +++ /dev/null @@ -1,2999 +0,0 @@ -{ - "name": "my-app", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "my-app", - "version": "0.1.0", - "dependencies": { - "@vercel/analytics": "^1.6.1", - "@vercel/speed-insights": "^1.3.1", - "clsx": "^2.1.1", - "lucide-react": "^0.562.0", - "maplibre-gl": "^5.15.0", - "next": "16.1.1", - "next-themes": "^0.4.6", - "react": "19.2.3", - "react-dom": "19.2.3", - "tailwind-merge": "^3.4.0" - }, - "devDependencies": { - "@biomejs/biome": "2.2.0", - "@tailwindcss/postcss": "^4", - "@types/node": "^20.19.27", - "@types/react": "^19", - "@types/react-dom": "^19", - "knip": "^5.80.2", - "postcss": "^8.4.49", - "tailwindcss": "^4", - "tw-animate-css": "^1.4.0", - "typescript": "^5.9.3" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@biomejs/biome": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.2.0.tgz", - "integrity": "sha512-3On3RSYLsX+n9KnoSgfoYlckYBoU6VRM22cw1gB4Y0OuUVSYd/O/2saOJMrA4HFfA1Ff0eacOvMN1yAAvHtzIw==", - "dev": true, - "license": "MIT OR Apache-2.0", - "bin": { - "biome": "bin/biome" - }, - "engines": { - "node": ">=14.21.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/biome" - }, - "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "2.2.0", - "@biomejs/cli-darwin-x64": "2.2.0", - "@biomejs/cli-linux-arm64": "2.2.0", - "@biomejs/cli-linux-arm64-musl": "2.2.0", - "@biomejs/cli-linux-x64": "2.2.0", - "@biomejs/cli-linux-x64-musl": "2.2.0", - "@biomejs/cli-win32-arm64": "2.2.0", - "@biomejs/cli-win32-x64": "2.2.0" - } - }, - "node_modules/@biomejs/cli-darwin-arm64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.2.0.tgz", - "integrity": "sha512-zKbwUUh+9uFmWfS8IFxmVD6XwqFcENjZvEyfOxHs1epjdH3wyyMQG80FGDsmauPwS2r5kXdEM0v/+dTIA9FXAg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-darwin-x64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.2.0.tgz", - "integrity": "sha512-+OmT4dsX2eTfhD5crUOPw3RPhaR+SKVspvGVmSdZ9y9O/AgL8pla6T4hOn1q+VAFBHuHhsdxDRJgFCSC7RaMOw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-arm64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.2.0.tgz", - "integrity": "sha512-6eoRdF2yW5FnW9Lpeivh7Mayhq0KDdaDMYOJnH9aT02KuSIX5V1HmWJCQQPwIQbhDh68Zrcpl8inRlTEan0SXw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.2.0.tgz", - "integrity": "sha512-egKpOa+4FL9YO+SMUMLUvf543cprjevNc3CAgDNFLcjknuNMcZ0GLJYa3EGTCR2xIkIUJDVneBV3O9OcIlCEZQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-x64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.2.0.tgz", - "integrity": "sha512-5UmQx/OZAfJfi25zAnAGHUMuOd+LOsliIt119x2soA2gLggQYrVPA+2kMUxR6Mw5M1deUF/AWWP2qpxgH7Nyfw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.2.0.tgz", - "integrity": "sha512-I5J85yWwUWpgJyC1CcytNSGusu2p9HjDnOPAFG4Y515hwRD0jpR9sT9/T1cKHtuCvEQ/sBvx+6zhz9l9wEJGAg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-win32-arm64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.2.0.tgz", - "integrity": "sha512-n9a1/f2CwIDmNMNkFs+JI0ZjFnMO0jdOyGNtihgUNFnlmd84yIYY2KMTBmMV58ZlVHjgmY5Y6E1hVTnSRieggA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-win32-x64": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.2.0.tgz", - "integrity": "sha512-Nawu5nHjP/zPKTIryh2AavzTc/KEg4um/MxWdXW0A6P/RZOyIpa7+QSjeXwAwX/utJGaCoXRPWtF3m5U/bB3Ww==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@img/colour": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", - "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", - "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", - "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", - "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", - "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", - "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", - "cpu": [ - "arm" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", - "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", - "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", - "cpu": [ - "ppc64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-riscv64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", - "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", - "cpu": [ - "riscv64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", - "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", - "cpu": [ - "s390x" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", - "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", - "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", - "cpu": [ - "arm64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", - "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", - "cpu": [ - "x64" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-linux-arm": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", - "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", - "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-ppc64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", - "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", - "cpu": [ - "ppc64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-riscv64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", - "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", - "cpu": [ - "riscv64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-riscv64": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", - "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", - "cpu": [ - "s390x" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.2.4" - } - }, - "node_modules/@img/sharp-linux-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", - "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", - "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" - } - }, - "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", - "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.2.4" - } - }, - "node_modules/@img/sharp-wasm32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", - "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", - "cpu": [ - "wasm32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", - "optional": true, - "dependencies": { - "@emnapi/runtime": "^1.7.0" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-arm64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", - "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-ia32": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", - "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-win32-x64": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", - "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@mapbox/geojson-rewind": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", - "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", - "license": "ISC", - "dependencies": { - "get-stream": "^6.0.1", - "minimist": "^1.2.6" - }, - "bin": { - "geojson-rewind": "geojson-rewind" - } - }, - "node_modules/@mapbox/jsonlint-lines-primitives": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", - "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/@mapbox/point-geometry": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-1.1.0.tgz", - "integrity": "sha512-YGcBz1cg4ATXDCM/71L9xveh4dynfGmcLDqufR+nQQy3fKwsAZsWd/x4621/6uJaeB9mwOHE6hPeDgXz9uViUQ==", - "license": "ISC" - }, - "node_modules/@mapbox/tiny-sdf": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.7.tgz", - "integrity": "sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug==", - "license": "BSD-2-Clause" - }, - "node_modules/@mapbox/unitbezier": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", - "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==", - "license": "BSD-2-Clause" - }, - "node_modules/@mapbox/vector-tile": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-2.0.4.tgz", - "integrity": "sha512-AkOLcbgGTdXScosBWwmmD7cDlvOjkg/DetGva26pIRiZPdeJYjYKarIlb4uxVzi6bwHO6EWH82eZ5Nuv4T5DUg==", - "license": "BSD-3-Clause", - "dependencies": { - "@mapbox/point-geometry": "~1.1.0", - "@types/geojson": "^7946.0.16", - "pbf": "^4.0.1" - } - }, - "node_modules/@mapbox/whoots-js": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", - "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", - "license": "ISC", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@maplibre/maplibre-gl-style-spec": { - "version": "24.4.1", - "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-24.4.1.tgz", - "integrity": "sha512-UKhA4qv1h30XT768ccSv5NjNCX+dgfoq2qlLVmKejspPcSQTYD4SrVucgqegmYcKcmwf06wcNAa/kRd0NHWbUg==", - "license": "ISC", - "dependencies": { - "@mapbox/jsonlint-lines-primitives": "~2.0.2", - "@mapbox/unitbezier": "^0.0.1", - "json-stringify-pretty-compact": "^4.0.0", - "minimist": "^1.2.8", - "quickselect": "^3.0.0", - "rw": "^1.3.3", - "tinyqueue": "^3.0.0" - }, - "bin": { - "gl-style-format": "dist/gl-style-format.mjs", - "gl-style-migrate": "dist/gl-style-migrate.mjs", - "gl-style-validate": "dist/gl-style-validate.mjs" - } - }, - "node_modules/@maplibre/mlt": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@maplibre/mlt/-/mlt-1.1.2.tgz", - "integrity": "sha512-SQKdJ909VGROkA6ovJgtHNs9YXV4YXUPS+VaZ50I2Mt951SLlUm2Cv34x5Xwc1HiFlsd3h2Yrs5cn7xzqBmENw==", - "license": "(MIT OR Apache-2.0)", - "dependencies": { - "@mapbox/point-geometry": "^1.1.0" - } - }, - "node_modules/@maplibre/vt-pbf": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@maplibre/vt-pbf/-/vt-pbf-4.2.0.tgz", - "integrity": "sha512-bxrk/kQUwWXZgmqYgwOCnZCMONCRi3MJMqJdza4T3E4AeR5i+VyMnaJ8iDWtWxdfEAJRtrzIOeJtxZSy5mFrFA==", - "license": "MIT", - "dependencies": { - "@mapbox/point-geometry": "^1.1.0", - "@mapbox/vector-tile": "^2.0.4", - "@types/geojson-vt": "3.2.5", - "@types/supercluster": "^7.1.3", - "geojson-vt": "^4.0.2", - "pbf": "^4.0.1", - "supercluster": "^8.0.1" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", - "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - } - }, - "node_modules/@next/env": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.1.1.tgz", - "integrity": "sha512-3oxyM97Sr2PqiVyMyrZUtrtM3jqqFxOQJVuKclDsgj/L728iZt/GyslkN4NwarledZATCenbk4Offjk1hQmaAA==", - "license": "MIT" - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.1.1.tgz", - "integrity": "sha512-JS3m42ifsVSJjSTzh27nW+Igfha3NdBOFScr9C80hHGrWx55pTrVL23RJbqir7k7/15SKlrLHhh/MQzqBBYrQA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.1.1.tgz", - "integrity": "sha512-hbyKtrDGUkgkyQi1m1IyD3q4I/3m9ngr+V93z4oKHrPcmxwNL5iMWORvLSGAf2YujL+6HxgVvZuCYZfLfb4bGw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.1.1.tgz", - "integrity": "sha512-/fvHet+EYckFvRLQ0jPHJCUI5/B56+2DpI1xDSvi80r/3Ez+Eaa2Yq4tJcRTaB1kqj/HrYKn8Yplm9bNoMJpwQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.1.1.tgz", - "integrity": "sha512-MFHrgL4TXNQbBPzkKKur4Fb5ICEJa87HM7fczFs2+HWblM7mMLdco3dvyTI+QmLBU9xgns/EeeINSZD6Ar+oLg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.1.1.tgz", - "integrity": "sha512-20bYDfgOQAPUkkKBnyP9PTuHiJGM7HzNBbuqmD0jiFVZ0aOldz+VnJhbxzjcSabYsnNjMPsE0cyzEudpYxsrUQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.1.1.tgz", - "integrity": "sha512-9pRbK3M4asAHQRkwaXwu601oPZHghuSC8IXNENgbBSyImHv/zY4K5udBusgdHkvJ/Tcr96jJwQYOll0qU8+fPA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.1.1.tgz", - "integrity": "sha512-bdfQkggaLgnmYrFkSQfsHfOhk/mCYmjnrbRCGgkMcoOBZ4n+TRRSLmT/CU5SATzlBJ9TpioUyBW/vWFXTqQRiA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.1.1.tgz", - "integrity": "sha512-Ncwbw2WJ57Al5OX0k4chM68DKhEPlrXBaSXDCi2kPi5f4d8b3ejr3RRJGfKBLrn2YJL5ezNS7w2TZLHSti8CMw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@oxc-resolver/binding-android-arm-eabi": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm-eabi/-/binding-android-arm-eabi-11.16.2.tgz", - "integrity": "sha512-lVJbvydLQIDZHKUb6Zs9Rq80QVTQ9xdCQE30eC9/cjg4wsMoEOg65QZPymUAIVJotpUAWJD0XYcwE7ugfxx5kQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@oxc-resolver/binding-android-arm64": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm64/-/binding-android-arm64-11.16.2.tgz", - "integrity": "sha512-fEk+g/g2rJ6LnBVPqeLcx+/alWZ/Db1UlXG+ZVivip0NdrnOzRL48PAmnxTMGOrLwsH1UDJkwY3wOjrrQltCqg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@oxc-resolver/binding-darwin-arm64": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-11.16.2.tgz", - "integrity": "sha512-Pkbp1qi7kdUX6k3Fk1PvAg6p7ruwaWKg1AhOlDgrg2vLXjtv9ZHo7IAQN6kLj0W771dPJZWqNxoqTPacp2oYWA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@oxc-resolver/binding-darwin-x64": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-11.16.2.tgz", - "integrity": "sha512-FYCGcU1iSoPkADGLfQbuj0HWzS+0ItjDCt9PKtu2Hzy6T0dxO4Y1enKeCOxCweOlmLEkSxUlW5UPT4wvT3LnAg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@oxc-resolver/binding-freebsd-x64": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-11.16.2.tgz", - "integrity": "sha512-1zHCoK6fMcBjE54P2EG/z70rTjcRxvyKfvk4E/QVrWLxNahuGDFZIxoEoo4kGnnEcmPj41F0c2PkrQbqlpja5g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@oxc-resolver/binding-linux-arm-gnueabihf": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-11.16.2.tgz", - "integrity": "sha512-+ucLYz8EO5FDp6kZ4o1uDmhoP+M98ysqiUW4hI3NmfiOJQWLrAzQjqaTdPfIOzlCXBU9IHp5Cgxu6wPjVb8dbA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oxc-resolver/binding-linux-arm-musleabihf": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-11.16.2.tgz", - "integrity": "sha512-qq+TpNXyw1odDgoONRpMLzH4hzhwnEw55398dL8rhKGvvYbio71WrJ00jE+hGlEi7H1Gkl11KoPJRaPlRAVGPw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oxc-resolver/binding-linux-arm64-gnu": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-11.16.2.tgz", - "integrity": "sha512-xlMh4gNtplNQEwuF5icm69udC7un0WyzT5ywOeHrPMEsghKnLjXok2wZgAA7ocTm9+JsI+nVXIQa5XO1x+HPQg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oxc-resolver/binding-linux-arm64-musl": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-11.16.2.tgz", - "integrity": "sha512-OZs33QTMi0xmHv/4P0+RAKXJTBk7UcMH5tpTaCytWRXls/DGaJ48jOHmriQGK2YwUqXl+oneuNyPOUO0obJ+Hg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oxc-resolver/binding-linux-ppc64-gnu": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-11.16.2.tgz", - "integrity": "sha512-UVyuhaV32dJGtF6fDofOcBstg9JwB2Jfnjfb8jGlu3xcG+TsubHRhuTwQ6JZ1sColNT1nMxBiu7zdKUEZi1kwg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oxc-resolver/binding-linux-riscv64-gnu": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-11.16.2.tgz", - "integrity": "sha512-YZZS0yv2q5nE1uL/Fk4Y7m9018DSEmDNSG8oJzy1TJjA1jx5HL52hEPxi98XhU6OYhSO/vC1jdkJeE8TIHugug==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oxc-resolver/binding-linux-riscv64-musl": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-11.16.2.tgz", - "integrity": "sha512-9VYuypwtx4kt1lUcwJAH4dPmgJySh4/KxtAPdRoX2BTaZxVm/yEXHq0mnl/8SEarjzMvXKbf7Cm6UBgptm3DZw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oxc-resolver/binding-linux-s390x-gnu": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-11.16.2.tgz", - "integrity": "sha512-3gbwQ+xlL5gpyzgSDdC8B4qIM4mZaPDLaFOi3c/GV7CqIdVJc5EZXW4V3T6xwtPBOpXPXfqQLbhTnUD4SqwJtA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oxc-resolver/binding-linux-x64-gnu": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-11.16.2.tgz", - "integrity": "sha512-m0WcK0j54tSwWa+hQaJMScZdWneqE7xixp/vpFqlkbhuKW9dRHykPAFvSYg1YJ3MJgu9ZzVNpYHhPKJiEQq57Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oxc-resolver/binding-linux-x64-musl": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-11.16.2.tgz", - "integrity": "sha512-ZjUm3w96P2t47nWywGwj1A2mAVBI/8IoS7XHhcogWCfXnEI3M6NPIRQPYAZW4s5/u3u6w1uPtgOwffj2XIOb/g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@oxc-resolver/binding-openharmony-arm64": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-openharmony-arm64/-/binding-openharmony-arm64-11.16.2.tgz", - "integrity": "sha512-OFVQ2x3VenTp13nIl6HcQ/7dmhFmM9dg2EjKfHcOtYfrVLQdNR6THFU7GkMdmc8DdY1zLUeilHwBIsyxv5hkwQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@oxc-resolver/binding-wasm32-wasi": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-11.16.2.tgz", - "integrity": "sha512-+O1sY3RrGyA2AqDnd3yaDCsqZqCblSTEpY7TbbaOaw0X7iIbGjjRLdrQk9StG3QSiZuBy9FdFwotIiSXtwvbAQ==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^1.1.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@oxc-resolver/binding-win32-arm64-msvc": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-11.16.2.tgz", - "integrity": "sha512-jMrMJL+fkx6xoSMFPOeyQ1ctTFjavWPOSZEKUY5PebDwQmC9cqEr4LhdTnGsOtFrWYLXlEU4xWeMdBoc/XKkOA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@oxc-resolver/binding-win32-ia32-msvc": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-11.16.2.tgz", - "integrity": "sha512-tl0xDA5dcQplG2yg2ZhgVT578dhRFafaCfyqMEAXq8KNpor85nJ53C3PLpfxD2NKzPioFgWEexNsjqRi+kW2Mg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@oxc-resolver/binding-win32-x64-msvc": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-11.16.2.tgz", - "integrity": "sha512-M7z0xjYQq1HdJk2DxTSLMvRMyBSI4wn4FXGcVQBsbAihgXevAReqwMdb593nmCK/OiFwSNcOaGIzUvzyzQ+95w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@swc/helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "node_modules/@tailwindcss/node": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", - "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.4", - "enhanced-resolve": "^5.18.3", - "jiti": "^2.6.1", - "lightningcss": "1.30.2", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.1.18" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", - "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.18", - "@tailwindcss/oxide-darwin-arm64": "4.1.18", - "@tailwindcss/oxide-darwin-x64": "4.1.18", - "@tailwindcss/oxide-freebsd-x64": "4.1.18", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", - "@tailwindcss/oxide-linux-x64-musl": "4.1.18", - "@tailwindcss/oxide-wasm32-wasi": "4.1.18", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", - "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", - "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", - "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", - "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", - "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", - "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", - "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", - "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", - "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", - "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", - "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.1.0", - "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", - "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", - "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/postcss": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.18.tgz", - "integrity": "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.1.18", - "@tailwindcss/oxide": "4.1.18", - "postcss": "^8.4.41", - "tailwindcss": "4.1.18" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/geojson": { - "version": "7946.0.16", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", - "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", - "license": "MIT" - }, - "node_modules/@types/geojson-vt": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@types/geojson-vt/-/geojson-vt-3.2.5.tgz", - "integrity": "sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==", - "license": "MIT", - "dependencies": { - "@types/geojson": "*" - } - }, - "node_modules/@types/node": { - "version": "20.19.27", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.27.tgz", - "integrity": "sha512-N2clP5pJhB2YnZJ3PIHFk5RkygRX5WO/5f0WC08tp0wd+sv0rsJk3MqWn3CbNmT2J505a5336jaQj4ph1AdMug==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@types/react": { - "version": "19.2.7", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", - "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.2.0" - } - }, - "node_modules/@types/supercluster": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", - "integrity": "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==", - "license": "MIT", - "dependencies": { - "@types/geojson": "*" - } - }, - "node_modules/@vercel/analytics": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.6.1.tgz", - "integrity": "sha512-oH9He/bEM+6oKlv3chWuOOcp8Y6fo6/PSro8hEkgCW3pu9/OiCXiUpRUogDh3Fs3LH2sosDrx8CxeOLBEE+afg==", - "license": "MPL-2.0", - "peerDependencies": { - "@remix-run/react": "^2", - "@sveltejs/kit": "^1 || ^2", - "next": ">= 13", - "react": "^18 || ^19 || ^19.0.0-rc", - "svelte": ">= 4", - "vue": "^3", - "vue-router": "^4" - }, - "peerDependenciesMeta": { - "@remix-run/react": { - "optional": true - }, - "@sveltejs/kit": { - "optional": true - }, - "next": { - "optional": true - }, - "react": { - "optional": true - }, - "svelte": { - "optional": true - }, - "vue": { - "optional": true - }, - "vue-router": { - "optional": true - } - } - }, - "node_modules/@vercel/speed-insights": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vercel/speed-insights/-/speed-insights-1.3.1.tgz", - "integrity": "sha512-PbEr7FrMkUrGYvlcLHGkXdCkxnylCWePx7lPxxq36DNdfo9mcUjLOmqOyPDHAOgnfqgGGdmE3XI9L/4+5fr+vQ==", - "license": "Apache-2.0", - "peerDependencies": { - "@sveltejs/kit": "^1 || ^2", - "next": ">= 13", - "react": "^18 || ^19 || ^19.0.0-rc", - "svelte": ">= 4", - "vue": "^3", - "vue-router": "^4" - }, - "peerDependenciesMeta": { - "@sveltejs/kit": { - "optional": true - }, - "next": { - "optional": true - }, - "react": { - "optional": true - }, - "svelte": { - "optional": true - }, - "vue": { - "optional": true - }, - "vue-router": { - "optional": true - } - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.9.12", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.12.tgz", - "integrity": "sha512-Mij6Lij93pTAIsSYy5cyBQ975Qh9uLEc5rwGTpomiZeXZL9yIS6uORJakb3ScHgfs0serMMfIbXzokPMuEiRyw==", - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001762", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz", - "integrity": "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "license": "MIT" - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "devOptional": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/earcut": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.2.tgz", - "integrity": "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==", - "license": "ISC" - }, - "node_modules/enhanced-resolve": { - "version": "5.18.4", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", - "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fastq": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", - "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fd-package-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fd-package-json/-/fd-package-json-2.0.0.tgz", - "integrity": "sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "walk-up-path": "^4.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/formatly": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/formatly/-/formatly-0.3.0.tgz", - "integrity": "sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "fd-package-json": "^2.0.0" - }, - "bin": { - "formatly": "bin/index.mjs" - }, - "engines": { - "node": ">=18.3.0" - } - }, - "node_modules/geojson-vt": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-4.0.2.tgz", - "integrity": "sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==", - "license": "ISC" - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gl-matrix": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.4.tgz", - "integrity": "sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==", - "license": "MIT" - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-stringify-pretty-compact": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", - "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==", - "license": "MIT" - }, - "node_modules/kdbush": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", - "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", - "license": "ISC" - }, - "node_modules/knip": { - "version": "5.80.2", - "resolved": "https://registry.npmjs.org/knip/-/knip-5.80.2.tgz", - "integrity": "sha512-Yt7iF8Uzl7pp3mGA6yvum6PZBcbGhjasZYuqIwcIAX1jsIhGRUAK0icP0qrB6FSPBI3BpIeMHl7n9meCLO6ovg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/webpro" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/knip" - } - ], - "license": "ISC", - "dependencies": { - "@nodelib/fs.walk": "^1.2.3", - "fast-glob": "^3.3.3", - "formatly": "^0.3.0", - "jiti": "^2.6.0", - "js-yaml": "^4.1.1", - "minimist": "^1.2.8", - "oxc-resolver": "^11.15.0", - "picocolors": "^1.1.1", - "picomatch": "^4.0.1", - "smol-toml": "^1.5.2", - "strip-json-comments": "5.0.3", - "zod": "^4.1.11" - }, - "bin": { - "knip": "bin/knip.js", - "knip-bun": "bin/knip-bun.js" - }, - "engines": { - "node": ">=18.18.0" - }, - "peerDependencies": { - "@types/node": ">=18", - "typescript": ">=5.0.4 <7" - } - }, - "node_modules/lightningcss": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", - "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.30.2", - "lightningcss-darwin-arm64": "1.30.2", - "lightningcss-darwin-x64": "1.30.2", - "lightningcss-freebsd-x64": "1.30.2", - "lightningcss-linux-arm-gnueabihf": "1.30.2", - "lightningcss-linux-arm64-gnu": "1.30.2", - "lightningcss-linux-arm64-musl": "1.30.2", - "lightningcss-linux-x64-gnu": "1.30.2", - "lightningcss-linux-x64-musl": "1.30.2", - "lightningcss-win32-arm64-msvc": "1.30.2", - "lightningcss-win32-x64-msvc": "1.30.2" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", - "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", - "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", - "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", - "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", - "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", - "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", - "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", - "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", - "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", - "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", - "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lucide-react": { - "version": "0.562.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.562.0.tgz", - "integrity": "sha512-82hOAu7y0dbVuFfmO4bYF1XEwYk/mEbM5E+b1jgci/udUBEE/R7LF5Ip0CCEmXe8AybRM8L+04eP+LGZeDvkiw==", - "license": "ISC", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/maplibre-gl": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.15.0.tgz", - "integrity": "sha512-pPeu/t4yPDX/+Uf9ibLUdmaKbNMlGxMAX+tBednYukol2qNk2TZXAlhdohWxjVvTO3is8crrUYv3Ok02oAaKzA==", - "license": "BSD-3-Clause", - "dependencies": { - "@mapbox/geojson-rewind": "^0.5.2", - "@mapbox/jsonlint-lines-primitives": "^2.0.2", - "@mapbox/point-geometry": "^1.1.0", - "@mapbox/tiny-sdf": "^2.0.7", - "@mapbox/unitbezier": "^0.0.1", - "@mapbox/vector-tile": "^2.0.4", - "@mapbox/whoots-js": "^3.1.0", - "@maplibre/maplibre-gl-style-spec": "^24.4.1", - "@maplibre/mlt": "^1.1.2", - "@maplibre/vt-pbf": "^4.2.0", - "@types/geojson": "^7946.0.16", - "@types/geojson-vt": "3.2.5", - "@types/supercluster": "^7.1.3", - "earcut": "^3.0.2", - "geojson-vt": "^4.0.2", - "gl-matrix": "^3.4.4", - "kdbush": "^4.0.2", - "murmurhash-js": "^1.0.0", - "pbf": "^4.0.1", - "potpack": "^2.1.0", - "quickselect": "^3.0.0", - "supercluster": "^8.0.1", - "tinyqueue": "^3.0.0" - }, - "engines": { - "node": ">=16.14.0", - "npm": ">=8.1.0" - }, - "funding": { - "url": "https://github.com/maplibre/maplibre-gl-js?sponsor=1" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/murmurhash-js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", - "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/next": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/next/-/next-16.1.1.tgz", - "integrity": "sha512-QI+T7xrxt1pF6SQ/JYFz95ro/mg/1Znk5vBebsWwbpejj1T0A23hO7GYEaVac9QUOT2BIMiuzm0L99ooq7k0/w==", - "license": "MIT", - "peer": true, - "dependencies": { - "@next/env": "16.1.1", - "@swc/helpers": "0.5.15", - "baseline-browser-mapping": "^2.8.3", - "caniuse-lite": "^1.0.30001579", - "postcss": "8.4.31", - "styled-jsx": "5.1.6" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=20.9.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "16.1.1", - "@next/swc-darwin-x64": "16.1.1", - "@next/swc-linux-arm64-gnu": "16.1.1", - "@next/swc-linux-arm64-musl": "16.1.1", - "@next/swc-linux-x64-gnu": "16.1.1", - "@next/swc-linux-x64-musl": "16.1.1", - "@next/swc-win32-arm64-msvc": "16.1.1", - "@next/swc-win32-x64-msvc": "16.1.1", - "sharp": "^0.34.4" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.51.1", - "babel-plugin-react-compiler": "*", - "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/next-themes": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.6.tgz", - "integrity": "sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc" - } - }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/oxc-resolver": { - "version": "11.16.2", - "resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-11.16.2.tgz", - "integrity": "sha512-Uy76u47vwhhF7VAmVY61Srn+ouiOobf45MU9vGct9GD2ARy6hKoqEElyHDB0L+4JOM6VLuZ431KiLwyjI/A21g==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/Boshen" - }, - "optionalDependencies": { - "@oxc-resolver/binding-android-arm-eabi": "11.16.2", - "@oxc-resolver/binding-android-arm64": "11.16.2", - "@oxc-resolver/binding-darwin-arm64": "11.16.2", - "@oxc-resolver/binding-darwin-x64": "11.16.2", - "@oxc-resolver/binding-freebsd-x64": "11.16.2", - "@oxc-resolver/binding-linux-arm-gnueabihf": "11.16.2", - "@oxc-resolver/binding-linux-arm-musleabihf": "11.16.2", - "@oxc-resolver/binding-linux-arm64-gnu": "11.16.2", - "@oxc-resolver/binding-linux-arm64-musl": "11.16.2", - "@oxc-resolver/binding-linux-ppc64-gnu": "11.16.2", - "@oxc-resolver/binding-linux-riscv64-gnu": "11.16.2", - "@oxc-resolver/binding-linux-riscv64-musl": "11.16.2", - "@oxc-resolver/binding-linux-s390x-gnu": "11.16.2", - "@oxc-resolver/binding-linux-x64-gnu": "11.16.2", - "@oxc-resolver/binding-linux-x64-musl": "11.16.2", - "@oxc-resolver/binding-openharmony-arm64": "11.16.2", - "@oxc-resolver/binding-wasm32-wasi": "11.16.2", - "@oxc-resolver/binding-win32-arm64-msvc": "11.16.2", - "@oxc-resolver/binding-win32-ia32-msvc": "11.16.2", - "@oxc-resolver/binding-win32-x64-msvc": "11.16.2" - } - }, - "node_modules/pbf": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", - "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", - "license": "BSD-3-Clause", - "dependencies": { - "resolve-protobuf-schema": "^2.1.0" - }, - "bin": { - "pbf": "bin/pbf" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/potpack": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.1.0.tgz", - "integrity": "sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==", - "license": "ISC" - }, - "node_modules/protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==", - "license": "MIT" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/quickselect": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", - "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", - "license": "ISC" - }, - "node_modules/react": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", - "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", - "license": "MIT", - "peer": true, - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.3" - } - }, - "node_modules/resolve-protobuf-schema": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", - "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", - "license": "MIT", - "dependencies": { - "protocol-buffers-schema": "^3.3.1" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", - "license": "BSD-3-Clause" - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "license": "ISC", - "optional": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sharp": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", - "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", - "hasInstallScript": true, - "license": "Apache-2.0", - "optional": true, - "dependencies": { - "@img/colour": "^1.0.0", - "detect-libc": "^2.1.2", - "semver": "^7.7.3" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.5", - "@img/sharp-darwin-x64": "0.34.5", - "@img/sharp-libvips-darwin-arm64": "1.2.4", - "@img/sharp-libvips-darwin-x64": "1.2.4", - "@img/sharp-libvips-linux-arm": "1.2.4", - "@img/sharp-libvips-linux-arm64": "1.2.4", - "@img/sharp-libvips-linux-ppc64": "1.2.4", - "@img/sharp-libvips-linux-riscv64": "1.2.4", - "@img/sharp-libvips-linux-s390x": "1.2.4", - "@img/sharp-libvips-linux-x64": "1.2.4", - "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", - "@img/sharp-libvips-linuxmusl-x64": "1.2.4", - "@img/sharp-linux-arm": "0.34.5", - "@img/sharp-linux-arm64": "0.34.5", - "@img/sharp-linux-ppc64": "0.34.5", - "@img/sharp-linux-riscv64": "0.34.5", - "@img/sharp-linux-s390x": "0.34.5", - "@img/sharp-linux-x64": "0.34.5", - "@img/sharp-linuxmusl-arm64": "0.34.5", - "@img/sharp-linuxmusl-x64": "0.34.5", - "@img/sharp-wasm32": "0.34.5", - "@img/sharp-win32-arm64": "0.34.5", - "@img/sharp-win32-ia32": "0.34.5", - "@img/sharp-win32-x64": "0.34.5" - } - }, - "node_modules/smol-toml": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.0.tgz", - "integrity": "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 18" - }, - "funding": { - "url": "https://github.com/sponsors/cyyynthia" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-json-comments": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.3.tgz", - "integrity": "sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/styled-jsx": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", - "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", - "license": "MIT", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/supercluster": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", - "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", - "license": "ISC", - "dependencies": { - "kdbush": "^4.0.2" - } - }, - "node_modules/tailwind-merge": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", - "integrity": "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwindcss": { - "version": "4.1.18", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", - "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/tinyqueue": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", - "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", - "license": "ISC" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/tw-animate-css": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.4.0.tgz", - "integrity": "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/Wombosvideo" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/walk-up-path": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-4.0.0.tgz", - "integrity": "sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==", - "dev": true, - "license": "ISC", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/zod": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", - "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - } - } -} diff --git a/web/package.json b/web/package.json index 2373700..3c67c92 100644 --- a/web/package.json +++ b/web/package.json @@ -3,9 +3,9 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", + "dev": "bun --bun next dev", "build": "next build", - "start": "next start", + "start": "bun --bun next start", "lint": "biome check", "format": "biome format --write", "knip": "knip" From d15e038e511b0a3e90d98099bc2599e97f2b5c42 Mon Sep 17 00:00:00 2001 From: Dinesh Korukonda Date: Wed, 21 Jan 2026 14:51:55 +0530 Subject: [PATCH 2/3] added vercel skills --- web/.gitignore | 5 +++++ web/README.md | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/web/.gitignore b/web/.gitignore index 274255e..604fe5e 100644 --- a/web/.gitignore +++ b/web/.gitignore @@ -28,6 +28,11 @@ yarn-error.log* # vercel .vercel +# agent skills +.agents/ +.agent/ +.gemini/ + # typescript *.tsbuildinfo next-env.d.ts diff --git a/web/README.md b/web/README.md index e215bc4..1e3a47c 100644 --- a/web/README.md +++ b/web/README.md @@ -2,6 +2,18 @@ This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next- ## Getting Started +### Install Vercel Skills (Optional) + +This project uses Vercel React best practices via agent skills. To install them: + +```bash +npx skills add vercel-labs/agent-skills --skill "vercel-react-best-practices" +``` + +This will install performance optimization and best practice rules for AI agents working with this codebase. + +### Run the Development Server + First, run the development server: ```bash From ef3b017f930db0e69ce86e472c1f114463c11109 Mon Sep 17 00:00:00 2001 From: Dinesh Korukonda Date: Wed, 21 Jan 2026 15:15:34 +0530 Subject: [PATCH 3/3] redid entire ui --- README.md | 149 +----------- public/ARCHITECTURE_DIAGRAM 2.png | Bin 86699 -> 0 bytes test_performance.py | 82 ------- web/.editorconfig | 23 -- web/.eslintrc.json | 33 --- web/.prettierrc | 13 -- web/README.md | 63 ++---- web/knip.json | 9 +- web/public/assets/demo.png | Bin 0 -> 302672 bytes web/src/app/docs/page.tsx | 216 +++++++++++++----- web/src/app/layout.tsx | 7 +- web/src/app/page.tsx | 222 +++++++++++++----- web/src/app/web/page.tsx | 7 +- web/src/components/UrlAnalyzer.tsx | 350 ++++++++++++++++++++--------- web/src/components/ui/map.tsx | 6 +- web/src/lib/api.ts | 106 ++++++--- 16 files changed, 684 insertions(+), 602 deletions(-) delete mode 100644 public/ARCHITECTURE_DIAGRAM 2.png delete mode 100644 test_performance.py delete mode 100644 web/.editorconfig delete mode 100644 web/.eslintrc.json delete mode 100644 web/.prettierrc create mode 100644 web/public/assets/demo.png diff --git a/README.md b/README.md index e467a73..fb7f5e0 100644 --- a/README.md +++ b/README.md @@ -2,154 +2,19 @@ Intrusion Monitoring & Defense for Linux Servers -Monix is an open-source host-level security tool that provides real-time threat monitoring, connection intelligence, and behavior-based attack detection for modern Linux servers. +Monix is an open-source security tool that provides real-time threat monitoring, connection intelligence, and behavior-based attack detection. -## Products +## About This Repository -Monix consists of **2 separate products**: +This repository contains **monix-core** - the core security logic and analysis engine that powers the Monix ecosystem. It includes CLI tools for server monitoring and a comprehensive web application for URL security analysis. -### 1. monix-linux +**Primary Product:** [monix-web](./web) - A modern web application for comprehensive URL security scanning, SSL validation, DNS analysis, and threat detection. Built with Next.js and powered by monix-core's security engine. -A CLI tool for Linux server security monitoring and intrusion detection. +**CLI Tools:** This repository also includes command-line tools for Linux server monitoring and intrusion detection. These tools leverage the same monix-core logic that powers monix-web. -**Features:** -- Real-time connection monitoring -- Threat detection (SYN floods, port scans, high connection counts) -- GeoIP intelligence -- Process tracking -- Security scanning -- Terminal-based dashboard (`--watch`) -- Clean CLI interface +For more details about the architecture and technical implementation, visit: [dineshkorukonda.in/blog](https://dineshkorukonda.in/blogs) -### 2. monix-web - -A separate, independently deployed Next.js web application for web security analysis. - -**Features:** -- URL security scanning -- SSL certificate validation -- DNS record analysis -- Security headers assessment -- Port scanning -- Technology stack detection -- Geographic intelligence - -**Note:** monix-web uses monix-core (shared from this repository) but is deployed as a separate product. It is NOT part of this CLI tool. - -## Features - -This repository (monix-linux) provides: -- Real-time connection monitoring -- Threat detection (SYN floods, port scans, high connection counts) -- GeoIP intelligence -- Process tracking -- Security scanning -- Clean CLI interface -- Live terminal dashboard (`--watch`) - -## Quick Start - -```bash -# Clone the repo -git clone https://github.com/dinexh/monix.git -cd monix - -# Create virtual environment -python3 -m venv .venv -source .venv/bin/activate - -# Install -pip install -e . -``` - -## Usage - -```bash -# Quick system snapshot -monix --monitor - -# One-line health check -monix --status - -# Live security dashboard -monix --watch - -# List connections -monix --connections - -# Show alerts -monix --alerts - -# Security scan -monix --scan -monix scan --deep -``` - - -## Commands - -| Command | Description | -|---------|-------------| -| `--monitor` / `-m` | Quick system snapshot | -| `--status` / `-s` | One-line health check | -| `--watch` / `-w` | Live security dashboard | -| `--connections` / `-c` | List active connections | -| `--alerts` / `-a` | Show security alerts | -| `--scan` | Security scan | - -## Options - -```bash -# JSON output -monix --monitor --json - -# Filter connections by state -monix connections --state ESTABLISHED -monix connections --state LISTEN --limit 50 - -# Custom refresh interval -monix watch --refresh 5 - -# Deep security scan -monix scan --deep -``` - -## Example Output - -``` -[2025-12-28 00:15:01] INFO: Initializing connection collector... -[2025-12-28 00:15:02] INFO: Threat detection engine active. -[2025-12-28 00:15:02] INFO: Live TCP connections: 24 | Established: 18 | Listening: 6 -[2025-12-28 00:15:02] INFO: Top processes: nginx(12), node(6), sshd(4) -[2025-12-28 00:15:02] INFO: Status: SECURE | Host: my-server -``` - -## Security Checks - -The `scan --deep` command performs: - -| Check | Description | -|-------|-------------| -| SSL Certificate | Full validation, expiry, and issuer details | -| DNS Records | A, AAAA, MX, NS, TXT record analysis | -| Security Headers | HSTS, CSP, X-Frame-Options scoring | -| Port Scanning | Common service discovery (HTTP, SSH, DB) | -| Technology Stack | Server, CMS, and Framework detection | -| Geographic Info | Precise server location and provider mapping | -| SSH Port | Warns if SSH runs on default port 22 | -| Dangerous Ports | Detects FTP, Telnet, SMB, RDP, VNC | -| Listening Count | Warns if too many ports are open | -| External Access | Checks for external DB connections | -| Suspicious Outbound | Detects connections to backdoor ports | - -## Requirements - -- Python 3.8+ -- Linux (primary) / macOS (limited support) -- Root/sudo for full process visibility ## License -MIT License - -- Developed by dineshkorukonda.in +MIT License - Developed by [dineshkorukonda.in](https://dineshkorukonda.in) diff --git a/public/ARCHITECTURE_DIAGRAM 2.png b/public/ARCHITECTURE_DIAGRAM 2.png deleted file mode 100644 index a1db973e6ed904822b3759280e96a5f972a60178..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86699 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 diff --git a/test_performance.py b/test_performance.py deleted file mode 100644 index 166331b..0000000 --- a/test_performance.py +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/env python3 -""" -Performance test script for web security analysis. - -This script tests the optimized analyze_web_security function to verify -performance improvements from parallel execution. -""" - -import time -import sys -import os - -# Add project root to path -sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) - -from core.scanners.web import analyze_web_security - - -def test_url_analysis(): - """Test URL analysis performance.""" - test_urls = [ - "https://example.com", - "https://github.com", - ] - - print("=" * 70) - print("Performance Test: Web Security Analysis") - print("=" * 70) - print() - - for url in test_urls: - print(f"Testing: {url}") - print("-" * 70) - - # Test 1: Basic analysis (no port scan, no metadata) - print("\n1. Basic Analysis (default - optimized):") - start = time.time() - try: - result = analyze_web_security(url, include_port_scan=False, include_metadata=False) - duration = time.time() - start - print(f" ✓ Completed in {duration:.2f} seconds") - print(f" - Domain: {result.get('domain', 'N/A')}") - print(f" - IP: {result.get('ip_address', 'N/A')}") - print(f" - SSL Valid: {result.get('ssl_certificate', {}).get('valid', False)}") - print(f" - Threat Score: {result.get('threat_score', 'N/A')}") - print(f" - Threat Level: {result.get('threat_level', 'N/A')}") - except Exception as e: - duration = time.time() - start - print(f" ✗ Failed in {duration:.2f} seconds: {e}") - - # Test 2: Full analysis (with port scan and metadata) - print("\n2. Full Analysis (includes port scan + metadata):") - start = time.time() - try: - result = analyze_web_security(url, include_port_scan=True, include_metadata=True) - duration = time.time() - start - print(f" ✓ Completed in {duration:.2f} seconds") - print(f" - Open Ports: {result.get('port_scan', {}).get('open_ports', [])}") - print(f" - Page Title: {result.get('metadata', {}).get('title', 'N/A')[:50]}...") - except Exception as e: - duration = time.time() - start - print(f" ✗ Failed in {duration:.2f} seconds: {e}") - - print() - - print("=" * 70) - print("Performance Improvements Summary:") - print("=" * 70) - print("✓ Parallel execution using ThreadPoolExecutor") - print("✓ Reduced timeouts (3-5s instead of 5-10s)") - print("✓ Optimized port scanning (3 ports instead of 10, concurrent)") - print("✓ Caching for IP geolocation") - print("✓ Optional expensive checks (port scan, metadata)") - print() - print("Expected Performance:") - print("- Basic analysis: 5-10 seconds (was 60+ seconds)") - print("- Full analysis: 10-15 seconds (was 90+ seconds)") - print("=" * 70) - - -if __name__ == "__main__": - test_url_analysis() diff --git a/web/.editorconfig b/web/.editorconfig deleted file mode 100644 index 7119abf..0000000 --- a/web/.editorconfig +++ /dev/null @@ -1,23 +0,0 @@ -# EditorConfig helps maintain consistent coding styles -# https://editorconfig.org - -root = true - -[*] -charset = utf-8 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true -indent_style = space -indent_size = 2 - -[*.{js,jsx,ts,tsx,json}] -indent_style = space -indent_size = 2 - -[*.md] -trim_trailing_whitespace = false -max_line_length = off - -[Makefile] -indent_style = tab diff --git a/web/.eslintrc.json b/web/.eslintrc.json deleted file mode 100644 index b3740a5..0000000 --- a/web/.eslintrc.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "extends": [ - "next/core-web-vitals", - "plugin:react/recommended", - "plugin:react-hooks/recommended", - "plugin:@typescript-eslint/recommended" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 2021, - "sourceType": "module", - "ecmaFeatures": { - "jsx": true - } - }, - "plugins": ["react", "react-hooks", "@typescript-eslint"], - "rules": { - "react/react-in-jsx-scope": "off", - "react/prop-types": "off", - "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "warn", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }], - "@typescript-eslint/no-explicit-any": "warn", - "prefer-const": "error", - "no-console": ["warn", { "allow": ["warn", "error"] }] - }, - "settings": { - "react": { - "version": "detect" - } - } -} diff --git a/web/.prettierrc b/web/.prettierrc deleted file mode 100644 index f6c5a1c..0000000 --- a/web/.prettierrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "semi": true, - "trailingComma": "es5", - "singleQuote": true, - "printWidth": 100, - "tabWidth": 2, - "useTabs": false, - "arrowParens": "always", - "endOfLine": "lf", - "bracketSpacing": true, - "jsxSingleQuote": false, - "jsxBracketSameLine": false -} diff --git a/web/README.md b/web/README.md index 1e3a47c..078d571 100644 --- a/web/README.md +++ b/web/README.md @@ -1,48 +1,27 @@ -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). +# Monix Web -## Getting Started +**Comprehensive Web Security Analysis & Threat Intelligence Platform** -### Install Vercel Skills (Optional) +Monix Web is a modern, high-performance web application for real-time URL security scanning, SSL certificate validation, DNS analysis, and threat detection. Built with Next.js and powered by **monix-core's security engine**. -This project uses Vercel React best practices via agent skills. To install them: +## Features -```bash -npx skills add vercel-labs/agent-skills --skill "vercel-react-best-practices" -``` +### Core Security Analysis +- **URL Security Scanning** - Comprehensive domain and URL threat assessment +- **SSL/TLS Certificate Validation** - Full certificate chain analysis, expiry tracking, and issuer verification +- **DNS Record Analysis** - A, AAAA, MX, NS, TXT, and CNAME record inspection +- **Security Headers Assessment** - HSTS, CSP, X-Frame-Options, and modern security header scoring +- **Port Scanning** - Common service discovery (HTTP, HTTPS, SSH, FTP, databases) +- **Technology Stack Detection** - Server, CMS, framework, and library identification +- **Geographic Intelligence** - Precise server location and provider mapping +- **Real-time Threat Scoring** - Multi-factor security risk assessment -This will install performance optimization and best practice rules for AI agents working with this codebase. +### Powered by monix-core +Monix Web leverages the battle-tested **monix-core** security engine, which includes: +- Advanced threat detection algorithms +- Connection intelligence and pattern analysis +- GeoIP resolution and network mapping +- Process and port analysis +- Real-time security scoring -### Run the Development Server - -First, run the development server: - -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. - -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. +All security logic resides in monix-core (`../core`), ensuring consistency, reliability, and reusability across the Monix ecosystem. diff --git a/web/knip.json b/web/knip.json index f28041e..26de56a 100644 --- a/web/knip.json +++ b/web/knip.json @@ -4,11 +4,6 @@ "interface": true, "type": true }, - "ignoreDependencies": [ - "clsx", - "tailwind-merge" - ], - "tags": [ - "-lintignore" - ] + "ignoreDependencies": ["clsx", "tailwind-merge"], + "tags": ["-lintignore"] } diff --git a/web/public/assets/demo.png b/web/public/assets/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..7daf50862840b0747327c704511b99292e148c2f GIT binary patch literal 302672 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 literal 0 HcmV?d00001 diff --git a/web/src/app/docs/page.tsx b/web/src/app/docs/page.tsx index 92fd545..07aed36 100644 --- a/web/src/app/docs/page.tsx +++ b/web/src/app/docs/page.tsx @@ -2,62 +2,110 @@ import Navigation from "@/components/Navigation"; import Link from "next/link"; +import { useState } from "react"; export default function DocsPage() { + const [copiedCode, setCopiedCode] = useState(null); + const currentYear = new Date().getFullYear(); + + const copyCode = (code: string) => { + navigator.clipboard.writeText(code); + setCopiedCode(code); + setTimeout(() => setCopiedCode(null), 2000); + }; + const sections = [ { id: "overview", title: "OVERVIEW", - content: "MONIX IS A LIGHTWEIGHT, REAL-TIME NETWORK MONITORING AND THREAT DETECTION SYSTEM DESIGNED FOR LINUX SERVERS. IT HOOKS DIRECTLY INTO KERNEL INTERFACES OR SYSTEM APIS TO TRACK EVERY ACTIVE CONNECTION, IDENTIFY MALICIOUS PATTERNS, AND PROVIDE INSTANT VISIBILITY INTO YOUR INFRASTRUCTURE'S NETWORK ACTIVITY." + content: + "MONIX WEB IS A COMPREHENSIVE WEB SECURITY ANALYSIS PLATFORM THAT PROVIDES REAL-TIME URL SCANNING, SSL CERTIFICATE VALIDATION, DNS INTELLIGENCE, AND THREAT DETECTION. BUILT ON THE MONIX-CORE SECURITY ENGINE, IT DELIVERS INSTANT VULNERABILITY ASSESSMENT AND SECURITY SCORING FOR ANY DOMAIN OR URL.", }, { - id: "installation", - title: "INSTALLATION", - steps: [ - { title: "CLONE_REPOSITORY", cmd: "git clone https://github.com/dinexh/monix.git\ncd monix" }, - { title: "INSTALL_DEPENDENCIES", cmd: "pip install -e .", note: "ROOT_ACCESS_REQUIRED_FOR_FULL_VISIBILITY" }, - { title: "INITIALIZE_CORE", cmd: "monix --monitor" } - ] + id: "architecture", + title: "ARCHITECTURE", + infoBoxes: [ + { + title: "SYSTEM_DESIGN", + content: + "MONIX WEB FOLLOWS A CLEAN THREE-TIER ARCHITECTURE: [1] FRONTEND (NEXT.JS) - USER INTERFACE AND VISUALIZATION. [2] API LAYER (FLASK REST API) - COMMUNICATION BRIDGE BETWEEN UI AND CORE. [3] MONIX-CORE (PYTHON) - SECURITY ENGINE WITH ALL THREAT DETECTION LOGIC. THIS SEPARATION ENSURES MAINTAINABILITY, REUSABILITY, AND SINGLE SOURCE OF TRUTH FOR SECURITY OPERATIONS.", + }, + { + title: "DATA_FLOW", + content: + "USER SUBMITS URL → NEXT.JS FRONTEND SENDS REQUEST TO API → FLASK API CALLS MONIX-CORE ANALYZERS → CORE PERFORMS SSL VALIDATION, DNS LOOKUP, PORT SCAN, HEADER ANALYSIS → THREAT SCORING ENGINE CALCULATES RISK → RESULTS RETURNED THROUGH API → FRONTEND DISPLAYS INTERACTIVE VISUALIZATION. ALL PROCESSING HAPPENS SERVER-SIDE FOR SECURITY AND PERFORMANCE.", + }, + { + title: "CORE_MODULES", + content: + "MONIX-CORE CONTAINS: [ANALYZERS] THREAT DETECTION, TRAFFIC ANALYSIS. [COLLECTORS] CONNECTION DATA, SYSTEM METRICS. [SCANNERS] WEB SECURITY, PORT SCANNING. [UTILS] GEOIP LOOKUP, DNS RESOLUTION, LOGGING. ALL MODULES ARE REUSABLE ACROSS BOTH WEB AND CLI INTERFACES.", + }, + ], }, { - id: "cli_commands", - title: "CLI_COMMANDS", + id: "features", + title: "ANALYSIS_FEATURES", commands: [ - { cmd: "monix --monitor", desc: "SYSTEM_SNAPSHOT_STATISTICS" }, - { cmd: "monix --watch", desc: "LIVE_INTERACTIVE_DASHBOARD" }, - { cmd: "monix --scan", desc: "SECURITY_ANALYSIS_SCAN" }, - { cmd: "monix --alerts", desc: "LIST_SECURITY_NOTIFICATIONS" }, - { cmd: "monix --status", desc: "ONE_LINE_HEALTH_CHECK" }, - { cmd: "monix-web ", desc: "INSTANT_WEB_SECURITY_SCAN" } - ] + { cmd: "SSL/TLS Validation", desc: "CERTIFICATE_CHAIN_EXPIRY_ISSUER" }, + { cmd: "DNS Intelligence", desc: "A_AAAA_MX_NS_TXT_CNAME_RECORDS" }, + { cmd: "Security Headers", desc: "HSTS_CSP_XFRAME_SCORING" }, + { cmd: "Port Scanning", desc: "SERVICE_DISCOVERY_MAPPING" }, + { cmd: "Tech Detection", desc: "SERVER_CMS_FRAMEWORK_ID" }, + { cmd: "Geo Intelligence", desc: "LOCATION_PROVIDER_TRACKING" }, + ], }, { - id: "threat_detection", - title: "THREAT_DETECTION", + id: "security_scoring", + title: "SECURITY_SCORING", threats: [ - { name: "SYN_FLOOD", desc: "DETECTS_ABNORMAL_HALF_OPEN_CONNECTIONS" }, - { name: "PORT_SCAN", desc: "IDENTIFIES_RAPID_PORT_PROBING" }, - { name: "HIGH_CONN", desc: "MONITORS_CONNECTION_EXHAUSTION_PATTERNS" } - ] + { name: "SSL_ISSUES", desc: "INVALID_EXPIRED_WEAK_CERTIFICATES" }, + { name: "HEADER_MISSING", desc: "ABSENT_SECURITY_HEADERS" }, + { name: "DNS_ANOMALY", desc: "SUSPICIOUS_DNS_CONFIGURATION" }, + { name: "OPEN_PORTS", desc: "UNNECESSARY_SERVICE_EXPOSURE" }, + ], + }, + { + id: "threat_engine", + title: "THREAT_SCORING_ENGINE", + infoBoxes: [ + { + title: "SCORING_ALGORITHM", + content: + "MONIX-CORE CALCULATES A THREAT_SCORE FROM 0 TO 100. LOWER SCORES INDICATE BETTER SECURITY HYGIENE. SCORING FACTORS: [+10] MISSING HSTS HEADER. [+8] MISSING CSP. [+5] WEAK SSL CIPHER. [+15] EXPIRED CERTIFICATE. [+10] SUSPICIOUS OPEN PORTS. [+7] MISSING X-FRAME-OPTIONS. [+12] NO DNS SECURITY RECORDS. FINAL SCORE DETERMINES THREAT LEVEL.", + }, + { + title: "THREAT_CLASSIFICATION", + content: + "[LOW: 0-14] MINIMAL RISK, GOOD SECURITY POSTURE. [MEDIUM: 15-29] MODERATE ISSUES, RECOMMENDED IMPROVEMENTS. [HIGH: 30-49] SIGNIFICANT VULNERABILITIES, IMMEDIATE ACTION NEEDED. [CRITICAL: 50+] SEVERE SECURITY GAPS, URGENT REMEDIATION REQUIRED. CLASSIFICATION USES COLOR CODING: GREEN→YELLOW→ORANGE→RED.", + }, + { + title: "DETECTION_METHODS", + content: + "MONIX-CORE EMPLOYS MULTIPLE DETECTION TECHNIQUES: [SSL/TLS] CERTIFICATE CHAIN VALIDATION, CIPHER STRENGTH ANALYSIS. [DNS] RECORD VERIFICATION, DNSSEC CHECKS. [HEADERS] SECURITY HEADER PRESENCE AND VALUES. [PORTS] SERVICE FINGERPRINTING, UNNECESSARY EXPOSURE. [CONTENT] TECHNOLOGY DETECTION, VULNERABILITY PATTERNS. ALL CHECKS RUN IN PARALLEL FOR SPEED.", + }, + ], }, { - id: "analysis_logic", - title: "ANALYSIS_LOGIC", + id: "technology_stack", + title: "TECHNOLOGY_STACK", infoBoxes: [ { - title: "SCORING_SYSTEM", - content: "MONIX CALCULATES A THREAT_SCORE FROM 0 TO 100. LOWER SCORES INDICATE BETTER SECURITY HYGIENE. POINTS ARE ADDED FOR MISSING SECURITY HEADERS, SUSPICIOUS PATHS, AND SSL CONFIGURATION WEAKNESSES." + title: "FRONTEND", + content: + "NEXT.JS 16 - REACT FRAMEWORK WITH SERVER COMPONENTS. TYPESCRIPT - TYPE-SAFE DEVELOPMENT. TAILWIND CSS 4 - UTILITY-FIRST STYLING. MAPLIBRE-GL - INTERACTIVE GEOLOCATION MAPS. ALL RUNNING ON BUN RUNTIME FOR MAXIMUM PERFORMANCE.", }, { - title: "BOT_VS_BROWSER", - content: "SOME HIGH-TRAFFIC DOMAINS (E.G. GOOGLE.COM) MAY SHOW MISSING HEADERS IN SCANS. THIS IS OFTEN DUE TO BOT-DETECTION MECHANISMS THAT SERVE DIFFERENT HEADERS TO SCRIPTS VS REAL BROWSERS TO OPTIMIZE BANDWIDTH AND SECURITY." + title: "BACKEND", + content: + "PYTHON 3.8+ - CORE LANGUAGE FOR SECURITY LOGIC. FLASK - REST API SERVER. REQUESTS - HTTP CLIENT FOR URL ANALYSIS. SOCKET - LOW-LEVEL NETWORK OPERATIONS. GEOIP2 - LOCATION INTELLIGENCE. DNSPYTHON - DNS RESOLUTION. SSL MODULE - CERTIFICATE VALIDATION.", }, { - title: "THREAT_LEVELS", - content: "[LOW: 0-14] - [MEDIUM: 15-29] - [HIGH: 30-49] - [CRITICAL: 50+]. EACH LEVEL TRIGGERS DIFFERENT ALERT PRIORITIES IN THE MONIX ENGINE." - } - ] - } + title: "DEPLOYMENT", + content: + "WEB APP DEPLOYED ON VERCEL FOR GLOBAL CDN. API CAN RUN ON ANY PYTHON-COMPATIBLE SERVER. DOCKER SUPPORT FOR CONTAINERIZED DEPLOYMENT. ENVIRONMENT VARIABLES FOR CONFIGURATION. CORS ENABLED FOR FRONTEND-API COMMUNICATION. FOR SELF-HOSTING DETAILS, VISIT DINESHKORUKONDA.IN/BLOG", + }, + ], + }, ]; return ( @@ -74,9 +122,9 @@ export default function DocsPage() {

- GO_TO_WEB_TOOL @@ -101,20 +149,24 @@ export default function DocsPage() { [SYSTEM_GUIDE]

- DOCUMENTATION + MONIX WEB DOCS

- COMPREHENSIVE GUIDE TO MONIX CORE AND CLI TOOLS. + COMPREHENSIVE GUIDE TO WEB SECURITY ANALYSIS PLATFORM.

{sections.map((section) => ( -
+

# {section.title}

- + {section.content && (

{section.content} @@ -126,11 +178,20 @@ export default function DocsPage() { {section.steps.map((step, i) => (

- [{i+1}] {step.title} + [{i + 1}]{" "} + {step.title}

-
-                            {step.cmd}
-                          
+
+
+                              {step.cmd}
+                            
+ +
{step.note && ( ! {step.note} @@ -144,9 +205,14 @@ export default function DocsPage() { {section.commands && (
{section.commands.map((cmd, i) => ( -
- {cmd.cmd} - +
+ + {cmd.cmd} + + {cmd.desc}
@@ -157,11 +223,14 @@ export default function DocsPage() { {section.threats && (
{section.threats.map((threat, i) => ( -
-

+
+

[{threat.name}]

-

+

{threat.desc}

@@ -172,11 +241,14 @@ export default function DocsPage() { {section.infoBoxes && (
diff --git a/web/src/app/layout.tsx b/web/src/app/layout.tsx index 2d2f121..16e0298 100644 --- a/web/src/app/layout.tsx +++ b/web/src/app/layout.tsx @@ -1,7 +1,7 @@ import type { Metadata } from "next"; import { Geist_Mono } from "next/font/google"; -import { SpeedInsights } from "@vercel/speed-insights/next" -import { Analytics } from "@vercel/analytics/next" +import { SpeedInsights } from "@vercel/speed-insights/next"; +import { Analytics } from "@vercel/analytics/next"; import "./globals.css"; const geistMono = Geist_Mono({ @@ -11,7 +11,8 @@ const geistMono = Geist_Mono({ export const metadata: Metadata = { title: "monix", - description: "Real-time intrusion monitoring and autonomous defense for Linux infrastructure. High-density connection intelligence.", + description: + "Real-time intrusion monitoring and autonomous defense for Linux infrastructure. High-density connection intelligence.", }; export default function RootLayout({ diff --git a/web/src/app/page.tsx b/web/src/app/page.tsx index 9c9e215..811b168 100644 --- a/web/src/app/page.tsx +++ b/web/src/app/page.tsx @@ -2,8 +2,20 @@ import Link from "next/link"; import Navigation from "@/components/Navigation"; +import Image from "next/image"; export default function Home() { + const currentYear = new Date().getFullYear(); + + const features = [ + { feature: "SSL/TLS Analysis", desc: "CERTIFICATE_CHAIN_VALIDATION" }, + { feature: "DNS Intelligence", desc: "COMPLETE_RECORD_ANALYSIS" }, + { feature: "Security Headers", desc: "HSTS_CSP_XFRAME_SCORING" }, + { feature: "Port Scanning", desc: "SERVICE_DISCOVERY_MAPPING" }, + { feature: "Tech Detection", desc: "STACK_FRAMEWORK_IDENTIFICATION" }, + { feature: "Geo Intelligence", desc: "LOCATION_PROVIDER_TRACKING" }, + ]; + return (
@@ -13,23 +25,23 @@ export default function Home() {
- CORE_SYSTEM_ACTIVE + POWERED_BY_MONIX_CORE

- MONIX + MONIX WEB

- Real-time intrusion monitoring and autonomous defense for Linux infrastructure. - High-density connection intelligence. + Comprehensive web security analysis platform. Real-time URL + scanning, SSL validation, DNS intelligence, and threat detection.

- EXECUTE_WEB_SCAN + ANALYZE_URL_NOW
- {/* CLI Showcase Section */} + {/* Web Analysis Showcase Section */}
@@ -51,49 +63,49 @@ export default function Home() { [SECTION_01]

- TERMINAL_OPERATIONS + SECURITY_ANALYSIS

- Monix is built for the terminal. Precisely engineered for DevOps - and Security Analysts who require raw, unfiltered intelligence - directly from the kernel. + Monix Web provides comprehensive security analysis for any URL. + Built on monix-core's battle-tested security engine, delivering + instant threat intelligence and vulnerability assessment.

- {[ - { cmd: "monix --monitor", desc: "SYSTEM_SNAPSHOT_REALTIME" }, - { cmd: "monix --watch", desc: "INTERACTIVE_WATCH_MODE" }, - { cmd: "monix --scan", desc: "AUTONOMOUS_THREAT_SCAN" }, - { cmd: "monix-web ", desc: "INSTANT_WEB_ANALYSIS" }, - ].map((item, i) => ( -
- {item.cmd} - {item.desc} + {features.map((item, i) => ( +
+ + {item.feature} + + + {item.desc} +
))}
-
-
- WATCH_MODE_v2.0 - LIVE_STREAM +
+
+ + SCAN_RESULTS + + + LIVE_ANALYSIS + +
+
+ Monix Web Security Analysis Demo +
-
-{`[STATE]      [REMOTE_TARGET]         [LOCAL_PORT]    [PROCESS]
-ESTABLISHED  185.199.108.153:443     :54321          nginx
-ESTABLISHED  142.250.190.46:443      :54322          node
-LISTEN       0.0.0.0:80              :80             nginx
-LISTEN       0.0.0.0:22              :22             sshd
-SYN_RECV     45.33.32.156:59321      :443            [THREAT]
-
-[ALERTS]
-! 00:15:02 | SYN_FLOOD_DETECTED | 45.33.32.156
-! 00:14:58 | PORT_SCAN_REJECTED | 192.168.1.10
-- 00:14:10 | SYSTEM_HEALTH_OK   | CPU: 12%
-
-[GEO_INTEL]
-45.33.32.156 -> [USA] | LINODE_AKAMAI | NEW_JERSEY
-142.250.190.46 -> [USA] | GOOGLE_CLOUD | CALIFORNIA`}
-              
@@ -106,33 +118,60 @@ SYN_RECV 45.33.32.156:59321 :443 [THREAT] [SECTION_02]

- SYSTEM_CAPABILITIES + ANALYSIS_CAPABILITIES

+

+ Powered by monix-core security engine +

- +
{[ { - title: "INTEL_ENGINE", - items: ["TCP_STATE_ANALYSIS", "GEOIP_RESOLUTION", "REVERSE_DNS", "PROCESS_MAPPING"] + title: "WEB_SECURITY", + items: [ + "SSL_TLS_VALIDATION", + "CERTIFICATE_CHAIN", + "SECURITY_HEADERS", + "VULNERABILITY_SCAN", + ], }, { - title: "THREAT_MATRIX", - items: ["SYN_FLOOD_DEFENSE", "PORT_SCAN_ID", "IP_EXHAUSTION", "BOTNET_PATTERNS"] + title: "NETWORK_INTEL", + items: [ + "DNS_ANALYSIS", + "PORT_SCANNING", + "GEOIP_TRACKING", + "PROVIDER_MAPPING", + ], }, { - title: "CORE_KERNEL", - items: ["EBPF_SUPPORT", "PROC_NET_PARSING", "LINUX_MAC_COMPAT"] - } + title: "THREAT_ENGINE", + items: [ + "RISK_SCORING", + "TECH_DETECTION", + "PATTERN_ANALYSIS", + "REAL_TIME_UPDATES", + ], + }, ].map((section, i) => ( -
-

+
+

[{section.title}]

    {section.items.map((item, j) => ( -
  • - {" >> "} {item} +
  • + + {" >> "} + {" "} + {item}
  • ))}
@@ -141,25 +180,76 @@ SYN_RECV 45.33.32.156:59321 :443 [THREAT]

+ {/* monix-core Info Section */} +
+
+
+
+ [POWERED_BY] +
+

+ MONIX-CORE ENGINE +

+

+ Monix Web is powered by the monix-core security engine - a + battle-tested Python-based threat detection and analysis system. + The same core logic powers both our web platform and CLI tools, + ensuring consistency and reliability across the entire Monix + ecosystem. +

+ +
+
+
+ {/* Footer */} diff --git a/web/src/app/web/page.tsx b/web/src/app/web/page.tsx index 717bc63..4e2f65a 100644 --- a/web/src/app/web/page.tsx +++ b/web/src/app/web/page.tsx @@ -27,7 +27,7 @@ export default function MonixWebPage() {
- + {/* Mini Footer */} diff --git a/web/src/components/UrlAnalyzer.tsx b/web/src/components/UrlAnalyzer.tsx index 2b94847..c970964 100644 --- a/web/src/components/UrlAnalyzer.tsx +++ b/web/src/components/UrlAnalyzer.tsx @@ -25,9 +25,7 @@ const DataItem = ({ label, value }: DataItemProps) => { {label} - - {value} - + {value}
); }; @@ -41,7 +39,14 @@ interface SectionProps { helpText?: string; } -const Section = ({ title, symbol, children, className = "", hasData = true, helpText }: SectionProps) => { +const Section = ({ + title, + symbol, + children, + className = "", + hasData = true, + helpText, +}: SectionProps) => { const [showHelp, setShowHelp] = useState(false); if (!hasData) return null; return ( @@ -54,7 +59,7 @@ const Section = ({ title, symbol, children, className = "", hasData = true, help {title}

{helpText && ( - +
{helpText}
@@ -109,7 +119,9 @@ export default function UrlAnalyzer() { setError(`ANALYSIS_FAILED: ${analysis.error || "UNKNOWN_ERROR"}`); } catch (err) { clearInterval(progressInterval); - setError(`CRITICAL_FAILURE: ${err instanceof Error ? err.message : "NETWORK_ERROR"}`); + setError( + `CRITICAL_FAILURE: ${err instanceof Error ? err.message : "NETWORK_ERROR"}`, + ); } finally { setLoading(false); setTimeout(() => setProgress(0), 1000); @@ -123,13 +135,15 @@ export default function UrlAnalyzer() { const formatDate = (dateStr: string | null | undefined) => { if (!dateStr) return "N/A"; try { - return new Date(dateStr).toISOString().split('T')[0]; + return new Date(dateStr).toISOString().split("T")[0]; } catch { return dateStr; } }; - const getSubjectName = (subject: Record | string | undefined): string => { + const getSubjectName = ( + subject: Record | string | undefined, + ): string => { if (!subject) return "---"; if (typeof subject === "string") return subject; return subject.commonName || subject.CN || JSON.stringify(subject); @@ -193,7 +207,9 @@ export default function UrlAnalyzer() { ! CRITICAL_NOTICE - {error} + + {error} +
)} @@ -206,7 +222,9 @@ export default function UrlAnalyzer() { [01] STATUS_LEVEL
- {result.threat_level || "UNKNOWN"} + + {result.threat_level || "UNKNOWN"} + {result.threat_score ?? 0}% @@ -233,7 +251,9 @@ export default function UrlAnalyzer() { [04] SSL_AUTH
- + {result.ssl_certificate?.valid ? "VALID" : "INVALID"}
@@ -242,19 +262,41 @@ export default function UrlAnalyzer() { {/* Content Grid */}
-
- - - - + + + +
{result.server_location?.coordinates && ( @@ -266,11 +308,14 @@ export default function UrlAnalyzer() { zoom={4} styles={{ dark: "https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json", - light: "https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json", + light: + "https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json", }} > @@ -283,46 +328,79 @@ export default function UrlAnalyzer() {
-
0} + hasData={ + !!result.security_headers_analysis && + result.security_headers_analysis.percentage > 0 + } helpText="EVALUATES HTTP SECURITY HEADERS (CSP, HSTS, X-FRAME-OPTIONS) TO MEASURE PROACTIVE DEFENSE AGAINST COMMON WEB ATTACK VECTORS." >
- {result.security_headers_analysis?.percentage ?? 0}% - SECURED + + {result.security_headers_analysis?.percentage ?? 0}% + + + SECURED +
- {Object.entries(result.security_headers_analysis?.headers || {}).slice(0, 6).map(([header, data]) => ( -
- {header} - - {data.present ? "[+]" : "[-]"} - -
- ))} + {Object.entries( + result.security_headers_analysis?.headers || {}, + ) + .slice(0, 6) + .map(([header, data]) => ( +
+ + {header} + + + {data.present ? "[+]" : "[-]"} + +
+ ))}
-
0)} + hasData={ + !!result.technologies && + (!!result.technologies.server || + !!result.technologies.cms || + (result.technologies.languages?.length ?? 0) > 0) + } helpText="FINGERPRINTS UNDERLYING SERVER SOFTWARE, CONTENT MANAGEMENT SYSTEMS, AND BACKEND LANGUAGES VIA HTTP RESPONSE PATTERNS." >
- + - { (result.technologies?.languages?.length ?? 0) > 0 && ( + {(result.technologies?.languages?.length ?? 0) > 0 && (
- LANGUAGES + + LANGUAGES +
{result.technologies?.languages.map((l) => ( - + {l} ))} @@ -332,35 +410,55 @@ export default function UrlAnalyzer() {
-
0} + hasData={ + !!result.port_scan && + (result.port_scan.open_ports?.length ?? 0) > 0 + } helpText="SCANS COMMON INFRASTRUCTURE PORTS (SSH, HTTP, SQL) TO IDENTIFY EXPOSED SERVICES AND POTENTIAL NETWORK ENTRY POINTS." >
{[80, 443, 22, 21, 25, 53, 3306, 8080].map((port) => { - const isOpen = result.port_scan?.open_ports?.includes(port) ?? false; + const isOpen = + result.port_scan?.open_ports?.includes(port) ?? false; return ( -
+
{port} - {isOpen ? "ON" : "OFF"} + + {isOpen ? "ON" : "OFF"} +
); })}
-
- - - + + +
SSL_VERIFIED_NODE @@ -369,10 +467,13 @@ export default function UrlAnalyzer() {
-
0} + hasData={ + !!result.redirects && + (result.redirects.chain?.length ?? 0) > 0 + } helpText="TRACKS HTTP STATUS CODES (301, 302) TO MAP THE FULL REQUEST PATH FROM SOURCE TO FINAL DESTINATION." >
@@ -381,41 +482,62 @@ export default function UrlAnalyzer() { {url}
{result.redirects?.chain.map((step, i) => ( -
+
- [{step.status_code}] - {step.url} + + [{step.status_code}] + + + {step.url} +
))}
-
0 || (result.dns_records.ns?.length ?? 0) > 0)} + hasData={ + !!result.dns_records && + ((result.dns_records.a?.length ?? 0) > 0 || + (result.dns_records.ns?.length ?? 0) > 0) + } helpText="QUERIES AUTHORITATIVE NAME SERVERS FOR A, MX, AND TXT RECORDS TO UNCOVER DOMAIN ARCHITECTURE AND MAIL CONFIGURATION." >
- { (result.dns_records?.a?.length ?? 0) > 0 && ( + {(result.dns_records?.a?.length ?? 0) > 0 && (
- A_RECORDS + + A_RECORDS +
{result.dns_records?.a.map((ip) => ( - + {ip} ))}
)} - { (result.dns_records?.ns?.length ?? 0) > 0 && ( + {(result.dns_records?.ns?.length ?? 0) > 0 && (
- NS_RECORDS + + NS_RECORDS +
{result.dns_records?.ns.map((ns) => ( - + {ns} ))} @@ -425,8 +547,8 @@ export default function UrlAnalyzer() {
-
0} helpText="IDENTIFIES POTENTIAL SECURITY VULNERABILITIES BASED ON MISSING DEFENSIVE HEADERS, SUSPICIOUS PATH PATTERNS, AND SSL WEAKNESSES." @@ -434,8 +556,13 @@ export default function UrlAnalyzer() { >
{result.threats?.map((threat, i) => ( -
- ! +
+ + ! + {threat} @@ -447,80 +574,103 @@ export default function UrlAnalyzer() {
)}
- + {showInfo && (
- - +
[SYSTEM_OPERATIONS_01]
-

SCAN_METHODOLOGY

+

+ SCAN_METHODOLOGY +

- +
-

[01] SSL_VALIDATION

+

+ [01] SSL_VALIDATION +

- VERIFIES CERTIFICATE CHAIN, EXPIRATION, ISSUER AUTHENTICITY, AND ENCRYPTION STRENGTH VIA SSL/TLS HANDSHAKE. + VERIFIES CERTIFICATE CHAIN, EXPIRATION, ISSUER AUTHENTICITY, + AND ENCRYPTION STRENGTH VIA SSL/TLS HANDSHAKE.

- +
-

[02] DNS_RECON

+

+ [02] DNS_RECON +

- PERFORMS DEEP QUERIES FOR A, AAAA, MX, NS, AND TXT RECORDS TO MAP THE DOMAIN'S ARCHITECTURE. + PERFORMS DEEP QUERIES FOR A, AAAA, MX, NS, AND TXT RECORDS TO + MAP THE DOMAIN'S ARCHITECTURE.

- +
-

[03] HEADER_ANALYSIS

+

+ [03] HEADER_ANALYSIS +

- EVALUATES SECURITY POLICIES (CSP, HSTS, XSS-PROTECTION) TO MEASURE FRONT-END HARDENING LEVELS. + EVALUATES SECURITY POLICIES (CSP, HSTS, XSS-PROTECTION) TO + MEASURE FRONT-END HARDENING LEVELS.

- +
-

[04] GEO_INTELLIGENCE

+

+ [04] GEO_INTELLIGENCE +

- RESOLVES TARGET IP TO PHYSICAL SERVER LOCATION, ISP, AND AUTONOMOUS SYSTEM (ASN) INFORMATION. + RESOLVES TARGET IP TO PHYSICAL SERVER LOCATION, ISP, AND + AUTONOMOUS SYSTEM (ASN) INFORMATION.

- +
-

[05] TECH_STACK_ID

+

+ [05] TECH_STACK_ID +

- FINGERPRINTS SERVER SOFTWARE, CMS, CDNS, AND BACKEND LANGUAGES VIA HTTP FINGERPRINTING. + FINGERPRINTS SERVER SOFTWARE, CMS, CDNS, AND BACKEND LANGUAGES + VIA HTTP FINGERPRINTING.

- +
-

[06] PORT_SURVEY

+

+ [06] PORT_SURVEY +

- SCANS COMMON SERVICE PORTS (80, 443, 22, ETC.) TO IDENTIFY EXPOSED INFRASTRUCTURE COMPONENTS. + SCANS COMMON SERVICE PORTS (80, 443, 22, ETC.) TO IDENTIFY + EXPOSED INFRASTRUCTURE COMPONENTS.

- +
-

[07] THREAT_SCORING

+

+ [07] THREAT_SCORING +

- USES MONIX CORE ANALYZERS TO CALCULATE RISK BASED ON ENDPOINT SUSPICION AND PATH PATTERNS. + USES MONIX CORE ANALYZERS TO CALCULATE RISK BASED ON ENDPOINT + SUSPICION AND PATH PATTERNS.

- +
! AUTONOMOUS_SCANNER_v2.0 -