From 56b12afebe4b5eccbb8225438fc3159d79328ca0 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 24 Mar 2026 17:55:57 +0530 Subject: [PATCH] Expand static ATC feed database to 635 airports across all continents (#18) * Initial plan * Expand ATC feeds to 635 airports covering all continents with verified LiveATC mount points Co-authored-by: kewonit <108450560+kewonit@users.noreply.github.com> Agent-Logs-Url: https://github.com/kewonit/aeris/sessions/c2de9c60-f25b-4569-ac24-a5fa35514f32 * Fix KYKM App/Dep typo in channel description Co-authored-by: kewonit <108450560+kewonit@users.noreply.github.com> Agent-Logs-Url: https://github.com/kewonit/aeris/sessions/c2de9c60-f25b-4569-ac24-a5fa35514f32 --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: kewonit <108450560+kewonit@users.noreply.github.com> --- package-lock.json | 8759 ++++++++++++++++++++++++++++++++++++++++++ src/lib/atc-feeds.ts | 6953 +++++++++++++++++++++++++++++++++ 2 files changed, 15712 insertions(+) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..f75e9e2 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8759 @@ +{ + "name": "aeris", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "aeris", + "version": "0.1.0", + "license": "AGPL-3.0", + "dependencies": { + "@deck.gl/core": "^9.2.11", + "@deck.gl/geo-layers": "^9.2.7", + "@deck.gl/layers": "^9.2.11", + "@deck.gl/mapbox": "^9.2.11", + "@deck.gl/mesh-layers": "^9.2.11", + "@deck.gl/react": "^9.2.7", + "@loaders.gl/core": "^4.3.4", + "@loaders.gl/gltf": "^4.3.4", + "@luma.gl/core": "^9.2.6", + "@luma.gl/webgl": "^9.2.6", + "@radix-ui/react-slider": "^1.3.6", + "clsx": "^2.1.1", + "cmdk": "^1.1.1", + "lucide-react": "^0.564.0", + "maplibre-gl": "^5.18.0", + "motion": "^12.34.0", + "next": "16.2.0", + "next-themes": "^0.4.6", + "react": "19.2.4", + "react-dom": "19.2.4", + "sonner": "^2.0.7", + "tailwind-merge": "^3.4.0" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "eslint": "^9", + "eslint-config-next": "16.2.0", + "tailwindcss": "^4", + "typescript": "^5" + } + }, + "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/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@deck.gl/core": { + "version": "9.2.11", + "resolved": "https://registry.npmjs.org/@deck.gl/core/-/core-9.2.11.tgz", + "integrity": "sha512-lpdxXQuFSkd6ET7M6QxPI8QMhsLRY6vzLyk83sPGFb7JSb4OhrNHYt9sfIhcA/hxJW7bdBSMWWphf2GvQetVuA==", + "license": "MIT", + "dependencies": { + "@loaders.gl/core": "~4.3.4", + "@loaders.gl/images": "~4.3.4", + "@luma.gl/constants": "~9.2.6", + "@luma.gl/core": "~9.2.6", + "@luma.gl/engine": "~9.2.6", + "@luma.gl/shadertools": "~9.2.6", + "@luma.gl/webgl": "~9.2.6", + "@math.gl/core": "^4.1.0", + "@math.gl/sun": "^4.1.0", + "@math.gl/types": "^4.1.0", + "@math.gl/web-mercator": "^4.1.0", + "@probe.gl/env": "^4.1.1", + "@probe.gl/log": "^4.1.1", + "@probe.gl/stats": "^4.1.1", + "@types/offscreencanvas": "^2019.6.4", + "gl-matrix": "^3.0.0", + "mjolnir.js": "^3.0.0" + } + }, + "node_modules/@deck.gl/extensions": { + "version": "9.2.11", + "resolved": "https://registry.npmjs.org/@deck.gl/extensions/-/extensions-9.2.11.tgz", + "integrity": "sha512-zlpM4Bg1ifBziW1Juiii9NY5gyW2rEhyVTWnhagH/bpTCZ2E73OhnToYt1ouqmoxL6lMtIjhRXz6LPb7tJbHHQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@luma.gl/constants": "~9.2.6", + "@luma.gl/shadertools": "~9.2.6", + "@math.gl/core": "^4.1.0" + }, + "peerDependencies": { + "@deck.gl/core": "~9.2.0", + "@luma.gl/core": "~9.2.6", + "@luma.gl/engine": "~9.2.6" + } + }, + "node_modules/@deck.gl/geo-layers": { + "version": "9.2.11", + "resolved": "https://registry.npmjs.org/@deck.gl/geo-layers/-/geo-layers-9.2.11.tgz", + "integrity": "sha512-Mr3yvKyZMPmQ3ho0hSqcJu1p7a881RqQaq/dRaPs2VP56UAkfk1e10zxXnrZ9/Dmo2MR5PH0j8tkOoGR3zKbfA==", + "license": "MIT", + "dependencies": { + "@loaders.gl/3d-tiles": "~4.3.4", + "@loaders.gl/gis": "~4.3.4", + "@loaders.gl/loader-utils": "~4.3.4", + "@loaders.gl/mvt": "~4.3.4", + "@loaders.gl/schema": "~4.3.4", + "@loaders.gl/terrain": "~4.3.4", + "@loaders.gl/tiles": "~4.3.4", + "@loaders.gl/wms": "~4.3.4", + "@luma.gl/gltf": "~9.2.6", + "@luma.gl/shadertools": "~9.2.6", + "@math.gl/core": "^4.1.0", + "@math.gl/culling": "^4.1.0", + "@math.gl/web-mercator": "^4.1.0", + "@types/geojson": "^7946.0.8", + "a5-js": "^0.5.0", + "h3-js": "^4.1.0", + "long": "^3.2.0" + }, + "peerDependencies": { + "@deck.gl/core": "~9.2.0", + "@deck.gl/extensions": "~9.2.0", + "@deck.gl/layers": "~9.2.0", + "@deck.gl/mesh-layers": "~9.2.0", + "@loaders.gl/core": "~4.3.4", + "@luma.gl/core": "~9.2.6", + "@luma.gl/engine": "~9.2.6" + } + }, + "node_modules/@deck.gl/layers": { + "version": "9.2.11", + "resolved": "https://registry.npmjs.org/@deck.gl/layers/-/layers-9.2.11.tgz", + "integrity": "sha512-2FSb0Qa6YR+Rg6GWhYOGTUug3vtZ4uKcFdnrdiJoVXGyibKJMScKZIsivY0r/yQQZsaBjYqty5QuVJvdtEHxSA==", + "license": "MIT", + "dependencies": { + "@loaders.gl/images": "~4.3.4", + "@loaders.gl/schema": "~4.3.4", + "@luma.gl/shadertools": "~9.2.6", + "@mapbox/tiny-sdf": "^2.0.5", + "@math.gl/core": "^4.1.0", + "@math.gl/polygon": "^4.1.0", + "@math.gl/web-mercator": "^4.1.0", + "earcut": "^2.2.4" + }, + "peerDependencies": { + "@deck.gl/core": "~9.2.0", + "@loaders.gl/core": "~4.3.4", + "@luma.gl/core": "~9.2.6", + "@luma.gl/engine": "~9.2.6" + } + }, + "node_modules/@deck.gl/mapbox": { + "version": "9.2.11", + "resolved": "https://registry.npmjs.org/@deck.gl/mapbox/-/mapbox-9.2.11.tgz", + "integrity": "sha512-5OaFZgjyA4Vq6WjHUdcEdl0Phi8dwj8hSCErej0NetW90mctdbxwMt0gSbqcvWBowwhyj2QAhH0P2FcITjKG/A==", + "license": "MIT", + "dependencies": { + "@luma.gl/constants": "~9.2.6", + "@math.gl/web-mercator": "^4.1.0" + }, + "peerDependencies": { + "@deck.gl/core": "~9.2.0", + "@luma.gl/constants": "~9.2.6", + "@luma.gl/core": "~9.2.6", + "@math.gl/web-mercator": "^4.1.0" + } + }, + "node_modules/@deck.gl/mesh-layers": { + "version": "9.2.11", + "resolved": "https://registry.npmjs.org/@deck.gl/mesh-layers/-/mesh-layers-9.2.11.tgz", + "integrity": "sha512-zPB7TtnPXB3tOEoOfcOkNZo7coIq/ukIQa8HIUQLLiOE8AVSQfz3kbMmMK6rUabXlQbgSw/I/j3kFSYRHg3NGg==", + "license": "MIT", + "dependencies": { + "@loaders.gl/gltf": "~4.3.4", + "@loaders.gl/schema": "~4.3.4", + "@luma.gl/gltf": "~9.2.6", + "@luma.gl/shadertools": "~9.2.6" + }, + "peerDependencies": { + "@deck.gl/core": "~9.2.0", + "@luma.gl/core": "~9.2.6", + "@luma.gl/engine": "~9.2.6", + "@luma.gl/gltf": "~9.2.6", + "@luma.gl/shadertools": "~9.2.6" + } + }, + "node_modules/@deck.gl/react": { + "version": "9.2.11", + "resolved": "https://registry.npmjs.org/@deck.gl/react/-/react-9.2.11.tgz", + "integrity": "sha512-7xrXlM++3A7cKZdDKSW2/EPT6sc0ob7J24sTPaHe3YlIIFvCZTkQ1U1rAT9cN2gjhkI6XsE+TugUsqhx4TGwHQ==", + "license": "MIT", + "peerDependencies": { + "@deck.gl/core": "~9.2.0", + "@deck.gl/widgets": "~9.2.0", + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + } + }, + "node_modules/@deck.gl/widgets": { + "version": "9.2.11", + "resolved": "https://registry.npmjs.org/@deck.gl/widgets/-/widgets-9.2.11.tgz", + "integrity": "sha512-90HWlQPsiRyTPWR4aYfLwnYDrJdHG2mqCzRcyMUKewWBNQLu4upB//l4ewIkUeXXCzAprjjVeRnNb7wdYj2CXQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "preact": "^10.17.0" + }, + "peerDependencies": { + "@deck.gl/core": "~9.2.0", + "@luma.gl/core": "~9.2.6" + } + }, + "node_modules/@emnapi/core": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz", + "integrity": "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.1.tgz", + "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz", + "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "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/@loaders.gl/3d-tiles": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/3d-tiles/-/3d-tiles-4.3.4.tgz", + "integrity": "sha512-JQ3y3p/KlZP7lfobwON5t7H9WinXEYTvuo3SRQM8TBKhM+koEYZhvI2GwzoXx54MbBbY+s3fm1dq5UAAmaTsZw==", + "license": "MIT", + "dependencies": { + "@loaders.gl/compression": "4.3.4", + "@loaders.gl/crypto": "4.3.4", + "@loaders.gl/draco": "4.3.4", + "@loaders.gl/gltf": "4.3.4", + "@loaders.gl/images": "4.3.4", + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/math": "4.3.4", + "@loaders.gl/tiles": "4.3.4", + "@loaders.gl/zip": "4.3.4", + "@math.gl/core": "^4.1.0", + "@math.gl/culling": "^4.1.0", + "@math.gl/geospatial": "^4.1.0", + "@probe.gl/log": "^4.0.4", + "long": "^5.2.1" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/3d-tiles/node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", + "license": "Apache-2.0" + }, + "node_modules/@loaders.gl/compression": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/compression/-/compression-4.3.4.tgz", + "integrity": "sha512-+o+5JqL9Sx8UCwdc2MTtjQiUHYQGJALHbYY/3CT+b9g/Emzwzez2Ggk9U9waRfdHiBCzEgRBivpWZEOAtkimXQ==", + "license": "MIT", + "dependencies": { + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/worker-utils": "4.3.4", + "@types/brotli": "^1.3.0", + "@types/pako": "^1.0.1", + "fflate": "0.7.4", + "lzo-wasm": "^0.0.4", + "pako": "1.0.11", + "snappyjs": "^0.6.1" + }, + "optionalDependencies": { + "brotli": "^1.3.2", + "lz4js": "^0.2.0", + "zstd-codec": "^0.1" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/core": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/core/-/core-4.3.4.tgz", + "integrity": "sha512-cG0C5fMZ1jyW6WCsf4LoHGvaIAJCEVA/ioqKoYRwoSfXkOf+17KupK1OUQyUCw5XoRn+oWA1FulJQOYlXnb9Gw==", + "license": "MIT", + "dependencies": { + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/schema": "4.3.4", + "@loaders.gl/worker-utils": "4.3.4", + "@probe.gl/log": "^4.0.2" + } + }, + "node_modules/@loaders.gl/crypto": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/crypto/-/crypto-4.3.4.tgz", + "integrity": "sha512-3VS5FgB44nLOlAB9Q82VOQnT1IltwfRa1miE0mpHCe1prYu1M/dMnEyynusbrsp+eDs3EKbxpguIS9HUsFu5dQ==", + "license": "MIT", + "dependencies": { + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/worker-utils": "4.3.4", + "@types/crypto-js": "^4.0.2" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/draco": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/draco/-/draco-4.3.4.tgz", + "integrity": "sha512-4Lx0rKmYENGspvcgV5XDpFD9o+NamXoazSSl9Oa3pjVVjo+HJuzCgrxTQYD/3JvRrolW/QRehZeWD/L/cEC6mw==", + "license": "MIT", + "dependencies": { + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/schema": "4.3.4", + "@loaders.gl/worker-utils": "4.3.4", + "draco3d": "1.5.7" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/gis": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/gis/-/gis-4.3.4.tgz", + "integrity": "sha512-8xub38lSWW7+ZXWuUcggk7agRHJUy6RdipLNKZ90eE0ZzLNGDstGD1qiBwkvqH0AkG+uz4B7Kkiptyl7w2Oa6g==", + "license": "MIT", + "dependencies": { + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/schema": "4.3.4", + "@mapbox/vector-tile": "^1.3.1", + "@math.gl/polygon": "^4.1.0", + "pbf": "^3.2.1" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/gltf": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/gltf/-/gltf-4.3.4.tgz", + "integrity": "sha512-EiUTiLGMfukLd9W98wMpKmw+hVRhQ0dJ37wdlXK98XPeGGB+zTQxCcQY+/BaMhsSpYt/OOJleHhTfwNr8RgzRg==", + "license": "MIT", + "dependencies": { + "@loaders.gl/draco": "4.3.4", + "@loaders.gl/images": "4.3.4", + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/schema": "4.3.4", + "@loaders.gl/textures": "4.3.4", + "@math.gl/core": "^4.1.0" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/images": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/images/-/images-4.3.4.tgz", + "integrity": "sha512-qgc33BaNsqN9cWa/xvcGvQ50wGDONgQQdzHCKDDKhV2w/uptZoR5iofJfuG8UUV2vUMMd82Uk9zbopRx2rS4Ag==", + "license": "MIT", + "dependencies": { + "@loaders.gl/loader-utils": "4.3.4" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/loader-utils": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/loader-utils/-/loader-utils-4.3.4.tgz", + "integrity": "sha512-tjMZvlKQSaMl2qmYTAxg+ySR6zd6hQn5n3XaU8+Ehp90TD3WzxvDKOMNDqOa72fFmIV+KgPhcmIJTpq4lAdC4Q==", + "license": "MIT", + "dependencies": { + "@loaders.gl/schema": "4.3.4", + "@loaders.gl/worker-utils": "4.3.4", + "@probe.gl/log": "^4.0.2", + "@probe.gl/stats": "^4.0.2" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/math": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/math/-/math-4.3.4.tgz", + "integrity": "sha512-UJrlHys1fp9EUO4UMnqTCqvKvUjJVCbYZ2qAKD7tdGzHJYT8w/nsP7f/ZOYFc//JlfC3nq+5ogvmdpq2pyu3TA==", + "license": "MIT", + "dependencies": { + "@loaders.gl/images": "4.3.4", + "@loaders.gl/loader-utils": "4.3.4", + "@math.gl/core": "^4.1.0" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/mvt": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/mvt/-/mvt-4.3.4.tgz", + "integrity": "sha512-9DrJX8RQf14htNtxsPIYvTso5dUce9WaJCWCIY/79KYE80Be6dhcEYMknxBS4w3+PAuImaAe66S5xo9B7Erm5A==", + "license": "MIT", + "dependencies": { + "@loaders.gl/gis": "4.3.4", + "@loaders.gl/images": "4.3.4", + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/schema": "4.3.4", + "@math.gl/polygon": "^4.1.0", + "@probe.gl/stats": "^4.0.0", + "pbf": "^3.2.1" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/schema": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/schema/-/schema-4.3.4.tgz", + "integrity": "sha512-1YTYoatgzr/6JTxqBLwDiD3AVGwQZheYiQwAimWdRBVB0JAzych7s1yBuE0CVEzj4JDPKOzVAz8KnU1TiBvJGw==", + "license": "MIT", + "dependencies": { + "@types/geojson": "^7946.0.7" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/terrain": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/terrain/-/terrain-4.3.4.tgz", + "integrity": "sha512-JszbRJGnxL5Fh82uA2U8HgjlsIpzYoCNNjy3cFsgCaxi4/dvjz3BkLlBilR7JlbX8Ka+zlb4GAbDDChiXLMJ/g==", + "license": "MIT", + "dependencies": { + "@loaders.gl/images": "4.3.4", + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/schema": "4.3.4", + "@mapbox/martini": "^0.2.0" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/textures": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/textures/-/textures-4.3.4.tgz", + "integrity": "sha512-arWIDjlE7JaDS6v9by7juLfxPGGnjT9JjleaXx3wq/PTp+psLOpGUywHXm38BNECos3MFEQK3/GFShWI+/dWPw==", + "license": "MIT", + "dependencies": { + "@loaders.gl/images": "4.3.4", + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/schema": "4.3.4", + "@loaders.gl/worker-utils": "4.3.4", + "@math.gl/types": "^4.1.0", + "ktx-parse": "^0.7.0", + "texture-compressor": "^1.0.2" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/tiles": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/tiles/-/tiles-4.3.4.tgz", + "integrity": "sha512-oC0zJfyvGox6Ag9ABF8fxOkx9yEFVyzTa9ryHXl2BqLiQoR1v3p+0tIJcEbh5cnzHfoTZzUis1TEAZluPRsHBQ==", + "license": "MIT", + "dependencies": { + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/math": "4.3.4", + "@math.gl/core": "^4.1.0", + "@math.gl/culling": "^4.1.0", + "@math.gl/geospatial": "^4.1.0", + "@math.gl/web-mercator": "^4.1.0", + "@probe.gl/stats": "^4.0.2" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/wms": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/wms/-/wms-4.3.4.tgz", + "integrity": "sha512-yXF0wuYzJUdzAJQrhLIua6DnjOiBJusaY1j8gpvuH1VYs3mzvWlIRuZKeUd9mduQZKK88H2IzHZbj2RGOauq4w==", + "license": "MIT", + "dependencies": { + "@loaders.gl/images": "4.3.4", + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/schema": "4.3.4", + "@loaders.gl/xml": "4.3.4", + "@turf/rewind": "^5.1.5", + "deep-strict-equal": "^0.2.0" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/worker-utils": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/worker-utils/-/worker-utils-4.3.4.tgz", + "integrity": "sha512-EbsszrASgT85GH3B7jkx7YXfQyIYo/rlobwMx6V3ewETapPUwdSAInv+89flnk5n2eu2Lpdeh+2zS6PvqbL2RA==", + "license": "MIT", + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/xml": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/xml/-/xml-4.3.4.tgz", + "integrity": "sha512-p+y/KskajsvyM3a01BwUgjons/j/dUhniqd5y1p6keLOuwoHlY/TfTKd+XluqfyP14vFrdAHCZTnFCWLblN10w==", + "license": "MIT", + "dependencies": { + "@loaders.gl/loader-utils": "4.3.4", + "@loaders.gl/schema": "4.3.4", + "fast-xml-parser": "^4.2.5" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@loaders.gl/zip": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@loaders.gl/zip/-/zip-4.3.4.tgz", + "integrity": "sha512-bHY4XdKYJm3vl9087GMoxnUqSURwTxPPh6DlAGOmz6X9Mp3JyWuA2gk3tQ1UIuInfjXKph3WAUfGe6XRIs1sfw==", + "license": "MIT", + "dependencies": { + "@loaders.gl/compression": "4.3.4", + "@loaders.gl/crypto": "4.3.4", + "@loaders.gl/loader-utils": "4.3.4", + "jszip": "^3.1.5", + "md5": "^2.3.0" + }, + "peerDependencies": { + "@loaders.gl/core": "^4.3.0" + } + }, + "node_modules/@luma.gl/constants": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/@luma.gl/constants/-/constants-9.2.6.tgz", + "integrity": "sha512-rvFFrJuSm5JIWbDHFuR4Q2s4eudO3Ggsv0TsGKn9eqvO7bBiPm/ANugHredvh3KviEyYuMZZxtfJvBdr3kzldg==", + "license": "MIT" + }, + "node_modules/@luma.gl/core": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/@luma.gl/core/-/core-9.2.6.tgz", + "integrity": "sha512-d8KcH8ZZcjDAodSN/G2nueA9YE2X8kMz7Q0OxDGpCww6to1MZXM3Ydate/Jqsb5DDKVgUF6yD6RL8P5jOki9Yw==", + "license": "MIT", + "dependencies": { + "@math.gl/types": "^4.1.0", + "@probe.gl/env": "^4.0.8", + "@probe.gl/log": "^4.0.8", + "@probe.gl/stats": "^4.0.8", + "@types/offscreencanvas": "^2019.6.4" + } + }, + "node_modules/@luma.gl/engine": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/@luma.gl/engine/-/engine-9.2.6.tgz", + "integrity": "sha512-1AEDs2AUqOWh7Wl4onOhXmQF+Rz1zNdPXF+Kxm4aWl92RQ42Sh2CmTvRt2BJku83VQ91KFIEm/v3qd3Urzf+Uw==", + "license": "MIT", + "dependencies": { + "@math.gl/core": "^4.1.0", + "@math.gl/types": "^4.1.0", + "@probe.gl/log": "^4.0.8", + "@probe.gl/stats": "^4.0.8" + }, + "peerDependencies": { + "@luma.gl/core": "~9.2.0", + "@luma.gl/shadertools": "~9.2.0" + } + }, + "node_modules/@luma.gl/gltf": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/@luma.gl/gltf/-/gltf-9.2.6.tgz", + "integrity": "sha512-is3YkiGsWqWTmwldMz6PRaIUleufQfUKYjJTKpsF5RS1OnN+xdAO0mJq5qJTtOQpppWAU0VrmDFEVZ6R3qvm0A==", + "license": "MIT", + "dependencies": { + "@loaders.gl/core": "^4.2.0", + "@loaders.gl/gltf": "^4.2.0", + "@loaders.gl/textures": "^4.2.0", + "@math.gl/core": "^4.1.0" + }, + "peerDependencies": { + "@luma.gl/constants": "~9.2.0", + "@luma.gl/core": "~9.2.0", + "@luma.gl/engine": "~9.2.0", + "@luma.gl/shadertools": "~9.2.0" + } + }, + "node_modules/@luma.gl/shadertools": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/@luma.gl/shadertools/-/shadertools-9.2.6.tgz", + "integrity": "sha512-4+uUbynqPUra9d/z1nQChyHmhLgmKfSMjS7kOwLB6exSnhKnpHL3+Hu9fv55qyaX50nGH3oHawhGtJ6RRvu65w==", + "license": "MIT", + "dependencies": { + "@math.gl/core": "^4.1.0", + "@math.gl/types": "^4.1.0", + "wgsl_reflect": "^1.2.0" + }, + "peerDependencies": { + "@luma.gl/core": "~9.2.0" + } + }, + "node_modules/@luma.gl/webgl": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/@luma.gl/webgl/-/webgl-9.2.6.tgz", + "integrity": "sha512-NGBTdxJMk7j8Ygr1zuTyAvr1Tw+EpupMIQo7RelFjEsZXg6pujFqiDMM+rgxex8voCeuhWBJc7Rs+MoSqd46UQ==", + "license": "MIT", + "dependencies": { + "@luma.gl/constants": "9.2.6", + "@math.gl/types": "^4.1.0", + "@probe.gl/env": "^4.0.8" + }, + "peerDependencies": { + "@luma.gl/core": "~9.2.0" + } + }, + "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/martini": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@mapbox/martini/-/martini-0.2.0.tgz", + "integrity": "sha512-7hFhtkb0KTLEls+TRw/rWayq5EeHtTaErgm/NskVoXmtgAQu/9D299aeyj6mzAR/6XUnYRp2lU+4IcrYRFjVsQ==", + "license": "ISC" + }, + "node_modules/@mapbox/point-geometry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==", + "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": "1.3.1", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", + "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/point-geometry": "~0.1.0" + } + }, + "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/geojson-vt": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@maplibre/geojson-vt/-/geojson-vt-6.0.4.tgz", + "integrity": "sha512-HYv3POhMRCdhP3UPPATM/hfcy6/WuVIf5FKboH8u/ZuFMTnAIcSVlq5nfOqroLokd925w2QtE7YwquFOIacwVQ==", + "license": "ISC", + "dependencies": { + "kdbush": "^4.0.2" + } + }, + "node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "24.7.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-24.7.0.tgz", + "integrity": "sha512-Ed7rcKYU5iELfablg9Mj+TVCsXsPBgdMyXPRAxb2v7oWg9YJnpQdZ5msDs1LESu/mtXy3Z48Vdppv2t/x5kAhw==", + "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.8", + "resolved": "https://registry.npmjs.org/@maplibre/mlt/-/mlt-1.1.8.tgz", + "integrity": "sha512-8vtfYGidr1rNkv5IwIoU2lfe3Oy+Wa8HluzQYcQi9cveU9K3pweAal/poQj4GJ0K/EW4bTQp2wVAs09g2yDRZg==", + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "@mapbox/point-geometry": "^1.1.0" + } + }, + "node_modules/@maplibre/mlt/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/@maplibre/vt-pbf": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@maplibre/vt-pbf/-/vt-pbf-4.3.0.tgz", + "integrity": "sha512-jIvp8F5hQCcreqOOpEt42TJMUlsrEcpf/kI1T2v85YrQRV6PPXUcEXUg5karKtH6oh47XJZ4kHu56pUkOuqA7w==", + "license": "MIT", + "dependencies": { + "@mapbox/point-geometry": "^1.1.0", + "@mapbox/vector-tile": "^2.0.4", + "@maplibre/geojson-vt": "^5.0.4", + "@types/geojson": "^7946.0.16", + "@types/supercluster": "^7.1.3", + "pbf": "^4.0.1", + "supercluster": "^8.0.1" + } + }, + "node_modules/@maplibre/vt-pbf/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/@maplibre/vt-pbf/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/@maplibre/vt-pbf/node_modules/@maplibre/geojson-vt": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@maplibre/geojson-vt/-/geojson-vt-5.0.4.tgz", + "integrity": "sha512-KGg9sma45S+stfH9vPCJk1J0lSDLWZgCT9Y8u8qWZJyjFlP8MNP1WGTxIMYJZjDvVT3PDn05kN1C95Sut1HpgQ==", + "license": "ISC" + }, + "node_modules/@maplibre/vt-pbf/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/@math.gl/core": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@math.gl/core/-/core-4.1.0.tgz", + "integrity": "sha512-FrdHBCVG3QdrworwrUSzXIaK+/9OCRLscxI2OUy6sLOHyHgBMyfnEGs99/m3KNvs+95BsnQLWklVfpKfQzfwKA==", + "license": "MIT", + "dependencies": { + "@math.gl/types": "4.1.0" + } + }, + "node_modules/@math.gl/culling": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@math.gl/culling/-/culling-4.1.0.tgz", + "integrity": "sha512-jFmjFEACnP9kVl8qhZxFNhCyd47qPfSVmSvvjR0/dIL6R9oD5zhR1ub2gN16eKDO/UM7JF9OHKU3EBIfeR7gtg==", + "license": "MIT", + "dependencies": { + "@math.gl/core": "4.1.0", + "@math.gl/types": "4.1.0" + } + }, + "node_modules/@math.gl/geospatial": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@math.gl/geospatial/-/geospatial-4.1.0.tgz", + "integrity": "sha512-BzsUhpVvnmleyYF6qdqJIip6FtIzJmnWuPTGhlBuPzh7VBHLonCFSPtQpbkRuoyAlbSyaGXcVt6p6lm9eK2vtg==", + "license": "MIT", + "dependencies": { + "@math.gl/core": "4.1.0", + "@math.gl/types": "4.1.0" + } + }, + "node_modules/@math.gl/polygon": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@math.gl/polygon/-/polygon-4.1.0.tgz", + "integrity": "sha512-YA/9PzaCRHbIP5/0E9uTYrqe+jsYTQoqoDWhf6/b0Ixz8bPZBaGDEafLg3z7ffBomZLacUty9U3TlPjqMtzPjA==", + "license": "MIT", + "dependencies": { + "@math.gl/core": "4.1.0" + } + }, + "node_modules/@math.gl/sun": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@math.gl/sun/-/sun-4.1.0.tgz", + "integrity": "sha512-i3q6OCBLSZ5wgZVhXg+X7gsjY/TUtuFW/2KBiq/U1ypLso3S4sEykoU/MGjxUv1xiiGtr+v8TeMbO1OBIh/HmA==", + "license": "MIT" + }, + "node_modules/@math.gl/types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@math.gl/types/-/types-4.1.0.tgz", + "integrity": "sha512-clYZdHcmRvMzVK5fjeDkQlHUzXQSNdZ7s4xOqC3nJPgz4C/TZkUecTo9YS4PruZqtDda/ag4erndP0MIn40dGA==", + "license": "MIT" + }, + "node_modules/@math.gl/web-mercator": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@math.gl/web-mercator/-/web-mercator-4.1.0.tgz", + "integrity": "sha512-HZo3vO5GCMkXJThxRJ5/QYUYRr3XumfT8CzNNCwoJfinxy5NtKUd7dusNTXn7yJ40UoB8FMIwkVwNlqaiRZZAw==", + "license": "MIT", + "dependencies": { + "@math.gl/core": "4.1.0" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@next/env": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.0.tgz", + "integrity": "sha512-OZIbODWWAi0epQRCRjNe1VO45LOFBzgiyqmTLzIqWq6u1wrxKnAyz1HH6tgY/Mc81YzIjRPoYsPAEr4QV4l9TA==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.0.tgz", + "integrity": "sha512-3D3pEMcGKfENC9Pzlkr67GOm+205+5hRdYPZvHuNIy5sr9k0ybSU8g+sxOO/R/RLEh/gWZ3UlY+5LmEyZ1xgXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "3.3.1" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.0.tgz", + "integrity": "sha512-/JZsqKzKt01IFoiLLAzlNqys7qk2F3JkcUhj50zuRhKDQkZNOz9E5N6wAQWprXdsvjRP4lTFj+/+36NSv5AwhQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.0.tgz", + "integrity": "sha512-/hV8erWq4SNlVgglUiW5UmQ5Hwy5EW/AbbXlJCn6zkfKxTy/E/U3V8U1Ocm2YCTUoFgQdoMxRyRMOW5jYy4ygg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.0.tgz", + "integrity": "sha512-GkjL/Q7MWOwqWR9zoxu1TIHzkOI2l2BHCf7FzeQG87zPgs+6WDh+oC9Sw9ARuuL/FUk6JNCgKRkA6rEQYadUaw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.0.tgz", + "integrity": "sha512-1ffhC6KY5qWLg5miMlKJp3dZbXelEfjuXt1qcp5WzSCQy36CV3y+JT7OC1WSFKizGQCDOcQbfkH/IjZP3cdRNA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.0.tgz", + "integrity": "sha512-FmbDcZQ8yJRq93EJSL6xaE0KK/Rslraf8fj1uViGxg7K4CKBCRYSubILJPEhjSgZurpcPQq12QNOJQ0DRJl6Hg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.0.tgz", + "integrity": "sha512-HzjIHVkmGAwRbh/vzvoBWWEbb8BBZPxBvVbDQDvzHSf3D8RP/4vjw7MNLDXFF9Q1WEzeQyEj2zdxBtVAHu5Oyw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.0.tgz", + "integrity": "sha512-UMiFNQf5H7+1ZsZPxEsA064WEuFbRNq/kEXyepbCnSErp4f5iut75dBA8UeerFIG3vDaQNOfCpevnERPp2V+nA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.0.tgz", + "integrity": "sha512-DRrNJKW+/eimrZgdhVN1uvkN1OI4j6Lpefwr44jKQ0YQzztlmOBUUzHuV5GxOMPK3nmodAYElUVCY8ZXo/IWeA==", + "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/@nolyfill/is-core-module": { + "version": "1.0.39", + "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", + "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/@probe.gl/env": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@probe.gl/env/-/env-4.1.1.tgz", + "integrity": "sha512-+68seNDMVsEegRB47pFA/Ws1Fjy8agcFYXxzorKToyPcD6zd+gZ5uhwoLd7TzsSw6Ydns//2KEszWn+EnNHTbA==", + "license": "MIT" + }, + "node_modules/@probe.gl/log": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@probe.gl/log/-/log-4.1.1.tgz", + "integrity": "sha512-kcZs9BT44pL7hS1OkRGKYRXI/SN9KejUlPD+BY40DguRLzdC5tLG/28WGMyfKdn/51GT4a0p+0P8xvDn1Ez+Kg==", + "license": "MIT", + "dependencies": { + "@probe.gl/env": "4.1.1" + } + }, + "node_modules/@probe.gl/stats": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@probe.gl/stats/-/stats-4.1.1.tgz", + "integrity": "sha512-4VpAyMHOqydSvPlEyHwXaE+AkIdR03nX+Qhlxsk2D/IW4OVmDZgIsvJB1cDzyEEtcfKcnaEbfXeiPgejBceT6g==", + "license": "MIT" + }, + "node_modules/@radix-ui/number": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.1.tgz", + "integrity": "sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==", + "license": "MIT" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", + "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.7.tgz", + "integrity": "sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", + "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", + "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.11", + "@radix-ui/react-focus-guards": "1.1.3", + "@radix-ui/react-focus-scope": "1.1.7", + "@radix-ui/react-id": "1.1.1", + "@radix-ui/react-portal": "1.1.9", + "@radix-ui/react-presence": "1.1.5", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-slot": "1.2.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.1.tgz", + "integrity": "sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", + "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1", + "@radix-ui/react-use-escape-keydown": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", + "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", + "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", + "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", + "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", + "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", + "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slider": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.3.6.tgz", + "integrity": "sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw==", + "license": "MIT", + "dependencies": { + "@radix-ui/number": "1.1.1", + "@radix-ui/primitive": "1.1.3", + "@radix-ui/react-collection": "1.1.7", + "@radix-ui/react-compose-refs": "1.1.2", + "@radix-ui/react-context": "1.1.2", + "@radix-ui/react-direction": "1.1.1", + "@radix-ui/react-primitive": "2.1.3", + "@radix-ui/react-use-controllable-state": "1.2.2", + "@radix-ui/react-use-layout-effect": "1.1.1", + "@radix-ui/react-use-previous": "1.1.1", + "@radix-ui/react-use-size": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", + "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", + "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", + "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-effect-event": "0.0.2", + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-effect-event": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", + "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", + "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", + "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz", + "integrity": "sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz", + "integrity": "sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true, + "license": "MIT" + }, + "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.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.2.2.tgz", + "integrity": "sha512-pXS+wJ2gZpVXqFaUEjojq7jzMpTGf8rU6ipJz5ovJV6PUGmlJ+jvIwGrzdHdQ80Sg+wmQxUFuoW1UAAwHNEdFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.19.0", + "jiti": "^2.6.1", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.2.2" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.2.2.tgz", + "integrity": "sha512-qEUA07+E5kehxYp9BVMpq9E8vnJuBHfJEC0vPC5e7iL/hw7HR61aDKoVoKzrG+QKp56vhNZe4qwkRmMC0zDLvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.2.2", + "@tailwindcss/oxide-darwin-arm64": "4.2.2", + "@tailwindcss/oxide-darwin-x64": "4.2.2", + "@tailwindcss/oxide-freebsd-x64": "4.2.2", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.2.2", + "@tailwindcss/oxide-linux-arm64-gnu": "4.2.2", + "@tailwindcss/oxide-linux-arm64-musl": "4.2.2", + "@tailwindcss/oxide-linux-x64-gnu": "4.2.2", + "@tailwindcss/oxide-linux-x64-musl": "4.2.2", + "@tailwindcss/oxide-wasm32-wasi": "4.2.2", + "@tailwindcss/oxide-win32-arm64-msvc": "4.2.2", + "@tailwindcss/oxide-win32-x64-msvc": "4.2.2" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.2.2.tgz", + "integrity": "sha512-dXGR1n+P3B6748jZO/SvHZq7qBOqqzQ+yFrXpoOWWALWndF9MoSKAT3Q0fYgAzYzGhxNYOoysRvYlpixRBBoDg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.2.2.tgz", + "integrity": "sha512-iq9Qjr6knfMpZHj55/37ouZeykwbDqF21gPFtfnhCCKGDcPI/21FKC9XdMO/XyBM7qKORx6UIhGgg6jLl7BZlg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.2.2.tgz", + "integrity": "sha512-BlR+2c3nzc8f2G639LpL89YY4bdcIdUmiOOkv2GQv4/4M0vJlpXEa0JXNHhCHU7VWOKWT/CjqHdTP8aUuDJkuw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.2.2.tgz", + "integrity": "sha512-YUqUgrGMSu2CDO82hzlQ5qSb5xmx3RUrke/QgnoEx7KvmRJHQuZHZmZTLSuuHwFf0DJPybFMXMYf+WJdxHy/nQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.2.2.tgz", + "integrity": "sha512-FPdhvsW6g06T9BWT0qTwiVZYE2WIFo2dY5aCSpjG/S/u1tby+wXoslXS0kl3/KXnULlLr1E3NPRRw0g7t2kgaQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.2.2.tgz", + "integrity": "sha512-4og1V+ftEPXGttOO7eCmW7VICmzzJWgMx+QXAJRAhjrSjumCwWqMfkDrNu1LXEQzNAwz28NCUpucgQPrR4S2yw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.2.2.tgz", + "integrity": "sha512-oCfG/mS+/+XRlwNjnsNLVwnMWYH7tn/kYPsNPh+JSOMlnt93mYNCKHYzylRhI51X+TbR+ufNhhKKzm6QkqX8ag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.2.2.tgz", + "integrity": "sha512-rTAGAkDgqbXHNp/xW0iugLVmX62wOp2PoE39BTCGKjv3Iocf6AFbRP/wZT/kuCxC9QBh9Pu8XPkv/zCZB2mcMg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.2.2.tgz", + "integrity": "sha512-XW3t3qwbIwiSyRCggeO2zxe3KWaEbM0/kW9e8+0XpBgyKU4ATYzcVSMKteZJ1iukJ3HgHBjbg9P5YPRCVUxlnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.2.2.tgz", + "integrity": "sha512-eKSztKsmEsn1O5lJ4ZAfyn41NfG7vzCg496YiGtMDV86jz1q/irhms5O0VrY6ZwTUkFy/EKG3RfWgxSI3VbZ8Q==", + "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.8.1", + "@emnapi/runtime": "^1.8.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.1", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.2.2.tgz", + "integrity": "sha512-qPmaQM4iKu5mxpsrWZMOZRgZv1tOZpUm+zdhhQP0VhJfyGGO3aUKdbh3gDZc/dPLQwW4eSqWGrrcWNBZWUWaXQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.2.2.tgz", + "integrity": "sha512-1T/37VvI7WyH66b+vqHj/cLwnCxt7Qt3WFu5Q8hk65aOvlwAhs7rAp1VkulBJw/N4tMirXjVnylTR72uI0HGcA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.2.2.tgz", + "integrity": "sha512-n4goKQbW8RVXIbNKRB/45LzyUqN451deQK0nzIeauVEqjlI49slUlgKYJM2QyUzap/PcpnS7kzSUmPb1sCRvYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.2.2", + "@tailwindcss/oxide": "4.2.2", + "postcss": "^8.5.6", + "tailwindcss": "4.2.2" + } + }, + "node_modules/@turf/boolean-clockwise": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@turf/boolean-clockwise/-/boolean-clockwise-5.1.5.tgz", + "integrity": "sha512-FqbmEEOJ4rU4/2t7FKx0HUWmjFEVqR+NJrFP7ymGSjja2SQ7Q91nnBihGuT+yuHHl6ElMjQ3ttsB/eTmyCycxA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^5.1.5", + "@turf/invariant": "^5.1.5" + } + }, + "node_modules/@turf/clone": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@turf/clone/-/clone-5.1.5.tgz", + "integrity": "sha512-//pITsQ8xUdcQ9pVb4JqXiSqG4dos5Q9N4sYFoWghX21tfOV2dhc5TGqYOhnHrQS7RiKQL1vQ48kIK34gQ5oRg==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^5.1.5" + } + }, + "node_modules/@turf/helpers": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-5.1.5.tgz", + "integrity": "sha512-/lF+JR+qNDHZ8bF9d+Cp58nxtZWJ3sqFe6n3u3Vpj+/0cqkjk4nXKYBSY0azm+GIYB5mWKxUXvuP/m0ZnKj1bw==", + "license": "MIT" + }, + "node_modules/@turf/invariant": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@turf/invariant/-/invariant-5.2.0.tgz", + "integrity": "sha512-28RCBGvCYsajVkw2EydpzLdcYyhSA77LovuOvgCJplJWaNVyJYH6BOR3HR9w50MEkPqb/Vc/jdo6I6ermlRtQA==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^5.1.5" + } + }, + "node_modules/@turf/meta": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-5.2.0.tgz", + "integrity": "sha512-ZjQ3Ii62X9FjnK4hhdsbT+64AYRpaI8XMBMcyftEOGSmPMUVnkbvuv3C9geuElAXfQU7Zk1oWGOcrGOD9zr78Q==", + "license": "MIT", + "dependencies": { + "@turf/helpers": "^5.1.5" + } + }, + "node_modules/@turf/rewind": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@turf/rewind/-/rewind-5.1.5.tgz", + "integrity": "sha512-Gdem7JXNu+G4hMllQHXRFRihJl3+pNl7qY+l4qhQFxq+hiU1cQoVFnyoleIqWKIrdK/i2YubaSwc3SCM7N5mMw==", + "license": "MIT", + "dependencies": { + "@turf/boolean-clockwise": "^5.1.5", + "@turf/clone": "^5.1.5", + "@turf/helpers": "^5.1.5", + "@turf/invariant": "^5.1.5", + "@turf/meta": "^5.1.5" + } + }, + "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/brotli": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/brotli/-/brotli-1.3.5.tgz", + "integrity": "sha512-9xoNr+bcxT236/7ZgcWw/6Pb2RRetE13p4bFy1xYSckKwyOiRfmInay8baUWZgH7/284Wl6IPe7+nOI9+OQg/A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/crypto-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.2.tgz", + "integrity": "sha512-sDOLlVbHhXpAUAL0YHDUUwDZf3iN4Bwi4W6a0W0b+QcAezUbRtH4FVb+9J4h+XFPW7l/gQ9F8qC7P+Ec4k8QVQ==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "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/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.19.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.37.tgz", + "integrity": "sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/offscreencanvas": { + "version": "2019.7.3", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz", + "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==", + "license": "MIT" + }, + "node_modules/@types/pako": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-1.0.7.tgz", + "integrity": "sha512-YBtzT2ztNF6R/9+UXj2wTGFnC9NklAnASt3sC0h2m1bbH7G6FyBIkt4AN8ThZpNfxUo1b2iMVO0UawiJymEt8A==", + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "devOptional": true, + "license": "MIT", + "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==", + "devOptional": 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/@typescript-eslint/eslint-plugin": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.57.1.tgz", + "integrity": "sha512-Gn3aqnvNl4NGc6x3/Bqk1AOn0thyTU9bqDRhiRnUWezgvr2OnhYCWCgC8zXXRVqBsIL1pSDt7T9nJUe0oM0kDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.57.1", + "@typescript-eslint/type-utils": "8.57.1", + "@typescript-eslint/utils": "8.57.1", + "@typescript-eslint/visitor-keys": "8.57.1", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.57.1", + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.57.1.tgz", + "integrity": "sha512-k4eNDan0EIMTT/dUKc/g+rsJ6wcHYhNPdY19VoX/EOtaAG8DLtKCykhrUnuHPYvinn5jhAPgD2Qw9hXBwrahsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.57.1", + "@typescript-eslint/types": "8.57.1", + "@typescript-eslint/typescript-estree": "8.57.1", + "@typescript-eslint/visitor-keys": "8.57.1", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.57.1.tgz", + "integrity": "sha512-vx1F37BRO1OftsYlmG9xay1TqnjNVlqALymwWVuYTdo18XuKxtBpCj1QlzNIEHlvlB27osvXFWptYiEWsVdYsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.57.1", + "@typescript-eslint/types": "^8.57.1", + "debug": "^4.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.57.1.tgz", + "integrity": "sha512-hs/QcpCwlwT2L5S+3fT6gp0PabyGk4Q0Rv2doJXA0435/OpnSR3VRgvrp8Xdoc3UAYSg9cyUjTeFXZEPg/3OKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.57.1", + "@typescript-eslint/visitor-keys": "8.57.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.57.1.tgz", + "integrity": "sha512-0lgOZB8cl19fHO4eI46YUx2EceQqhgkPSuCGLlGi79L2jwYY1cxeYc1Nae8Aw1xjgW3PKVDLlr3YJ6Bxx8HkWg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.57.1.tgz", + "integrity": "sha512-+Bwwm0ScukFdyoJsh2u6pp4S9ktegF98pYUU0hkphOOqdMB+1sNQhIz8y5E9+4pOioZijrkfNO/HUJVAFFfPKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.57.1", + "@typescript-eslint/typescript-estree": "8.57.1", + "@typescript-eslint/utils": "8.57.1", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.57.1.tgz", + "integrity": "sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.57.1.tgz", + "integrity": "sha512-ybe2hS9G6pXpqGtPli9Gx9quNV0TWLOmh58ADlmZe9DguLq0tiAKVjirSbtM1szG6+QH6rVXyU6GTLQbWnMY+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.57.1", + "@typescript-eslint/tsconfig-utils": "8.57.1", + "@typescript-eslint/types": "8.57.1", + "@typescript-eslint/visitor-keys": "8.57.1", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", + "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.57.1.tgz", + "integrity": "sha512-XUNSJ/lEVFttPMMoDVA2r2bwrl8/oPx8cURtczkSEswY5T3AeLmCy+EKWQNdL4u0MmAHOjcWrqJp2cdvgjn8dQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.57.1", + "@typescript-eslint/types": "8.57.1", + "@typescript-eslint/typescript-estree": "8.57.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.57.1.tgz", + "integrity": "sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.57.1", + "eslint-visitor-keys": "^5.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/a5-js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/a5-js/-/a5-js-0.5.0.tgz", + "integrity": "sha512-VAw19sWdYadhdovb0ViOIi1SdKx6H6LwcGMRFKwMfgL5gcmL/1fKJHfgsNgNaJ7xC/eEyjs6VK+VVd4N0a+peg==", + "license": "Apache-2.0", + "dependencies": { + "gl-matrix": "^3.4.3" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.1.tgz", + "integrity": "sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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", + "optional": true + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.10", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.10.tgz", + "integrity": "sha512-sUoJ3IMxx4AyRqO4MLeHlnGDkyXRoUG0/AI9fjK+vS72ekpV0yWVY7O0BVjmBcRtkNcsAO2QDZ4tdKKGoI6YaQ==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "license": "MIT", + "optional": true, + "dependencies": { + "base64-js": "^1.1.2" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buf-compare": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buf-compare/-/buf-compare-1.0.1.tgz", + "integrity": "sha512-Bvx4xH00qweepGc43xFvMs5BKASXTbHaHm6+kDYIK9p/4iFwjATQkmPKHQSgJZzKbAymhztRbXUf1Nqhzl73/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001781", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001781.tgz", + "integrity": "sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==", + "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/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "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/cmdk": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cmdk/-/cmdk-1.1.1.tgz", + "integrity": "sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "^1.1.1", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-id": "^1.1.0", + "@radix-ui/react-primitive": "^2.0.2" + }, + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "react-dom": "^18 || ^19 || ^19.0.0-rc" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/core-assert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/core-assert/-/core-assert-0.2.1.tgz", + "integrity": "sha512-IG97qShIP+nrJCXMCgkNZgH7jZQ4n8RpPyPeXX++T6avR/KhLhgLiHKoEn5Rc1KjfycSfA9DMa6m+4C4eguHhw==", + "license": "MIT", + "dependencies": { + "buf-compare": "^1.0.0", + "is-error": "^2.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "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==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-strict-equal": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/deep-strict-equal/-/deep-strict-equal-0.2.0.tgz", + "integrity": "sha512-3daSWyvZ/zwJvuMGlzG1O+Ow0YSadGfb3jsh9xoCutv2tWyB9dA4YvR9L9/fSdDZa2dByYQe+TqapSGUrjnkoA==", + "license": "MIT", + "dependencies": { + "core-assert": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/draco3d": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz", + "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==", + "license": "Apache-2.0" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/earcut": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "license": "ISC" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.321", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.321.tgz", + "integrity": "sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-abstract": { + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.1.tgz", + "integrity": "sha512-zWwRvqWiuBPr0muUG/78cW3aHROFCNIQ3zpmYDpwdbnt2m+xlNyRWpHBpa2lJjSBit7BQ+RXA1iwbSmu5yJ/EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.1", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.1.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.3.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.5", + "math-intrinsics": "^1.1.0", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-next": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.2.0.tgz", + "integrity": "sha512-LlVJrWnjIkgQRECjIOELyAtrWFqzn326ARS5ap7swc1YKL4wkry6/gszn6wi5ZDWKxKe7fanxArvhqMoAzbL7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "16.2.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.32.0", + "eslint-plugin-jsx-a11y": "^6.10.0", + "eslint-plugin-react": "^7.37.0", + "eslint-plugin-react-hooks": "^7.0.0", + "globals": "16.4.0", + "typescript-eslint": "^8.46.0" + }, + "peerDependencies": { + "eslint": ">=9.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", + "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@nolyfill/is-core-module": "1.0.39", + "debug": "^4.4.0", + "get-tsconfig": "^4.10.0", + "is-bun-module": "^2.0.0", + "stable-hash": "^0.0.5", + "tinyglobby": "^0.2.13", + "unrs-resolver": "^1.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", + "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", + "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.16.1", + "node-exports-info": "^1.6.0", + "object-keys": "^1.1.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "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.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/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/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-xml-parser": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.5.tgz", + "integrity": "sha512-cK9c5I/DwIOI7/Q7AlGN3DuTdwN61gwSfL8rvuVPK+0mcCNHHGxRrpiFtaZZRfRMJL3Gl8B2AFlBG6qXf03w9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "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/fflate": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.4.tgz", + "integrity": "sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==", + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.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/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/framer-motion": { + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.38.0.tgz", + "integrity": "sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==", + "license": "MIT", + "dependencies": { + "motion-dom": "^12.38.0", + "motion-utils": "^12.36.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.13.7", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.7.tgz", + "integrity": "sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "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": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/h3-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/h3-js/-/h3-js-4.4.0.tgz", + "integrity": "sha512-DvJh07MhGgY2KcC4OeZc8SSyA+ZXpdvoh6uCzGpoKvWtZxJB+g6VXXC1+eWYkaMIsLz7J/ErhOalHCpcs1KYog==", + "license": "Apache-2.0", + "engines": { + "node": ">=4", + "npm": ">=3", + "yarn": ">=1.3.0" + } + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", + "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==", + "license": "MIT", + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" + }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-error": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", + "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==", + "license": "MIT" + }, + "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-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/is-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "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/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "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/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "license": "(MIT OR GPL-3.0-or-later)", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "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/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/ktx-parse": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-0.7.1.tgz", + "integrity": "sha512-FeA3g56ksdFNwjXJJsc1CCc7co+AJYDp6ipIp878zZ2bU8kWROatLYf39TQEd4/XRSUvBXovQ8gaVKWPXsCLEQ==", + "license": "MIT" + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "license": "MIT", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "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.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "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/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.564.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.564.0.tgz", + "integrity": "sha512-JJ8GVTQqFwuliifD48U6+h7DXEHdkhJ/E87kksGByII3qHxtPciVb8T8woQONHBQgHVOl7rSMrrip3SeVNy7Fg==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/lz4js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/lz4js/-/lz4js-0.2.0.tgz", + "integrity": "sha512-gY2Ia9Lm7Ep8qMiuGRhvUq0Q7qUereeldZPP1PMEJxPtEWHJLqw9pgX68oHajBH0nzJK4MaZEA/YNV3jT8u8Bg==", + "license": "ISC", + "optional": true + }, + "node_modules/lzo-wasm": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/lzo-wasm/-/lzo-wasm-0.0.4.tgz", + "integrity": "sha512-VKlnoJRFrB8SdJhlVKvW5vI1gGwcZ+mvChEXcSX6r2xDNc/Q2FD9esfBmGCuPZdrJ1feO+YcVFd2PTk0c137Gw==", + "license": "BSD-2-Clause" + }, + "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.21.0", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.21.0.tgz", + "integrity": "sha512-n0v4J/Ge0EG8ix/z3TY3ragtJYMqzbtSnj1riOC0OwQbzwp0lUF2maS1ve1z8HhitQCKtZZiZJhb8to36aMMfQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@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/geojson-vt": "^6.0.4", + "@maplibre/maplibre-gl-style-spec": "^24.7.0", + "@maplibre/mlt": "^1.1.8", + "@maplibre/vt-pbf": "^4.3.0", + "@types/geojson": "^7946.0.16", + "earcut": "^3.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", + "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/maplibre-gl/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/maplibre-gl/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/maplibre-gl/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/maplibre-gl/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/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "license": "BSD-3-Clause", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "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/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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/mjolnir.js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mjolnir.js/-/mjolnir.js-3.0.0.tgz", + "integrity": "sha512-siX3YCG7N2HnmN1xMH3cK4JkUZJhbkhRFJL+G5N1vH0mh1t5088rJknIoqDFWDIU6NPGvRRgLnYW3ZHjSMEBLA==", + "license": "MIT" + }, + "node_modules/motion": { + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/motion/-/motion-12.38.0.tgz", + "integrity": "sha512-uYfXzeHlgThchzwz5Te47dlv5JOUC7OB4rjJ/7XTUgtBZD8CchMN8qEJ4ZVsUmTyYA44zjV0fBwsiktRuFnn+w==", + "license": "MIT", + "dependencies": { + "framer-motion": "^12.38.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "node_modules/motion-dom": { + "version": "12.38.0", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.38.0.tgz", + "integrity": "sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==", + "license": "MIT", + "dependencies": { + "motion-utils": "^12.36.0" + } + }, + "node_modules/motion-utils": { + "version": "12.36.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.36.0.tgz", + "integrity": "sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==", + "license": "MIT" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "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/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/napi-postinstall" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/next": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/next/-/next-16.2.0.tgz", + "integrity": "sha512-NLBVrJy1pbV1Yn00L5sU4vFyAHt5XuSjzrNyFnxo6Com0M0KrL6hHM5B99dbqXb2bE9pm4Ow3Zl1xp6HVY9edQ==", + "license": "MIT", + "dependencies": { + "@next/env": "16.2.0", + "@swc/helpers": "0.5.15", + "baseline-browser-mapping": "^2.9.19", + "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.2.0", + "@next/swc-darwin-x64": "16.2.0", + "@next/swc-linux-arm64-gnu": "16.2.0", + "@next/swc-linux-arm64-musl": "16.2.0", + "@next/swc-linux-x64-gnu": "16.2.0", + "@next/swc-linux-x64-musl": "16.2.0", + "@next/swc-win32-arm64-msvc": "16.2.0", + "@next/swc-win32-x64-msvc": "16.2.0", + "sharp": "^0.34.5" + }, + "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/node-exports-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", + "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array.prototype.flatmap": "^1.3.3", + "es-errors": "^1.3.0", + "object.entries": "^1.1.9", + "semver": "^6.3.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/node-releases": { + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/pbf": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "ieee754": "^1.1.12", + "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": "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/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "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/preact": { + "version": "10.29.0", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.29.0.tgz", + "integrity": "sha512-wSAGyk2bYR1c7t3SZ3jHcM6xy0lcBcDel6lODcs9ME6Th++Dx2KU+6D3HD8wMMKGA8Wpw7OMd3/4RGzYRpzwRg==", + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "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/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-remove-scroll": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", + "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "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/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-push-apply/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "license": "MIT" + }, + "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/sharp/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/snappyjs": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/snappyjs/-/snappyjs-0.6.1.tgz", + "integrity": "sha512-YIK6I2lsH072UE0aOFxxY1dPDCS43I5ktqHpeAsuLNYWkE5pGxRGWfDM4/vSUfNzXjC1Ivzt3qx31PCLmc9yqg==", + "license": "MIT" + }, + "node_modules/sonner": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/sonner/-/sonner-2.0.7.tgz", + "integrity": "sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==", + "license": "MIT", + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" + } + }, + "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/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/stable-hash": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", + "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "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/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwind-merge": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.5.0.tgz", + "integrity": "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.2.2.tgz", + "integrity": "sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==", + "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/texture-compressor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/texture-compressor/-/texture-compressor-1.0.2.tgz", + "integrity": "sha512-dStVgoaQ11mA5htJ+RzZ51ZxIZqNOgWKAIvtjLrW1AliQQLCmrDqNzQZ8Jh91YealQ95DXt4MEduLzJmbs6lig==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.10", + "image-size": "^0.7.4" + }, + "bin": { + "texture-compressor": "bin/texture-compressor.js" + } + }, + "node_modules/texture-compressor/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/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/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/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "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/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.57.1.tgz", + "integrity": "sha512-fLvZWf+cAGw3tqMCYzGIU6yR8K+Y9NT2z23RwOjlNFF2HwSB3KhdEFI5lSBv8tNmFkkBShSjsCjzx1vahZfISA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.57.1", + "@typescript-eslint/parser": "8.57.1", + "@typescript-eslint/typescript-estree": "8.57.1", + "@typescript-eslint/utils": "8.57.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/wgsl_reflect": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/wgsl_reflect/-/wgsl_reflect-1.2.3.tgz", + "integrity": "sha512-BQWBIsOn411M+ffBxmA6QRLvAOVbuz3Uk4NusxnqC1H7aeQcVLhdA3k2k/EFFFtqVjhz3z7JOOZF1a9hj2tv4Q==", + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + }, + "node_modules/zstd-codec": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/zstd-codec/-/zstd-codec-0.1.5.tgz", + "integrity": "sha512-v3fyjpK8S/dpY/X5WxqTK3IoCnp/ZOLxn144GZVlNUjtwAchzrVo03h+oMATFhCIiJ5KTr4V3vDQQYz4RU684g==", + "license": "MIT", + "optional": true + } + } +} diff --git a/src/lib/atc-feeds.ts b/src/lib/atc-feeds.ts index 22ec19e..b8e038e 100644 --- a/src/lib/atc-feeds.ts +++ b/src/lib/atc-feeds.ts @@ -32,6 +32,7 @@ import type { AtcFeed } from "./atc-types"; * - Stream URLs use the .pls playlist format which resolves to Icecast * endpoints (d.liveatc.net / d2.liveatc.net). * + * Coverage: 633 airports across all continents with documented LiveATC feeds. * Last verified: March 2026 */ @@ -773,6 +774,6958 @@ export const ATC_FEEDS: Record = { // CSV verified feed("FIMP", "combined", "Mauritius Tower/App/Control", "118.400", "fimp"), ], + // ── North America (additional) ────────────────────────────── + + + // -- Anguilla -- + // Clayton J. Lloyd International Airport (The Valley, Anguilla) — CSV verified + TQPF: [ + feed("TQPF", "tower", "Tower", "", "tncs_tqpf_twr"), + ], + + + // -- Bahamas -- + // Deadman\'s Cay Airport (Deadman's Cay, Bahamas) — CSV verified + MYLD: [ + feed("MYLD", "approach", "Nassau Approach", "", "myld1_app"), + feed("MYLD", "center", "Miami Center/FSS (Bahamas Area)", "", "myld1_zma"), + feedN( + "MYLD", + "center", + "Emergency/Guard", + "", + "myld1_guard", + "2", + ), + feedN( + "MYLD", + "center", + "MYLD/MYLS CTAF", + "", + "myld1_ctaf", + "3", + ), + ], + + // Exuma International Airport (Exuma, Bahamas) — CSV verified + MYEF: [ + feed("MYEF", "tower", "Tower/CTAF", "", "myld1_twr"), + ], + + + // -- Barbados -- + // Grantley Adams International Airport (Bridgetown, Barbados) — CSV verified + TBPB: [ + feed("TBPB", "combined", "Gnd/Twr/Radar/Center", "", "tbpb"), + ], + + + // -- Bermuda -- + // L F Wade International Airport (Hamilton, Bermuda) — CSV verified + TXKF: [ + feed("TXKF", "tower", "Tower", "", "txkf2_twr"), + feed("TXKF", "atis", "ATIS", "", "txkf2_atis"), + feed("TXKF", "center", "ZNY Sector 81 (Bermuda)/App", "", "txkf2_app_ctr"), + feed("TXKF", "combined", "Del/Gnd/Twr/CTAF", "", "txkf2_local"), + ], + + + // -- Canada -- + // Abbotsford International Airport (Abbotsford, British Columbia, Canada) — CSV verified + CYXX: [ + feed("CYXX", "tower", "Tower", "", "cyxx"), + ], + + // Boundary Bay Airport (Boundary Bay, British Columbia, Canada) — CSV verified + CZBB: [ + feed("CZBB", "tower", "Tower (Inner)", "", "czbb2"), + ], + + // Brantford Airport (Brantford, Ontario, Canada) — CSV verified + CYFD: [ + feed("CYFD", "center", "ATF (CTAF)", "", "cyfd"), + feedN( + "CYFD", + "center", + "ATF (CTAF)/App", + "", + "cyfd2", + "ctaf", + ), + ], + + // Springbank Airport (Calgary, Alberta, Canada) — CSV verified + CYBW: [ + feed("CYBW", "tower", "Tower (Outer)", "", "cybw3_twr_outer"), + ], + + // Calgary International Airport (Calgary, Alberta, Canada) — CSV verified + CYYC: [ + feed("CYYC", "tower", "Tower #1", "", "cyyc2_twr"), + feed("CYYC", "approach", "App/Dep", "", "cyyc2_app"), + feed("CYYC", "combined", "Twr/App/Dep", "", "cyyc2_1"), + ], + + // Charlottetown Airport (Charlottetown, Prince Edward Island, Canada) — CSV verified + CYYG: [ + feed("CYYG", "combined", "Twr/App/Dep", "", "cyyg2"), + ], + + // Edmonton International Airport (Edmonton, Alberta, Canada) — CSV verified + CYEG: [ + feed("CYEG", "tower", "Tower", "", "cyeg_twr"), + feed("CYEG", "ground", "Del/Gnd/Misc", "", "cyeg_gnd_misc"), + feed("CYEG", "approach", "Approach", "", "cyeg_app"), + feed("CYEG", "departure", "Departure", "", "cyeg_dep"), + feed("CYEG", "center", "CZEG Edmonton Center (FL280/below)", "", "czeg_yeg_1"), + feedN( + "CYEG", + "center", + "CZEG Edmonton Center (Lloydminster Sector)", + "", + "czeg_yeg_2", + "lloydminst", + ), + feed("CYEG", "combined", "VFR Advisory", "", "cyeg_vfr"), + ], + + // Fredericton International Airport (Fredericton, New Brunswick, Canada) — CSV verified + CYFC: [ + feed("CYFC", "combined", "Ground/Tower", "", "cyfc2"), + ], + + // Gander International Airport (Gander, Newfoundland, Canada) — CSV verified + CYQX: [ + feed("CYQX", "combined", "Ground/Tower", "", "cyqx1_gnd_twr"), + ], + + // Goose Bay Airport/CFB Goose Bay (Goose Bay, Newfoundland, Canada) — CSV verified + CYYR: [ + feed("CYYR", "center", "Gander Center", "", "cyyr_center"), + feed("CYYR", "combined", "Del/Gnd/Twr/App #1", "", "cyyr_local"), + feedN( + "CYYR", + "combined", + "Del/Gnd/Twr/App #2", + "", + "cyyr2", + "2", + ), + feedN( + "CYYR", + "combined", + "Del/Gnd/Twr/App/Center", + "", + "cyyr_s", + "3", + ), + ], + + // CFB Greenwood Airport (Greenwood, Nova Scotia, Canada) — CSV verified + CYZX: [ + feed("CYZX", "approach", "App/Dep/PAR", "", "cyzx1_app"), + feed("CYZX", "combined", "Ground/Tower", "", "cyzx1_twr"), + ], + + // CFB Shearwater Airport (Halifax, Nova Scotia, Canada) — CSV verified + CYAW: [ + feed("CYAW", "atis", "ATIS", "", "cyaw_atis"), + feed("CYAW", "combined", "Gnd/Twr", "", "cyaw1_gnd_twr"), + feedN( + "CYAW", + "combined", + "Gnd/Twr/Ops", + "", + "cyaw", + "2", + ), + ], + + // Halifax International Airport (Halifax, Nova Scotia, Canada) — CSV verified + CYHZ: [ + feed("CYHZ", "combined", "Delivery/Ground/Tower/Approach", "", "cyhz3"), + ], + + // Iqaluit Airport (Iqaluit, Nunavut, Canada) — CSV verified + CYFB: [ + feed("CYFB", "center", "CTAF/RDO", "", "cyfb_ctaf"), + feedN( + "CYFB", + "center", + "Montreal Center", + "", + "cyfb_zul", + "2", + ), + feedN( + "CYFB", + "center", + "RDO/FIC/Edmonton Ctr", + "", + "cyfb_rdo", + "3", + ), + ], + + // Langley Regional Airport (Langley, British Columbia, Canada) — CSV verified + CYNJ: [ + feed("CYNJ", "tower", "Tower", "", "cynj2"), + feed("CYNJ", "ground", "Ground", "", "cynj2_gnd"), + ], + + // London International Airport (London, Ontario, Canada) — CSV verified + CYXU: [ + feed("CYXU", "tower", "Tower (Both)", "", "cyxu1_twr"), + feedN( + "CYXU", + "tower", + "Tower 119.4", + "", + "cyxu1_twr_119400", + "2", + ), + feedN( + "CYXU", + "tower", + "Tower 125.65", + "", + "cyxu1_twr_125650", + "3", + ), + feed("CYXU", "ground", "Ground", "", "cyxu1_gnd"), + feed("CYXU", "approach", "App/Dep (London Sector)", "", "cyxu1_ctr_135300"), + feed("CYXU", "atis", "ATIS", "", "cyxu1_atis"), + feed("CYXU", "center", "Area Guard 121.5", "", "cyxu1_guard"), + feedN( + "CYXU", + "center", + "CZYZ Toronto Center (Kitchener Sector)", + "", + "cyxu1_ctr_135625", + "kitchener", + ), + feedN( + "CYXU", + "center", + "CZYZ Toronto Center (Lucan Sector)", + "", + "cyxu1_ctr_135825", + "lucan", + ), + ], + + // Saint-Hubert Airport (Montreal, Quebec, Canada) — CSV verified + CYHU: [ + feed("CYHU", "tower", "Tower", "", "cyhu"), + ], + + // Montreal-Mirabel International Airport (Montreal, Quebec, Canada) — CSV verified + CYMX: [ + feed("CYMX", "combined", "Gnd/Twr/Radio", "", "cymx2"), + ], + + // Oshawa Municipal Airport (Oshawa, Ontario, Canada) — CSV verified + CYOO: [ + feed("CYOO", "tower", "Tower", "", "cyoo5_twr"), + feed("CYOO", "ground", "Ground", "", "cyoo5_gnd"), + ], + + // Ottawa MacDonald Cartier International Airport (Ottawa, Ontario, Canada) — CSV verified + CYOW: [ + feed("CYOW", "combined", "Gnd/Twr/App", "", "cyow3"), + ], + + // Ottawa/Rockcliffe Airport (Ottawa, Ontario, Canada) — CSV verified + CYRO: [ + feed("CYRO", "center", "Area Guard", "", "cyro1_guard"), + feedN( + "CYRO", + "center", + "CTAF", + "", + "cyro1_ctaf", + "2", + ), + feedN( + "CYRO", + "center", + "Gatineau Radio", + "", + "cyro1_radio", + "ne", + ), + ], + + // Peterborough Airport (Peterborough, Ontario, Canada) — CSV verified + CYPQ: [ + feed("CYPQ", "approach", "Regional/Radar", "", "cypq6_app"), + feed("CYPQ", "atis", "AWOS", "", "cypq6_awos"), + feed("CYPQ", "center", "Dispatch/UNICOM", "", "cypq6_dispatch"), + feedN( + "CYPQ", + "center", + "UNICOM/Guard", + "", + "cypq6_unicom", + "2", + ), + ], + + // Pitt Meadows Airport (Pitt Meadows, British Columbia, Canada) — CSV verified + CYPK: [ + feed("CYPK", "tower", "Tower", "", "cypk2"), + ], + + // Quebec Jean Lesage International Airport (Quebec, Quebec, Canada) — CSV verified + CYQB: [ + feed("CYQB", "approach", "App/Dep (Terminal/124.0)", "", "cyqb1_app_124000"), + feedN( + "CYQB", + "approach", + "App/Dep (Terminal/127.85)", + "", + "cyqb1_app_127850", + "terminal", + ), + feed("CYQB", "atis", "ATIS (English)", "", "cyqb1_atis_en"), + feedN( + "CYQB", + "atis", + "ATIS (French)", + "", + "cyqb1_atis_fr", + "french", + ), + feed("CYQB", "center", "Flight Service (FIS)", "", "cyqb1_fis"), + feedN( + "CYQB", + "center", + "Montreal Center (Drummond/133.225)", + "133.225", + "cyqb1_ctr_133225", + "drummond", + ), + feedN( + "CYQB", + "center", + "Montreal Center (Drummond/135.025)", + "135.025", + "cyqb1_ctr_135025", + "135025", + ), + feedN( + "CYQB", + "center", + "Montreal Center (Levis/123.925)", + "123.925", + "cyqb1_ctr_123925", + "levis", + ), + feed("CYQB", "combined", "Flight Service", "", "cyqb1_fs"), + feedN( + "CYQB", + "combined", + "Ground/Tower", + "", + "cyqb1_gnd_twr", + "2", + ), + ], + + // Regina International Airport (Regina, Saskatchewan, Canada) — CSV verified + CYQR: [ + feed("CYQR", "combined", "Gnd/Twr/Center", "", "cyqr3"), + ], + + // Rocky Mountain House Airport (Rocky Mountain House, Alberta, Canada) — CSV verified + CYRM: [ + feed("CYRM", "center", "CTAF", "", "cyrm2"), + ], + + // John G. Diefenbaker International Airport (Saskatoon, Saskatchewan, Canada) — CSV verified + CYXE: [ + feed("CYXE", "approach", "App/Dep/Center", "", "cyxe2_cywg"), + feed("CYXE", "combined", "Area VFR/Misc", "", "cyxe2_vfr_misc"), + feedN( + "CYXE", + "combined", + "Gnd/Twr", + "", + "cyxe2_twr", + "2", + ), + ], + + // Sault Ste. Marie Airport (Sault Ste. Marie, Ontario, Canada) — CSV verified + CYAM: [ + feed("CYAM", "tower", "Tower", "", "cyam_twr"), + feed("CYAM", "ground", "Ground/Misc", "", "cyam_gnd_misc"), + feed("CYAM", "atis", "ATIS", "", "cyam_atis"), + feed("CYAM", "center", "Toronto Center (Sault High)", "", "czyz_yam_high"), + feedN( + "CYAM", + "center", + "Toronto Center (Sault Low)", + "", + "czyz_yam_low", + "sault", + ), + ], + + // Sherbrooke Airport (Sherbrooke, Quebec, Canada) — CSV verified + CYSC: [ + feed("CYSC", "center", "CTAF", "", "cysc1_ctaf"), + feedN( + "CYSC", + "center", + "Emergency/Guard", + "", + "cysc1_guard", + "2", + ), + feed("CYSC", "combined", "RCO/GCO", "", "cysc1_rco"), + feedN( + "CYSC", + "combined", + "ZUL 132.55", + "", + "cysc1_zul_132550", + "2", + ), + feedN( + "CYSC", + "combined", + "ZUL 133.225", + "133.225", + "cysc1_zul_133225", + "3", + ), + ], + + // St. Jean Airport (St. Jean, Quebec, Canada) — CSV verified + CYJN: [ + feed("CYJN", "combined", "Ground/Tower", "", "cyjn"), + ], + + // St. John\'s International Airport (St. John's, Newfoundland, Canada) — CSV verified + CYYT: [ + feed("CYYT", "tower", "Tower", "", "cyyt1_twr"), + feed("CYYT", "ground", "Ground", "", "cyyt1_gnd"), + feed("CYYT", "atis", "ATIS", "", "cyyt1_atis"), + feed("CYYT", "center", "Gander Center 133.150", "133.150", "cyyt1_ctr_133150"), + feedN( + "CYYT", + "center", + "Gander Radio 122.375", + "122.375", + "cyyt1_iar_122375", + "2", + ), + feed("CYYT", "combined", "Ground/Tower", "", "cyyt1_gnd_twr"), + ], + + // Sudbury Airport (Sudbury, Ontario, Canada) — CSV verified + CYSB: [ + feed("CYSB", "combined", "Gnd/Twr/Center", "", "cysb"), + ], + + // Summerside Airport (Summerside, Prince Edward Island, Canada) — CSV verified + CYSU: [ + feed("CYSU", "center", "CTAF/Unicom", "", "cysu2"), + ], + + // Thunder Bay Airport (Thunder Bay, Ontario, Canada) — CSV verified + CYQT: [ + feed("CYQT", "combined", "Ground/Tower", "", "cyqt"), + ], + + // Timmins/Victor M. Power Airport (Timmins, Ontario, Canada) — CSV verified + CYTS: [ + feed("CYTS", "center", "FSS/Misc", "", "cyts_misc"), + feedN( + "CYTS", + "center", + "CZUL ACC (Noranda Sector)", + "", + "cyul_timmins", + "noranda", + ), + feedN( + "CYTS", + "center", + "Toronto Center (Timmins)", + "", + "czyz_timmins", + "timmins", + ), + ], + + // Billy Bishop Toronto City Airport (Toronto, Ontario, Canada) — CSV verified + CYTZ: [ + feed("CYTZ", "tower", "Tower", "", "cytz4"), + feed("CYTZ", "approach", "Approach", "", "cytz_app"), + ], + + // Trois Rivieres Airport (Trois-Rivieres, Quebec, Canada) — CSV verified + CYRQ: [ + feed("CYRQ", "center", "CTAF", "", "cyrq"), + feedN( + "CYRQ", + "center", + "CYRQ/CSR3 CTAF", + "", + "cyrq_s", + "2", + ), + ], + + // Val-D\'Or Airport (Val-D'Or, Quebec, Canada) — CSV verified + CYVO: [ + feed("CYVO", "ground", "Gnd/RDO/Center", "", "cyvo"), + ], + + // Vancouver Harbour Airport (Vancouver, British Columbia, Canada) — CSV verified + CYHC: [ + feed("CYHC", "combined", "Del/Twr/App", "", "cyhc2"), + ], + + // Victoria Inner Harbour Airport (Victoria, British Columbia, Canada) — CSV verified + CYWH: [ + feed("CYWH", "center", "FISE/Terminal", "", "cywh2_misc"), + ], + + // Victoria International Airport (Victoria, British Columbia, Canada) — CSV verified + CYYJ: [ + feed("CYYJ", "tower", "Tower (Inner)", "", "cyyj2_twr_inner"), + ], + + // Waterloo Airport (Waterloo, Ontario, Canada) — CSV verified + CYKF: [ + feed("CYKF", "tower", "Tower", "", "cykf3_twr"), + feed("CYKF", "ground", "Ground", "", "cykf3_gnd"), + feed("CYKF", "center", "Area Traffic Advisory", "", "cykf3_ta"), + feedN( + "CYKF", + "center", + "Toronto Center (West Sat)", + "", + "cykf3_ctr", + "west", + ), + ], + + // Winnipeg James Armstrong Richardson International Airport (Winnipeg, Manitoba, Canada) — CSV verified + CYWG: [ + feed("CYWG", "approach", "App/Dep", "", "cywg2_misc1"), + feed("CYWG", "atis", "ATIS", "", "cywg2_misc3"), + feed("CYWG", "center", "Center", "", "cywg2_misc2"), + feed("CYWG", "combined", "Del/Gnd/Twr", "", "cywg2_misc"), + ], + + // Yarmouth Airport (Yarmouth, Nova Scotia, Canada) — CSV verified + CYQI: [ + feed("CYQI", "center", "CTAF/UNICOM", "", "cyqi3"), + feedN( + "CYQI", + "center", + "Halifax FIC", + "", + "cyqi5", + "2", + ), + feedN( + "CYQI", + "center", + "Moncton Center (TUSKY/BRADD High)", + "", + "cyqi8", + "tusky", + ), + feedN( + "CYQI", + "center", + "Moncton Center (TUSKY/BRADD/WHALE/KANNNI)", + "", + "cyqi_moncton", + "bradd", + ), + feedN( + "CYQI", + "center", + "Moncton Center (VITOL/High)", + "", + "cyqi6", + "vitol", + ), + feedN( + "CYQI", + "center", + "Moncton Center (WHALE/KANNI High)", + "", + "cyqi9", + "whale", + ), + feedN( + "CYQI", + "center", + "Moncton Center Low", + "", + "cyqi2", + "3", + ), + feed("CYQI", "combined", "Wildfire/SAR Aircraft", "", "cyqi4"), + ], + + // Yellowknife Airport (Yellowknife, Northwest Territories, Canada) — CSV verified + CYZF: [ + feed("CYZF", "combined", "Gnd/Twr/Center", "", "cyzf"), + ], + + + // -- Costa Rica -- + // Tobias Bolanos International Airport (San Jose, Costa Rica) — CSV verified + MRPV: [ + feed("MRPV", "combined", "Ground/Tower", "", "mrpv_gnd_twr"), + ], + + + // -- Guatemala -- + // La Aurora International Airport (Guatemala City, Guatemala) — CSV verified + MGGT: [ + feed("MGGT", "combined", "Gnd/Twr/App/Center", "", "mggt3_all"), + ], + + // Quetzaltenango Airport (Quezaltenango, Guatemala) — CSV verified + MGQZ: [ + feed("MGQZ", "center", "CTAF", "", "mgqz2_ctaf"), + ], + + + // -- Honduras -- + // Palmerola International Airport (Comayagua, Honduras) — CSV verified + MHPR: [ + feed("MHPR", "combined", "Gnd/Twr/App", "", "mhsc2"), + ], + + // Goloson International Airport (La Ceiba, Honduras) — CSV verified + MHLC: [ + feed("MHLC", "combined", "Gnd/Twr/Center", "", "mhlc"), + ], + + // Ramon Villeda Morales International Airport (San Pedro Sula, Honduras) — CSV verified + MHLM: [ + feed("MHLM", "combined", "Gnd/Twr/App", "", "mhlm"), + ], + + // Toncontin International Airport (Tegucigalpa, Honduras) — CSV verified + MHTG: [ + feed("MHTG", "atis", "ATIS", "", "mhtg_atis"), + feed("MHTG", "combined", "Gnd/Twr/App/Ctr/Ops", "", "mhtg"), + ], + + + // -- Mexico -- + // Matamoros International Airport (Brownsville-Matamoros, Mexico) — CSV verified + MMMA: [ + feed("MMMA", "combined", "Twr/App", "", "kbro2_mmma_app"), + ], + + // Cuernavaca Airport (Cuernavaca, Mexico) — CSV verified + MMCB: [ + feed("MMCB", "tower", "Tower", "", "mmcb2"), + ], + + // Don Miguel Hidalgo y Costilla International (Guadalajara, Mexico) — CSV verified + MMGL: [ + feed("MMGL", "combined", "Tower/Approach", "", "mmgl"), + ], + + // Hermosillo International Airport (Hermosillo, Mexico) — CSV verified + MMHO: [ + feed("MMHO", "tower", "Tower", "", "mmho_twr"), + feed("MMHO", "approach", "App/Dep", "", "mmho_app"), + feed("MMHO", "combined", "Twr/App", "", "mmho_twr_app"), + ], + + // Gen Manuel Marquez Airport (La Paz, Mexico) — CSV verified + MMLP: [ + feed("MMLP", "combined", "Twr/App", "", "mmlp"), + ], + + // Licenciado Manuel Crescencio Rejon International Airport (Merida, Mexico) — CSV verified + MMMD: [ + feed("MMMD", "tower", "Tower", "", "mmmd1_twr"), + feed("MMMD", "approach", "App/Dep", "", "mmmd1_app"), + feed("MMMD", "center", "Merida Center 125.8/123.75", "", "mmmd1_ctr"), + ], + + // General Mariano Escobedo International Airport (Monterrey, Mexico) — CSV verified + MMMY: [ + feed("MMMY", "approach", "Approach", "", "mmmy3_app"), + feed("MMMY", "combined", "Tower/Approach", "", "mmmy"), + ], + + // Queretaro Intercontinental Airport (Queretaro, Mexico) — CSV verified + MMQT: [ + feed("MMQT", "combined", "Tower/App", "", "mmqt3"), + ], + + // Ponciano Arriaga International Airport (San Luis Potosi, Mexico) — CSV verified + MMSP: [ + feed("MMSP", "combined", "Twr/App/Center", "", "mmsp3"), + ], + + // Felipe Angeles International Airport (Santa Lucia, Mexico) — CSV verified + MMSM: [ + feed("MMSM", "tower", "Tower 118.25", "", "mmmx1_mmsm_twr_118250"), + feedN( + "MMSM", + "tower", + "Tower 118.3", + "", + "mmmx1_mmsm_twr", + "2", + ), + feed("MMSM", "ground", "Clearance Delivery", "", "mmmx1_mmsm_del"), + feedN( + "MMSM", + "ground", + "Ground", + "", + "mmmx1_mmsm_gnd", + "2", + ), + feed("MMSM", "approach", "Approach (119.0)", "", "mmmx1_mmsm_app1"), + feedN( + "MMSM", + "approach", + "Approach (128.85)", + "128.85", + "mmmx1_mmsm_app2", + "2", + ), + feed("MMSM", "atis", "ATIS", "", "mmmx1_mmsm_atis"), + ], + + // Bahias de Huatulco International Airport (Santa Maria Huatulco, Mexico) — CSV verified + MMBT: [ + feed("MMBT", "tower", "Twr/Center", "", "mmbt_misc"), + ], + + // Tijuana International Airport (Tijuana, Mexico) — CSV verified + MMTJ: [ + feed("MMTJ", "approach", "Approach", "", "mmtj_app"), + feed("MMTJ", "combined", "Twr/Ramp", "", "mmtj"), + ], + + // Toluca International Airport (Toluca, Mexico) — CSV verified + MMTO: [ + feed("MMTO", "tower", "Tower", "", "mmto3_twr"), + feed("MMTO", "ground", "Ground", "", "mmto3_gnd"), + feed("MMTO", "approach", "App/Dep", "", "mmto3_app"), + ], + + // Torreon International Airport (Torreon, Mexico) — CSV verified + MMTC: [ + feed("MMTC", "combined", "Twr/App/Center #1", "", "mmtc"), + ], + + + // -- Panama -- + // Marcos A Gelabert International Airport (Panama City, Panama) — CSV verified + MPMG: [ + feed("MPMG", "approach", "Panama App/Dep #2", "", "mppa2_app_dep"), + feed("MPMG", "center", "Panama Center #2", "", "mppa2_ctr"), + ], + + // Panama Pacifico International Airport (Panama City, Panama) — CSV verified + MPPA: [ + feed("MPPA", "tower", "Tower", "", "mppa2_twr"), + feed("MPPA", "approach", "Approach/Departure", "", "mppa2_app_dep"), + feed("MPPA", "center", "Center", "", "mppa2_ctr"), + ], + + + // -- Saba -- + // Juancho E. Yrausquin Airport (Hell's Gate, Saba) — CSV verified + TNCS: [ + feed("TNCS", "tower", "Info/TFFJ Twr", "", "tncs2"), + ], + + + // -- Sint Maarten -- + // Princess Juliana International Airport (Philipsburg, Sint Maarten) — CSV verified + TNCM: [ + feed("TNCM", "tower", "Tower", "", "tncm_twr2"), + feed("TNCM", "combined", "Tower/Approach/Departure", "", "tncm1_app"), + ], + + + // -- United States -- + // Abilene Regional Airport (Abilene, Texas, United States) — CSV verified + KABI: [ + feed("KABI", "tower", "Tower", "", "kabi4_twr"), + feed("KABI", "ground", "Ground", "", "kabi4_gnd"), + feed("KABI", "approach", "Approach", "", "kabi4_app"), + feed("KABI", "departure", "Departure", "", "kabi4_dep"), + feed("KABI", "center", "Emergency/Guard", "", "kabi4_guard"), + feed("KABI", "combined", "ZFW 63 (Abilene Low)", "", "kabi4_zfw_127450"), + ], + + // Albany International Airport (Albany, New York, United States) — CSV verified + KALB: [ + feed("KALB", "tower", "Tower", "", "kalb2_twr"), + feed("KALB", "ground", "Ground", "", "kalb2_gnd"), + feed("KALB", "approach", "Approach/Departure", "", "kalb2_app"), + feed("KALB", "atis", "ATIS", "", "kalb2_atis"), + ], + + // Albuquerque International Sunport Airport (Albuquerque, New Mexico, United States) — CSV verified + KABQ: [ + feed("KABQ", "tower", "Tower", "", "kabq2_2"), + feedN( + "KABQ", + "tower", + "Tower #2", + "", + "kabq2_twr2", + "2", + ), + feed("KABQ", "ground", "Del/Gnd", "", "kabq2_1"), + feed("KABQ", "approach", "App/Dep (Main)", "", "kabq2_3"), + feedN( + "KABQ", + "approach", + "App/Dep (Other)", + "", + "kabq2_4", + "other", + ), + feed("KABQ", "center", "ZAB Sector 17 Lava (Low)", "", "kabq2_zab17"), + feed("KABQ", "combined", "Twr/App/ZAB", "", "kabq1_1"), + ], + + // Double Eagle II Airport (Albuquerque, New Mexico, United States) — CSV verified + KAEG: [ + feed("KAEG", "combined", "Twr/App", "", "kabq1_2"), + ], + + // Elmendorf Air Force Base (Anchorage, Alaska, United States) — CSV verified + PAED: [ + feed("PAED", "tower", "Tower", "", "pamr2_paed_twr"), + ], + + // Lake Hood Seaplane Base (Anchorage, Alaska, United States) — CSV verified + PALH: [ + feed("PALH", "tower", "Tower", "", "panc3_palh"), + ], + + // Merrill Field Airport (Anchorage, Alaska, United States) — CSV verified + PAMR: [ + feed("PAMR", "tower", "Tower", "", "pamr2_twr"), + feedN( + "PAMR", + "tower", + "Tower (Backup)", + "", + "pamr2_twr2", + "backup", + ), + feed("PAMR", "ground", "Ground", "", "pamr2_gnd"), + feed("PAMR", "center", "Anchorage Area CTAF 122.9", "", "pamr2_area_ctaf"), + ], + + // Ankeny Regional Airport (Ankeny, Iowa, United States) — CSV verified + KIKV: [ + feed("KIKV", "ground", "Del/CTAF", "", "kikv2"), + ], + + // Ann Arbor Municipal Airport (Ann Arbor, Michigan, United States) — CSV verified + KARB: [ + feed("KARB", "ground", "Ground", "", "karb2_gnd"), + feed("KARB", "atis", "ATIS", "", "karb2_atis"), + feed("KARB", "combined", "Gnd/Twr", "", "karb2_gnd_twr"), + ], + + // Appleton International Airport (Appleton, Wisconsin, United States) — CSV verified + KATW: [ + feed("KATW", "tower", "Tower", "", "katw2"), + ], + + // Arlington Municipal Airport (Arlington, Washington, United States) — CSV verified + KAWO: [ + feed("KAWO", "center", "CTAF/Clearance", "", "kawo3"), + ], + + // Asheville Regional Airport (Asheville, North Carolina, United States) — CSV verified + KAVL: [ + feed("KAVL", "tower", "Tower", "", "kavl2_twr"), + feed("KAVL", "ground", "Ground", "", "kavl2_gnd"), + feed("KAVL", "approach", "Approach/Departure", "", "kavl2_app_dep"), + feed("KAVL", "atis", "ATIS", "", "kavl2_atis"), + feed("KAVL", "center", "Guard", "", "kavl2_guard"), + feedN( + "KAVL", + "center", + "ZTL Sector 44 (Shine Low)", + "", + "kavl2_ztl44", + "shine", + ), + feed("KAVL", "combined", "Gnd/Twr", "", "kavl2_gnd_twr"), + feedN( + "KAVL", + "combined", + "Gnd/Twr/App", + "", + "kavl2", + "2", + ), + ], + + // Aspen-Pitkin County Airport/Sardy Field (Aspen, Colorado, United States) — CSV verified + KASE: [ + feed("KASE", "tower", "Tower", "", "kase2_twr2"), + feed("KASE", "approach", "Approach/Denver Center", "", "kase2_app_ctr"), + feed("KASE", "atis", "ATIS", "", "kase2_atis"), + feed("KASE", "center", "ZDV Sector 26 POWDR Low", "", "kase2_zdv"), + feed("KASE", "combined", "Gnd/Twr/App/Center", "", "kase2_s"), + feedN( + "KASE", + "combined", + "Ground/Tower", + "", + "kase2_gnd_twr", + "se", + ), + ], + + // Atlantic City International Airport (Atlantic City, New Jersey, United States) — CSV verified + KACY: [ + feed("KACY", "tower", "Tower", "", "kacy_a_twr"), + feed("KACY", "ground", "Clearance Delivery", "", "kacy_a_del"), + feedN( + "KACY", + "ground", + "Ground", + "", + "kacy_a_gnd", + "2", + ), + feed("KACY", "approach", "App/Dep", "", "kacy_a_app"), + feed("KACY", "atis", "ATIS", "", "kacy_a_atis"), + feed("KACY", "combined", "GIANT KILLER", "", "kacy_gk"), + feedN( + "KACY", + "combined", + "Ground/Tower", + "", + "kacy_a_gnd_twr", + "2", + ), + feedN( + "KACY", + "combined", + "ZDC SIE54/CASINO51", + "", + "kacy_zdc_sie", + "3", + ), + feedN( + "KACY", + "combined", + "ZNY ATL86/ZDC SIE54", + "", + "zdc59_zny86_acy", + "4", + ), + ], + + // Auburn University Regional Airport (Auburn, Alabama, United States) — CSV verified + KAUO: [ + feed("KAUO", "approach", "Del/App", "", "kauo1_del_app"), + feed("KAUO", "atis", "ATIS", "", "kauo1_atis"), + feed("KAUO", "combined", "Gnd/Twr/CTAF #1", "", "kauo1_gnd_twr"), + feedN( + "KAUO", + "combined", + "Gnd/Twr/CTAF #2", + "", + "kauo1_gnd_twr2", + "2", + ), + ], + + // Baltimore/Washington International Thurgood Marshall Airport (Baltimore, Maryland, United States) — CSV verified + KBWI: [ + feed("KBWI", "tower", "Tower #1", "", "kbwi_es_twr"), + feed("KBWI", "ground", "Clearance Delivery", "", "kbwi_es_del"), + feedN( + "KBWI", + "ground", + "Ground", + "", + "kbwi_es_gnd", + "2", + ), + feed("KBWI", "approach", "Potomac Approach (GRACO Sector) #1", "", "kbwi_es_app_124550"), + feedN( + "KBWI", + "approach", + "Potomac App (BWI Final) #2", + "", + "kbwi_es_final", + "bwi", + ), + feedN( + "KBWI", + "approach", + "Potomac App/Dep (BUFFR)", + "", + "kmrb1_app_buffr", + "buffr", + ), + feed("KBWI", "combined", "Potomac App (BELAY) #1", "", "kdmw2_app_125525"), + feedN( + "KBWI", + "combined", + "Potomac App (BELAY) #3", + "", + "kmrb1_app_belay", + "belay", + ), + feedN( + "KBWI", + "combined", + "Potomac App (BELAY) #4", + "", + "kbwi_es_app_125525", + "4", + ), + ], + + // Martin State Airport (Baltimore, Maryland, United States) — CSV verified + KMTN: [ + feed("KMTN", "tower", "Tower", "", "kmtn1_twr"), + feed("KMTN", "ground", "Ground", "", "kmtn1_gnd"), + feed("KMTN", "atis", "ATIS", "", "kmtn1_atis"), + feed("KMTN", "center", "Area Emergency/Guard", "", "kmtn1_guard"), + feed("KMTN", "combined", "Ground/Tower", "", "kmtn1_gnd_twr"), + ], + + // Bangor International Airport (Bangor, Maine, United States) — CSV verified + KBGR: [ + feed("KBGR", "approach", "App/Dep", "", "kbgr_app"), + feed("KBGR", "atis", "ATIS", "", "kbgr_atis"), + feed("KBGR", "combined", "Del/Gnd/Twr", "", "kbgr"), + feedN( + "KBGR", + "combined", + "Tower/Approach (UHF)", + "", + "kbgr_uhf", + "uhf", + ), + ], + + // Bartow Executive Airport (Bartow, Florida, United States) — CSV verified + KBOW: [ + feed("KBOW", "tower", "Tower/CTAF #1", "", "kbow1_twr"), + feedN( + "KBOW", + "tower", + "Tower/CTAF #2", + "", + "klal8_kbow_twr", + "2", + ), + feed("KBOW", "ground", "Gnd/UNICOM/Guard", "", "kbow1_gnd"), + feed("KBOW", "atis", "AWOS", "", "kbow1_awos"), + feed("KBOW", "combined", "Gnd/Twr/Misc", "", "kbow1_s"), + ], + + // Baton Rouge Metropolitan Airport - Ryan Field (Baton Rouge, Louisiana, United States) — CSV verified + KBTR: [ + feed("KBTR", "tower", "Tower", "", "kbtr2_twr"), + feed("KBTR", "ground", "Ground", "", "kbtr2_gnd"), + feed("KBTR", "approach", "App/Dep", "", "kbtr2_app"), + feed("KBTR", "atis", "ATIS", "", "kbtr2_atis"), + ], + + // Laurence G Hanscom Field Airport (Bedford, Massachusetts, United States) — CSV verified + KBED: [ + feed("KBED", "tower", "Tower", "", "kbed1_twr"), + feed("KBED", "ground", "Clearance Delivery", "", "kbed1_del"), + feedN( + "KBED", + "ground", + "Del/Gnd", + "", + "kbed1_del_gnd", + "2", + ), + feedN( + "KBED", + "ground", + "Ground", + "", + "kbed1_gnd", + "3", + ), + feed("KBED", "approach", "Boston App/Dep (North Sat) #1", "", "kbed1_app"), + feedN( + "KBED", + "approach", + "Boston App/Dep (North Sat) #2", + "", + "kbed_murp_app", + "north", + ), + feed("KBED", "atis", "ATIS #1", "", "kbed1_atis"), + feedN( + "KBED", + "atis", + "ATIS #2", + "", + "kbed_murp_atis2", + "2", + ), + feed("KBED", "combined", "Gnd/Twr", "", "kbed1_gnd_twr"), + ], + + // Bellingham International Airport (Bellingham, Washington, United States) — CSV verified + KBLI: [ + feed("KBLI", "tower", "Tower", "", "kbli2"), + ], + + // Monmouth Executive Airport (Belmar/Farmingdale, New Jersey, United States) — CSV verified + KBLM: [ + feed("KBLM", "combined", "KBLM/N12/3N6/KMJX", "", "kblm2"), + ], + + // Bemidji Regional Airport (Bemidji, Minnesota, United States) — CSV verified + KBJI: [ + feed("KBJI", "center", "CTAF/ZMP", "", "kbji"), + ], + + // Bend Municipal Airport (Bend, Oregon, United States) — CSV verified + KBDN: [ + feed("KBDN", "center", "CTAF", "", "kbdn2_ctaf"), + feedN( + "KBDN", + "center", + "ZSE Seattle Center (Sector 05)", + "", + "kbdn2_zse05", + "sector", + ), + feedN( + "KBDN", + "center", + "ZSE Seattle Center (Sector 35)", + "", + "kbdn2_zse35", + "35", + ), + ], + + // Bentonville Municipal Airport/Louise M Thaden Field (Bentonville, Arkansas, United States) — CSV verified + KVBT: [ + feed("KVBT", "combined", "KROG/KXNA/KVBT/Misc", "", "krog"), + ], + + // Bethel Airport (Bethel, Alaska, United States) — CSV verified + PABE: [ + feed("PABE", "atis", "ATIS", "", "pabe1_atis"), + feed("PABE", "center", "ZAN Anchorage Center (Bethel)", "", "pabe1_zan"), + feed("PABE", "combined", "Ground/Tower", "", "pabe1_gnd_twr"), + ], + + // Beverly Municipal Airport (Beverly, Massachusetts, United States) — CSV verified + KBVY: [ + feed("KBVY", "tower", "Tower #1", "", "kbvy"), + feedN( + "KBVY", + "tower", + "Tower #2", + "", + "kbvy_twr2", + "2", + ), + feed("KBVY", "ground", "Ground", "", "kbvy_gnd"), + feed("KBVY", "atis", "ATIS", "", "kbvy_atis"), + ], + + // Billings Logan International Airport (Billings, Montana, United States) — CSV verified + KBIL: [ + feed("KBIL", "tower", "Tower", "", "kbil_twr"), + feed("KBIL", "ground", "Ground", "", "kbil_gnd"), + feed("KBIL", "approach", "Approach (West)", "", "kbil_app_w"), + feed("KBIL", "center", "ZLC Salt Lake Center (Sector 15)", "", "zlc_bil"), + ], + + // Greater Binghamton Airport/Edwin A Link Field (Binghamton, New York, United States) — CSV verified + KBGM: [ + feed("KBGM", "tower", "Tower", "", "kbgm1_twr"), + feed("KBGM", "ground", "Ground", "", "kbgm1_gnd"), + feed("KBGM", "approach", "Approach/Departure", "", "kbgm1_app"), + feed("KBGM", "atis", "ATIS", "", "kbgm1_atis"), + feed("KBGM", "center", "ZBW Sector 23 Hancock Low", "", "kbgm1_zbw23"), + feedN( + "KBGM", + "center", + "ZNY Sector 34 Elmira High", + "", + "kbgm1_zny34", + "se", + ), + feedN( + "KBGM", + "center", + "ZNY Sector 35 Huguenot Low", + "", + "kbgm1_zny35", + "2", + ), + feedN( + "KBGM", + "center", + "ZNY Sector 36 Sparta Low", + "", + "kbgm1_zny36", + "3", + ), + feedN( + "KBGM", + "center", + "ZNY Sector 50 Binghamton Low", + "", + "kbgm1_zny50", + "4", + ), + feedN( + "KBGM", + "center", + "ZNY Sector 51 Lake Henry Low", + "", + "kbgm1_zny51", + "5", + ), + ], + + // Birmingham-Shuttlesworth International Airport (Birmingham, Alabama, United States) — CSV verified + KBHM: [ + feed("KBHM", "combined", "Del/Gnd/Twr/App", "", "kbhm"), + ], + + // Bismarck Municipal Airport (Bismarck, North Dakota, United States) — CSV verified + KBIS: [ + feed("KBIS", "approach", "App/Dep", "", "kbis3_app"), + feed("KBIS", "combined", "Gnd/Twr", "", "kbis3_gnd_twr"), + ], + + // Virginia Tech/Montgomery Executive Airport (Blacksburg, Virginia, United States) — CSV verified + KBCB: [ + feed("KBCB", "atis", "AWOS", "", "kbcb2_awos"), + feed("KBCB", "center", "CTAF", "", "kbcb2_ctaf"), + ], + + // Boca Raton Airport (Boca Raton, Florida, United States) — CSV verified + KBCT: [ + feed("KBCT", "tower", "Tower", "", "kbct1_twr"), + feed("KBCT", "ground", "Ground", "", "kbct1_gnd"), + feed("KBCT", "approach", "Palm Beach Approach/Departure (BCT)", "", "kbct1_dep"), + feed("KBCT", "atis", "ATIS", "", "kbct1_atis"), + feed("KBCT", "center", "Emergency/Guard", "", "kbct1_guard"), + feed("KBCT", "combined", "Ground/Tower", "", "kbct1_gnd_twr"), + ], + + // Boise Air Terminal/Gowen Field (Boise, Idaho, United States) — CSV verified + KBOI: [ + feed("KBOI", "ground", "Del/Gnd", "", "kboi_gnd"), + feed("KBOI", "combined", "Twr/App", "", "kboi"), + ], + + // Bozeman Yellowstone International Airport (Bozeman, Montana, United States) — CSV verified + KBZN: [ + feed("KBZN", "tower", "Tower", "", "kbzn1_twr2"), + feed("KBZN", "ground", "Ground", "", "kbzn1_gnd"), + feed("KBZN", "approach", "App/Dep", "", "kbzn1_app"), + feed("KBZN", "atis", "ATIS", "", "kbzn1_atis"), + feed("KBZN", "center", "Emergency/Guard", "", "kbzn1_guard"), + feedN( + "KBZN", + "center", + "ZLC Sector 06 (BZN)", + "", + "kbzn1_zlc", + "bzn", + ), + feed("KBZN", "combined", "Area Flight Service", "", "kbzn1_rdo"), + feedN( + "KBZN", + "combined", + "Gnd/Twr", + "", + "kbzn1_gnd_twr", + "2", + ), + feedN( + "KBZN", + "combined", + "Gnd/Twr/App", + "", + "kbzn1_gta", + "3", + ), + ], + + // Bremerton National Airport (Bremerton, Washington, United States) — CSV verified + KPWT: [ + feed("KPWT", "center", "CTAF", "", "kpwt"), + ], + + // Igor I Sikorsky Memorial Airport (Bridgeport, Connecticut, United States) — CSV verified + KBDR: [ + feed("KBDR", "approach", "New York Approach (LOVES Sector)", "", "kbdr_app"), + feed("KBDR", "combined", "Del/Gnd/Twr", "", "kbdr_twr"), + feedN( + "KBDR", + "combined", + "Del/Gnd/Twr/App", + "", + "kbdr1", + "2", + ), + ], + + // Tri-Cities Regional Airport (Bristol/Johnson/Kingsport, Tennessee, United States) — CSV verified + KTRI: [ + feed("KTRI", "combined", "Gnd/Twr/App", "", "ktri"), + ], + + // Brownsville/South Padre Island International Airport (Brownsville, Texas, United States) — CSV verified + KBRO: [ + feed("KBRO", "tower", "Tower", "", "kbro2_twr"), + feed("KBRO", "approach", "App/Dep", "", "kbro2_app"), + ], + + // Brunswick Executive Airport (Brunswick, Maine, United States) — CSV verified + KBXM: [ + feed("KBXM", "atis", "CTAF/AWOS", "", "kbxm2"), + ], + + // Buckeye Municipal Airport (Buckeye, Arizona, United States) — CSV verified + KBXK: [ + feed("KBXK", "atis", "AWOS", "", "kbxk1_awos"), + feed("KBXK", "center", "CTAF", "", "kbxk1_ctaf"), + ], + + // Buffalo Niagara International Airport (Buffalo, New York, United States) — CSV verified + KBUF: [ + feed("KBUF", "combined", "Gnd/Twr/App", "", "kbuf1_dgta"), + ], + + // Bob Hope Airport (Burbank, California, United States) — CSV verified + KBUR: [ + feed("KBUR", "tower", "Tower", "", "kbur3_gnd_twr"), + feed("KBUR", "approach", "SOCAL Approach (Moorpark Sector) #1", "", "kbur3_gnd_twr_128_750"), + feedN( + "KBUR", + "approach", + "SOCAL Approach (Pasadena VHF)", + "", + "kbur3_gnd_twr_119_85", + "pasadena", + ), + feedN( + "KBUR", + "approach", + "SOCAL Approach (Valley Sector) #1", + "", + "kbur3_gnd_twr_124_6", + "valley", + ), + feedN( + "KBUR", + "approach", + "SOCAL Approach (Woodland VHF)", + "", + "kbur3_gnd_twr_134_2", + "woodland", + ), + ], + + // Patrick Leahy Burlington International Airport (Burlington, Vermont, United States) — CSV verified + KBTV: [ + feed("KBTV", "approach", "App/Dep", "", "kbtv_app"), + feed("KBTV", "atis", "ATIS", "", "kbtv_atis"), + feed("KBTV", "combined", "Del/Gnd/Twr", "", "kbtv_del_gnd_twr"), + feedN( + "KBTV", + "combined", + "Del/Gnd/Twr/App #1", + "", + "kbtv", + "1", + ), + feedN( + "KBTV", + "combined", + "Del/Gnd/Twr/App #2", + "", + "kbtv2", + "2", + ), + ], + + // Burlington-Alamance Regional Airport (Burlington, North Carolina, United States) — CSV verified + KBUY: [ + feed("KBUY", "center", "CTAF", "", "kbuy2"), + ], + + // Essex County Airport (Caldwell, New Jersey, United States) — CSV verified + KCDW: [ + feed("KCDW", "combined", "Del/Gnd/Twr #1", "", "kcdw1"), + feedN( + "KCDW", + "combined", + "Del/Gnd/Twr #2", + "", + "kcdw2_del_gnd_twr", + "2", + ), + ], + + // Volk Field (Camp Douglas, Wisconsin, United States) — CSV verified + KVOK: [ + feed("KVOK", "tower", "Tower", "", "kvok2_twr"), + feedN( + "KVOK", + "tower", + "Tower (UHF)", + "", + "kvok2_twr_uhf", + "uhf", + ), + feed("KVOK", "ground", "Ground", "", "kvok2_gnd"), + feedN( + "KVOK", + "ground", + "Ground (UHF)", + "", + "kvok2_gnd_uhf", + "uhf", + ), + feed("KVOK", "approach", "Volk Approach/Departure", "", "kvok2_app"), + feedN( + "KVOK", + "approach", + "Volk Approach/Departure (UHF)", + "", + "kvok2_app_uhf", + "uhf", + ), + feed("KVOK", "atis", "ATIS", "", "kvok2_atis"), + ], + + // Joint Base Andrews (Camp Springs, Maryland, United States) — CSV verified + KADW: [ + feed("KADW", "tower", "KDAA/KADW Tower", "", "kdaa2_twr"), + ], + + // Canandaigua Airport (Canandaigua, New York, United States) — CSV verified + KIUA: [ + feed("KIUA", "center", "CTAF", "", "kiua1_ctaf"), + ], + + // Carson Airport (Carson City, Nevada, United States) — CSV verified + KCXP: [ + feed("KCXP", "center", "CTAF", "", "kcxp1"), + ], + + // Casa Grande Municipal Airport (Casa Grande, Arizona, United States) — CSV verified + KCGZ: [ + feed("KCGZ", "atis", "AWOS", "", "kcgz1_awos"), + feed("KCGZ", "center", "CTAF", "", "kcgz1_ctaf"), + feedN( + "KCGZ", + "center", + "ZAB Sector 46 (Tucson Low)", + "", + "zab46", + "tucson", + ), + feed("KCGZ", "combined", "SE/SW Practice Area", "", "kcgz1_se_pract"), + ], + + // Casper/Natrona County International Airport (Casper, Wyoming, United States) — CSV verified + KCPR: [ + feed("KCPR", "combined", "Gnd/Twr/App", "", "kcpr2"), + feedN( + "KCPR", + "combined", + "Twr/App/ZDV/Radio", + "", + "kcpr", + "2", + ), + ], + + // The Eastern Iowa Airport (Cedar Rapids, Iowa, United States) — CSV verified + KCID: [ + feed("KCID", "combined", "Gnd/Twr/App", "", "kcid3"), + feedN( + "KCID", + "combined", + "Gnd/Twr/App/KIOW", + "", + "kcid", + "2", + ), + ], + + // Chandler Municipal Airport (Chandler, Arizona, United States) — CSV verified + KCHD: [ + feed("KCHD", "tower", "Tower (North)", "", "kchd_twr1"), + feedN( + "KCHD", + "tower", + "Tower (South)", + "", + "kchd_twr2", + "south", + ), + feed("KCHD", "approach", "KPHX Approach (East Tempe Sector)", "", "kphx4_app_123700"), + feedN( + "KCHD", + "approach", + "KPHX Approach (Pima/Willy Sectors)", + "", + "kphx4_app_pima_willy", + "pima", + ), + ], + + // Charleston Air Force Base/International Airport (Charleston, South Carolina, United States) — CSV verified + KCHS: [ + feed("KCHS", "combined", "Gnd/Twr/App", "", "kchs"), + ], + + // Yeager Airport (Charleston, West Virginia, United States) — CSV verified + KCRW: [ + feed("KCRW", "combined", "Tower/Approach", "", "kcrw"), + ], + + // Charleston Executive Airport (Charleston, South Carolina, United States) — CSV verified + KJZI: [ + feed("KJZI", "center", "CTAF", "", "kjzi2"), + ], + + // Charlottesville-Albemarle Airport (Charlottesville, Virginia, United States) — CSV verified + KCHO: [ + feed("KCHO", "tower", "Tower", "", "kcho3_ctf"), + feed("KCHO", "approach", "App/Dep", "", "kcho3_app"), + feed("KCHO", "center", "ZDC Sector 01", "", "kcho3_zdc_128600"), + feedN( + "KCHO", + "center", + "ZDC Sector 01/02/05", + "", + "kcho3_zdc_125", + "se", + ), + feedN( + "KCHO", + "center", + "ZDC Sector 2", + "", + "kcho3_zdc_133200", + "2", + ), + feedN( + "KCHO", + "center", + "ZDC Sector 30/72", + "", + "kcho3_zdc_127925", + "3", + ), + feedN( + "KCHO", + "center", + "ZDC Sector 37", + "", + "kcho3_zdc_133025", + "4", + ), + feedN( + "KCHO", + "center", + "ZDC Sector 60 #2", + "", + "kcho3_zdc_121675", + "5", + ), + ], + + // Chatham Municipal Airport (Chatham, Massachusetts, United States) — CSV verified + KCQX: [ + feed("KCQX", "center", "5B6/KCQX/KPVC CTAF", "", "khya2_122800"), + ], + + // Lovell Field Airport (Chattanooga, Tennessee, United States) — CSV verified + KCHA: [ + feed("KCHA", "combined", "Twr/App", "", "kcha2"), + ], + + // Chehalis-Centralia Airport (Chehalis, Washington, United States) — CSV verified + KCLS: [ + feed("KCLS", "approach", "Seattle Approach (KCLS Area)", "", "kcls2_app"), + feed("KCLS", "center", "CTAF", "", "kcls2_ctaf"), + ], + + // Cherry Point Marine Corps Air Station (Cunningham Field) (Cherry Point, North Carolina, United States) — CSV verified + KNKT: [ + feed("KNKT", "combined", "Aerial Refueling Ops", "", "knkt1_ar"), + feedN( + "KNKT", + "combined", + "Twr/App/Dep", + "", + "knkt1_app", + "2", + ), + ], + + // Cheyenne Regional Airport/Jerry Olson Field (Cheyenne, Wyoming, United States) — CSV verified + KCYS: [ + feed("KCYS", "combined", "Gnd/Twr/App/Center", "", "kcys"), + ], + + // Chino Airport (Chino, California, United States) — CSV verified + KCNO: [ + feed("KCNO", "tower", "Tower #1", "", "kcno1_twr"), + feedN( + "KCNO", + "tower", + "Tower #2", + "", + "kont1_kcno_twr", + "2", + ), + feed("KCNO", "ground", "Ground #1", "", "kcno1_gnd"), + feedN( + "KCNO", + "ground", + "Ground #2", + "", + "kont1_kcno_gnd", + "2", + ), + feed("KCNO", "atis", "ATIS", "", "kont1_kcno_atis"), + feed("KCNO", "combined", "Ground/Tower", "", "kcno1_gnd_twr"), + ], + + // North Central West Virginia Airport (Clarksburg, West Virginia, United States) — CSV verified + KCKB: [ + feed("KCKB", "tower", "Tower", "", "kckb_twr"), + feed("KCKB", "ground", "Ground", "", "kckb_gnd"), + feed("KCKB", "approach", "App/Dep", "", "kckb_app"), + feedN( + "KCKB", + "approach", + "App/Dep (East)", + "", + "kckb_app_east", + "east", + ), + feedN( + "KCKB", + "approach", + "App/Dep (West)", + "", + "kckb_app_west", + "west", + ), + feed("KCKB", "atis", "ATIS", "", "kckb_atis"), + feed("KCKB", "center", "Emergency/Guard", "", "kckb_guard"), + feedN( + "KCKB", + "center", + "ZOB Sector 61 Morgantown Low", + "", + "zob_ckb", + "se", + ), + feed("KCKB", "combined", "Ground/Tower", "", "kckb_gnd_twr"), + ], + + // Clearwater Air Park (Clearwater, Florida, United States) — CSV verified + KCLW: [ + feed("KCLW", "center", "CTAF", "", "kpie1_kclw_ctaf"), + ], + + // Heritage Field Airport (Coatesville, Pennsylvania, United States) — CSV verified + KPTW: [ + feed("KPTW", "center", "CTAF", "", "kptw3_ctaf"), + ], + + // Coeur d\'Alene Airport - Pappy Boyington Field (Coeur d'Alene, Idaho, United States) — CSV verified + KCOE: [ + feed("KCOE", "center", "CTAF", "", "kcoe2_ctaf"), + feedN( + "KCOE", + "center", + "FSS", + "", + "kcoe2_fss", + "2", + ), + feedN( + "KCOE", + "center", + "Seattle Center (Sector 8)", + "", + "kcoe2_zse8", + "sector", + ), + ], + + // Columbia Metropolitan Airport (Columbia, South Carolina, United States) — CSV verified + KCAE: [ + feed("KCAE", "combined", "Twr/App", "", "kcae2"), + ], + + // Concord Municipal Airport (Concord, New Hampshire, United States) — CSV verified + KCON: [ + feed("KCON", "center", "KCON/KDAW/KFIT CTAF", "", "kmht_murp_122700"), + ], + + // Concord Regional Airport (Concord, North Carolina, United States) — CSV verified + KJQF: [ + feed("KJQF", "combined", "Ground/Tower", "", "kjqf"), + ], + + // Danbury Municipal Airport (Danbury, Connecticut, United States) — CSV verified + KDXR: [ + feed("KDXR", "atis", "ATIS", "", "kdxr_atis"), + feed("KDXR", "combined", "Ground/Tower", "", "kdxr"), + ], + + // Daytona Beach International Airport (Daytona Beach, Florida, United States) — CSV verified + KDAB: [ + feed("KDAB", "tower", "Tower (118.1) #1", "", "kdab_twr_sec_radio"), + feedN( + "KDAB", + "tower", + "Tower (118.1) #2", + "", + "kdab_twr_sec", + "2", + ), + feedN( + "KDAB", + "tower", + "Tower (120.7) #1", + "", + "kdab_twr_pri_radio", + "1", + ), + feedN( + "KDAB", + "tower", + "Tower (120.7) #2", + "", + "kdab_twr_pri", + "3", + ), + feedN( + "KDAB", + "tower", + "Tower (Both)", + "", + "kdab_twr", + "both", + ), + feed("KDAB", "ground", "Clearance Delivery", "", "kdab_del"), + feedN( + "KDAB", + "ground", + "Clearance/Ground", + "", + "kdab_del_gnd", + "2", + ), + feedN( + "KDAB", + "ground", + "Ground", + "", + "kdab_gnd_121900", + "3", + ), + feed("KDAB", "approach", "App/Dep", "", "kdab_app_all"), + feedN( + "KDAB", + "approach", + "App/Dep (East/Low)", + "", + "kdab_app_123900", + "east", + ), + feedN( + "KDAB", + "approach", + "App/Dep (North/High)", + "", + "kdab_app_118850", + "north", + ), + feedN( + "KDAB", + "approach", + "App/Dep (North/Low)", + "", + "kdab_app_125800", + "low", + ), + feedN( + "KDAB", + "approach", + "App/Dep (South)", + "", + "kdab_app_125350", + "south", + ), + feedN( + "KDAB", + "approach", + "App/Dep (South/High)", + "", + "kdab_app_127075", + "high", + ), + feed("KDAB", "atis", "ATIS", "", "kdab_atis2"), + feed("KDAB", "combined", "ZJX Daytona Beach", "", "zjx_dab"), + ], + + // DeLand Municipal Airport-Sidney H Taylor Field (DeLand, Florida, United States) — CSV verified + KDED: [ + feed("KDED", "center", "CTAF", "", "kded_ctaf"), + feedN( + "KDED", + "center", + "CTAF/Misc", + "", + "kded2", + "2", + ), + feedN( + "KDED", + "center", + "Emergency/Guard", + "", + "kded_guard", + "3", + ), + ], + + // Deadhorse Airport (Deadhorse, Alaska, United States) — CSV verified + PASC: [ + feed("PASC", "center", "CTAF/Unicom/AFIS/App", "", "pasc"), + ], + + // Centennial Airport (Denver, Colorado, United States) — CSV verified + KAPA: [ + feed("KAPA", "tower", "Tower (Primary)", "", "kapa2_twr1"), + feedN( + "KAPA", + "tower", + "Tower (Secondary #1)", + "", + "kapa2_twr2", + "secondary", + ), + feedN( + "KAPA", + "tower", + "Tower (Secondary #2)", + "", + "kapa2_twr3", + "se", + ), + feed("KAPA", "ground", "Del/Gnd", "", "kapa2_gnd"), + feed("KAPA", "approach", "App/Dep", "", "kapa2_app"), + ], + + // Rocky Mountain Metropolitan Airport (Denver, Colorado, United States) — CSV verified + KBJC: [ + feed("KBJC", "atis", "ATIS", "", "kden1_kbjc_atis"), + feed("KBJC", "combined", "Ground/Tower", "", "kbjc3"), + ], + + // Des Moines International Airport (Des Moines, Iowa, United States) — CSV verified + KDSM: [ + feed("KDSM", "tower", "Tower", "", "kdsm3_twr"), + feed("KDSM", "atis", "ATIS", "", "kdsm3_atis"), + ], + + // Dover Air Force Base (Dover, Delaware, United States) — CSV verified + KDOV: [ + feed("KDOV", "tower", "Tower", "", "kdov2_twr"), + feed("KDOV", "approach", "Gnd/App", "", "kdov2_gnd_app"), + feed("KDOV", "atis", "ATIS", "", "kdov2_atis"), + feed("KDOV", "combined", "Del/Gnd/Twr/App", "", "kdov_del_gnd_twr"), + feedN( + "KDOV", + "combined", + "ZDC19/53 Kenton/Woodstown", + "", + "kdov_zdc", + "2", + ), + ], + + // Dubuque Regional Airport (Dubuque, Iowa, United States) — CSV verified + KDBQ: [ + feed("KDBQ", "center", "ZAU Sector 63 #2", "", "zau_dbq_63"), + feedN( + "KDBQ", + "center", + "ZAU Sector 75 #2", + "", + "zau_dbq_75", + "se", + ), + feedN( + "KDBQ", + "center", + "ZAU Sector 75/76", + "", + "zau_dbq_75_76", + "2", + ), + feedN( + "KDBQ", + "center", + "ZAU Sector 76 #2", + "", + "zau_dbq_76", + "3", + ), + ], + + // Duluth International Airport (Duluth, Minnesota, United States) — CSV verified + KDLH: [ + feed("KDLH", "center", "ZMP Sector 25/DLH ANG", "", "kdlh2"), + feed("KDLH", "combined", "Gnd/Twr/App", "", "kdlh1"), + ], + + // Eagle River Union Airport (Eagle River, Wisconsin, United States) — CSV verified + KEGV: [ + feed("KEGV", "center", "CTAF", "", "ksbm3"), + ], + + // East Hampton Town Airport (East Hampton, New York, United States) — CSV verified + KJPX: [ + feed("KJPX", "tower", "CTAF/Tower", "", "khto2"), + ], + + // Easton/Newnam Field Airport (Easton, Maryland, United States) — CSV verified + KESN: [ + feed("KESN", "combined", "Ground/Tower", "", "kesn2"), + ], + + // Chippewa Valley Regional Airport (Eau Claire, Wisconsin, United States) — CSV verified + KEAU: [ + feed("KEAU", "combined", "Ground/Tower", "", "keau2_gnd_twr"), + ], + + // El Paso International Airport (El Paso, Texas, United States) — CSV verified + KELP: [ + feed("KELP", "tower", "Tower", "", "kelp1_twr"), + feed("KELP", "ground", "Ground", "", "kelp1_gnd"), + feed("KELP", "approach", "App/Dep (North)", "", "kelp1_app_n"), + feedN( + "KELP", + "approach", + "Approach", + "", + "kelp1_app_e", + "2", + ), + feed("KELP", "combined", "Gnd/Twr/App/Dep", "", "kelp1"), + ], + + // Elmira/Corning Regional Airport (Elmira, New York, United States) — CSV verified + KELM: [ + feed("KELM", "tower", "Tower", "", "kelm1_twr"), + feed("KELM", "ground", "Del/Ground", "", "kelm1_del_gnd"), + feed("KELM", "approach", "App/Dep", "", "kelm1_app"), + feed("KELM", "atis", "ATIS", "", "kelm1_atis"), + feed("KELM", "center", "Emergency/Guard", "", "kelm1_guard"), + feed("KELM", "combined", "Del/Gnd/Twr/App", "", "kelm1_all"), + ], + + // Snohomish County Airport (Paine Field) (Everett, Washington, United States) — CSV verified + KPAE: [ + feed("KPAE", "combined", "Ground/Tower", "", "kpae"), + ], + + // Fairbanks International Airport (Fairbanks, Alaska, United States) — CSV verified + PAFA: [ + feed("PAFA", "tower", "Tower", "", "pafa1_twr"), + feed("PAFA", "ground", "Del/Gnd", "", "pafa1_del_gnd"), + feed("PAFA", "approach", "App/Dep", "", "pafa1_app"), + feed("PAFA", "center", "Anchorage Center (PAFA Area)", "", "pafa1_ctr"), + ], + + // H L Sonny Callahan Airport (Fairhope, Alabama, United States) — CSV verified + KCQF: [ + feed("KCQF", "center", "CTAF/Misc", "", "kcqf"), + ], + + // Cape Cod Coast Guard Air Station (Falmouth, Massachusetts, United States) — CSV verified + KFMH: [ + feed("KFMH", "tower", "Tower", "", "kfmh1_twr"), + feed("KFMH", "ground", "Ground", "", "kfmh1_gnd"), + feed("KFMH", "approach", "Boston Approach (Cape North) #1", "", "kfmh1_app"), + feedN( + "KFMH", + "approach", + "Boston Approach (OTIS Arrival)", + "", + "kfmh1_app2", + "otis", + ), + feed("KFMH", "atis", "ATIS", "", "kfmh1_atis"), + feed("KFMH", "center", "ZBW Cape Sector #1", "", "kfmh1_zbw_cape"), + feedN( + "KFMH", + "center", + "ZNY JOBOC Sector", + "", + "kfmh1_zny_joboc", + "se", + ), + ], + + // Hector International Airport (Fargo, North Dakota, United States) — CSV verified + KFAR: [ + feed("KFAR", "tower", "Tower", "", "kfar2"), + ], + + // Republic Airport (Farmingdale, New York, United States) — CSV verified + KFRG: [ + feed("KFRG", "tower", "Tower #1", "", "kfrg_twr1"), + feedN( + "KFRG", + "tower", + "Tower #2", + "", + "kfrg9_twr", + "2", + ), + feed("KFRG", "ground", "Delivery/Ground", "", "kfrg_del_gnd1"), + feedN( + "KFRG", + "ground", + "Ground #2", + "", + "kfrg9_gnd", + "2", + ), + feed("KFRG", "atis", "ATIS", "", "kfrg_atis1"), + feed("KFRG", "combined", "Ground/Tower #2", "", "kfrg9_gnd_twr"), + ], + + // Northwest Arkansas Regional Airport (Fayetteville/Springdale/Rogers, Arkansas, United States) — CSV verified + KXNA: [ + feed("KXNA", "combined", "KROG/KXNA/KVBT/Misc", "", "krog"), + ], + + // Fitchburg Municipal Airport (Fitchburg, Massachusetts, United States) — CSV verified + KFIT: [ + feed("KFIT", "center", "KCON/KDAW/KFIT CTAF", "", "kmht_murp_122700"), + ], + + // Flagstaff Pulliam Airport (Flagstaff, Arizona, United States) — CSV verified + KFLG: [ + feed("KFLG", "combined", "Ground/Tower", "", "kflg"), + ], + + // Bishop International Airport (Flint, Michigan, United States) — CSV verified + KFNT: [ + feed("KFNT", "tower", "Tower", "", "kfnt2_twr"), + feed("KFNT", "approach", "App/Dep", "", "kfnt2_app"), + feed("KFNT", "center", "ZOB Sector 12", "", "kfnt2_zob12"), + ], + + // Florence Regional Airport (Florence, South Carolina, United States) — CSV verified + KFLO: [ + feed("KFLO", "combined", "Gnd/Twr/App", "", "kflo2"), + ], + + // Fond Du Lac County Airport (Fond du Lac, Wisconsin, United States) — CSV verified + KFLD: [ + feed("KFLD", "tower", "Tower (Temp Tower for EAA)", "", "kfld_twr"), + feed("KFLD", "ground", "Ground (Temp Ground for EAA)", "", "kfld_gnd"), + feed("KFLD", "center", "Green Bay Radio (KFLD)", "", "kfld_rdio"), + feedN( + "KFLD", + "center", + "CTAF", + "", + "kfld_ctaf", + "2", + ), + ], + + // Davison Army Airfield (Fort Belvoir, Virginia, United States) — CSV verified + KDAA: [ + feed("KDAA", "tower", "KDAA/KADW Tower", "", "kdaa2_twr"), + ], + + // Sierra Vista Municipal Airport-Libby Army Airfield (Fort Huachuca/Sierra Vista, Arizona, United States) — CSV verified + KFHU: [ + feed("KFHU", "combined", "Gnd/Twr/Radar", "", "kfhu"), + ], + + // Fort Lauderdale Executive Airport (Fort Lauderdale, Florida, United States) — CSV verified + KFXE: [ + feed("KFXE", "tower", "Tower #2", "", "kfxe3_twr2"), + feed("KFXE", "ground", "Ground", "", "kfxe3_gnd"), + feed("KFXE", "approach", "Miami App/Dep (FXE)", "", "kfxe3_app"), + feed("KFXE", "atis", "ATIS", "", "kfxe3_atis"), + ], + + // Page Field Airport (Fort Myers, Florida, United States) — CSV verified + KFMY: [ + feed("KFMY", "tower", "Tower", "", "kfmy_twr"), + feed("KFMY", "ground", "Ground #1", "", "kfmy_gnd"), + feed("KFMY", "atis", "ATIS", "", "kfmy_atis"), + feed("KFMY", "center", "ZMA Miami Center (Sector 08)", "", "zma_fmy_133900"), + feedN( + "KFMY", + "center", + "ZMA Miami Center (Sector 24 Both)", + "", + "zma24_fmy", + "sector", + ), + feedN( + "KFMY", + "center", + "ZMA Miami Center (Sector 24/132.4)", + "", + "zma_fmy_132400", + "24", + ), + feedN( + "KFMY", + "center", + "ZMA Miami Center (Sector 24/134.75)", + "", + "zma_fmy_134750", + "13475", + ), + feedN( + "KFMY", + "center", + "ZMA Miami Center (Sector 25 Both)", + "", + "zma25_fmy", + "25", + ), + feedN( + "KFMY", + "center", + "ZMA Miami Center (Sector 25/128.225)", + "128.225", + "zma_fmy_128225", + "128225", + ), + feedN( + "KFMY", + "center", + "ZMA Miami Center (Sector 25/133.275)", + "133.275", + "zma_fmy_133275", + "133275", + ), + feedN( + "KFMY", + "center", + "ZMA Miami Center (Sector 7/8 Both)", + "", + "zma08_fmy", + "both", + ), + feed("KFMY", "combined", "Ground/Tower", "", "kfmy_gnd_twr"), + ], + + // Southwest Florida International Airport (Fort Myers, Florida, United States) — CSV verified + KRSW: [ + feed("KRSW", "combined", "Gnd/Twr/App/Dep", "", "krsw2"), + ], + + // St Lucie County International Airport (Fort Pierce, Florida, United States) — CSV verified + KFPR: [ + feed("KFPR", "tower", "Tower", "", "kfpr3_twr"), + feed("KFPR", "ground", "Ground", "", "kfpr3_gnd"), + feed("KFPR", "atis", "ATIS", "", "kfpr3_atis"), + feed("KFPR", "combined", "Ground/Tower", "", "kfpr3_gnd_twr"), + ], + + // Fort Smith Regional Airport (Fort Smith, Arkansas, United States) — CSV verified + KFSM: [ + feed("KFSM", "combined", "Gnd/Twr/App", "", "kfsm1"), + ], + + // Frederick Municipal Airport (Frederick, Maryland, United States) — CSV verified + KFDK: [ + feed("KFDK", "atis", "ATIS", "", "kfdk2_atis"), + feed("KFDK", "combined", "Del/Gnd/Twr/CTAF #1", "", "kfdk2"), + ], + + // Potomac Airfield (Friendly, Maryland, United States) — CSV verified + KVKX: [ + feed("KVKX", "center", "Area Guard", "", "kvkx1_guard"), + feedN( + "KVKX", + "center", + "Area Guard", + "", + "kvkx1_guard", + "2", + ), + feedN( + "KVKX", + "center", + "CTAF", + "", + "kvkx1_ctaf", + "3", + ), + feedN( + "KVKX", + "center", + "CTAF", + "", + "kvkx1_ctaf", + "4", + ), + ], + + // Gainesville Regional Airport (Gainesville, Florida, United States) — CSV verified + KGNV: [ + feed("KGNV", "combined", "Ground/Tower", "", "kgnv"), + ], + + // Montgomery County Airpark (Gaithersburg, Maryland, United States) — CSV verified + KGAI: [ + feed("KGAI", "center", "CTAF/UNICOM", "", "kgai"), + ], + + // Delaware Coastal Airport (Georgetown, Delaware, United States) — CSV verified + KGED: [ + feed("KGED", "ground", "Clearance Delivery", "", "kged2_del"), + feed("KGED", "atis", "ASOS", "", "kged2_asos"), + feed("KGED", "center", "CTAF", "", "kged2_ctaf"), + feedN( + "KGED", + "center", + "Emergency/Guard", + "", + "kged2_guard", + "2", + ), + ], + + // Georgetown County Airport (Georgetown, South Carolina, United States) — CSV verified + KGGE: [ + feed("KGGE", "center", "CTAF", "", "kgge2"), + ], + + // Glendale Municipal Airport (Glendale, Arizona, United States) — CSV verified + KGEU: [ + feed("KGEU", "tower", "Tower", "", "kgeu1_twr"), + feed("KGEU", "ground", "Ground", "", "kgeu1_gnd"), + feed("KGEU", "approach", "App/Dep", "", "kgeu1_app"), + feed("KGEU", "atis", "ATIS", "", "kgeu1_atis"), + ], + + // Luke Air Force Base (Glendale, Arizona, United States) — CSV verified + KLUF: [ + feed("KLUF", "approach", "App/Dep", "", "kphx5_kluf_app"), + feed("KLUF", "combined", "Del/Gnd/Twr/Misc", "", "kphx5_kluf_gnd_twr"), + ], + + // Floyd Bennett Memorial Airport (Glens Falls, New York, United States) — CSV verified + KGFL: [ + feed("KGFL", "center", "Area CTAF", "", "kgfl1_ctaf"), + ], + + // Glenwood Springs Municipal Airport (Glenwood Springs, Colorado, United States) — CSV verified + KGWS: [ + feed("KGWS", "center", "CTAF/Guard", "", "kgws2"), + feed("KGWS", "combined", "Aerial Firefighting (Temporary)", "", "kgws_fire"), + ], + + // Phoenix Goodyear Airport (Goodyear, Arizona, United States) — CSV verified + KGYR: [ + feed("KGYR", "tower", "Tower", "", "kgyr2_twr"), + feed("KGYR", "ground", "Ground", "", "kgyr2_gnd"), + feed("KGYR", "combined", "Ground/Tower", "", "kgyr2_gnd_twr"), + ], + + // Grand Forks International Airport (Grand Forks, North Dakota, United States) — CSV verified + KGFK: [ + feed("KGFK", "tower", "Tower (Both)", "", "kgfk3_twr"), + feedN( + "KGFK", + "tower", + "Tower 1 (118.4/IFR/VFR)", + "", + "kgfk3_twr1", + "2", + ), + feed("KGFK", "ground", "Ground", "", "kgfk3_gnd"), + feed("KGFK", "approach", "Approach", "", "kgfk3_app"), + ], + + // Gerald R. Ford International Airport (Grand Rapids, Michigan, United States) — CSV verified + KGRR: [ + feed("KGRR", "tower", "Tower", "", "kgrr2_2_twr"), + feed("KGRR", "ground", "Clearance Delivery", "", "kgrr2_2_del"), + feedN( + "KGRR", + "ground", + "Ground", + "", + "kgrr2_2_gnd", + "2", + ), + feed("KGRR", "approach", "App/Dep", "", "kgrr2_2_app"), + feedN( + "KGRR", + "approach", + "App/Dep (South)", + "", + "kgrr2_2_app_s", + "south", + ), + feed("KGRR", "center", "Emergency/Guard", "", "kgrr2_2_guard"), + feedN( + "KGRR", + "center", + "ZAU Sector 22", + "", + "kgrr2_2_zau22", + "se", + ), + feedN( + "KGRR", + "center", + "ZAU Sector 25", + "", + "kgrr2_2_zau25", + "2", + ), + feed("KGRR", "combined", "Del/Gnd/Twr", "", "kgrr2_2_del_gnd_twr"), + feedN( + "KGRR", + "combined", + "Gnd/Twr/App", + "", + "kgrr2_2_gnd_twr_app", + "2", + ), + ], + + // Austin Straubel International Airport (Green Bay, Wisconsin, United States) — CSV verified + KGRB: [ + feed("KGRB", "approach", "App/Dep", "", "kgrb1_app"), + feed("KGRB", "center", "ZMP Sector 04/14", "", "kgrb1_zmp"), + feed("KGRB", "combined", "Gnd/Twr", "", "kgrb1_gnd_twr"), + ], + + // Piedmont Triad International Airport (Greensboro, North Carolina, United States) — CSV verified + KGSO: [ + feed("KGSO", "tower", "Tower", "", "kgso1_twr"), + feed("KGSO", "ground", "Del/Gnd", "", "kgso1_del_gnd"), + feed("KGSO", "approach", "Approach/Departure", "", "kgso1_app"), + feedN( + "KGSO", + "approach", + "Approach/Departure (South)", + "", + "kgso1_app_south", + "south", + ), + feedN( + "KGSO", + "approach", + "Approach/Departure (West)", + "", + "kgso1_app_west", + "west", + ), + feed("KGSO", "atis", "ATIS", "", "kgso1_atis"), + feed("KGSO", "center", "ZTL Sector 29", "", "kgso1_ztl29"), + feedN( + "KGSO", + "center", + "ZTL Sector 29/33", + "", + "kgso1_ztl2933", + "se", + ), + feedN( + "KGSO", + "center", + "ZTL Sector 33", + "", + "kgso1_ztl33", + "2", + ), + ], + + // Greenville Downtown Airport (Greenville, South Carolina, United States) — CSV verified + KGMU: [ + feed("KGMU", "tower", "Tower", "", "kgmu_twr"), + feed("KGMU", "ground", "Ground", "", "kgmu_gnd"), + feed("KGMU", "atis", "ATIS", "", "kgmu_atis"), + feed("KGMU", "combined", "Ground/Tower", "", "kgmu"), + ], + + // Donaldson Field Airport (Greenville, South Carolina, United States) — CSV verified + KGYH: [ + feed("KGYH", "tower", "Tower", "", "kgmu_kgyh_twr"), + feed("KGYH", "combined", "Ground/Tower", "", "kgyh2"), + ], + + // Pitt-Greenville Airport (Greenville, North Carolina, United States) — CSV verified + KPGV: [ + feed("KPGV", "center", "CTAF", "", "kpgv"), + ], + + // Greenville Spartanburg International Airport (Greer, South Carolina, United States) — CSV verified + KGSP: [ + feed("KGSP", "tower", "Tower", "", "kgmu_kgsp_twr"), + feed("KGSP", "approach", "App/Dep (East)", "", "kgmu_kgsp_app_e"), + feedN( + "KGSP", + "approach", + "App/Dep (West)", + "", + "kgmu_kgsp_app_w", + "west", + ), + feed("KGSP", "atis", "ATIS", "", "kgmu_kgsp_atis"), + feed("KGSP", "center", "ZTL Atlanta Center (Sector 31)", "", "kgmu_ztl31"), + feedN( + "KGSP", + "center", + "ZTL Atlanta Center (Sector 32)", + "", + "kgmu_ztl32", + "sector", + ), + ], + + // Jack Edwards National Airport (Gulf Shores, Alabama, United States) — CSV verified + KJKA: [ + feed("KJKA", "tower", "Tower", "", "kjka2_twr"), + ], + + // Gulfport-Biloxi International Airport (Gulfport, Mississippi, United States) — CSV verified + KGPT: [ + feed("KGPT", "combined", "Gnd/Twr/App", "", "kgpt2"), + ], + + // Hagerstown Regional Airport-Richard A Henson Field (Hagerstown, Maryland, United States) — CSV verified + KHGR: [ + feed("KHGR", "tower", "Tower", "", "kmrb1_khgr_twr"), + feed("KHGR", "center", "ZDC Sector 06 (HGR)", "", "kmrb1_zdc_hgr"), + ], + + // Friedman Memorial Airport (Hailey, Idaho, United States) — CSV verified + KSUN: [ + feed("KSUN", "atis", "ATIS", "", "ksun1_atis"), + feed("KSUN", "combined", "Ground/Tower", "", "ksun1_gnd_twr"), + ], + + // Langley Air Force Base (Hampton, Virginia, United States) — CSV verified + KLFI: [ + feed("KLFI", "combined", "Del/Gnd/Twr", "", "klfi"), + ], + + // Boone County Airport (Harrison, Arkansas, United States) — CSV verified + KHRO: [ + feed("KHRO", "center", "CTAF/ZME/Misc", "", "khro"), + ], + + // Hartford-Brainard Airport (Hartford, Connecticut, United States) — CSV verified + KHFD: [ + feed("KHFD", "combined", "Ground/Tower", "", "khfd"), + ], + + // Helena Regional Airport (Helena, Montana, United States) — CSV verified + KHLN: [ + feed("KHLN", "tower", "Tower", "", "khln2_twr"), + feed("KHLN", "ground", "Ground", "", "khln2_gnd"), + feed("KHLN", "approach", "Approach/Departure", "", "khln2_app"), + feed("KHLN", "atis", "ATIS", "", "khln2_atis"), + ], + + // Hickory Regional Airport (Hickory, North Carolina, United States) — CSV verified + KHKY: [ + feed("KHKY", "tower", "Tower", "", "khky2_twr"), + feed("KHKY", "ground", "Clearance Delivery (ZTL)", "", "khky2_del"), + feedN( + "KHKY", + "ground", + "Ground", + "", + "khky2_gnd", + "2", + ), + feed("KHKY", "atis", "ASOS", "", "khky2_asos"), + feed("KHKY", "center", "Emergency/Guard", "", "khky2_guard"), + feedN( + "KHKY", + "center", + "ZTL48 Wilkes Sector", + "", + "khky2_ztl48", + "se", + ), + ], + + // Hilton Head Airport (Hilton Head Island, South Carolina, United States) — CSV verified + KHXD: [ + feed("KHXD", "combined", "Ground/Tower", "", "khxd"), + ], + + // Lea County Regional Airport (Hobbs, New Mexico, United States) — CSV verified + KHOB: [ + feed("KHOB", "tower", "Tower", "", "khob2_twr"), + feed("KHOB", "ground", "Ground", "", "khob2_gnd"), + feed("KHOB", "atis", "ATIS", "", "khob2_atis"), + feed("KHOB", "center", "Area Emergency/Guard", "", "khob2_guard"), + ], + + // North Perry Airport (Hollywood, Florida, United States) — CSV verified + KHWO: [ + feed("KHWO", "tower", "Tower (Both) #1", "", "khwo2_twr"), + feedN( + "KHWO", + "tower", + "Tower (Primary) #1", + "", + "khwo2_twr1", + "primary", + ), + feedN( + "KHWO", + "tower", + "Tower (Secondary) #1", + "", + "khwo2_twr2", + "secondary", + ), + feed("KHWO", "ground", "Ground", "", "khwo2_gnd"), + feed("KHWO", "atis", "ATIS", "", "khwo2_atis"), + ], + + // Kalaeloa Airport (John Rodgers Field) (Honolulu, Hawaii, United States) — CSV verified + PHJR: [ + feed("PHJR", "atis", "ATIS", "", "phnl1_phjr_atis"), + ], + + // Houlton International Airport (Houlton, Maine, United States) — CSV verified + KHUL: [ + feed("KHUL", "atis", "ASOS", "", "khul_asos"), + feed("KHUL", "combined", "KHUL/KPQI/ZBW01/15", "", "khul"), + ], + + // Huntsville International Airport-Carl T Jones Field (Huntsville, Alabama, United States) — CSV verified + KHSV: [ + feed("KHSV", "tower", "Tower (VHF)", "", "khsv_twr2"), + feed("KHSV", "ground", "Del/Gnd (VHF)", "", "khsv_del_gnd"), + feed("KHSV", "atis", "ATIS", "", "khsv_atis"), + feed("KHSV", "center", "Emergency/Guard", "", "khsv3_guard"), + feedN( + "KHSV", + "center", + "ZME Memphis Center (Hamilton)", + "", + "zme_hsv_120800", + "hamilton", + ), + feedN( + "KHSV", + "center", + "ZTL Atlanta Center (HSV/Sector 02)", + "", + "khsv_ztl_126825", + "hsv", + ), + feed("KHSV", "combined", "Gnd/Twr/App/Dep", "", "khsv3"), + ], + + // Hutchinson Municipal Airport (Hutchinson, Kansas, United States) — CSV verified + KHUT: [ + feed("KHUT", "combined", "Ground/Twr", "", "khut"), + ], + + // Cape Cod Gateway Airport (Hyannis, Massachusetts, United States) — CSV verified + KHYA: [ + feed("KHYA", "tower", "Tower", "", "khya2_twr"), + feed("KHYA", "ground", "Ground", "", "khya2_gnd"), + feed("KHYA", "approach", "Boston Approach (Cape North) #1", "", "kfmh1_app"), + feedN( + "KHYA", + "approach", + "Boston Approach (Cape North) #2", + "", + "khya2_app", + "cape", + ), + feed("KHYA", "atis", "ATIS", "", "khya2_atis"), + feed("KHYA", "center", "Emergency/Guard", "", "khya2_121500"), + feedN( + "KHYA", + "center", + "ZBW Boston Center (ACK17)", + "", + "khya2_zbw", + "ack17", + ), + feed("KHYA", "combined", "Gnd/Twr", "", "khya2_gnd_twr"), + ], + + // Falls International Airport-Einarson Field (International Falls, Minnesota, United States) — CSV verified + KINL: [ + feed("KINL", "center", "CTAF/FSS/Center", "", "kinl1_all"), + feedN( + "KINL", + "center", + "Princeton Radio FSS", + "", + "kinl1_radio", + "2", + ), + feedN( + "KINL", + "center", + "KINL/CYAG CTAF", + "", + "kinl1_ctaf", + "3", + ), + ], + + // Inverness Airport (Inverness, Florida, United States) — CSV verified + KINF: [ + feed("KINF", "center", "CTAF", "", "kinf2"), + ], + + // Iowa City Municipal Airport (Iowa City, Iowa, United States) — CSV verified + KIOW: [ + feed("KIOW", "combined", "KCID Gnd/Twr/App/KIOW", "", "kcid"), + ], + + // Long Island Mac Arthur Airport (Islip, New York, United States) — CSV verified + KISP: [ + feed("KISP", "tower", "Tower", "", "kisp_gnd_twr"), + feed("KISP", "approach", "(NY Approach)", "", "kisp2"), + feedN( + "KISP", + "approach", + "New York Approach (VIKKY Sector)", + "", + "zbw_ccc_n90_vikky", + "vikky", + ), + feed("KISP", "combined", "Tower/Approach", "", "kisp_s"), + ], + + // Jackson-Medgar Wiley Evers International Airport (Jackson, Mississippi, United States) — CSV verified + KJAN: [ + feed("KJAN", "combined", "Gnd/Twr/App/Dep", "", "kjan"), + ], + + // Westover Field / Amador County Airport (Jackson, California, United States) — CSV verified + KJAQ: [ + feed("KJAQ", "atis", "AWOS", "", "kjaq2_awos"), + feed("KJAQ", "center", "CTAF", "", "kjaq2_ctaf"), + feedN( + "KJAQ", + "center", + "Guard", + "", + "kjaq2_guard", + "2", + ), + ], + + // Jackson County Airport-Reynolds Field (Jackson, Michigan, United States) — CSV verified + KJXN: [ + feed("KJXN", "combined", "Gnd/Twr/UNICOM", "", "kjxn2_twrgnd"), + ], + + // Craig Municipal Airport (Jacksonville, Florida, United States) — CSV verified + KCRG: [ + feed("KCRG", "tower", "Tower", "", "kcrg1_twr"), + feed("KCRG", "ground", "Ground", "", "kcrg1_gnd"), + feed("KCRG", "atis", "ATIS", "", "kcrg1_atis"), + feed("KCRG", "center", "Area Guard", "", "kcrg1_guard"), + feedN( + "KCRG", + "center", + "UNICOM", + "", + "kcrg1_unicom", + "2", + ), + feed("KCRG", "combined", "Ground/Tower", "", "kcrg1_gnd_twr"), + ], + + // Jaffrey Airport-Silver Ranch (Jaffrey, New Hampshire, United States) — CSV verified + KAFN: [ + feed("KAFN", "center", "MA/NH CTAF 122.8", "", "kmht_murp_122800"), + ], + + // Southern Wisconsin Regional Airport (Janesville, Wisconsin, United States) — CSV verified + KJVL: [ + feed("KJVL", "tower", "Tower", "", "kjvl1_twr"), + feed("KJVL", "ground", "Ground", "", "kjvl1_gnd"), + feed("KJVL", "approach", "Rockford App/Dep", "", "krfd2_app"), + feed("KJVL", "atis", "ATIS", "", "kjvl1_atis"), + feed("KJVL", "center", "Area Emergency/Guard", "", "kjvl1_guard"), + feed("KJVL", "combined", "Ground/Tower", "", "kjvl1_gnd_twr"), + ], + + // Kahului Airport (Maui) (Kahului, Hawaii, United States) — CSV verified + PHOG: [ + feed("PHOG", "tower", "Tower", "", "phog3"), + feed("PHOG", "ground", "Clearance Delivery", "", "phog2_del"), + feedN( + "PHOG", + "ground", + "Ground", + "", + "phog2_gnd", + "2", + ), + feed("PHOG", "atis", "ATIS", "", "phog2_atis"), + feed("PHOG", "center", "HCF Center (127.6)", "", "phog2_hcf_127600"), + feedN( + "PHOG", + "center", + "HCF Center (Big Island/Maui)", + "", + "phog2_hcf_126000", + "big", + ), + feedN( + "PHOG", + "center", + "HCF Center (Lanai/Molokai/PHKO)", + "", + "phog2_hcf_11931241", + "lanai", + ), + feedN( + "PHOG", + "center", + "HCF Center (PHOG/All)", + "", + "phog2_hcf", + "phog", + ), + feed("PHOG", "combined", "Del/Gnd/Twr/App", "", "phog2"), + feedN( + "PHOG", + "combined", + "HCF App (N/S)", + "", + "phog2_app", + "2", + ), + feedN( + "PHOG", + "combined", + "HCF App (North)", + "", + "phog2_app_n", + "north", + ), + feedN( + "PHOG", + "combined", + "HCF App (South)", + "", + "phog2_app_s", + "south", + ), + ], + + // Kona International Airport at Keahole (Kailua/Kona, Hawaii, United States) — CSV verified + PHKO: [ + feed("PHKO", "center", "HCF Center (Northeast/Hamakua)", "", "phko2_hcf"), + feed("PHKO", "combined", "Kona Gnd/Twr", "", "phko"), + ], + + // Glacier Park International Airport (Kalispell, Montana, United States) — CSV verified + KGPI: [ + feed("KGPI", "tower", "Tower", "", "kgpi2_twr"), + feed("KGPI", "ground", "Ground", "", "kgpi2_gnd"), + feed("KGPI", "approach", "Salt Lake Center (KGPI App/Dep)", "", "kgpi2_app"), + feed("KGPI", "center", "Great Falls Radio", "", "kgpi2_rdo"), + ], + + // Kansas City International Airport (Kansas City, Missouri, United States) — CSV verified + KMCI: [ + feed("KMCI", "approach", "App/Dep", "", "kmci1_app"), + feed("KMCI", "center", "ZKC Kansas City Center (26)", "", "zkc_mci"), + feed("KMCI", "combined", "Del/Gnd/Twr", "", "kmci1_local"), + feedN( + "KMCI", + "combined", + "Del/Gnd/Twr/App", + "", + "kmci1", + "2", + ), + ], + + // Charles B. Wheeler Downtown Airport (Kansas City, Missouri, United States) — CSV verified + KMKC: [ + feed("KMKC", "tower", "Tower", "", "kmkc_twr"), + feed("KMKC", "ground", "Ground", "", "kmkc_gnd"), + feed("KMKC", "atis", "ATIS", "", "kmkc_atis"), + ], + + // Kearney Regional Airport (Kearney, Nebraska, United States) — CSV verified + KEAR: [ + feed("KEAR", "atis", "AWOS", "", "kear_awos"), + feed("KEAR", "center", "Columbus Radio", "", "kear_olu"), + feedN( + "KEAR", + "center", + "CTAF", + "", + "kear_ctaf", + "2", + ), + feed("KEAR", "combined", "ZDV/ZMP Kearney NE", "", "kear_center"), + ], + + // Dillant-Hopkins Airport (Keene, New Hampshire, United States) — CSV verified + KEEN: [ + feed("KEEN", "center", "CTAF", "", "kmht_murp_123000"), + ], + + // Kenai Municipal Airport (Kenai, Alaska, United States) — CSV verified + PAEN: [ + feed("PAEN", "tower", "Tower", "", "paen_twr"), + ], + + // Kenosha Regional Airport (Kenosha, Wisconsin, United States) — CSV verified + KENW: [ + feed("KENW", "combined", "Ground/Tower", "", "kenw"), + ], + + // McGhee Tyson Airport (Knoxville, Tennessee, United States) — CSV verified + KTYS: [ + feed("KTYS", "combined", "Del/Gnd/Twr/App", "", "ktys"), + ], + + // Kodiak Airport (Kodiak, Alaska, United States) — CSV verified + PADQ: [ + feed("PADQ", "combined", "Gnd/Twr/ZAN", "", "padq"), + ], + + // La Crosse Municipal Airport (La Crosse, Wisconsin, United States) — CSV verified + KLSE: [ + feed("KLSE", "tower", "Tower", "", "klse2_twr"), + feed("KLSE", "ground", "Ground", "", "klse2_gnd"), + feed("KLSE", "center", "Minneapolis Center (Sector 05 LSE Area)", "", "klse2_zmp_128600"), + ], + + // Laconia Municipal Airport (Laconia, New Hampshire, United States) — CSV verified + KLCI: [ + feed("KLCI", "ground", "CTAF/Del", "", "klci_del_ctaf"), + feed("KLCI", "atis", "AWOS", "", "klci_awos"), + feed("KLCI", "center", "CTAF", "", "klci"), + feed("KLCI", "combined", "Del", "", "klci_del"), + ], + + // Lakehurst Maxfield Field Joint Base McGuire (Lakehurst, New Jersey, United States) — CSV verified + KNEL: [ + feed("KNEL", "combined", "KNEL/KWRI/ZNY", "", "kblm1"), + ], + + // Lakeland Linder International Airport (Lakeland, Florida, United States) — CSV verified + KLAL: [ + feed("KLAL", "tower", "Tower", "", "klal_twr"), + feedN( + "KLAL", + "tower", + "Tower (North)", + "", + "klal_twr_north", + "north", + ), + feedN( + "KLAL", + "tower", + "Tower (North/South)", + "", + "klal_twr_ns", + "south", + ), + feedN( + "KLAL", + "tower", + "Tower (South)", + "", + "klal_twr_south", + "2", + ), + feed("KLAL", "ground", "Ground/Advisory", "", "klal_gnd"), + feed("KLAL", "approach", "Lake Parker Arrival", "", "klal8_twr"), + feedN( + "KLAL", + "approach", + "Tampa App/Dep (KLAL Area) # 1", + "", + "klal_app_dep", + "klal", + ), + feed("KLAL", "atis", "ATIS", "", "klal_atis"), + feed("KLAL", "center", "* Sun 'n Fun Radio", "", "sunfunlive1"), + feed("KLAL", "combined", "Sun 'n Fun Air Show", "", "klal_air"), + feedN( + "KLAL", + "combined", + "Sun 'n Fun Military Performers", + "", + "klal_mil", + "039", + ), + ], + + // Capital Region International Airport (Lansing, Michigan, United States) — CSV verified + KLAN: [ + feed("KLAN", "combined", "Del/Gnd/Twr/App", "", "klan"), + ], + + // Henderson Executive Airport (Las Vegas, Nevada, United States) — CSV verified + KHND: [ + feed("KHND", "atis", "ATIS", "", "khnd_atis"), + feed("KHND", "combined", "Ground/Tower", "", "khnd"), + ], + + // Harry Reid International Airport (Las Vegas, Nevada, United States) — CSV verified + KLAS: [ + feed("KLAS", "tower", "Tower (Both)", "", "klas4_twr"), + feedN( + "KLAS", + "tower", + "Tower (Emergency/Discrete)", + "", + "klas4_twr_emerg", + "emergency", + ), + feedN( + "KLAS", + "tower", + "Tower (Rwys 01/19)", + "", + "klas4_twr_0119", + "rwys", + ), + feedN( + "KLAS", + "tower", + "Tower (Rwys 08/26)", + "", + "klas4_twr_0826", + "08", + ), + feed("KLAS", "ground", "Clearance Delivery", "", "klas4_del"), + feedN( + "KLAS", + "ground", + "Ground (East)", + "", + "klas4_gnd_e", + "east", + ), + feedN( + "KLAS", + "ground", + "Ground (East/West)", + "", + "klas4_gnd", + "west", + ), + feedN( + "KLAS", + "ground", + "Ground (West)", + "", + "klas4_gnd_w", + "2", + ), + feedN( + "KLAS", + "ground", + "Ramp Control", + "", + "klas4_ramp", + "3", + ), + feed("KLAS", "approach", "Approach (Final)", "", "klas5_app_final"), + feedN( + "KLAS", + "approach", + "Approach (NE)", + "", + "klas4_app_ne", + "ne", + ), + feedN( + "KLAS", + "approach", + "Approach (NW)", + "", + "klas4_app_nw", + "nw", + ), + feedN( + "KLAS", + "approach", + "Approach (SE)", + "", + "klas4_app_se", + "se", + ), + feedN( + "KLAS", + "approach", + "Approach (SW)", + "", + "klas4_app_sw", + "sw", + ), + feedN( + "KLAS", + "approach", + "Approach (VFR)", + "", + "klas4_app_vfr", + "vfr", + ), + feed("KLAS", "departure", "Departure (Rwys 01/08)", "", "klas5_dep_0108"), + feedN( + "KLAS", + "departure", + "Departure (Rwys 19/26)", + "", + "klas4_dep_1926", + "rwys", + ), + feed("KLAS", "atis", "ATIS", "", "klas5_atis"), + feed("KLAS", "center", "Helicopter Control", "", "klas4_heli"), + feedN( + "KLAS", + "center", + "ZLA Sector 16 (Low/High)", + "", + "klas4_zla16", + "low", + ), + feedN( + "KLAS", + "center", + "ZLA Sector 34 (High)", + "", + "klas5_zla34", + "high", + ), + ], + + // North Las Vegas Airport (Las Vegas, Nevada, United States) — CSV verified + KVGT: [ + feed("KVGT", "tower", "Tower", "", "klas4_kvgt_twr"), + ], + + // Lawrence Municipal Airport (Lawrence, Massachusetts, United States) — CSV verified + KLWM: [ + feed("KLWM", "tower", "Tower", "", "klwm_twr"), + feed("KLWM", "ground", "Clearance Delivery (Night)", "", "klwm_del"), + feedN( + "KLWM", + "ground", + "Ground", + "", + "klwm_gnd", + "2", + ), + feed("KLWM", "atis", "ATIS", "", "klwm_atis"), + feed("KLWM", "combined", "Ground/Tower", "", "klwm"), + ], + + // Leesburg Executive Airport (Leesburg, Virginia, United States) — CSV verified + KJYO: [ + feed("KJYO", "tower", "Tower", "", "kjyo3_twr"), + feed("KJYO", "ground", "Ground", "", "kjyo3_gnd"), + feed("KJYO", "atis", "AWOS", "", "kjyo3_awos"), + feed("KJYO", "center", "ZDC Guard Dog", "", "kiad2_9"), + feedN( + "KJYO", + "center", + "ZDC Sectors 04", + "", + "kiad2_8", + "se", + ), + feedN( + "KJYO", + "center", + "ZDC Sectors 12", + "", + "kiad2_5", + "2", + ), + ], + + // Leesburg International Airport (Leesburg, Florida, United States) — CSV verified + KLEE: [ + feed("KLEE", "tower", "Tower", "", "klee1_twr"), + feed("KLEE", "ground", "Ground", "", "klee1_gnd"), + feed("KLEE", "approach", "App/Dep", "", "klee1_app"), + feed("KLEE", "atis", "ASOS", "", "klee1_asos"), + ], + + // Lincoln Airport (Lincoln, Nebraska, United States) — CSV verified + KLNK: [ + feed("KLNK", "tower", "Tower", "", "klnk3_twr"), + feed("KLNK", "ground", "Ground", "", "klnk3_gnd"), + feed("KLNK", "approach", "Approach", "", "klnk3_app"), + feed("KLNK", "atis", "ATIS", "", "klnk3_atis"), + feed("KLNK", "combined", "Twr/App", "", "klnk3_twr_app"), + ], + + // Lincolnton-Lincoln County Regional Airport (Lincolnton, North Carolina, United States) — CSV verified + KIPJ: [ + feed("KIPJ", "ground", "CTAF/Del", "", "kipj"), + ], + + // Mission Field Airport (Livingston, Montana, United States) — CSV verified + KLVM: [ + feed("KLVM", "center", "CTAF", "", "kbzn1_123000"), + ], + + // Long Beach Airport (Daugherty Field) (Long Beach, California, United States) — CSV verified + KLGB: [ + feed("KLGB", "tower", "Tower", "", "klgb_twr"), + feed("KLGB", "ground", "Clearance Delivery", "", "klgb_del"), + feedN( + "KLGB", + "ground", + "Ground", + "", + "klgb_gnd", + "2", + ), + ], + + // Los Alamitos Army Airfield (Los Alamitos, California, United States) — CSV verified + KSLI: [ + feed("KSLI", "tower", "Tower", "", "klgb1_ksli_twr"), + feed("KSLI", "ground", "Ground", "", "klgb1_ksli_gnd"), + feed("KSLI", "atis", "ATIS", "", "klgb1_ksli_atis"), + ], + + // Louisa County Airport/Freeman Field (Louisa, Virginia, United States) — CSV verified + KLKU: [ + feed("KLKU", "center", "CTAF #1", "", "klku2"), + feedN( + "KLKU", + "center", + "Emergency/Guard", + "", + "klku2_guard", + "2", + ), + feed("KLKU", "combined", "Air to Air", "", "klku2_a2a"), + ], + + // Triangle North Executive Airport (Louisburg, North Carolina, United States) — CSV verified + KLHZ: [ + feed("KLHZ", "center", "CTAF", "", "klhz"), + ], + + // Lynchburg Regional Airport/Preston Glenn Field (Lynchburg, Virginia, United States) — CSV verified + KLYH: [ + feed("KLYH", "tower", "Tower", "", "klyh2_twr"), + feed("KLYH", "ground", "Ground", "", "klyh2_gnd"), + feed("KLYH", "approach", "Roanoke Approach", "", "klyh_roa_app"), + ], + + // Manassas Regional Airport/Harry P. Davis Field (Manassas, Virginia, United States) — CSV verified + KHEF: [ + feed("KHEF", "combined", "Del/Gnd/Twr", "", "khef"), + ], + + // Manchester Airport (Manchester, New Hampshire, United States) — CSV verified + KMHT: [ + feed("KMHT", "tower", "Tower #1", "", "kmht_murp_twr_both"), + feed("KMHT", "ground", "Ground", "", "kmht_gnd"), + feed("KMHT", "approach", "Boston App/Dep (MHT/Low) #1", "", "kash_app_124900"), + feedN( + "KMHT", + "approach", + "Boston App/Dep (MHT/Low) #2", + "", + "kmht_murp_fitzy", + "mht", + ), + feedN( + "KMHT", + "approach", + "Boston App/Dep (MHT/Low/High) #1", + "", + "kmht_app", + "low", + ), + feedN( + "KMHT", + "approach", + "Boston App/Dep (MHT/Low/High) #2", + "", + "kmht_app3", + "high", + ), + feed("KMHT", "atis", "ATIS #1", "", "kmht_atis"), + feedN( + "KMHT", + "atis", + "ATIS #2", + "", + "kmht_atis2", + "2", + ), + feed("KMHT", "combined", "Del/Gnd/Twr", "", "kmht"), + feedN( + "KMHT", + "combined", + "Del/Gnd/Twr/App", + "", + "kmht2", + "2", + ), + ], + + // Marana Regional Airport (Marana, Arizona, United States) — CSV verified + KAVQ: [ + feed("KAVQ", "center", "CTAF", "", "kavq2_ctaf"), + feedN( + "KAVQ", + "center", + "Emergency/Guard", + "", + "kavq2_guard", + "2", + ), + ], + + // Marco Island Executive Airport (Marco Island, Florida, United States) — CSV verified + KMKY: [ + feed("KMKY", "center", "CTAF", "", "kmky2"), + ], + + // Eastern WV Regional Airport/Shepherd Field (Martinsburg, West Virginia, United States) — CSV verified + KMRB: [ + feed("KMRB", "tower", "Tower/CTAF", "", "kmrb1_twr"), + feed("KMRB", "ground", "Del/Gnd", "", "kmrb1_gnd"), + feed("KMRB", "approach", "Potomac App/Dep (LUCKE)", "", "kmrb1_app_lucke"), + feedN( + "KMRB", + "approach", + "Potomac App/Dep (BUFFR)", + "", + "kmrb1_app_buffr", + "buffr", + ), + feed("KMRB", "atis", "ATIS", "", "kmrb1_atis"), + feed("KMRB", "center", "Emergency/Guard", "", "kmrb1_guard"), + feedN( + "KMRB", + "center", + "ZDC Washington Ctr (Bay Sector)", + "", + "kmrb1_zdc_bay", + "bay", + ), + feedN( + "KMRB", + "center", + "ZDC Washington Ctr (Bay/Brooke Sectors)", + "", + "kmrb1_zdc_bay_brooke", + "brooke", + ), + feedN( + "KMRB", + "center", + "ZDC Washington Ctr (Bay/Pinion Sectors)", + "", + "kmrb1_zdc_pin_bay", + "pinion", + ), + feedN( + "KMRB", + "center", + "ZDC Washington Ctr (Brooke Sector)", + "", + "kmrb1_zdc_brooke", + "sector", + ), + feedN( + "KMRB", + "center", + "ZDC Washington Ctr (Linden Sector)", + "", + "kmrb1_zdc_linden", + "linden", + ), + feedN( + "KMRB", + "center", + "ZDC Washington Ctr (Pinion Sector)", + "", + "kmrb1_zdc_pin", + "se", + ), + ], + + // Melbourne International Airport (Melbourne, Florida, United States) — CSV verified + KMLB: [ + feed("KMLB", "tower", "Tower", "", "kmlb1_twr"), + feedN( + "KMLB", + "tower", + "Tower (North)", + "", + "kmlb1_twr_n", + "north", + ), + feedN( + "KMLB", + "tower", + "Tower (South)", + "", + "kmlb1_twr_s", + "south", + ), + feed("KMLB", "ground", "Ground", "", "kmlb1_gnd"), + feed("KMLB", "approach", "Orlando App/Dep", "", "kmlb1_app"), + feed("KMLB", "atis", "ATIS", "", "kmlb1_atis"), + feed("KMLB", "center", "Emergency/Guard", "", "kmlb1_guard"), + feedN( + "KMLB", + "center", + "Miami Center (Sector 02)", + "", + "kmlb1_zma02", + "sector", + ), + feedN( + "KMLB", + "center", + "Miami Center (Sector 04)", + "", + "kmlb1_zma04", + "04", + ), + feedN( + "KMLB", + "center", + "Miami Center (Sector 18)", + "", + "kmlb1_zma18", + "18", + ), + feedN( + "KMLB", + "center", + "Miami Center (Sector 22)", + "", + "kmlb1_zma22", + "22", + ), + feed("KMLB", "combined", "Gnd/Twr", "", "kmlb1_gnd_twr"), + feedN( + "KMLB", + "combined", + "Tower/Approach", + "", + "kmlb1_twr_app", + "2", + ), + ], + + // Memphis International Airport (Memphis, Tennessee, United States) — CSV verified + KMEM: [ + feed("KMEM", "combined", "Gnd/Twr/App/Dep", "", "kmem4_test"), + ], + + // Falcon Field Airport (Mesa, Arizona, United States) — CSV verified + KFFZ: [ + feed("KFFZ", "tower", "Twr (North)", "", "kffz_twr_n"), + feedN( + "KFFZ", + "tower", + "Twr (South)/CTAF", + "", + "kffz_twr_s", + "south", + ), + feedN( + "KFFZ", + "tower", + "Twr #1", + "", + "kffz_twr_b", + "1", + ), + feed("KFFZ", "ground", "Ground", "", "kffz_gnd"), + feed("KFFZ", "atis", "ATIS", "", "kffz_atis"), + ], + + // Opa Locka Airport (Miami, Florida, United States) — CSV verified + KOPF: [ + feed("KOPF", "tower", "Tower", "", "kopf5_twr"), + feed("KOPF", "ground", "Ground", "", "kopf5_gnd"), + feed("KOPF", "approach", "Miami App/Dep", "", "kopf5_app_128600"), + feed("KOPF", "atis", "ATIS", "", "kopf5_atis"), + feed("KOPF", "combined", "Ground/Tower", "", "kopf5_gnd_twr"), + ], + + // Kendall-Tamiami Executive Airport (Miami, Florida, United States) — CSV verified + KTMB: [ + feed("KTMB", "tower", "Tower (Main)", "", "ktmb1_twr1"), + feedN( + "KTMB", + "tower", + "Tower (North)", + "", + "ktmb1_twr2", + "north", + ), + feed("KTMB", "ground", "Ground", "", "ktmb1_gnd"), + feed("KTMB", "atis", "ATIS", "", "ktmb1_atis"), + ], + + // Anoka County-Blaine Airport (Janes Field) (Minneapolis, Minnesota, United States) — CSV verified + KANE: [ + feed("KANE", "tower", "Twr/CTAF", "", "kane"), + ], + + // Flying Cloud Airport (Minneapolis, Minnesota, United States) — CSV verified + KFCM: [ + feed("KFCM", "tower", "Tower", "", "kfcm2"), + feed("KFCM", "approach", "KMSP Approach (FCM Satellite)", "", "kmsp4_app_134700"), + ], + + // Crystal Airport (Minneapolis, Minnesota, United States) — CSV verified + KMIC: [ + feed("KMIC", "tower", "Tower/CTAF", "", "kmic2_twr"), + feed("KMIC", "ground", "Ground", "", "kmic2_gnd"), + feed("KMIC", "atis", "ATIS", "", "kmic2_atis"), + feed("KMIC", "center", "Emergency/Guard", "", "kmic2_guard"), + feed("KMIC", "combined", "Ground/Tower", "", "kmic2_gnd_twr"), + ], + + // Missoula International Airport (Missoula, Montana, United States) — CSV verified + KMSO: [ + feed("KMSO", "combined", "Gnd/Twr/App/ZLC/ZSE", "", "kmso"), + ], + + // Canyonlands Regional Airport (Moab, Utah, United States) — CSV verified + KCNY: [ + feed("KCNY", "center", "CTAF/Misc", "", "kcny2"), + ], + + // Mobile Downtown Airport (Mobile, Alabama, United States) — CSV verified + KBFM: [ + feed("KBFM", "tower", "Tower", "", "kbfm2"), + ], + + // Monroe Regional Airport (Monroe, North Carolina, United States) — CSV verified + KEQY: [ + feed("KEQY", "center", "CTAF", "", "keqy3"), + ], + + // Montgomery Regional Airport (Dannelly Field) (Montgomery, Alabama, United States) — CSV verified + KMGM: [ + feed("KMGM", "tower", "Tower", "", "kmgm1_twr"), + feed("KMGM", "ground", "Ground", "", "kmgm1_gnd"), + feed("KMGM", "approach", "App/Dep", "", "kmgm1_app"), + feed("KMGM", "atis", "ATIS", "", "kmgm1_atis"), + feed("KMGM", "center", "Emergency/Guard", "", "kmgm1_guard"), + feedN( + "KMGM", + "center", + "ZTL Atlanta Center (Sector 08)", + "", + "kmgm1_ztl08", + "sector", + ), + feedN( + "KMGM", + "center", + "ZTL Atlanta Center (Sector 11)", + "", + "kmgm1_ztl11", + "11", + ), + feedN( + "KMGM", + "center", + "ZTL Atlanta Center (Sector 13)", + "", + "kmgm1_ztl13", + "13", + ), + feed("KMGM", "combined", "Ground/Tower", "", "kmgm1_gnd_twr"), + feedN( + "KMGM", + "combined", + "Tower/Approach", + "", + "kmgm1_twr_app", + "2", + ), + ], + + // Foothills Regional Airport (Morganton, North Carolina, United States) — CSV verified + KMRN: [ + feed("KMRN", "center", "CTAF", "", "khky2_kmrn"), + ], + + // Morgantown Municipal Airport (Morgantown, West Virginia, United States) — CSV verified + KMGW: [ + feed("KMGW", "combined", "Ground/Tower", "", "kmgw2"), + ], + + // Morristown Municipal Airport (Morristown, New Jersey, United States) — CSV verified + KMMU: [ + feed("KMMU", "tower", "Tower #1", "", "kmmu3"), + feedN( + "KMMU", + "tower", + "Tower #2", + "", + "kmmu4_twr", + "2", + ), + feed("KMMU", "ground", "Ground", "", "kmmu4_gnd"), + feed("KMMU", "atis", "ATIS", "", "kmmu4_atis"), + ], + + // Moore-Murrell Airport (Morristown, Tennessee, United States) — CSV verified + KMOR: [ + feed("KMOR", "center", "CTAF/App", "", "kmor2"), + ], + + // Selfridge Air National Guard Base (Mount Clemens, Michigan, United States) — CSV verified + KMTC: [ + feed("KMTC", "approach", "App/Dep", "", "kmtc1_app"), + feed("KMTC", "atis", "ATIS", "", "kmtc1_atis"), + feed("KMTC", "combined", "Ground/Tower", "", "kmtc1_gnd_twr"), + ], + + // South Jersey Regional Airport (Mount Holly, New Jersey, United States) — CSV verified + KVAY: [ + feed("KVAY", "center", "SNJ Area CTAF 122.8", "", "kpne1_122800"), + ], + + // Mount Pleasant Regional Airport-Faison Field (Mount Pleasant, South Carolina, United States) — CSV verified + KLRO: [ + feed("KLRO", "center", "CTAF", "", "klro2"), + ], + + // Myrtle Beach International Airport (Myrtle Beach, South Carolina, United States) — CSV verified + KMYR: [ + feed("KMYR", "atis", "ATIS", "", "kmyr_atis"), + feed("KMYR", "combined", "Gnd/Twr/App", "", "kmyr"), + feedN( + "KMYR", + "combined", + "Gnd/Twr/App (UHF)", + "", + "kmyr_mil", + "uhf", + ), + ], + + // Nampa Municipal Airport (Nampa, Idaho, United States) — CSV verified + KMAN: [ + feed("KMAN", "center", "CTAF", "", "kman2_ctaf"), + ], + + // Nantucket Memorial Airport (Nantucket, Massachusetts, United States) — CSV verified + KACK: [ + feed("KACK", "tower", "Tower", "", "kack"), + feed("KACK", "approach", "App/Dep", "", "kack_app"), + feed("KACK", "atis", "ATIS", "", "kack_atis"), + feed("KACK", "combined", "Del/Gnd/Twr", "", "kack_del_gnd"), + ], + + // Naples Municipal Airport (Naples, Florida, United States) — CSV verified + KAPF: [ + feed("KAPF", "tower", "Tower", "", "kapf1_twr"), + feed("KAPF", "ground", "Del/Gnd", "", "kapf1_del_gnd"), + feed("KAPF", "approach", "Ft Myers App/Dep", "", "kapf1_app"), + feed("KAPF", "atis", "ATIS", "", "kapf1_atis"), + feed("KAPF", "combined", "Del/Gnd/Twr", "", "kapf1_del_gnd_twr"), + ], + + // Boire Field Airport (Nashua, New Hampshire, United States) — CSV verified + KASH: [ + feed("KASH", "tower", "Tower #1", "", "kash1_twr"), + feedN( + "KASH", + "tower", + "Tower #2", + "", + "kash4_twr", + "2", + ), + feedN( + "KASH", + "tower", + "Tower #3", + "", + "kmht_murp_kash_twr", + "3", + ), + feed("KASH", "ground", "Ground", "", "kash1_gnd"), + feedN( + "KASH", + "ground", + "Ground/FBO #1", + "", + "kash1_gnd_fbo", + "1", + ), + feedN( + "KASH", + "ground", + "Ground/FBO #2", + "", + "kash4_gnd", + "2", + ), + feed("KASH", "approach", "Boston App/Dep (MHT) #1", "", "kmht_app"), + feed("KASH", "atis", "ATIS #1", "", "kash1_atis"), + feedN( + "KASH", + "atis", + "ATIS #2", + "", + "kash_atis", + "2", + ), + feedN( + "KASH", + "atis", + "ATIS #3", + "", + "kash_murp_atis2", + "3", + ), + feed("KASH", "combined", "Gnd/Twr/FBO #1", "", "kash1_gnd_twr"), + feedN( + "KASH", + "combined", + "Gnd/Twr/FBO #2", + "", + "kash4_gnd_twr", + "2", + ), + ], + + // Nashville International Airport (Nashville, Tennessee, United States) — CSV verified + KBNA: [ + feed("KBNA", "tower", "Tower", "", "kbna_twr"), + feed("KBNA", "ground", "Ground", "", "kbna_gnd"), + feed("KBNA", "approach", "App/Dep", "", "kbna_app"), + feedN( + "KBNA", + "approach", + "App/Dep (East)", + "", + "kbna_app_east", + "east", + ), + feedN( + "KBNA", + "approach", + "App/Dep (West)", + "", + "kbna_app_west", + "west", + ), + feedN( + "KBNA", + "approach", + "Approach (Final)", + "", + "kbna_app_final", + "final", + ), + feed("KBNA", "center", "Nashville Area Helicopter CTAF (BNA)", "", "kbna_heli"), + feed("KBNA", "combined", "Ground/Tower", "", "kbna_gnd_twr"), + ], + + // John C Tune Airport (Nashville, Tennessee, United States) — CSV verified + KJWN: [ + feed("KJWN", "tower", "Tower", "", "kjwn1_twr"), + feed("KJWN", "ground", "Ground", "", "kjwn1_gnd"), + feed("KJWN", "atis", "ATIS", "", "kjwn1_atis"), + feed("KJWN", "center", "Nashville Area Helicopter CTAF (JWN)", "", "kjwn1_heli"), + feed("KJWN", "combined", "Gnd/Twr", "", "kjwn1_gnd_twr"), + ], + + // Tweed-New Haven Airport (New Haven, Connecticut, United States) — CSV verified + KHVN: [ + feed("KHVN", "tower", "Tower", "", "khvn1_twr"), + feed("KHVN", "ground", "Ground", "", "khvn1_gnd"), + feed("KHVN", "atis", "ATIS", "", "khvn1_atis"), + feed("KHVN", "center", "Area Emergency/Guard", "", "khvn1_guard"), + feed("KHVN", "combined", "Ground/Tower #1", "", "khvn1_gnd_twr"), + feedN( + "KHVN", + "combined", + "Ground/Tower #2", + "", + "khvn1_gnd_twr2", + "2", + ), + ], + + // New Richmond Regional Airport (New Richmond, Wisconsin, United States) — CSV verified + KRNH: [ + feed("KRNH", "center", "CTAF/Clearance", "", "krnh"), + ], + + // West 30th St. Heliport (New York, New York, United States) — CSV verified + KJRA: [ + feed("KJRA", "center", "KJRA/KJRB CTAF #3", "", "jfk118_kjra"), + feedN( + "KJRA", + "center", + "KJRA/KJRB CTAF #3", + "", + "jfk118_kjra", + "3", + ), + ], + + // Newport State Airport (Newport, Rhode Island, United States) — CSV verified + KUUU: [ + feed("KUUU", "ground", "CTAF/Del", "", "kuuu"), + ], + + // Newport News/Williamsburg International Airport (Newport News, Virginia, United States) — CSV verified + KPHF: [ + feed("KPHF", "combined", "Ground/Tower", "", "kphf"), + ], + + // Norfolk Naval Station (Chambers Field) (Norfolk, Virginia, United States) — CSV verified + KNGU: [ + feed("KNGU", "combined", "Del/Gnd/Twr", "", "kngu1"), + ], + + // Norfolk International Airport (Norfolk, Virginia, United States) — CSV verified + KORF: [ + feed("KORF", "tower", "Tower #1", "", "korf1_twr"), + feedN( + "KORF", + "tower", + "Tower #2", + "", + "korf3_twr", + "2", + ), + feed("KORF", "ground", "Ground #1", "", "korf1_gnd"), + feedN( + "KORF", + "ground", + "Ground #2", + "", + "korf3_gnd", + "2", + ), + feed("KORF", "approach", "Norfolk Approach (Arrival) #1", "", "korf1_app_118900"), + feedN( + "KORF", + "approach", + "Norfolk Approach (Arrival) #2", + "", + "korf3_app_118900", + "arrival", + ), + feedN( + "KORF", + "approach", + "Norfolk Approach (East Feeder)", + "", + "korf1_app_126050", + "east", + ), + feedN( + "KORF", + "approach", + "Norfolk Approach (West Feeder)", + "", + "korf1_app_119450", + "west", + ), + feed("KORF", "departure", "Norfolk Departure #1", "", "korf1_app_125200"), + feed("KORF", "atis", "ATIS", "", "korf1_atis"), + feed("KORF", "combined", "Gnd/Twr", "", "korf1_gnd_twr"), + feedN( + "KORF", + "combined", + "Gnd/Twr/App/Radar", + "", + "korf1", + "2", + ), + ], + + // Grand Strand Airport (North Myrtle Beach, South Carolina, United States) — CSV verified + KCRE: [ + feed("KCRE", "atis", "ATIS", "", "kcre2_atis"), + feed("KCRE", "center", "Guard", "", "kcre2_guard"), + feed("KCRE", "combined", "Ground/Tower", "", "kcre2"), + ], + + // Norwood Municipal Airport (Norwood, Massachusetts, United States) — CSV verified + KOWD: [ + feed("KOWD", "combined", "Ground/Tower", "", "kowd2"), + ], + + // Ocean City Municipal Airport (Ocean City, Maryland, United States) — CSV verified + KOXB: [ + feed("KOXB", "center", "CTAF", "", "koxb_ctaf"), + ], + + // Ogden-Hinckley Airport (Ogden, Utah, United States) — CSV verified + KOGD: [ + feed("KOGD", "combined", "Ogden Ground/Tower", "", "kogd"), + ], + + // Johnson County Executive Airport (Olathe, Kansas, United States) — CSV verified + KOJC: [ + feed("KOJC", "approach", "App/Dep", "", "kojc1_app"), + feed("KOJC", "atis", "ATIS", "", "kojc1_atis"), + feed("KOJC", "combined", "Gnd/Twr", "", "kojc1"), + ], + + // Offutt Air Force Base (Omaha, Nebraska, United States) — CSV verified + KOFF: [ + feed("KOFF", "combined", "Tower/Approach", "", "koff3_twr_app"), + ], + + // Orange Municipal Airport (Orange, Massachusetts, United States) — CSV verified + KORE: [ + feed("KORE", "center", "MA/NH CTAF 122.8", "", "kmht_murp_122800"), + ], + + // Kissimmee Gateway Airport (Orlando, Florida, United States) — CSV verified + KISM: [ + feed("KISM", "tower", "Tower", "", "kjsm_twr"), + feed("KISM", "ground", "Ground", "", "kjsm_gnd"), + feed("KISM", "atis", "ATIS", "", "kjsm_atis"), + feed("KISM", "combined", "Ground/Tower", "", "kjsm_gnd_twr"), + ], + + // Orlando Executive Airport (Orlando, Florida, United States) — CSV verified + KORL: [ + feed("KORL", "tower", "Tower", "", "korl_twr"), + feed("KORL", "ground", "Del/Gnd", "", "korl_gnd"), + feed("KORL", "approach", "KMCO App/Dep (Disney Sector)", "", "korl_app_119400"), + feedN( + "KORL", + "approach", + "KMCO App/Dep (Disney/OVIDO Sectors) #1", + "", + "korl_app_dep", + "disney", + ), + feedN( + "KORL", + "approach", + "KMCO App/Dep (Disney/OVIDO Sectors) #2", + "", + "korl_app_dis_ovi", + "ovido", + ), + feedN( + "KORL", + "approach", + "KMCO App/Dep (North Satellite)", + "", + "korl_kmco_app_135300", + "north", + ), + feedN( + "KORL", + "approach", + "KMCO App/Dep (OVIDO Sector)", + "", + "korl_app_119775", + "sector", + ), + feed("KORL", "atis", "ATIS", "", "korl_atis"), + feed("KORL", "combined", "Del/Gnd/Twr", "", "korl_del_gnd_twr"), + ], + + // Orlando Sanford International Airport (Orlando, Florida, United States) — CSV verified + KSFB: [ + feed("KSFB", "tower", "Tower (Both)", "", "ksfb3_s"), + feedN( + "KSFB", + "tower", + "Tower (Main)", + "", + "ksfb3_twr1", + "main", + ), + feedN( + "KSFB", + "tower", + "Tower (South)", + "", + "ksfb3_twr2", + "south", + ), + feed("KSFB", "ground", "Clearance Delivery", "", "ksfb4_del"), + feedN( + "KSFB", + "ground", + "Del/Gnd", + "", + "ksfb4_s", + "2", + ), + feedN( + "KSFB", + "ground", + "Ground", + "", + "ksfb4_gnd", + "3", + ), + feed("KSFB", "approach", "KMCO App/Dep (North Satellite)", "", "korl_kmco_app_135300"), + feed("KSFB", "atis", "ATIS", "", "ksfb3_atis"), + ], + + // Wittman Regional Airport (Oshkosh, Wisconsin, United States) — CSV verified + KOSH: [ + feed("KOSH", "tower", "Air Show/Twr", "", "kosh_as_twr"), + feedN( + "KOSH", + "tower", + "North Tower (09/27) #1", + "", + "kosh", + "09", + ), + feedN( + "KOSH", + "tower", + "North Tower (09/27) #2", + "", + "kosh_s_twr1", + "27", + ), + feedN( + "KOSH", + "tower", + "South Tower (18/36) #1", + "", + "kosh2", + "18", + ), + feedN( + "KOSH", + "tower", + "South Tower (18/36) #2", + "", + "kosh_s_twr2", + "36", + ), + feedN( + "KOSH", + "tower", + "Tower (North+South) #1", + "", + "kosh_twr", + "northsouth", + ), + feed("KOSH", "ground", "Del/Gnd/Misc", "", "kosh7"), + feed("KOSH", "approach", "Fisk VFR Approach #1", "", "kosh8_fisk"), + feedN( + "KOSH", + "approach", + "Fisk VFR Approach #2", + "", + "kosh_s_fisk", + "2", + ), + feedN( + "KOSH", + "approach", + "Fisk VFR Approach #4", + "", + "kosh_n_fisk3", + "4", + ), + feed("KOSH", "departure", "Departure ATIS", "", "kosh_dep_atis"), + feedN( + "KOSH", + "departure", + "Departure Monitor (09/27) #1", + "", + "kosh_depmon_0927", + "09", + ), + feedN( + "KOSH", + "departure", + "Departure Monitor (18/36) #1", + "", + "kosh_depmon_1836", + "18", + ), + feedN( + "KOSH", + "departure", + "Departure Monitor (All)", + "", + "kosh_depmon2", + "all", + ), + feedN( + "KOSH", + "departure", + "Departure Monitor #2", + "", + "kosh_depmon", + "2", + ), + feed("KOSH", "atis", "ATIS", "", "kosh6"), + feed("KOSH", "center", "Emergency/Guard", "", "kosh_guard"), + feedN( + "KOSH", + "center", + "Green Bay Radio", + "", + "kosh_gbr", + "2", + ), + feedN( + "KOSH", + "center", + "ZAU Chicago Center (Lone Rock, Low)", + "", + "zau_osh", + "lone", + ), + feed("KOSH", "combined", "Air Show", "", "kosh4"), + feedN( + "KOSH", + "combined", + "Gnd/Twr/App #1", + "", + "kosh_perm", + "1", + ), + feedN( + "KOSH", + "combined", + "Milwaukee App (OSH) #1", + "", + "kosh8", + "osh", + ), + feedN( + "KOSH", + "combined", + "Oshkosh Seaplane Base (EAA)", + "", + "kosh_spb", + "eaa", + ), + ], + + // Ottumwa Regional Airport (Ottumwa, Iowa, United States) — CSV verified + KOTM: [ + feed("KOTM", "combined", "Del/Twr/App/Center", "", "kotm"), + ], + + // Waterbury-Oxford Airport (Oxford, Connecticut, United States) — CSV verified + KOXC: [ + feed("KOXC", "atis", "ATIS", "", "koxc2_atis"), + feed("KOXC", "combined", "Ground/Tower", "", "koxc2"), + ], + + // Tri-Cities Airport (Pasco, Washington, United States) — CSV verified + KPSC: [ + feed("KPSC", "tower", "Tower", "", "kpsc2_twr"), + feed("KPSC", "ground", "Ground", "", "kpsc2_gnd"), + ], + + // North Central State Airport (Pawtucket, Rhode Island, United States) — CSV verified + KSFZ: [ + feed("KSFZ", "center", "Clearance/CTAF", "", "ksfz2_del_ctaf"), + feedN( + "KSFZ", + "center", + "CTAF", + "", + "ksfz2", + "2", + ), + ], + + // Penn Yan Airport (Penn Yan, New York, United States) — CSV verified + KPEO: [ + feed("KPEO", "center", "CTAF", "", "kpeo2"), + ], + + // Pensacola International Airport (Pensacola, Florida, United States) — CSV verified + KPNS: [ + feed("KPNS", "tower", "Tower #3", "", "kpns2_twr3"), + feed("KPNS", "approach", "App/Dep 127.35/278.8", "", "kpns2_app_127350"), + ], + + // Phoenix Deer Valley Airport (Phoenix, Arizona, United States) — CSV verified + KDVT: [ + feed("KDVT", "tower", "Tower (Both)", "", "kdvt3_twr"), + feedN( + "KDVT", + "tower", + "Tower (North)", + "", + "kdvt3_twr2", + "north", + ), + feedN( + "KDVT", + "tower", + "Tower (South)", + "", + "kdvt3_twr1", + "south", + ), + feed("KDVT", "ground", "Clearance Delivery", "", "kdvt3_del"), + feedN( + "KDVT", + "ground", + "Delivery/Ground", + "", + "kdvt3_del_gnd", + "2", + ), + feedN( + "KDVT", + "ground", + "Ground", + "", + "kdvt3_gnd", + "3", + ), + feed("KDVT", "atis", "ATIS", "", "kdvt3_atis"), + ], + + // Phoenix-Mesa Gateway Airport (Phoenix, Arizona, United States) — CSV verified + KIWA: [ + feed("KIWA", "tower", "Tower", "", "kiwa1_twr"), + feed("KIWA", "ground", "Clearance Delivery", "", "kiwa1_del"), + feedN( + "KIWA", + "ground", + "Ground", + "", + "kiwa1_gnd", + "2", + ), + feed("KIWA", "approach", "KPHX Approach (Pima/Willy Sectors)", "", "kphx4_app_pima_willy"), + feed("KIWA", "atis", "ATIS", "", "kiwa1_atis"), + ], + + // Moore County Airport (Pinehurst/Southern Pines, North Carolina, United States) — CSV verified + KSOP: [ + feed("KSOP", "ground", "Clearance Delivery (RCO)", "", "ksop1_del"), + feed("KSOP", "atis", "AWOS", "", "ksop1_awos"), + feed("KSOP", "center", "CTAF", "", "ksop1_ctaf"), + ], + + // Plant City Airport (Plant City, Florida, United States) — CSV verified + KPCM: [ + feed("KPCM", "center", "KPCM/KGIF CTAF", "", "klal8_ctaf_123050"), + ], + + // Platteville Municipal Airport (Platteville, Wisconsin, United States) — CSV verified + KPVB: [ + feed("KPVB", "atis", "AWOS", "", "kpvb1_awos"), + feed("KPVB", "center", "KPVB/KSFY CTAF", "", "kpvb1_122700"), + ], + + // Pompano Beach Airpark (Pompano Beach, Florida, United States) — CSV verified + KPMP: [ + feed("KPMP", "tower", "Tower", "", "kpmp"), + feed("KPMP", "ground", "Ground", "", "kpmp_gnd"), + ], + + // Mercedita Airport (Ponce, Puerto Rico, United States) — CSV verified + TJPS: [ + feed("TJPS", "ground", "Clearance Delivery", "", "tjps1_del"), + feed("TJPS", "atis", "AWOS", "", "tjps1_awos"), + feed("TJPS", "center", "Clearance/San Juan Center", "", "tjps1_del_ctr"), + feedN( + "TJPS", + "center", + "CTAF", + "", + "tjps1_ctaf", + "2", + ), + ], + + // Oakland County International Airport (Pontiac, Michigan, United States) — CSV verified + KPTK: [ + feed("KPTK", "tower", "Tower #1", "", "kptk1_twr"), + feed("KPTK", "approach", "App/Dep", "", "kptk1_app"), + feedN( + "KPTK", + "approach", + "Del/Gnd/App", + "", + "kptk1_del_gnd", + "2", + ), + feed("KPTK", "atis", "ATIS", "", "kptk1_atis"), + feed("KPTK", "combined", "Del/Gnd/Twr/App", "", "kptk1_gnd_twr"), + ], + + // William R Fairchild International Airport (Port Angeles, Washington, United States) — CSV verified + KCLM: [ + feed("KCLM", "approach", "Del/CTAF/App", "", "kclm"), + ], + + // Portland International Jetport (Portland, Maine, United States) — CSV verified + KPWM: [ + feed("KPWM", "tower", "Tower #1", "", "kpwm2_twr"), + feedN( + "KPWM", + "tower", + "Tower #2", + "", + "kpwm3_twr", + "2", + ), + feed("KPWM", "ground", "Ground", "", "kpwm2_gnd"), + feed("KPWM", "approach", "App/Dep #1", "", "kpwm2_app"), + feedN( + "KPWM", + "approach", + "App/Dep #2", + "", + "kpwm3_app", + "2", + ), + feed("KPWM", "atis", "ATIS", "", "kpwm2_atis"), + feed("KPWM", "center", "Emergency/Guard", "", "kpwm2_guard"), + feed("KPWM", "combined", "Gnd/Tower", "", "kpwm2_gnd_twr"), + feedN( + "KPWM", + "combined", + "Gnd/Twr/App", + "", + "kpwm2_gnd_twr_app", + "2", + ), + feedN( + "KPWM", + "combined", + "Twr/App", + "", + "kpwm2_twr_app", + "3", + ), + ], + + // Dutchess County Airport (Poughkeepsie, New York, United States) — CSV verified + KPOU: [ + feed("KPOU", "combined", "Ground/Tower", "", "kpou1"), + ], + + // Ernest A. Love Field Airport (Prescott, Arizona, United States) — CSV verified + KPRC: [ + feed("KPRC", "tower", "Tower (1/2)", "", "kprc1_twr"), + feedN( + "KPRC", + "tower", + "Tower 1", + "", + "kprc1_twr1", + "2", + ), + feedN( + "KPRC", + "tower", + "Tower 2", + "", + "kprc1_twr2", + "3", + ), + feed("KPRC", "ground", "Ground", "", "kprc1_gnd"), + feed("KPRC", "approach", "Phoenix Approach (Jerome Sector/PRC/SEZ Area)", "", "kprc1_app_133575"), + feedN( + "KPRC", + "approach", + "Phoenix Approach (Jerome/Kachina Sectors)", + "", + "kprc1_app", + "jerome", + ), + feedN( + "KPRC", + "approach", + "Phoenix Approach (Kachina Sector/FLG Area)", + "", + "kprc1_app_126375", + "kachina", + ), + feed("KPRC", "atis", "ATIS", "", "kprc1_atis"), + feed("KPRC", "center", "Area Emergency/Guard", "", "kprc1_guard"), + feedN( + "KPRC", + "center", + "ZAB Sector 43", + "", + "kprc1_zab_128450", + "se", + ), + feedN( + "KPRC", + "center", + "ZAB Sector 45", + "", + "kprc1_zab_127675", + "2", + ), + feedN( + "KPRC", + "center", + "ZAB Sector 92", + "", + "kprc1_zab_135325", + "3", + ), + feed("KPRC", "combined", "Ground/Tower", "", "kprc1_gnd_twr"), + feedN( + "KPRC", + "combined", + "Practice Area", + "", + "kprc1_pa", + "2", + ), + ], + + // Northern Maine Regional Airport at Presque Isle (Presque Isle, Maine, United States) — CSV verified + KPQI: [ + feed("KPQI", "combined", "KHUL/KPQI/ZBW01/15", "", "khul"), + ], + + // Fillmore County Airport (Preston, Minnesota, United States) — CSV verified + KFKA: [ + feed("KFKA", "center", "CTAF", "", "kfka"), + ], + + // Provincetown Municipal Airport (Provincetown, Massachusetts, United States) — CSV verified + KPVC: [ + feed("KPVC", "center", "5B6/KCQX/KPVC CTAF", "", "khya2_122800"), + ], + + // Provo Municipal Airport (Provo, Utah, United States) — CSV verified + KPVU: [ + feed("KPVU", "tower", "Tower", "", "kpvu2"), + ], + + // Charlotte County Airport (Punta Gorda, Florida, United States) — CSV verified + KPGD: [ + feed("KPGD", "tower", "Tower", "", "kpgd_twr"), + feed("KPGD", "ground", "Ground", "", "kpgd_gnd"), + ], + + // Pierce County Airport - Thun Field (Puyallup, Washington, United States) — CSV verified + KPLU: [ + feed("KPLU", "approach", "Del/CTAF/App", "", "kplu2"), + ], + + // Raleigh-Durham International Airport (Raleigh/Durham, North Carolina, United States) — CSV verified + KRDU: [ + feed("KRDU", "tower", "Tower", "", "krdu_twr"), + feed("KRDU", "ground", "Ground", "", "krdu_gnd"), + feed("KRDU", "approach", "Approach", "", "krdu_app"), + feedN( + "KRDU", + "approach", + "Approach/Departure", + "", + "krdu_app2", + "2", + ), + feed("KRDU", "departure", "Departure", "", "krdu_dep"), + feed("KRDU", "center", "ZDC Sector 38 (Tar River Hi)", "", "zdc38_dk"), + feed("KRDU", "combined", "Ground/Tower", "", "krdu_gnd_twr"), + ], + + // Reno/Tahoe International Airport (Reno, Nevada, United States) — CSV verified + KRNO: [ + feed("KRNO", "tower", "Tower", "", "krno1_twr"), + feed("KRNO", "ground", "Clearance Delivery", "", "krno1_del"), + feedN( + "KRNO", + "ground", + "Ground", + "", + "krno1_gnd", + "2", + ), + feed("KRNO", "approach", "NORCAL App/Dep", "", "krno1_app"), + feedN( + "KRNO", + "approach", + "NORCAL App/Dep (North)", + "", + "krno1_app_north", + "north", + ), + feedN( + "KRNO", + "approach", + "NORCAL App/Dep (South)", + "", + "krno1_app_south", + "south", + ), + feed("KRNO", "center", "Emergency/Guard", "", "krno1_guard"), + feed("KRNO", "combined", "Del/Gnd/Twr", "", "krno1_gnd_twr"), + feedN( + "KRNO", + "combined", + "Del/Gnd/Twr/App/ZOA", + "", + "krno", + "2", + ), + ], + + // Renton Municipal Airport (Renton, Washington, United States) — CSV verified + KRNT: [ + feed("KRNT", "tower", "Tower", "", "ksea3_krnt_twr"), + feed("KRNT", "ground", "Ground", "", "ksea3_krnt_gnd"), + feed("KRNT", "combined", "Gnd/Twr/Unicom", "", "krnt"), + ], + + // Richmond International Airport (Richmond, Virginia, United States) — CSV verified + KRIC: [ + feed("KRIC", "tower", "Tower", "", "kric2_twr"), + feed("KRIC", "ground", "Ground", "", "kric2_gnd"), + feed("KRIC", "center", "Area Guard", "", "kric2_guard"), + ], + + // Hanover County Municipal Airport (Richmond/Ashland, Virginia, United States) — CSV verified + KOFP: [ + feed("KOFP", "center", "CTAF", "", "kofp2_ctaf"), + ], + + // Roanoke Regional Airport/Woodrum Field (Roanoke, Virginia, United States) — CSV verified + KROA: [ + feed("KROA", "tower", "Tower", "", "kroa_twr"), + feed("KROA", "ground", "Clearance Delivery", "", "kroa_del"), + feedN( + "KROA", + "ground", + "Del/Gnd", + "", + "kroa_del_gnd", + "2", + ), + feedN( + "KROA", + "ground", + "Ground", + "", + "kroa_gnd", + "3", + ), + feed("KROA", "approach", "KLYH Roanoke Approach", "", "klyh_roa_app"), + feedN( + "KROA", + "approach", + "App/Dep (133.225)", + "133.225", + "kroa_app_133225", + "2", + ), + feedN( + "KROA", + "approach", + "App/Dep #1", + "", + "kroa2_app", + "1", + ), + feedN( + "KROA", + "approach", + "App/Dep #2", + "", + "kroa_app", + "3", + ), + feedN( + "KROA", + "approach", + "App/Dep #3", + "", + "kroa4_app", + "4", + ), + feed("KROA", "atis", "ATIS", "", "kroa_atis"), + feed("KROA", "combined", "Gnd/Twr #1", "", "kroa2_twr"), + feedN( + "KROA", + "combined", + "Gnd/Twr #2", + "", + "kroa4_gnd_twr", + "2", + ), + feedN( + "KROA", + "combined", + "Gnd/Twr/App #1", + "", + "kroa2", + "1", + ), + feedN( + "KROA", + "combined", + "Gnd/Twr/App #2", + "", + "kroa4_gnd_twr_app", + "3", + ), + ], + + // Skyhaven Airport (Rochester, New Hampshire, United States) — CSV verified + KDAW: [ + feed("KDAW", "center", "KCON/KDAW/KFIT CTAF", "", "kmht_murp_122700"), + ], + + // Greater Rochester International Airport (Rochester, New York, United States) — CSV verified + KROC: [ + feed("KROC", "approach", "Approach", "", "kroc"), + feed("KROC", "combined", "Del/Gnd/Twr", "", "kroc_s"), + ], + + // Rogers Executive Airport - Carter Field (Rogers, Arkansas, United States) — CSV verified + KROG: [ + feed("KROG", "combined", "KROG/KXNA/KVBT/Misc", "", "krog"), + ], + + // Salina Regional Airport (Salina, Kansas, United States) — CSV verified + KSLN: [ + feed("KSLN", "tower", "Tower", "", "ksln_twr"), + feed("KSLN", "ground", "Ground", "", "ksln_gnd"), + feed("KSLN", "atis", "ATIS", "", "ksln_atis"), + feed("KSLN", "center", "ZKC KC Center (Salina Low/High)", "", "zkc_sln"), + feed("KSLN", "combined", "Ground/Tower", "", "ksln"), + ], + + // Salt Lake City International Airport (Salt Lake City, Utah, United States) — CSV verified + KSLC: [ + feed("KSLC", "tower", "Tower", "", "kslc1_twr"), + feed("KSLC", "ground", "Del/Ground", "", "kslc1_del_gnd"), + feed("KSLC", "approach", "Approach/Departure", "", "kslc1_app1"), + feed("KSLC", "center", "ZLC Sectors 03/04/07/11/32", "", "kslc1_zlc"), + ], + + // Fernando Luis Ribas Dominicci Airport (San Juan, Puerto Rico, United States) — CSV verified + TJIG: [ + feed("TJIG", "tower", "Tower", "", "tjig2_twr"), + feed("TJIG", "ground", "Ground", "", "tjig2_gnd"), + feed("TJIG", "atis", "ATIS", "", "tjig2_atis"), + feed("TJIG", "combined", "Ground/Tower", "", "tjig2_gnd_twr"), + ], + + // Luis Munoz Marin International Airport (San Juan, Puerto Rico, United States) — CSV verified + TJSJ: [ + feed("TJSJ", "center", "Center/Oceanic", "", "tjsj4_app_ctr"), + ], + + // Sandpoint Airport (Sandpoint, Idaho, United States) — CSV verified + KSZT: [ + feed("KSZT", "center", "CTAF #1", "", "kszt_ctaf"), + feedN( + "KSZT", + "center", + "CTAF #2", + "", + "kszt2", + "2", + ), + ], + + // Sanford Seacoast Regional Airport (Sanford, Maine, United States) — CSV verified + KSFM: [ + feed("KSFM", "center", "CTAF", "", "kmht_murp_123075"), + ], + + // Raleigh Executive Jetport at Sanford-Lee County Airport (Sanford, North Carolina, United States) — CSV verified + KTTA: [ + feed("KTTA", "atis", "AWOS", "", "ktta_awos"), + feed("KTTA", "center", "CTAF", "", "ktta"), + ], + + // John Wayne-Orange County Airport (Santa Ana, California, United States) — CSV verified + KSNA: [ + feed("KSNA", "tower", "Tower (Backup/Discrete)", "", "ksna1_twr_128350"), + feedN( + "KSNA", + "tower", + "Tower (Rwy 02L/20R)", + "", + "ksna1_twr_126800", + "rwy", + ), + feedN( + "KSNA", + "tower", + "Tower (Rwy 02R/20L)", + "", + "ksna1_twr_119900", + "02r", + ), + feed("KSNA", "ground", "Clearance Delivery", "", "ksna1_del"), + feedN( + "KSNA", + "ground", + "Clearance Delivery (Backup)", + "", + "ksna1_del2", + "backup", + ), + feedN( + "KSNA", + "ground", + "Ground (Backup/West)", + "", + "ksna1_gnd_132250", + "west", + ), + feedN( + "KSNA", + "ground", + "Ground (Primary/East)", + "", + "ksna1_gnd_120800", + "primary", + ), + feed("KSNA", "approach", "SOCAL Approach (Beach Sector)", "", "ksna1_app_125350"), + feedN( + "KSNA", + "approach", + "SOCAL Approach (Harbor Sector)", + "", + "ksna1_app_127200", + "harbor", + ), + feedN( + "KSNA", + "approach", + "SOCAL Approach (Shore Sector)", + "", + "ksna1_app_124100", + "shore", + ), + feedN( + "KSNA", + "approach", + "SOCAL Approach (Tustin Sector)", + "", + "ksna1_app_121300", + "tustin", + ), + feed("KSNA", "departure", "SOCAL Departure (Pacific Sector)", "", "ksna1_dep_128100"), + feed("KSNA", "atis", "ATIS", "", "ksna1_atis"), + feed("KSNA", "center", "ZLA LA Center (Sector 18 Low)", "", "ksna1_zla_125275"), + feedN( + "KSNA", + "center", + "ZLA LA Center (Sector 21 Low)", + "", + "ksna1_zla_132850", + "sector", + ), + feedN( + "KSNA", + "center", + "ZLA LA Center (Sector 30 Oceanic) #5", + "", + "ksna1_zla_119950", + "30", + ), + ], + + // Santa Fe Municipal Airport (Santa Fe, New Mexico, United States) — CSV verified + KSAF: [ + feed("KSAF", "tower", "Tower", "", "ksaf"), + ], + + // Sarasota/Bradenton International Airport (Sarasota/Bradenton, Florida, United States) — CSV verified + KSRQ: [ + feed("KSRQ", "tower", "Tower", "", "ksrq1_twr"), + feed("KSRQ", "ground", "Del/Gnd", "", "ksrq1_del_gnd"), + feed("KSRQ", "approach", "App/Dep", "", "ksrq1_app_dep"), + feed("KSRQ", "center", "ZMA Miami Center (07)", "", "ksrq2_zma_132350"), + feedN( + "KSRQ", + "center", + "ZMA Miami Center (07/08/25)", + "", + "ksrq1_zma", + "07", + ), + feedN( + "KSRQ", + "center", + "ZMA Miami Center (08)", + "", + "ksrq2_zma_133900", + "08", + ), + feedN( + "KSRQ", + "center", + "ZMA Miami Center (25)", + "", + "ksrq2_zma_128225", + "25", + ), + ], + + // Schenectady County Airport (Schenectady, New York, United States) — CSV verified + KSCH: [ + feed("KSCH", "tower", "Tower", "", "kalb2_ksch_twr"), + feed("KSCH", "ground", "Ground", "", "kalb2_ksch_gnd"), + ], + + // Scottsdale Airport (Scottsdale, Arizona, United States) — CSV verified + KSDL: [ + feed("KSDL", "tower", "Tower #2", "", "ksdl2_twr"), + feed("KSDL", "ground", "Ground", "", "ksdl2_gnd"), + feed("KSDL", "approach", "KPHX Approach (Biltmore Sector)", "", "kphx4_app_sdl"), + feed("KSDL", "atis", "ATIS", "", "ksdl2_atis"), + feed("KSDL", "center", "Emergency/Guard", "", "ksdl2_guard"), + ], + + // Sheboygan County Memorial Airport (Sheboygan, Wisconsin, United States) — CSV verified + KSBM: [ + feed("KSBM", "approach", "Milwaukee Approach (SBM)", "", "ksbm1_app"), + feed("KSBM", "center", "Area Guard (Emergency)", "", "ksbm1_guard"), + feedN( + "KSBM", + "center", + "CTAF", + "", + "ksbm1_ctaf", + "2", + ), + ], + + // Sioux Gateway Airport/Col. Bud Day Field (Sioux City, Iowa, United States) — CSV verified + KSUX: [ + feed("KSUX", "combined", "Twr/App/ZMP", "", "ksux2"), + ], + + // Joe Foss Field Airport (Sioux Falls, South Dakota, United States) — CSV verified + KFSD: [ + feed("KFSD", "combined", "Twr/App/Dep/ZMP", "", "kfsd1"), + ], + + // Johnston Regional Airport (Smithfield, North Carolina, United States) — CSV verified + KJNX: [ + feed("KJNX", "atis", "AWOS", "", "kjnx2"), + feed("KJNX", "center", "CTAF", "", "kjnx"), + ], + + // Smyrna Airport (Smyrna, Tennessee, United States) — CSV verified + KMQY: [ + feed("KMQY", "tower", "Tower", "", "kmqy1_twr"), + feed("KMQY", "ground", "Clearance Delivery", "", "kmqy1_del"), + feedN( + "KMQY", + "ground", + "Ground", + "", + "kmqy1_gnd", + "2", + ), + feed("KMQY", "center", "Emergency/Guard", "", "kmqy1_guard"), + feed("KMQY", "combined", "Ground/Tower", "", "kmqy1_gnd_twr"), + ], + + // Solon Springs Municipal Airport (Solon Springs, Wisconsin, United States) — CSV verified + KOLG: [ + feed("KOLG", "center", "CTAF", "", "3cu_kolg_ctaf"), + ], + + // Spanish Fork Municipal Airport/Woodhouse Field (Spanish Fork, Utah, United States) — CSV verified + KSPK: [ + feed("KSPK", "center", "CTAF", "", "kspk2"), + ], + + // Upper Cumberland Regional Airport (Sparta, Tennessee, United States) — CSV verified + KSRB: [ + feed("KSRB", "center", "CTAF", "", "ksrb2"), + ], + + // Spokane International Airport (Spokane, Washington, United States) — CSV verified + KGEG: [ + feed("KGEG", "combined", "Del/Gnd/Twr/App", "", "kgeg"), + ], + + // Felts Field Airport (Spokane, Washington, United States) — CSV verified + KSFF: [ + feed("KSFF", "tower", "Tower", "", "ksff2_twr"), + feed("KSFF", "ground", "Ground", "", "ksff2_gnd"), + feed("KSFF", "approach", "Spokane Approach/Departure", "", "ksff2_app"), + feed("KSFF", "atis", "ATIS", "", "ksff2_atis"), + ], + + // Fairchild Air Force Base (Spokane, Washington, United States) — CSV verified + KSKA: [ + feed("KSKA", "tower", "Tower", "", "kska2"), + ], + + // Springdale Municipal Airport (Springdale, Arkansas, United States) — CSV verified + KASG: [ + feed("KASG", "approach", "App/Dep", "", "kasg1_app"), + feed("KASG", "combined", "Gnd/Twr", "", "kasg1_twr"), + feedN( + "KASG", + "combined", + "Gnd/Twr/App", + "", + "kasg1", + "2", + ), + ], + + // Westover Air Reserve Base/Metropolitan Airport (Springfield/Chicopee, Massachusetts, United States) — CSV verified + KCEF: [ + feed("KCEF", "tower", "KBAF/KCEF Tower", "", "kbaf1_twr"), + ], + + // Rosecrans Memorial Airport (St Joseph, Missouri, United States) — CSV verified + KSTJ: [ + feed("KSTJ", "tower", "Tower", "", "kstj2_twr"), + feed("KSTJ", "ground", "Ground", "", "kstj2_gnd"), + feed("KSTJ", "approach", "App/Dep", "", "kstj2_app"), + feed("KSTJ", "atis", "ATIS", "", "kstj2_atis"), + ], + + // St Petersburg-Clearwater International Airport (St Petersburg-Clearwater, Florida, United States) — CSV verified + KPIE: [ + feed("KPIE", "tower", "Tower", "", "kpie1_twr"), + feed("KPIE", "ground", "Ground", "", "kpie1_gnd"), + feed("KPIE", "approach", "Tampa Approach (West/High)", "", "kpie1_app_118800"), + feed("KPIE", "center", "Area Emergency/Guard", "", "kpie1_guard"), + feed("KPIE", "combined", "Del/Gnd/Twr", "", "kpie1_del_gnd_twr"), + ], + + // Albert Whitted Airport (St. Petersburg, Florida, United States) — CSV verified + KSPG: [ + feed("KSPG", "tower", "Tower", "", "kspg3_twr"), + feed("KSPG", "ground", "Ground", "", "kspg3_gnd"), + feed("KSPG", "combined", "Ground/Tower", "", "kspg3_gnd_twr"), + ], + + // Witham Field Airport (Stuart, Florida, United States) — CSV verified + KSUA: [ + feed("KSUA", "combined", "Ground/Tower", "", "ksua1"), + ], + + // Summerville Airport (Summerville, South Carolina, United States) — CSV verified + KDYB: [ + feed("KDYB", "center", "CTAF", "", "kdyb2"), + ], + + // Syracuse Hancock International Airport (Syracuse, New York, United States) — CSV verified + KSYR: [ + feed("KSYR", "tower", "Tower", "", "ksyr_twr"), + feed("KSYR", "ground", "Clearance Delivery", "", "ksyr_del"), + feedN( + "KSYR", + "ground", + "Ground", + "", + "ksyr_gnd", + "2", + ), + feed("KSYR", "approach", "App/Dep", "", "ksyr_app"), + feed("KSYR", "atis", "ATIS", "", "ksyr_atis"), + feed("KSYR", "combined", "Ground/Tower", "", "ksyr_gnd_twr"), + feedN( + "KSYR", + "combined", + "Tower/Approach", + "", + "ksyr", + "2", + ), + ], + + // Tacoma Narrows Airport (Tacoma, Washington, United States) — CSV verified + KTIW: [ + feed("KTIW", "tower", "Tower", "", "ktiw3"), + ], + + // Tallahassee Regional Airport (Tallahassee, Florida, United States) — CSV verified + KTLH: [ + feed("KTLH", "combined", "Del/Gnd/Twr/App", "", "ktlh"), + ], + + // MacDill Air Force Base (Tampa, Florida, United States) — CSV verified + KMCF: [ + feed("KMCF", "tower", "Tower", "", "ktpa5_kmcf_twr"), + ], + + // Tampa International Airport (Tampa, Florida, United States) — CSV verified + KTPA: [ + feed("KTPA", "tower", "Tower #1", "", "ktpa2"), + feedN( + "KTPA", + "tower", + "Tower #2", + "", + "ktpa5_twr", + "2", + ), + feed("KTPA", "approach", "Tampa Approach (West/High)", "", "kpie1_app_118800"), + ], + + // Peter O Knight Airport (Tampa, Florida, United States) — CSV verified + KTPF: [ + feed("KTPF", "center", "CTAF", "", "ktpa5_ktpf_ctaf"), + ], + + // Tampa Executive Airport (Tampa, Florida, United States) — CSV verified + KVDF: [ + feed("KVDF", "center", "CTAF", "", "ktpa5_kvdf_ctaf"), + ], + + // Teterboro Airport (Teterboro, New Jersey, United States) — CSV verified + KTEB: [ + feed("KTEB", "tower", "Tower (Secondary)", "", "kteb_es_twr2"), + feedN( + "KTEB", + "tower", + "Tower #1", + "", + "kteb_es_twr_r", + "1", + ), + feedN( + "KTEB", + "tower", + "Tower #2", + "", + "kteb_es_twr", + "2", + ), + feed("KTEB", "ground", "Clearance Delivery #1", "", "kteb_es_del"), + feedN( + "KTEB", + "ground", + "Clearance Delivery #2", + "", + "kteb_es_del_r", + "2", + ), + feedN( + "KTEB", + "ground", + "Del/Gnd/Ramp", + "", + "kteb1", + "3", + ), + feedN( + "KTEB", + "ground", + "Ground #1", + "", + "kteb_es_gnd_r", + "1", + ), + feedN( + "KTEB", + "ground", + "Ground #2", + "", + "kteb_es_gnd", + "4", + ), + feedN( + "KTEB", + "ground", + "Ramp Control", + "", + "kteb_es_ramp", + "5", + ), + feed("KTEB", "atis", "ATIS", "", "kteb_es_atis"), + feed("KTEB", "combined", "FBOs", "", "kteb_es_fbos"), + feedN( + "KTEB", + "combined", + "Ops", + "", + "kteb_es_ops", + "2", + ), + ], + + // Ocean County Airport (Toms River, New Jersey, United States) — CSV verified + KMJX: [ + feed("KMJX", "combined", "KBLM/N12/3N6/KMJX", "", "kblm2"), + ], + + // Topeka Regional Airport (Topeka, Kansas, United States) — CSV verified + KFOE: [ + feed("KFOE", "combined", "Gnd/Twr/CTAF", "", "ktop3"), + ], + + // Philip Billard Municipal Airport (Topeka, Kansas, United States) — CSV verified + KTOP: [ + feed("KTOP", "combined", "Ground/Tower", "", "ktop2_twrgnd"), + ], + + // Cherry Capital Airport (Traverse City, Michigan, United States) — CSV verified + KTVC: [ + feed("KTVC", "combined", "Ground/Tower/Center", "", "ktvc2_all"), + ], + + // Trenton Mercer Airport (Trenton, New Jersey, United States) — CSV verified + KTTN: [ + feed("KTTN", "tower", "Tower", "", "kttn_twr"), + feed("KTTN", "ground", "Ground", "", "kttn_gnd"), + feed("KTTN", "atis", "ATIS", "", "kttn_atis"), + feed("KTTN", "center", "Area Guard", "", "kttn_guard"), + feed("KTTN", "combined", "Ground/Tower #1", "", "kttn"), + feedN( + "KTTN", + "combined", + "Ground/Tower #2", + "", + "kttn_gnd_twr", + "2", + ), + ], + + // Oakland/Troy Airport (Troy, Michigan, United States) — CSV verified + KVLL: [ + feed("KVLL", "center", "KMTC Area CTAF", "", "kmtc1_area_ctaf"), + ], + + // Truckee-Tahoe Airport (Truckee, California, United States) — CSV verified + KTRK: [ + feed("KTRK", "tower", "Tower/CTAF #1", "", "ktrk_twr1"), + feedN( + "KTRK", + "tower", + "Tower/CTAF #2", + "", + "ktrk_twr", + "2", + ), + feed("KTRK", "ground", "Ground", "", "ktrk_gnd"), + feed("KTRK", "atis", "ATIS/AWOS", "", "ktrk_atis"), + feed("KTRK", "center", "Emergency/Guard", "", "ktrk_guard"), + feedN( + "KTRK", + "center", + "UNICOM", + "", + "ktrk", + "2", + ), + feedN( + "KTRK", + "center", + "ZOA Oakland Center (44)", + "", + "ktrk_zoa44", + "44", + ), + feed("KTRK", "combined", "Gnd/Twr/CTAF", "", "ktrk_gnd_twr"), + ], + + // Tucson International Airport (Tucson, Arizona, United States) — CSV verified + KTUS: [ + feed("KTUS", "center", "ZAB Sector 46 (Tucson Low)", "", "zab46"), + feedN( + "KTUS", + "center", + "ZAB Sector 91 (Gila Bend High)", + "", + "kphx4_zab91", + "gila", + ), + feed("KTUS", "combined", "Del/Gnd/Twr/App/KDMA", "", "ktus2"), + ], + + // Tyler Pounds Regional Airport (Tyler, Texas, United States) — CSV verified + KTYR: [ + feed("KTYR", "tower", "Tower", "", "ktyr2_twr"), + feed("KTYR", "ground", "Ground", "", "ktyr2_gnd"), + feed("KTYR", "approach", "App/Dep", "", "ktyr2_app"), + feed("KTYR", "atis", "ATIS", "", "ktyr2_atis"), + feed("KTYR", "center", "UNICOM", "", "ktyr2_unicom"), + feedN( + "KTYR", + "center", + "ZFW Sector 25", + "", + "ktyr2_ctr", + "se", + ), + feed("KTYR", "combined", "Ground/Tower", "", "ktyr2_gnd_twr"), + ], + + // Pearson Field Airport (Vancouver, Washington, United States) — CSV verified + KVUO: [ + feed("KVUO", "center", "CTAF/Guard", "", "kpdx_pearson"), + ], + + // Venice Municipal Airport (Venice, Florida, United States) — CSV verified + KVNC: [ + feed("KVNC", "center", "CTAF", "", "kvnc1"), + feedN( + "KVNC", + "center", + "Emergency/Guard", + "", + "kvnc1_guard", + "2", + ), + ], + + // Vero Beach Municipal Airport (Vero Beach, Florida, United States) — CSV verified + KVRB: [ + feed("KVRB", "tower", "Tower", "", "kvrb_twr"), + feed("KVRB", "ground", "Ground", "", "kvrb_gnd"), + feed("KVRB", "approach", "App/Dep", "", "kvrb_app"), + feed("KVRB", "atis", "ATIS", "", "kvrb_atis"), + feed("KVRB", "center", "ZMA Sector 04", "", "kvrb_zma04"), + feedN( + "KVRB", + "center", + "ZMA Sector 23", + "", + "kvrb_zma23", + "se", + ), + ], + + // Martha\'s Vineyard Airport (Vineyard Haven, Massachusetts, United States) — CSV verified + KMVY: [ + feed("KMVY", "combined", "Twr/App", "", "kmvy_twrapp"), + ], + + // Oceana Naval Air Station (Apollo Soucek Field) (Virginia Beach, Virginia, United States) — CSV verified + KNTU: [ + feed("KNTU", "combined", "Giant Killer", "", "korf_gk"), + feedN( + "KNTU", + "combined", + "Gnd/Twr/App", + "", + "kntu3_uhf", + "2", + ), + feedN( + "KNTU", + "combined", + "Gnd/Twr/App/Radar", + "", + "kntu1", + "3", + ), + ], + + // Walnut Ridge Regional Airport (Walnut Ridge, Arkansas, United States) — CSV verified + KARG: [ + feed("KARG", "center", "CTAF/Memphis Center", "", "karg1"), + ], + + // Ronald Reagan Washington National Airport (Washington, District of Columbia, United States) — CSV verified + KDCA: [ + feed("KDCA", "tower", "Tower", "", "kdca1_twr"), + feedN( + "KDCA", + "tower", + "Tower/KJPN Helicopter", + "", + "kdca4_heli", + "2", + ), + feed("KDCA", "ground", "Ground", "", "kdca1_gnd"), + feed("KDCA", "approach", "Potomac App/Dep (FLUKY)", "", "kdca1_dep_121050"), + feedN( + "KDCA", + "approach", + "Potomac App/Dep (KRANT)", + "", + "kdca1_dep_e", + "krant", + ), + feedN( + "KDCA", + "approach", + "Potomac Approach (DCA Final)", + "", + "kdca1_app_final", + "dca", + ), + feedN( + "KDCA", + "approach", + "Potomac Approach (OJAAY Sector)", + "", + "kdca1_app_119850", + "ojaay", + ), + feed("KDCA", "departure", "Potomac Departure", "", "kdca1_dep"), + feed("KDCA", "combined", "Potomac App (LURAY)", "", "kmrb1_app_luray"), + feedN( + "KDCA", + "combined", + "Tower/Approach", + "", + "kdca", + "2", + ), + ], + + // Pentagon Army Heliport (Washington, District of Columbia, United States) — CSV verified + KJPN: [ + feed("KJPN", "tower", "KDCA Tower/KJPN Helicopter", "", "kdca4_heli"), + feedN( + "KJPN", + "tower", + "KDCA Tower/KJPN Helicopter", + "", + "kdca4_heli", + "2", + ), + ], + + // Waukesha County Airport (Waukesha, Wisconsin, United States) — CSV verified + KUES: [ + feed("KUES", "combined", "Gnd/Twr", "", "kues4"), + ], + + // Waupaca Municipal Airport (Waupaca, Wisconsin, United States) — CSV verified + KPCZ: [ + feed("KPCZ", "center", "KPCZ/KCLI/Y50/W23/KEZS CTAF", "", "kpcz2"), + ], + + // Palm Beach County Park Airport (West Palm Beach, Florida, United States) — CSV verified + KLNA: [ + feed("KLNA", "center", "CTAF", "", "kpbi2_klna"), + feedN( + "KLNA", + "center", + "West Palm Beach Area CTAFs", + "", + "kpbi1_misc", + "west", + ), + ], + + // Palm Beach International Airport (West Palm Beach, Florida, United States) — CSV verified + KPBI: [ + feed("KPBI", "tower", "Tower", "", "kpbi2_twr"), + feed("KPBI", "ground", "Clearance Delivery", "", "kpbi2_del"), + feedN( + "KPBI", + "ground", + "Ground", + "", + "kpbi2_gnd", + "2", + ), + feed("KPBI", "approach", "App (Final)", "", "kpbi2_final"), + feed("KPBI", "atis", "ATIS", "", "kpbi2_atis"), + feed("KPBI", "center", "Emergency/Guard", "", "kpbi2_guard"), + feedN( + "KPBI", + "center", + "ZMA Sector 01", + "", + "kpbi1_zma01", + "se", + ), + feedN( + "KPBI", + "center", + "ZMA Sector 20", + "", + "kpbi1_zma20", + "2", + ), + feedN( + "KPBI", + "center", + "ZMA Sector 21", + "", + "kpbi1_zma21", + "3", + ), + feedN( + "KPBI", + "center", + "ZMA Sector 46", + "", + "kpbi1_zma46", + "4", + ), + feed("KPBI", "combined", "App (North)", "", "kpbi2_app_n"), + feedN( + "KPBI", + "combined", + "App (North/South)", + "", + "kpbi2_app", + "north", + ), + feedN( + "KPBI", + "combined", + "App (South)", + "", + "kpbi2_app_s", + "south", + ), + feedN( + "KPBI", + "combined", + "Dep (North)", + "", + "kpbi2_dep_n", + "2", + ), + feedN( + "KPBI", + "combined", + "Dep (North/South)", + "", + "kpbi2_dep", + "3", + ), + feedN( + "KPBI", + "combined", + "Dep (South)", + "", + "kpbi2_dep_s", + "4", + ), + feedN( + "KPBI", + "combined", + "GA Gate Hold", + "", + "kpbi2_gate_ga", + "5", + ), + feedN( + "KPBI", + "combined", + "Gnd/Twr", + "", + "kpbi2_gnd_twr", + "6", + ), + ], + + // Barnes Municipal Airport (Westfield/Springfield, Massachusetts, United States) — CSV verified + KBAF: [ + feed("KBAF", "tower", "KBAF/KCEF Tower", "", "kbaf1_twr"), + feed("KBAF", "ground", "Ground", "", "kbaf1_gnd"), + feed("KBAF", "atis", "ATIS", "", "kbaf1_atis"), + feed("KBAF", "combined", "Ground/Tower", "", "kbaf1_gnd_twr"), + ], + + // Carroll County Regional Airport/Jack B Poage Field (Westminster, Maryland, United States) — CSV verified + KDMW: [ + feed("KDMW", "atis", "AWOS #2", "", "kdmw2_awos"), + feed("KDMW", "center", "CTAF #2", "", "kdmw2_122700"), + feedN( + "KDMW", + "center", + "Emergency/Guard #2", + "", + "kdmw2_guard", + "2", + ), + ], + + // Westchester County Airport (White Plains, New York, United States) — CSV verified + KHPN: [ + feed("KHPN", "tower", "Tower", "", "khpn_twr"), + feed("KHPN", "ground", "Delivery/Ground", "", "khpn_del_gnd"), + feed("KHPN", "approach", "NY Approach (NOBBI/NYACK/HAARP)", "", "khpn2"), + feed("KHPN", "atis", "ATIS", "", "khpn_atis2"), + feed("KHPN", "combined", "Del/Gnd/Tower #1", "", "khpn2_del_gnd_twr"), + ], + + // Colonel James Jabara Airport (Wichita, Kansas, United States) — CSV verified + KAAO: [ + feed("KAAO", "approach", "Wichita Approach (Both)", "", "kaao3_app_both"), + feedN( + "KAAO", + "approach", + "Wichita Approach (East Satellite)", + "", + "kaao3_app_134800", + "east", + ), + feedN( + "KAAO", + "approach", + "Wichita Approach (East)", + "", + "kaao3_app_134850", + "2", + ), + feedN( + "KAAO", + "approach", + "Wichita Approach (HUT Satellite)", + "", + "kaao3_app_125500", + "hut", + ), + feedN( + "KAAO", + "approach", + "Wichita Approach (West)", + "", + "kaao3_app_126700", + "west", + ), + feed("KAAO", "atis", "ASOS", "", "kaao3_asos"), + feed("KAAO", "center", "CTAF", "", "kaao3_122700"), + ], + + // Beech Factory Airport (Wichita, Kansas, United States) — CSV verified + KBEC: [ + feed("KBEC", "tower", "Tower", "", "kaao3_kbec_twr"), + ], + + // Cessna Aircraft Field Airport (Wichita, Kansas, United States) — CSV verified + KCEA: [ + feed("KCEA", "center", "CTAF", "", "kaao3_122900"), + ], + + // Mc Connell Air Force Base (Wichita, Kansas, United States) — CSV verified + KIAB: [ + feed("KIAB", "tower", "Tower", "", "kaao3_kiab_twr"), + ], + + // Wichita Falls Municipal Airport / Sheppard Air Force Base (Wichita Falls, Texas, United States) — CSV verified + KSPS: [ + feed("KSPS", "center", "ZFW Sector 75", "", "zfw_ksps_127950"), + ], + + // Williston Basin International Airport (Williston, North Dakota, United States) — CSV verified + KXWA: [ + feed("KXWA", "center", "Area Guard", "", "kxwa2_guard"), + feedN( + "KXWA", + "center", + "CTAF", + "", + "kxwa2_ctaf", + "2", + ), + ], + + // Wilmington International Airport (Wilmington, North Carolina, United States) — CSV verified + KILM: [ + feed("KILM", "center", "ZDC Sector 35 Wilmington", "", "zdc_kilm2"), + feedN( + "KILM", + "center", + "ZNY Sector 83 HANRI", + "", + "zny_ilm_hanri", + "se", + ), + feed("KILM", "combined", "Gnd/Twr/App", "", "kilm2_gnd_twr_app"), + feedN( + "KILM", + "combined", + "Gnd/Twr/App/ZDC", + "", + "kilm2_s", + "2", + ), + ], + + // Bradley International Airport (Windsor Locks, Connecticut, United States) — CSV verified + KBDL: [ + feed("KBDL", "tower", "Tower", "", "kbdl2_twr"), + feed("KBDL", "ground", "Del/Gnd", "", "kbdl2_del_gnd"), + feed("KBDL", "approach", "Approach/ANG", "", "kbdl2_app"), + feed("KBDL", "atis", "ATIS", "", "kbdl2_atis"), + feed("KBDL", "combined", "Twr/App", "", "kbdl2_twr_app"), + ], + + // Winter Haven's Gilbert Airport (Winter Haven, Florida, United States) — CSV verified + KGIF: [ + feed("KGIF", "atis", "ASOS", "", "kgif_awos"), + feed("KGIF", "center", "CTAF/GCO/Guard", "", "kgif_s"), + feedN( + "KGIF", + "center", + "GCO/Guard", + "", + "kgif_gco_guard", + "2", + ), + feedN( + "KGIF", + "center", + "KGIF/F57 CTAF", + "", + "kgif_ctaf", + "3", + ), + feedN( + "KGIF", + "center", + "KPCM/KGIF CTAF", + "", + "klal8_ctaf_123050", + "4", + ), + ], + + // Worcester Regional Airport (Worcester, Massachusetts, United States) — CSV verified + KORH: [ + feed("KORH", "tower", "Tower", "", "korh_murp_twr"), + feed("KORH", "approach", "Bradley App/Dep", "", "korh_murp_app"), + feed("KORH", "atis", "ATIS", "", "korh_murp_atis"), + ], + + // McGuire Field (Joint Base Mc Guire Dix Lakehurst) Airport (Wrightstown, New Jersey, United States) — CSV verified + KWRI: [ + feed("KWRI", "combined", "KNEL/KWRI/ZNY", "", "kblm1"), + ], + + // Yakima Air Terminal/McAllister Field (Yakima, Washington, United States) — CSV verified + KYKM: [ + feed("KYKM", "tower", "Tower", "", "kykm1_twr"), + feed("KYKM", "ground", "Ground", "", "kykm1_gnd"), + feed("KYKM", "center", "Seattle Center (Sector 09 Low)", "", "kykm1_zse_132600"), + feed("KYKM", "combined", "App/Dep", "", "kykm1_app"), + ], + + // Yuma MCAS/International Airport (Yuma, Arizona, United States) — CSV verified + KNYL: [ + feed("KNYL", "combined", "Del/Gnd/Twr/App/ZLA", "", "knyl1_local"), + ], + + // Zelienople Municipal Airport (Zelienople, Pennsylvania, United States) — CSV verified + KPJC: [ + feed("KPJC", "center", "Area Emergency/Guard", "", "kpjc3_guard"), + feedN( + "KPJC", + "center", + "CTAF", + "", + "kpjc3_ctaf", + "2", + ), + ], + + // Zephyrhills Municipal Airport (Zephyrhills, Florida, United States) — CSV verified + KZPH: [ + feed("KZPH", "center", "CTAF #1", "", "kzph2"), + ], + + + // ── Europe (additional) ────────────────────────────────────── + + + // -- Bulgaria -- + // Burgas International Airport (Burgas, Bulgaria) — CSV verified + LBBG: [ + feed("LBBG", "combined", "Twr/App", "", "lbbg2"), + ], + + // Plovdiv International Airport (Plovdiv, Bulgaria) — CSV verified + LBPD: [ + feed("LBPD", "tower", "Tower", "", "lbsf2_lbpd_twr"), + ], + + // Sofia International Airport (Sofia, Bulgaria) — CSV verified + LBSF: [ + feed("LBSF", "combined", "Tower/Approach #2", "", "lbsf1"), + ], + + + // -- Estonia -- + // Tallinn Airport (Tallinn, Estonia) — CSV verified + EETN: [ + feed("EETN", "combined", "Tower/Approach", "", "eetn2_twr"), + ], + + + // -- Finland -- + // Helsinki-Vantaa Airport (Helsinki, Finland) — CSV verified + EFHK: [ + feed("EFHK", "tower", "Tower (22L/04R 15/33)", "", "efhk2_twr1"), + ], + + + // -- Greece -- + // Skiathos International Airport (Skiathos, Greece) — CSV verified + LGSK: [ + feed("LGSK", "combined", "Twr/App/ACC", "", "lgav2"), + ], + + + // -- Hungary -- + // Debrecen Airport (Debrecen, Hungary) — CSV verified + LHDC: [ + feed("LHDC", "tower", "Info/Tower", "", "lhdc"), + ], + + + // -- Ireland -- + // Ireland West Airport Knock (Charlestown, Ireland) — CSV verified + EIKN: [ + feed("EIKN", "combined", "Gnd/Twr/App", "", "eikn2"), + ], + + // Cork Airport (Cork, Ireland) — CSV verified + EICK: [ + feed("EICK", "combined", "Gnd/Twr/App/Dep", "", "eick4_gta"), + ], + + // Shannon Airport (Shannon, Ireland) — CSV verified + EINN: [ + feed("EINN", "center", "Shannon Control High (East)", "", "einn2_high1"), + feedN( + "EINN", + "center", + "Shannon Control High (West/Coastal)", + "", + "einn2_high2", + "west", + ), + feedN( + "EINN", + "center", + "Shannon Control Low", + "", + "einn2_low1", + "2", + ), + feed("EINN", "combined", "Twr/App #1", "", "einn2"), + ], + + + // -- Latvia -- + // Riga International Airport (Riga, Latvia) — CSV verified + EVRA: [ + feed("EVRA", "tower", "Tower/Guard", "", "evra1"), + feed("EVRA", "approach", "Approach", "", "evra2"), + feed("EVRA", "center", "CTAF", "", "evra3"), + feedN( + "EVRA", + "center", + "FIC", + "", + "evra4", + "2", + ), + ], + + + // -- Lithuania -- + // Vilnius International Airport (Vilnius, Lithuania) — CSV verified + EYVI: [ + feed("EYVI", "combined", "Tower/Approach/Misc", "", "eyvi"), + ], + + + // -- Netherlands -- + // Gilze-Rijen Air Base (Breda, Netherlands) — CSV verified + EHGR: [ + feed("EHGR", "tower", "Tower", "", "ehgr4_twr"), + feed("EHGR", "combined", "Area Gliders", "", "ehgr4_gliders"), + ], + + // Eindhoven Airport (Eindhoven, Netherlands) — CSV verified + EHEH: [ + feed("EHEH", "tower", "Tower #1", "", "eheh3_twr"), + feedN( + "EHEH", + "tower", + "Tower #2", + "", + "eheh7_twr2", + "2", + ), + feedN( + "EHEH", + "tower", + "Tower 122.1", + "", + "eheh7_twr1", + "3", + ), + feed("EHEH", "ground", "Ground #3", "", "eheh7_gnd"), + feed("EHEH", "approach", "Approach #1", "", "eheh3_app"), + ], + + // Groningen Airport Eelde (Groningen, Netherlands) — CSV verified + EHGG: [ + feed("EHGG", "tower", "Tower", "", "ehgg1_twr"), + feed("EHGG", "ground", "Ground", "", "ehgg1_gnd"), + feed("EHGG", "approach", "Approach", "", "ehgg1_app"), + feed("EHGG", "atis", "ATIS", "", "ehgg1_atis"), + feed("EHGG", "center", "Guard/Emergency", "", "ehgg1_guard"), + feedN( + "EHGG", + "center", + "MUAC/Eurocontrol (EHGG Area)", + "", + "ehgg1_muac", + "ehgg", + ), + feed("EHGG", "combined", "Twr/App (Secondary)", "", "ehgg1_bu"), + ], + + // Lelystad Airport (Lelystad, Netherlands) — CSV verified + EHLE: [ + feed("EHLE", "tower", "Tower", "", "ehle_twr"), + feed("EHLE", "ground", "Clearance Delivery", "", "ehle_del"), + feed("EHLE", "approach", "Approach/Dutch Mil Radar", "", "ehle_dutchmil"), + feedN( + "EHLE", + "approach", + "App/Dep", + "", + "ehle_app", + "2", + ), + feed("EHLE", "center", "FIC", "", "ehle_fic"), + ], + + // Rotterdam The Hague Airport (Rotterdam, Netherlands) — CSV verified + EHRD: [ + feed("EHRD", "tower", "Tower", "", "ehrd1_twr"), + feedN( + "EHRD", + "tower", + "Tower (Regional Guard)", + "", + "ehrd1_twr2", + "regional", + ), + feed("EHRD", "ground", "Ground/Clearance", "", "ehrd1_gnd"), + feed("EHRD", "approach", "Rotterdam Approach 127.025", "127.025", "ehrd1_app2"), + feedN( + "EHRD", + "approach", + "Schiphol Approach (EHRD Area)", + "", + "ehrd1_eham_app", + "ehrd", + ), + feed("EHRD", "atis", "Adam Info 124.3", "", "ehrd1_info"), + feedN( + "EHRD", + "atis", + "Rotterdam ATIS", + "", + "ehrd1_atis", + "2", + ), + ], + + + // -- North Macedonia, Republic of -- + // Skopje Airport (Petrovec, North Macedonia, Republic of) — CSV verified + LWSK: [ + feed("LWSK", "tower", "Tower", "", "lwsk2_2"), + feed("LWSK", "approach", "Approach", "", "lwsk2_3"), + feed("LWSK", "atis", "ATIS", "", "lwsk2_atis"), + feed("LWSK", "center", "ACC (Lower)", "", "lwsk2_4"), + feedN( + "LWSK", + "center", + "ACC (Upper)", + "", + "lwsk2_1", + "upper", + ), + ], + + + // -- Norway -- + // Alesund Airport, Vigra (Alesund, Norway) — CSV verified + ENAL: [ + feed("ENAL", "tower", "Tower", "", "enal4"), + ], + + // Alta Airport (Alta, Norway) — CSV verified + ENAT: [ + feed("ENAT", "combined", "Twr/App/Control", "", "enat2"), + ], + + // Bergen Airport - Flesland (Bergen, Norway) — CSV verified + ENBR: [ + feed("ENBR", "tower", "Tower", "", "enbr4_twr"), + feed("ENBR", "approach", "Approach", "", "enbr4_app"), + feed("ENBR", "center", "Area Emergency/Guard", "", "enbr4_guard"), + ], + + // Bodo Airport (Bodo, Norway) — CSV verified + ENBO: [ + feed("ENBO", "tower", "Tower", "", "enbo_twr"), + feed("ENBO", "approach", "Approach", "", "enbo_app"), + ], + + // Harstad/Narvik Airport (Evenes, Norway) — CSV verified + ENEV: [ + feed("ENEV", "combined", "Twr/App/ACC", "", "enev"), + ], + + // Farsund Airport, Lista (Farsund, Norway) — CSV verified + ENLI: [ + feed("ENLI", "center", "CTAF", "", "enli3_ctaf"), + feedN( + "ENLI", + "center", + "Polaris FIR Sector 09/12", + "", + "enli3_pol9", + "se", + ), + feedN( + "ENLI", + "center", + "Polaris FIR Sector 10/11", + "", + "enli3_pol10", + "2", + ), + feed("ENLI", "combined", "GA", "", "enli3_ga"), + ], + + // Kirkenes Airport (Kirkenes, Norway) — CSV verified + ENKR: [ + feed("ENKR", "combined", "ENKR/ENVD Twr/App", "", "enkr2"), + ], + + // Kristiansand Airport - Kjevik (Kristiansand, Norway) — CSV verified + ENCN: [ + feed("ENCN", "combined", "Tower/Approach", "", "encn"), + ], + + // Tromso Airport (Langnes, Norway) — CSV verified + ENTC: [ + feed("ENTC", "combined", "Tower/Approach", "", "entc"), + ], + + // Moss Airport - Rygge (Moss, Norway) — CSV verified + ENRY: [ + feed("ENRY", "tower", "Tower", "", "enry_twr"), + feed("ENRY", "center", "ENOR Sector 8", "", "enor_sector8"), + ], + + // Sandefjord Airport - Torp (Sandefjord, Norway) — CSV verified + ENTO: [ + feed("ENTO", "tower", "Tower", "", "ento_twr"), + feed("ENTO", "approach", "App/Dep", "", "ento_tma"), + feed("ENTO", "center", "Control Sector 4", "", "ento_ctl_4"), + feed("ENTO", "combined", "Tower/App", "", "ento"), + feedN( + "ENTO", + "combined", + "Twr/App", + "", + "ento_twr_tma", + "2", + ), + ], + + // Stavanger Sola Airport (Stavanger, Norway) — CSV verified + ENZV: [ + feed("ENZV", "combined", "Gnd/Twr/App", "", "enzv2"), + ], + + // Vaernes Airport (Trondheim, Norway) — CSV verified + ENVA: [ + feed("ENVA", "combined", "Ground/Tower/Approach", "", "enva"), + ], + + // Vadso Airport (Vadso, Norway) — CSV verified + ENVD: [ + feed("ENVD", "combined", "ENKR/ENVD Twr/App", "", "enkr2"), + ], + + + // -- Poland -- + // Bydgoszcz Ignacy Jan Paderewski Airport (Bydgoszcz, Poland) — CSV verified + EPBY: [ + feed("EPBY", "tower", "Tower", "", "epby3_twr"), + feed("EPBY", "atis", "ATIS", "", "epby3_atis"), + ], + + // Katowice International Airport (Katowice, Poland) — CSV verified + EPKT: [ + feed("EPKT", "approach", "Delivery/Approach", "", "epkt_gnd"), + feed("EPKT", "combined", "Del/Twr/App", "", "epkt"), + feedN( + "EPKT", + "combined", + "Tower/Approach", + "", + "epkt_twr_app", + "2", + ), + ], + + // John Paul II Balice International Airport (Krakow, Poland) — CSV verified + EPKK: [ + feed("EPKK", "combined", "Tower/Approach", "", "epkk_app"), + ], + + // Lublinek Airport (Lodz, Poland) — CSV verified + EPLL: [ + feed("EPLL", "tower", "Tower", "", "epll"), + ], + + // Lublin Airport (Lublin, Poland) — CSV verified + EPLB: [ + feed("EPLB", "tower", "Tower/Misc", "", "eplb2"), + ], + + // Poznan-Lawica Henryk Wieniawski Airport (Poznan, Poland) — CSV verified + EPPO: [ + feed("EPPO", "combined", "Twr/App/FIS", "", "eppo2"), + ], + + // Fredric Chopin Warsaw Airport (Warsaw, Poland) — CSV verified + EPWA: [ + feed("EPWA", "tower", "Tower", "", "epwa_twr2"), + feed("EPWA", "ground", "Ground", "", "epwa_gnd"), + feed("EPWA", "approach", "Approach #1", "", "epwa_app"), + feedN( + "EPWA", + "approach", + "Approach #2", + "", + "epwa_app2", + "2", + ), + ], + + // Strachowice Airport (Wroclaw, Poland) — CSV verified + EPWR: [ + feed("EPWR", "tower", "Tower", "", "epwr4_twr"), + feed("EPWR", "ground", "Clearance Delivery", "", "epwr4_del"), + feed("EPWR", "approach", "Approach #2", "", "epwr4_app2"), + feed("EPWR", "center", "Area Emergency/Guard", "", "epwr4_guard"), + feedN( + "EPWR", + "center", + "FIS (South)", + "", + "epwr4_fis_s", + "south", + ), + ], + + + // -- Portugal -- + // Beja Airport (Beja, Portugal) — CSV verified + LPBJ: [ + feed("LPBJ", "tower", "Tower", "", "lpbj2_twr"), + feed("LPBJ", "approach", "App/Dep", "", "lpbj2_app"), + ], + + // Faro Airport (Faro, Portugal) — CSV verified + LPFR: [ + feed("LPFR", "tower", "Tower", "", "lpfr_twr"), + feed("LPFR", "ground", "Ground", "", "lpfr_gnd"), + feed("LPFR", "approach", "Approach", "", "lpfr_app"), + ], + + // Madeira International Airport (Madeira, Portugal) — CSV verified + LPMA: [ + feed("LPMA", "approach", "Approach", "", "lpma2"), + feedN( + "LPMA", + "approach", + "Approach/LPPC Center", + "", + "lppc2", + "2", + ), + ], + + // Porto Airport (Porto, Portugal) — CSV verified + LPPR: [ + feed("LPPR", "approach", "Approach #1", "", "lppr2"), + ], + + + // -- Romania -- + // Brasov-Ghimbav International Airport (Brasov, Romania) — CSV verified + LRBV: [ + feed("LRBV", "tower", "Tower", "", "lrbv2"), + ], + + // Otopeni International Airport (Bucharest, Romania) — CSV verified + LROP: [ + feed("LROP", "ground", "Ground", "", "lrop2"), + feed("LROP", "approach", "Radar", "", "lrop_rdr"), + feed("LROP", "combined", "Tower/Approach", "", "lrop_twr"), + feedN( + "LROP", + "combined", + "Twr/App/Radar", + "", + "lrop", + "2", + ), + ], + + // Cluj-Napoca International Airport (Cluj-Napoca, Romania) — CSV verified + LRCL: [ + feed("LRCL", "combined", "Twr/App #1", "", "lrcl"), + ], + + // Sibiu International Airport (Sibiu, Romania) — CSV verified + LRSB: [ + feed("LRSB", "tower", "Tower/CTAF", "", "lrsb2"), + ], + + // Traian Vuia International Airport (Timisoara, Romania) — CSV verified + LRTR: [ + feed("LRTR", "tower", "Tower", "", "lrtr"), + ], + + + // -- Russia -- + // Salekhard Airport (Salekhard, Russia) — CSV verified + USDD: [ + feed("USDD", "combined", "Gnd/Twr/App/Control", "", "usdd1"), + ], + + // Sochi International Airport (Sochi, Russia) — CSV verified + URSS: [ + feed("URSS", "combined", "Gnd/Twr/App", "", "urss"), + ], + + + // -- Serbia -- + // Belgrade Nikola Tesla Airport (Belgrade, Serbia) — CSV verified + LYBE: [ + feed("LYBE", "tower", "Tower", "", "lybe2_twr_118100"), + ], + + // Constantine the Great Airport (Nis, Serbia) — CSV verified + LYNI: [ + feed("LYNI", "combined", "Twr/App", "", "lyni2"), + ], + + + // -- Slovakia -- + // Milan Rastislav Stefanik Airport (Bratislava, Slovakia) — CSV verified + LZIB: [ + feed("LZIB", "combined", "Ground/Tower/Approach", "", "lzib2"), + ], + + // Kosice International Airport (Kosice, Slovakia) — CSV verified + LZKZ: [ + feed("LZKZ", "combined", "Gnd/Twr/App", "", "lzkz"), + ], + + // Piestany Airport (Piestany, Slovakia) — CSV verified + LZPP: [ + feed("LZPP", "combined", "Ground/Tower", "", "lzpp2"), + ], + + // Poprad-Tatry Airport (Poprad, Slovakia) — CSV verified + LZTT: [ + feed("LZTT", "tower", "Tower", "", "lztt2_twr"), + ], + + + // -- Slovenia -- + // Ljubljana Joze Pucnik Airport (Ljubljana, Slovenia) — CSV verified + LJLJ: [ + feed("LJLJ", "tower", "Tower", "", "ljlj_twr"), + feed("LJLJ", "approach", "Radar", "", "ljlj_app"), + feed("LJLJ", "atis", "Info", "", "ljlj_info"), + ], + + // Maribor Edvard Rusjan Airport (Maribor, Slovenia) — CSV verified + LJMB: [ + feed("LJMB", "tower", "Tower", "", "ljmb3"), + ], + + + // -- Sweden -- + // Dala Airport (Borlange, Sweden) — CSV verified + ESSD: [ + feed("ESSD", "tower", "Tower/Control", "", "essd2"), + ], + + // Landvetter Airport (Gothenburg, Sweden) — CSV verified + ESGG: [ + feed("ESGG", "tower", "Tower", "", "esgg2_twr"), + feed("ESGG", "approach", "Approach", "", "esgg2_app"), + feed("ESGG", "combined", "Twr/App", "", "esgg2_twr_app"), + ], + + // Kalmar Airport (Kalmar, Sweden) — CSV verified + ESMQ: [ + feed("ESMQ", "tower", "Tower", "", "esmq2"), + ], + + // Linkoping City (Saab) Airport (Linkoping, Sweden) — CSV verified + ESSL: [ + feed("ESSL", "combined", "Twr/App/Control", "", "essl"), + ], + + // Lulea Airport (Lulea, Sweden) — CSV verified + ESPA: [ + feed("ESPA", "tower", "Tower/Control", "", "espa"), + ], + + // Kungsangen Airport (Norrkoping, Sweden) — CSV verified + ESSP: [ + feed("ESSP", "combined", "Twr/App/Control", "", "essp2_twr_app_ctrl"), + ], + + // Orebro Airport (Orebro, Sweden) — CSV verified + ESOE: [ + feed("ESOE", "tower", "Tower/Control", "", "esoe2"), + ], + + // Stockholm-Bromma Airport (Stockholm, Sweden) — CSV verified + ESSB: [ + feed("ESSB", "tower", "Tower", "", "essb4"), + ], + + // Malmo Airport (Svedala, Sweden) — CSV verified + ESMS: [ + feed("ESMS", "approach", "Radar", "", "esms3_app"), + ], + + + // -- Switzerland -- + // Lugano Airport (Agno, Switzerland) — CSV verified + LSZA: [ + feed("LSZA", "tower", "Tower", "", "lsza"), + ], + + // St. Gallen-Altenrhein Airport (Altenrhein, Switzerland) — CSV verified + LSZR: [ + feed("LSZR", "tower", "Tower", "", "lszr"), + ], + + // Bern-Belp Airport (Bern, Switzerland) — CSV verified + LSZB: [ + feed("LSZB", "tower", "Tower", "", "lszb2_twr"), + feed("LSZB", "ground", "Clearance Delivery", "", "lszb2_del"), + feed("LSZB", "approach", "App/Dep", "", "lszb2_app_dep"), + feed("LSZB", "atis", "ATIS", "", "lszb2_atis"), + feed("LSZB", "combined", "Del/Twr/App/Dep", "", "lszb2_del_twr_app"), + feedN( + "LSZB", + "combined", + "Twr/App/Dep", + "", + "lszb2_twr_app", + "2", + ), + ], + + // Mollis Airfield (Glarus, Switzerland) — CSV verified + LSZM: [ + feed("LSZM", "center", "AFIS", "", "lszm_afis"), + ], + + // Grenchen Airport (Grenchen, Switzerland) — CSV verified + LSZG: [ + feed("LSZG", "tower", "Tower", "", "lszg"), + ], + + // Sion International Airport (Sion, Switzerland) — CSV verified + LSGS: [ + feed("LSGS", "combined", "Gnd/Twr/App", "", "lsgs"), + ], + + + // -- Turkey -- + // Ataturk Airport (Istanbul, Turkey) — CSV verified + LTBA: [ + feed("LTBA", "combined", "Gnd/Twr/App", "", "ltba_s"), + ], + + + // ── Asia Pacific (additional) ──────────────────────────────── + + + // -- Japan -- + // Fukuoka Airport (Fukuoka, Japan) — CSV verified + RJFF: [ + feed("RJFF", "tower", "Tower", "", "rjff3_twr"), + feed("RJFF", "ground", "Del/Gnd/TCA", "", "rjff3_app2"), + feed("RJFF", "approach", "App/Radar", "", "rjff3_app1"), + feed("RJFF", "departure", "Departure", "", "rjff3_dep"), + feed("RJFF", "center", "Control (Misc)", "", "rjff3_ctl"), + ], + + // Osaka International Airport (Osaka, Japan) — CSV verified + RJOO: [ + feed("RJOO", "tower", "Tower", "", "rjoo1"), + ], + + // Sapporo Okadama Airport (Sapporo, Japan) — CSV verified + RJCO: [ + feed("RJCO", "tower", "Tower", "", "rjco2_twr"), + feed("RJCO", "approach", "Approach", "", "rjco2_app"), + ], + + // Fukushima Airport (Sukagawa, Japan) — CSV verified + RJSF: [ + feed("RJSF", "combined", "RDO", "", "rjsf"), + ], + + // Yokota Air Base (Tokyo, Japan) — CSV verified + RJTY: [ + feed("RJTY", "tower", "Tower", "", "rjty1_twr"), + feed("RJTY", "ground", "Ground", "", "rjty1_gnd"), + feed("RJTY", "approach", "Approach", "", "rjty1_app"), + feed("RJTY", "atis", "ATIS", "", "rjty1_atis"), + feed("RJTY", "combined", "Ground/Tower", "", "rjty1_gnd_twr"), + ], + + + // -- Kuwait -- + // Kuwait International Airport (Kuwait City, Kuwait) — CSV verified + OKKK: [ + feed("OKKK", "combined", "Gnd/Twr/App/Radar", "", "okbk2"), + ], + + + // -- Malaysia -- + // Kota Kinabalu International Airport (Kota Kinabalu, Malaysia) — CSV verified + WBKK: [ + feed("WBKK", "combined", "Ground/Tower/Radar/Control", "", "wbkk2"), + ], + + // Butterworth Airport (Panang, Malaysia) — CSV verified + WMKB: [ + feed("WMKB", "tower", "Tower", "", "wmkb"), + ], + + + // -- Pakistan -- + // Allama Iqbal International Airport (Lahore, Pakistan) — CSV verified + OPLA: [ + feed("OPLA", "atis", "ATIS", "", "opla_atis"), + feed("OPLA", "combined", "OPLA/OPLH Gnd/Twr/App", "", "opla"), + ], + + + // -- Russia -- + // Khabarovsk Novy Airport (Khabarovsk, Russia) — CSV verified + UHHH: [ + feed("UHHH", "combined", "Gnd/Twr/App/Radar/Control", "", "uhhh2"), + ], + + // Tolmachevo Airport (Novosibirsk, Russia) — CSV verified + UNNT: [ + feed("UNNT", "combined", "Ground/Tower/Approach/Radar/Misc", "", "unnt"), + ], + + // Roshchino International Airport (Tyumen, Russia) — CSV verified + USTR: [ + feed("USTR", "combined", "Gnd/Twr/App", "", "ustr"), + ], + + + // -- Taiwan -- + // Taipei Songshan Airport (Taipei, Taiwan) — CSV verified + RCSS: [ + feed("RCSS", "combined", "Tower/Approach/Departure", "", "rcss2"), + ], + + + // ── Oceania (additional) ────────────────────────────────────── + + + // -- Australia -- + // Adelaide International Airport (Adelaide, South Australia, Australia) — CSV verified + YPAD: [ + feed("YPAD", "combined", "Del/Gnd/Twr/App", "", "ypad_misc"), + feedN( + "YPAD", + "combined", + "Gnd/Twr/App/Center", + "", + "ypad", + "2", + ), + ], + + // Alice Springs Airport (Alice Springs, Northern Territory, Australia) — CSV verified + YBAS: [ + feed("YBAS", "tower", "Tower/Center", "", "ybas"), + ], + + // Avalon Airport (Avalon, Victoria, Australia) — CSV verified + YMAV: [ + feed("YMAV", "approach", "Del/App", "", "ymav2"), + ], + + // Sydney Bankstown Airport (Bankstown, New South Wales, Australia) — CSV verified + YSBK: [ + feed("YSBK", "tower", "Tower", "", "ysbk_atis"), + feed("YSBK", "atis", "ATIS", "", "ysbk_twr"), + ], + + // Brisbane International Airport (Brisbane, Queensland, Australia) — CSV verified + YBBN: [ + feed("YBBN", "tower", "Tower (North/South)", "", "ybbn7_twr"), + feed("YBBN", "center", "Brisbane Center (129.000)", "129.000", "ybbn9_ctr"), + ], + + // Cairns International Airport (Cairns, Queensland, Australia) — CSV verified + YBCS: [ + feed("YBCS", "tower", "Tower", "", "ybcs_twr"), + feed("YBCS", "ground", "Ground", "", "ybcs_gnd"), + feed("YBCS", "approach", "App/Dep (all)", "", "ybcs_app_dep_both"), + feedN( + "YBCS", + "approach", + "App/Dep #1", + "", + "ybcs_app_dep", + "1", + ), + feedN( + "YBCS", + "approach", + "App/Dep #2", + "", + "ybcs_dep", + "2", + ), + feed("YBCS", "center", "Brisbane Centre", "", "ybcs_centre"), + feedN( + "YBCS", + "center", + "Emergency/Guard", + "", + "ybcs_guard", + "2", + ), + feed("YBCS", "combined", "Ground/Tower", "", "ybcs_gnd_twr"), + ], + + // Hobart International Airport (Cambridge, Tasmania, Australia) — CSV verified + YMHB: [ + feed("YMHB", "tower", "Twr/Centre/Misc", "", "ymhb2"), + ], + + // Camden General Airport (Camden, New South Wales, Australia) — CSV verified + YSCN: [ + feed("YSCN", "tower", "Tower/CTAF", "", "yscn3"), + ], + + // Canberra International Airport (Canberra, Australian Capital Territory, Australia) — CSV verified + YSCB: [ + feed("YSCB", "tower", "Tower", "", "yscb2_twr"), + feed("YSCB", "approach", "App/Dep", "", "yscb2_app"), + feedN( + "YSCB", + "approach", + "App/Dep (East)", + "", + "yscb2_app_e", + "east", + ), + feedN( + "YSCB", + "approach", + "App/Dep (West)", + "", + "yscb2_app_w", + "west", + ), + feed("YSCB", "atis", "ATIS", "", "yscb2_atis"), + feed("YSCB", "center", "Melbourne Center (124.1)", "", "yscb2_ctr_124100"), + feedN( + "YSCB", + "center", + "Melbourne Center (128.4)", + "", + "yscb2_ctr_128400", + "ne", + ), + feed("YSCB", "combined", "Twr/App/Dep", "", "yscb2_all"), + ], + + // Charleville Airport (Charleville, Queensland, Australia) — CSV verified + YBCV: [ + feed("YBCV", "center", "CTAF/Brisbane Center", "", "ybcv"), + ], + + // Darwin International Airport (Darwin, Northern Territory, Australia) — CSV verified + YPDN: [ + feed("YPDN", "combined", "Gnd/Twr/App/Dep", "", "ypdn"), + ], + + // Gold Coast Airport (Gold Coast City, Queensland, Australia) — CSV verified + YBCG: [ + feed("YBCG", "tower", "Tower #1", "", "ybcg3_twr"), + feed("YBCG", "ground", "Ground", "", "ybcg3_gnd"), + feed("YBCG", "approach", "Approach", "", "ybcg3_app"), + feed("YBCG", "center", "Area CTAF", "", "ybcg3_area_ctaf"), + feedN( + "YBCG", + "center", + "Brisbane Centre", + "", + "ybcg3_centre", + "ne", + ), + feed("YBCG", "combined", "Ground/Tower", "", "ybcg3_gnd_twr"), + ], + + // Oakey Airport (Oakey, Queensland, Australia) — CSV verified + YBOK: [ + feed("YBOK", "combined", "Del/Gnd/Twr/App", "", "ybok"), + ], + + // Perth Jandakot Airport (Perth, Western Australia, Australia) — CSV verified + YPJT: [ + feed("YPJT", "tower", "Tower", "", "ypjt3_twr"), + feed("YPJT", "ground", "Ground", "", "ypjt3_gnd"), + feed("YPJT", "center", "Melbourne Center", "", "ypjt2_melb_ctr"), + feedN( + "YPJT", + "center", + "Perth Center", + "", + "ypjt2_ctr", + "2", + ), + feed("YPJT", "combined", "Gnd/Twr", "", "ypjt2_misc"), + ], + + // Port Macquarie Airport (Port Macquarie, New South Wales, Australia) — CSV verified + YPMQ: [ + feed("YPMQ", "center", "CTAF", "", "ypmq2"), + ], + + // RAAF Base Richmond (Richmond, New South Wales, Australia) — CSV verified + YSRI: [ + feed("YSRI", "tower", "Tower", "", "ysri2_twr"), + ], + + // Southport Airfield (Southport, Queensland, Australia) — CSV verified + YSPT: [ + feed("YSPT", "center", "CTAF", "", "yspt2"), + ], + + // Tamworth Regional Airport (Tamworth, New South Wales, Australia) — CSV verified + YSTW: [ + feed("YSTW", "combined", "Gnd/Twr/Center", "", "ystw3"), + ], + + // Townsville Airport (Townsville, Queensland, Australia) — CSV verified + YBTL: [ + feed("YBTL", "tower", "Tower", "", "ybtl1_twr"), + feed("YBTL", "ground", "Clearance Delivery", "", "ybtl1_del"), + feedN( + "YBTL", + "ground", + "Ground", + "", + "ybtl1_gnd", + "2", + ), + feed("YBTL", "approach", "Approach/Departure", "", "ybtl1_app"), + feed("YBTL", "atis", "ATIS", "", "ybtl1_atis"), + feed("YBTL", "center", "Brisbane Center", "", "ybtl1_ctr"), + ], + + // Toowoomba Wellcamp Airport (Wellcamp, Queensland, Australia) — CSV verified + YBWW: [ + feed("YBWW", "center", "CTAF", "", "ybww_ctaf"), + ], + + + // ── South America (additional) ───────────────────────────── + + + // -- Argentina -- + // Ing A L V Tarravella International Airport (Cordoba, Argentina) — CSV verified + SACO: [ + feed("SACO", "tower", "Tower", "", "saco2_twr"), + feedN( + "SACO", + "tower", + "Tower (Aux 1)", + "", + "saco2_twr_aux1", + "aux", + ), + feedN( + "SACO", + "tower", + "Tower (Aux 2)", + "", + "saco2_twr_aux2", + "2", + ), + feed("SACO", "combined", "TMA", "", "saco2_tma"), + ], + + // La Plata Airport (La Plata, Argentina) — CSV verified + SADL: [ + feed("SADL", "combined", "Misc", "", "sadl2"), + ], + + // Presidente Peron International Airport (Neuquen, Argentina) — CSV verified + SAZN: [ + feed("SAZN", "tower", "Tower", "", "sazn_twr"), + ], + + // San Carlos de Bariloche Airport (Rio Negro, Argentina) — CSV verified + SAZS: [ + feed("SAZS", "combined", "Gnd/Twr/App", "", "sazs"), + ], + + // Martin Miguel de Guemes International Airport (Salta, Argentina) — CSV verified + SASA: [ + feed("SASA", "combined", "Twr/App", "", "sasa"), + ], + + // Teniente Benjamin Matienzo Airport (Tucuman, Argentina) — CSV verified + SANT: [ + feed("SANT", "combined", "Tower/Apps", "", "sant"), + ], + + + // -- Aruba -- + // Queen Beatrix International Airport (Oranjestad, Aruba) — CSV verified + TNCA: [ + feed("TNCA", "combined", "Tower/Approach/Ground", "", "tnca"), + ], + + + // -- Bonaire -- + // Flamingo International Airport (Kralendijk, Bonaire) — CSV verified + TNCB: [ + feed("TNCB", "tower", "Tower", "", "tncb"), + feed("TNCB", "atis", "ATIS", "", "tncb_atis"), + ], + + + // -- Brazil -- + // Santa Maria Airport (Aracaju, Brazil) — CSV verified + SBAR: [ + feed("SBAR", "combined", "Twr/App", "", "sbar2"), + ], + + // Val de Cans International Airport (Belem, Brazil) — CSV verified + SBBE: [ + feed("SBBE", "combined", "Twr/App/SBAZ", "", "sbbe"), + ], + + // Boa Vista International Airport (Boa Vista, Brazil) — CSV verified + SBBV: [ + feed("SBBV", "combined", "Tower/Approach", "", "sbbv3"), + ], + + // Presidente Juscelino Kubitschek International Airport (Brasilia, Brazil) — CSV verified + SBBR: [ + feed("SBBR", "approach", "Approach", "", "sbbr3_app"), + ], + + // Campina Grande/Presidente Joao Suassuna Airport (Campina Grande, Brazil) — CSV verified + SBKG: [ + feed("SBKG", "tower", "Tower", "", "sbkg3"), + ], + + // Viracopos International Airport (Campinas, Brazil) — CSV verified + SBKP: [ + feed("SBKP", "tower", "Tower #2", "", "sbkp3_twr"), + ], + + // Afonso Pena Airport (Curitiba, Brazil) — CSV verified + SBCT: [ + feed("SBCT", "combined", "Gnd/Twr/App", "", "sbct2"), + ], + + // Pinto Martins International Airport (Fortaleza, Brazil) — CSV verified + SBFZ: [ + feed("SBFZ", "combined", "Gnd/Twr/App", "", "sbfz4"), + feedN( + "SBFZ", + "combined", + "Gnd/Twr/App", + "", + "sbfz6", + "2", + ), + ], + + // Jorge Amado Airport (Ilheus, Brazil) — CSV verified + SBIL: [ + feed("SBIL", "center", "Ilheus Control/Misc", "", "sbil2"), + feedN( + "SBIL", + "center", + "Recife Center (Sectors 11/13/14)", + "", + "sbil2_ctr", + "sectors", + ), + ], + + // Presidente Castro Pinto International Airport (Joao Pessoa, Brazil) — CSV verified + SBJP: [ + feed("SBJP", "tower", "Tower", "", "sbjp2"), + ], + + // Juazeiro do Norte Airport (Juazeiro do Norte, Brazil) — CSV verified + SBJU: [ + feed("SBJU", "tower", "Tower/Center", "", "sbju"), + ], + + // Londrina Airport (Londrina, Brazil) — CSV verified + SBLO: [ + feed("SBLO", "combined", "Twr/App/Center", "", "sblo"), + ], + + // Regional de Maringa Silvio Name Junior Airport (Maringa, Brazil) — CSV verified + SBMG: [ + feed("SBMG", "combined", "Twr/App", "", "sbmg"), + ], + + // Montes Claros Airport (Montes Claros, Brazil) — CSV verified + SBMK: [ + feed("SBMK", "center", "RDO/Center", "", "sbmk"), + ], + + // Joao Silva Filho International Airport (Parnaiba, Brazil) — CSV verified + SBPB: [ + feed("SBPB", "atis", "Info", "", "sbpb2"), + ], + + // Paulo Afonso Airport (Paulo Afonso, Brazil) — CSV verified + SBUF: [ + feed("SBUF", "center", "SBRE Recife ACC", "", "sbre1"), + feedN( + "SBUF", + "center", + "AFIS/Center", + "", + "sbuf", + "2", + ), + ], + + // Petrolina Airport (Petrolina, Brazil) — CSV verified + SBPL: [ + feed("SBPL", "center", "RDO/ACC", "", "sbpl"), + ], + + // Guararapes International (Gilberto Freyre International) (Recife, Brazil) — CSV verified + SBRF: [ + feed("SBRF", "tower", "Tower", "", "sbrf_11835"), + feed("SBRF", "ground", "Ground", "", "sbrf_gnd"), + feed("SBRF", "center", "Recife ACC", "", "sbrf_acc"), + feed("SBRF", "combined", "App 129.60", "", "sbrf_12960"), + feedN( + "SBRF", + "combined", + "Gol Ops", + "", + "sbrf_gol", + "2", + ), + feedN( + "SBRF", + "combined", + "LATAM Ops", + "", + "sbrf_latam", + "3", + ), + ], + + // Santarem-Maestro Wilson Fonseca Airport (Santarem, Brazil) — CSV verified + SBSN: [ + feed("SBSN", "combined", "Twr/App/ACC", "", "sbsn"), + ], + + // Greater Natal International Airport (Sao Goncalo do Amarante, Brazil) — CSV verified + SBSG: [ + feed("SBSG", "combined", "Gnd/Twr/App", "", "sbsg3"), + ], + + // Sao Jose do Rio Preto Airport (Sao Jose do Rio Preto, Brazil) — CSV verified + SBSR: [ + feed("SBSR", "center", "AFIS/App/Center", "", "sbsr"), + ], + + // Teresina-Senador Petronio Portella Airport (Teresina, Brazil) — CSV verified + SBTE: [ + feed("SBTE", "combined", "Tower/Approach", "", "sbte2"), + ], + + // Torres Airport (Torres, Brazil) — CSV verified + SSTE: [ + feed("SSTE", "combined", "FCA/Air to Air", "", "sste2"), + ], + + + // -- Chile -- + // Arturo Merino Benitez International Airport (Santiago, Chile) — CSV verified + SCEL: [ + feed("SCEL", "combined", "Ground/Tower/Radar", "", "scel"), + ], + + + // -- Costa Rica -- + // Juan Santamaria International Airport (San Jose, Costa Rica) — CSV verified + MROC: [ + feed("MROC", "combined", "Delivery/Ground/Tower/Approach/Center/Misc", "", "mroc"), + ], + + + // -- Curacao -- + // Aeropuerto Hato (Willemstad, Curacao) — CSV verified + TNCC: [ + feed("TNCC", "tower", "Tower", "", "tncc3_twr"), + feed("TNCC", "center", "Control", "", "tncc"), + ], + + + // -- Ecuador -- + // Jose Joaquin de Olmedo International Airport (Guayaquil, Ecuador) — CSV verified + SEGU: [ + feed("SEGU", "approach", "App/Dep/Info", "", "segu1_app"), + feed("SEGU", "center", "Guayaquil Center", "", "segu1_acc"), + feed("SEGU", "combined", "Gnd/Twr", "", "segu1_gnd_twr"), + feedN( + "SEGU", + "combined", + "Gnd/Twr/App", + "", + "segu", + "se", + ), + ], + + + // -- El Salvador -- + // Ilopango International Airport (San Salvador, El Salvador) — CSV verified + MSSS: [ + feed("MSSS", "combined", "Ground/Tower/Approach", "", "msss4"), + ], + + + // -- Peru -- + // Rodriguez Ballon International Airport (Arequipa, Peru) — CSV verified + SPQU: [ + feed("SPQU", "combined", "Ground/Tower", "", "spqu2_gta"), + feedN( + "SPQU", + "combined", + "Misc", + "", + "spqu2_rdr", + "2", + ), + ], + + // Alejandro Velasco Astete International Airport (Cusco, Peru) — CSV verified + SPZO: [ + feed("SPZO", "tower", "Tower", "", "spzo2_twr"), + feed("SPZO", "ground", "Ground", "", "spzo2_gnd"), + feed("SPZO", "combined", "Misc", "", "spzo2_misc"), + ], + + // Jorge Chavez International Airport (Lima, Peru) — CSV verified + SPJC: [ + feed("SPJC", "tower", "Tower", "", "spjc1_twr"), + feed("SPJC", "ground", "Ground", "", "spjc1_gnd"), + feed("SPJC", "approach", "Approach", "", "spjc1_app"), + ], + + // Capitan FAP Renan Elias Olivera Airport (Pisco, Peru) — CSV verified + SPSO: [ + feed("SPSO", "tower", "Tower", "", "spso2_twr"), + feed("SPSO", "ground", "Ground", "", "spso2_gnd"), + feed("SPSO", "combined", "Misc", "", "spso2_misc"), + ], + + // Cadete FAP Guillermo del Castillo Paredes Airport (Tarapoto, Peru) — CSV verified + SPST: [ + feed("SPST", "tower", "Tower", "", "spst2"), + ], + + + // -- Suriname -- + // Zorg en Hoop Airport (Paramaribo, Suriname) — CSV verified + SMZO: [ + feed("SMZO", "tower", "Tower", "", "smzo2"), + ], + + + // -- Trinidad and Tobago -- + // Piarco International Airport (Port of Spain, Trinidad and Tobago) — CSV verified + TTPP: [ + feed("TTPP", "approach", "Approach/Center", "", "ttpp_app"), + feed("TTPP", "combined", "Ground/Tower", "", "ttpp_twr"), + ], + + // A. N. R. Robinson International Airport (Scarborough, Trinidad and Tobago) — CSV verified + TTCP: [ + feed("TTCP", "combined", "Gnd/Twr/App", "", "ttcp2"), + ], + + + // -- Uruguay -- + // Santa Bernardina International Airport (Durazno, Uruguay) — CSV verified + SUDU: [ + feed("SUDU", "combined", "Twr/App/FIR", "", "sudu1_twr_app"), + ], + + // Carrasco General Cesareo L. Berisso International Airport (Montevideo, Uruguay) — CSV verified + SUMU: [ + feed("SUMU", "tower", "Twr/Info", "", "sumu_twr_info"), + feed("SUMU", "approach", "App/Dep", "", "sumu_app_ctr"), + feed("SUMU", "center", "Montevideo Control (Antena Este)", "", "sumu3_ctl"), + ], + + // Paysandu Airport (Paysandu, Uruguay) — CSV verified + SUPU: [ + feed("SUPU", "center", "AFIS", "", "supu1_afis"), + ], + + // Capitan Corbeta C A Curbelo International Airport (Punta del Este, Uruguay) — CSV verified + SULS: [ + feed("SULS", "tower", "Tower", "", "suls2_twr"), + ], + + // Nueva Hesperides International Airport (Salto, Uruguay) — CSV verified + SUSO: [ + feed("SUSO", "combined", "Tower/Ramp", "", "suso1"), + ], + + + // -- Venezuela -- + // Manuel Carlos Piar Guayana Airport (Ciudad Guayana, Venezuela) — CSV verified + SVPR: [ + feed("SVPR", "combined", "Twr/App/FIR", "", "svpr2"), + ], + + + // ── Africa (additional) ──────────────────────────────────────── + + + // -- Ethiopia -- + // Bole International Airport (Addis Ababa, Ethiopia) — CSV verified + HAAB: [ + feed("HAAB", "tower", "Tower", "", "haab2_twr"), + feed("HAAB", "approach", "Approach", "", "haab2_app"), + ], + + + // -- Madagascar -- + // Ivato International Airport (Antananarivo, Madagascar) — CSV verified + FMMI: [ + feed("FMMI", "combined", "Twr/App/Center", "", "fmmi"), + ], + + + // -- Reunion -- + // Rolland Garros Airport (Sainte-Marie, Reunion) — CSV verified + FMEE: [ + feed("FMEE", "approach", "Approach/Departure", "", "fmee3"), + ], + + + // -- Zambia -- + // Kenneth Kaunda International Airport (Lusaka, Zambia) — CSV verified + FLKK: [ + feed("FLKK", "combined", "Twr/App", "", "flkk2"), + ], + }; /**