diff --git a/melting-pot-vue/.eslintrc.cjs b/melting-pot-vue/.eslintrc.cjs new file mode 100644 index 0000000..6617ed2 --- /dev/null +++ b/melting-pot-vue/.eslintrc.cjs @@ -0,0 +1,26 @@ +/* eslint-env node */ +require('@rushstack/eslint-patch/modern-module-resolution') + +module.exports = { + root: true, + 'extends': [ + 'plugin:vue/vue3-essential', + 'eslint:recommended', + '@vue/eslint-config-typescript', + '@vue/eslint-config-prettier/skip-formatting' + ], + overrides: [ + { + files: [ + 'cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}', + 'cypress/support/**/*.{js,ts,jsx,tsx}' + ], + 'extends': [ + 'plugin:cypress/recommended' + ] + } + ], + parserOptions: { + ecmaVersion: 'latest' + } +} diff --git a/melting-pot-vue/.gitignore b/melting-pot-vue/.gitignore new file mode 100644 index 0000000..8ee54e8 --- /dev/null +++ b/melting-pot-vue/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/melting-pot-vue/.pnp.cjs b/melting-pot-vue/.pnp.cjs new file mode 100755 index 0000000..a358c12 --- /dev/null +++ b/melting-pot-vue/.pnp.cjs @@ -0,0 +1,17508 @@ +#!/usr/bin/env node +/* eslint-disable */ +"use strict"; + +function $$SETUP_STATE(hydrateRuntimeState, basePath) { + return hydrateRuntimeState(JSON.parse('{\ + "__info": [\ + "This file is automatically generated. Do not touch it, or risk",\ + "your modifications being lost. We also recommend you not to read",\ + "it either without using the @yarnpkg/pnp package, as the data layout",\ + "is entirely unspecified and WILL change from a version to another."\ + ],\ + "dependencyTreeRoots": [\ + {\ + "name": "melting-pot-vue",\ + "reference": "workspace:."\ + }\ + ],\ + "enableTopLevelFallback": true,\ + "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\ + "fallbackExclusionList": [\ + ["melting-pot-vue", ["workspace:."]]\ + ],\ + "fallbackPool": [\ + ],\ + "packageRegistryData": [\ + [null, [\ + [null, {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["@rushstack/eslint-patch", "npm:1.7.2"],\ + ["@tsconfig/node20", "npm:20.1.2"],\ + ["@types/jsdom", "npm:21.1.6"],\ + ["@types/node", "npm:20.11.20"],\ + ["@vitejs/plugin-vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:5.0.4"],\ + ["@vue/eslint-config-prettier", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:8.0.0"],\ + ["@vue/eslint-config-typescript", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:12.0.0"],\ + ["@vue/test-utils", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.4.4"],\ + ["@vue/tsconfig", "npm:0.5.1"],\ + ["cypress", "npm:13.6.6"],\ + ["eslint", "npm:8.57.0"],\ + ["eslint-plugin-cypress", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.15.1"],\ + ["eslint-plugin-vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:9.22.0"],\ + ["jsdom", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:24.0.0"],\ + ["maplibre-gl", "npm:4.0.2"],\ + ["mitt", "npm:3.0.1"],\ + ["npm-run-all2", "npm:6.1.2"],\ + ["pinia", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.1.7"],\ + ["prettier", "npm:3.2.5"],\ + ["start-server-and-test", "npm:2.0.3"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"],\ + ["vite", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:5.1.4"],\ + ["vitest", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:1.3.1"],\ + ["vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.4.20"],\ + ["vue-maplibre-gl", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.1.3"],\ + ["vue-router", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:4.3.0"],\ + ["vue-tsc", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:1.8.27"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["@aashutoshrathi/word-wrap", [\ + ["npm:1.2.6", {\ + "packageLocation": "./.yarn/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-ada901b9e7.zip/node_modules/@aashutoshrathi/word-wrap/",\ + "packageDependencies": [\ + ["@aashutoshrathi/word-wrap", "npm:1.2.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-string-parser", [\ + ["npm:7.23.4", {\ + "packageLocation": "./.yarn/cache/@babel-helper-string-parser-npm-7.23.4-b1f0d030c3-c0641144cf.zip/node_modules/@babel/helper-string-parser/",\ + "packageDependencies": [\ + ["@babel/helper-string-parser", "npm:7.23.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-validator-identifier", [\ + ["npm:7.22.20", {\ + "packageLocation": "./.yarn/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-136412784d.zip/node_modules/@babel/helper-validator-identifier/",\ + "packageDependencies": [\ + ["@babel/helper-validator-identifier", "npm:7.22.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/parser", [\ + ["npm:7.23.9", {\ + "packageLocation": "./.yarn/cache/@babel-parser-npm-7.23.9-720a0b56cb-e7cd4960ac.zip/node_modules/@babel/parser/",\ + "packageDependencies": [\ + ["@babel/parser", "npm:7.23.9"],\ + ["@babel/types", "npm:7.23.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/types", [\ + ["npm:7.23.9", {\ + "packageLocation": "./.yarn/cache/@babel-types-npm-7.23.9-c32aeb5f36-0a9b008e9b.zip/node_modules/@babel/types/",\ + "packageDependencies": [\ + ["@babel/types", "npm:7.23.9"],\ + ["@babel/helper-string-parser", "npm:7.23.4"],\ + ["@babel/helper-validator-identifier", "npm:7.22.20"],\ + ["to-fast-properties", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@colors/colors", [\ + ["npm:1.5.0", {\ + "packageLocation": "./.yarn/cache/@colors-colors-npm-1.5.0-875af3a8b4-d64d5260be.zip/node_modules/@colors/colors/",\ + "packageDependencies": [\ + ["@colors/colors", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@cypress/request", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/@cypress-request-npm-3.0.1-7528f5a10a-7175522ebd.zip/node_modules/@cypress/request/",\ + "packageDependencies": [\ + ["@cypress/request", "npm:3.0.1"],\ + ["aws-sign2", "npm:0.7.0"],\ + ["aws4", "npm:1.12.0"],\ + ["caseless", "npm:0.12.0"],\ + ["combined-stream", "npm:1.0.8"],\ + ["extend", "npm:3.0.2"],\ + ["forever-agent", "npm:0.6.1"],\ + ["form-data", "npm:2.3.3"],\ + ["http-signature", "npm:1.3.6"],\ + ["is-typedarray", "npm:1.0.0"],\ + ["isstream", "npm:0.1.2"],\ + ["json-stringify-safe", "npm:5.0.1"],\ + ["mime-types", "npm:2.1.35"],\ + ["performance-now", "npm:2.1.0"],\ + ["qs", "npm:6.10.4"],\ + ["safe-buffer", "npm:5.2.1"],\ + ["tough-cookie", "npm:4.1.3"],\ + ["tunnel-agent", "npm:0.6.0"],\ + ["uuid", "npm:8.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@cypress/xvfb", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/@cypress-xvfb-npm-1.2.4-396a3691f7-7bdcdaeb1b.zip/node_modules/@cypress/xvfb/",\ + "packageDependencies": [\ + ["@cypress/xvfb", "npm:1.2.4"],\ + ["debug", "virtual:396a3691f7b25accf085fe2fff1f56eb7540eff3f2e928a7572ca1de9b831ff8f22136404f236aaed35d90369918dfc34392844d0f822a310563f34746dfb015#npm:3.2.7"],\ + ["lodash.once", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/aix-ppc64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-aix-ppc64-npm-0.19.12-20acbc4c27/node_modules/@esbuild/aix-ppc64/",\ + "packageDependencies": [\ + ["@esbuild/aix-ppc64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/android-arm", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm-npm-0.19.12-007d87d00d/node_modules/@esbuild/android-arm/",\ + "packageDependencies": [\ + ["@esbuild/android-arm", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/android-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm64-npm-0.19.12-639e34c5cb/node_modules/@esbuild/android-arm64/",\ + "packageDependencies": [\ + ["@esbuild/android-arm64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/android-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-x64-npm-0.19.12-eb12dd0e96/node_modules/@esbuild/android-x64/",\ + "packageDependencies": [\ + ["@esbuild/android-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/darwin-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-arm64-npm-0.19.12-09699ac6cb/node_modules/@esbuild/darwin-arm64/",\ + "packageDependencies": [\ + ["@esbuild/darwin-arm64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/darwin-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-x64-npm-0.19.12-b0a4fc6ed4/node_modules/@esbuild/darwin-x64/",\ + "packageDependencies": [\ + ["@esbuild/darwin-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/freebsd-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-arm64-npm-0.19.12-72d17754c1/node_modules/@esbuild/freebsd-arm64/",\ + "packageDependencies": [\ + ["@esbuild/freebsd-arm64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/freebsd-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-x64-npm-0.19.12-205ae522fa/node_modules/@esbuild/freebsd-x64/",\ + "packageDependencies": [\ + ["@esbuild/freebsd-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-arm", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm-npm-0.19.12-7ca68cf68c/node_modules/@esbuild/linux-arm/",\ + "packageDependencies": [\ + ["@esbuild/linux-arm", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm64-npm-0.19.12-8892c62251/node_modules/@esbuild/linux-arm64/",\ + "packageDependencies": [\ + ["@esbuild/linux-arm64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-ia32", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ia32-npm-0.19.12-268f0311c2/node_modules/@esbuild/linux-ia32/",\ + "packageDependencies": [\ + ["@esbuild/linux-ia32", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-loong64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-loong64-npm-0.19.12-45095084a9/node_modules/@esbuild/linux-loong64/",\ + "packageDependencies": [\ + ["@esbuild/linux-loong64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-mips64el", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-mips64el-npm-0.19.12-c44a0dd39c/node_modules/@esbuild/linux-mips64el/",\ + "packageDependencies": [\ + ["@esbuild/linux-mips64el", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-ppc64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ppc64-npm-0.19.12-cd007087a2/node_modules/@esbuild/linux-ppc64/",\ + "packageDependencies": [\ + ["@esbuild/linux-ppc64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-riscv64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-riscv64-npm-0.19.12-0f130d0d2f/node_modules/@esbuild/linux-riscv64/",\ + "packageDependencies": [\ + ["@esbuild/linux-riscv64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-s390x", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-s390x-npm-0.19.12-037101307a/node_modules/@esbuild/linux-s390x/",\ + "packageDependencies": [\ + ["@esbuild/linux-s390x", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-x64-npm-0.19.12-59062fdb38/node_modules/@esbuild/linux-x64/",\ + "packageDependencies": [\ + ["@esbuild/linux-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/netbsd-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-x64-npm-0.19.12-1fdaf59d1d/node_modules/@esbuild/netbsd-x64/",\ + "packageDependencies": [\ + ["@esbuild/netbsd-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/openbsd-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-x64-npm-0.19.12-4624aab034/node_modules/@esbuild/openbsd-x64/",\ + "packageDependencies": [\ + ["@esbuild/openbsd-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/sunos-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-sunos-x64-npm-0.19.12-66171c0024/node_modules/@esbuild/sunos-x64/",\ + "packageDependencies": [\ + ["@esbuild/sunos-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/win32-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-arm64-npm-0.19.12-aecceea4ec/node_modules/@esbuild/win32-arm64/",\ + "packageDependencies": [\ + ["@esbuild/win32-arm64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/win32-ia32", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-ia32-npm-0.19.12-0d6b37e2da/node_modules/@esbuild/win32-ia32/",\ + "packageDependencies": [\ + ["@esbuild/win32-ia32", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/win32-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-x64-npm-0.19.12-1bf4cb5f20/node_modules/@esbuild/win32-x64/",\ + "packageDependencies": [\ + ["@esbuild/win32-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint-community/eslint-utils", [\ + ["npm:4.4.0", {\ + "packageLocation": "./.yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "npm:4.4.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4286e12a3a0f74af013bc8f16c6d8fdde823cfbf6389660266b171e551f576c805b0a7a8eb2a7087a5cee7dfe6ebb6e1ea3808d93daf915edc95656907a381bb#npm:4.4.0", {\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-1c7da85a1a/0/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "virtual:4286e12a3a0f74af013bc8f16c6d8fdde823cfbf6389660266b171e551f576c805b0a7a8eb2a7087a5cee7dfe6ebb6e1ea3808d93daf915edc95656907a381bb#npm:4.4.0"],\ + ["@types/eslint", null],\ + ["eslint", "npm:8.57.0"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint-community/regexpp", [\ + ["npm:4.10.0", {\ + "packageLocation": "./.yarn/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-2a6e345429.zip/node_modules/@eslint-community/regexpp/",\ + "packageDependencies": [\ + ["@eslint-community/regexpp", "npm:4.10.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/eslintrc", [\ + ["npm:2.1.4", {\ + "packageLocation": "./.yarn/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-10957c7592.zip/node_modules/@eslint/eslintrc/",\ + "packageDependencies": [\ + ["@eslint/eslintrc", "npm:2.1.4"],\ + ["ajv", "npm:6.12.6"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["espree", "npm:9.6.1"],\ + ["globals", "npm:13.24.0"],\ + ["ignore", "npm:5.3.1"],\ + ["import-fresh", "npm:3.3.0"],\ + ["js-yaml", "npm:4.1.0"],\ + ["minimatch", "npm:3.1.2"],\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/js", [\ + ["npm:8.57.0", {\ + "packageLocation": "./.yarn/cache/@eslint-js-npm-8.57.0-00ead3710a-315dc65b0e.zip/node_modules/@eslint/js/",\ + "packageDependencies": [\ + ["@eslint/js", "npm:8.57.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@hapi/hoek", [\ + ["npm:9.3.0", {\ + "packageLocation": "./.yarn/cache/@hapi-hoek-npm-9.3.0-447eb8d274-4771c7a776.zip/node_modules/@hapi/hoek/",\ + "packageDependencies": [\ + ["@hapi/hoek", "npm:9.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@hapi/topo", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/@hapi-topo-npm-5.1.0-5e0b776809-604dfd5dde.zip/node_modules/@hapi/topo/",\ + "packageDependencies": [\ + ["@hapi/topo", "npm:5.1.0"],\ + ["@hapi/hoek", "npm:9.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/config-array", [\ + ["npm:0.11.14", {\ + "packageLocation": "./.yarn/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-861ccce9ea.zip/node_modules/@humanwhocodes/config-array/",\ + "packageDependencies": [\ + ["@humanwhocodes/config-array", "npm:0.11.14"],\ + ["@humanwhocodes/object-schema", "npm:2.0.2"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["minimatch", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/module-importer", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-0fd22007db.zip/node_modules/@humanwhocodes/module-importer/",\ + "packageDependencies": [\ + ["@humanwhocodes/module-importer", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/object-schema", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-2fc1150336.zip/node_modules/@humanwhocodes/object-schema/",\ + "packageDependencies": [\ + ["@humanwhocodes/object-schema", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@isaacs/cliui", [\ + ["npm:8.0.2", {\ + "packageLocation": "./.yarn/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-4a473b9b32.zip/node_modules/@isaacs/cliui/",\ + "packageDependencies": [\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["string-width", "npm:5.1.2"],\ + ["string-width-cjs", [\ + "string-width",\ + "npm:4.2.3"\ + ]],\ + ["strip-ansi", "npm:7.1.0"],\ + ["strip-ansi-cjs", [\ + "strip-ansi",\ + "npm:6.0.1"\ + ]],\ + ["wrap-ansi", "npm:8.1.0"],\ + ["wrap-ansi-cjs", [\ + "wrap-ansi",\ + "npm:7.0.0"\ + ]]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/schemas", [\ + ["npm:29.6.3", {\ + "packageLocation": "./.yarn/cache/@jest-schemas-npm-29.6.3-292730e442-910040425f.zip/node_modules/@jest/schemas/",\ + "packageDependencies": [\ + ["@jest/schemas", "npm:29.6.3"],\ + ["@sinclair/typebox", "npm:0.27.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/sourcemap-codec", [\ + ["npm:1.4.15", {\ + "packageLocation": "./.yarn/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-b881c7e503.zip/node_modules/@jridgewell/sourcemap-codec/",\ + "packageDependencies": [\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@mapbox/geojson-rewind", [\ + ["npm:0.5.2", {\ + "packageLocation": "./.yarn/cache/@mapbox-geojson-rewind-npm-0.5.2-716dd1ae97-721470ab5e.zip/node_modules/@mapbox/geojson-rewind/",\ + "packageDependencies": [\ + ["@mapbox/geojson-rewind", "npm:0.5.2"],\ + ["get-stream", "npm:6.0.1"],\ + ["minimist", "npm:1.2.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@mapbox/jsonlint-lines-primitives", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/@mapbox-jsonlint-lines-primitives-npm-2.0.2-f48e04c479-4eb31edd3c.zip/node_modules/@mapbox/jsonlint-lines-primitives/",\ + "packageDependencies": [\ + ["@mapbox/jsonlint-lines-primitives", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@mapbox/point-geometry", [\ + ["npm:0.1.0", {\ + "packageLocation": "./.yarn/cache/@mapbox-point-geometry-npm-0.1.0-d0fd1852be-ed41c1ce01.zip/node_modules/@mapbox/point-geometry/",\ + "packageDependencies": [\ + ["@mapbox/point-geometry", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@mapbox/tiny-sdf", [\ + ["npm:2.0.6", {\ + "packageLocation": "./.yarn/cache/@mapbox-tiny-sdf-npm-2.0.6-7a6b0597e9-efff5b5a75.zip/node_modules/@mapbox/tiny-sdf/",\ + "packageDependencies": [\ + ["@mapbox/tiny-sdf", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@mapbox/unitbezier", [\ + ["npm:0.0.1", {\ + "packageLocation": "./.yarn/cache/@mapbox-unitbezier-npm-0.0.1-4d3f0f5e22-bf104c85db.zip/node_modules/@mapbox/unitbezier/",\ + "packageDependencies": [\ + ["@mapbox/unitbezier", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@mapbox/vector-tile", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/@mapbox-vector-tile-npm-1.3.1-c7cbcaf846-7093d4fa7d.zip/node_modules/@mapbox/vector-tile/",\ + "packageDependencies": [\ + ["@mapbox/vector-tile", "npm:1.3.1"],\ + ["@mapbox/point-geometry", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@mapbox/whoots-js", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/@mapbox-whoots-js-npm-3.1.0-25c0fa7510-c1837c04ef.zip/node_modules/@mapbox/whoots-js/",\ + "packageDependencies": [\ + ["@mapbox/whoots-js", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@maplibre/maplibre-gl-style-spec", [\ + ["npm:20.1.1", {\ + "packageLocation": "./.yarn/cache/@maplibre-maplibre-gl-style-spec-npm-20.1.1-4eff87a6ec-6462a5bcc0.zip/node_modules/@maplibre/maplibre-gl-style-spec/",\ + "packageDependencies": [\ + ["@maplibre/maplibre-gl-style-spec", "npm:20.1.1"],\ + ["@mapbox/jsonlint-lines-primitives", "npm:2.0.2"],\ + ["@mapbox/unitbezier", "npm:0.0.1"],\ + ["json-stringify-pretty-compact", "npm:4.0.0"],\ + ["minimist", "npm:1.2.8"],\ + ["rw", "npm:1.3.3"],\ + ["sort-object", "npm:3.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.scandir", [\ + ["npm:2.1.5", {\ + "packageLocation": "./.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-a970d595bd.zip/node_modules/@nodelib/fs.scandir/",\ + "packageDependencies": [\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["run-parallel", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.stat", [\ + ["npm:2.0.5", {\ + "packageLocation": "./.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip/node_modules/@nodelib/fs.stat/",\ + "packageDependencies": [\ + ["@nodelib/fs.stat", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.walk", [\ + ["npm:1.2.8", {\ + "packageLocation": "./.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-190c643f15.zip/node_modules/@nodelib/fs.walk/",\ + "packageDependencies": [\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["fastq", "npm:1.17.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/agent", [\ + ["npm:2.2.1", {\ + "packageLocation": "./.yarn/cache/@npmcli-agent-npm-2.2.1-8af33193ae-c69aca42db.zip/node_modules/@npmcli/agent/",\ + "packageDependencies": [\ + ["@npmcli/agent", "npm:2.2.1"],\ + ["agent-base", "npm:7.1.0"],\ + ["http-proxy-agent", "npm:7.0.2"],\ + ["https-proxy-agent", "npm:7.0.4"],\ + ["lru-cache", "npm:10.2.0"],\ + ["socks-proxy-agent", "npm:8.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/fs", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/@npmcli-fs-npm-3.1.0-0844a57978-a50a6818de.zip/node_modules/@npmcli/fs/",\ + "packageDependencies": [\ + ["@npmcli/fs", "npm:3.1.0"],\ + ["semver", "npm:7.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@one-ini/wasm", [\ + ["npm:0.1.1", {\ + "packageLocation": "./.yarn/cache/@one-ini-wasm-npm-0.1.1-cee8120e33-11de17108e.zip/node_modules/@one-ini/wasm/",\ + "packageDependencies": [\ + ["@one-ini/wasm", "npm:0.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@pkgjs/parseargs", [\ + ["npm:0.11.0", {\ + "packageLocation": "./.yarn/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-6ad6a00fc4.zip/node_modules/@pkgjs/parseargs/",\ + "packageDependencies": [\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@pkgr/core", [\ + ["npm:0.1.1", {\ + "packageLocation": "./.yarn/cache/@pkgr-core-npm-0.1.1-844d1f59d1-6f25fd2e30.zip/node_modules/@pkgr/core/",\ + "packageDependencies": [\ + ["@pkgr/core", "npm:0.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-android-arm-eabi", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.12.0-e216111d4f/node_modules/@rollup/rollup-android-arm-eabi/",\ + "packageDependencies": [\ + ["@rollup/rollup-android-arm-eabi", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-android-arm64", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.12.0-979ed3e718/node_modules/@rollup/rollup-android-arm64/",\ + "packageDependencies": [\ + ["@rollup/rollup-android-arm64", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-darwin-arm64", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.12.0-d438d60a52/node_modules/@rollup/rollup-darwin-arm64/",\ + "packageDependencies": [\ + ["@rollup/rollup-darwin-arm64", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-darwin-x64", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.12.0-ce57e8207c/node_modules/@rollup/rollup-darwin-x64/",\ + "packageDependencies": [\ + ["@rollup/rollup-darwin-x64", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm-gnueabihf", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.12.0-d548765171/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm64-gnu", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.12.0-e6336e4cdb/node_modules/@rollup/rollup-linux-arm64-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-arm64-gnu", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm64-musl", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.12.0-ab0970e35c/node_modules/@rollup/rollup-linux-arm64-musl/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-arm64-musl", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-riscv64-gnu", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.12.0-e00ee762ef/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-riscv64-gnu", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-x64-gnu", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.12.0-8984040333/node_modules/@rollup/rollup-linux-x64-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-x64-gnu", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-x64-musl", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.12.0-21da3668ea/node_modules/@rollup/rollup-linux-x64-musl/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-x64-musl", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-win32-arm64-msvc", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.12.0-c2287b809a/node_modules/@rollup/rollup-win32-arm64-msvc/",\ + "packageDependencies": [\ + ["@rollup/rollup-win32-arm64-msvc", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-win32-ia32-msvc", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.12.0-fdfcf855a0/node_modules/@rollup/rollup-win32-ia32-msvc/",\ + "packageDependencies": [\ + ["@rollup/rollup-win32-ia32-msvc", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-win32-x64-msvc", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.12.0-b21d4991d2/node_modules/@rollup/rollup-win32-x64-msvc/",\ + "packageDependencies": [\ + ["@rollup/rollup-win32-x64-msvc", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rushstack/eslint-patch", [\ + ["npm:1.7.2", {\ + "packageLocation": "./.yarn/cache/@rushstack-eslint-patch-npm-1.7.2-e0ac536367-9c773e712c.zip/node_modules/@rushstack/eslint-patch/",\ + "packageDependencies": [\ + ["@rushstack/eslint-patch", "npm:1.7.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sideway/address", [\ + ["npm:4.1.5", {\ + "packageLocation": "./.yarn/cache/@sideway-address-npm-4.1.5-a3852745c8-3e3ea0f00b.zip/node_modules/@sideway/address/",\ + "packageDependencies": [\ + ["@sideway/address", "npm:4.1.5"],\ + ["@hapi/hoek", "npm:9.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sideway/formula", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/@sideway-formula-npm-3.0.1-ee371b2ddf-e4beeebc9d.zip/node_modules/@sideway/formula/",\ + "packageDependencies": [\ + ["@sideway/formula", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sideway/pinpoint", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/@sideway-pinpoint-npm-2.0.0-66d94e687e-0f4491e589.zip/node_modules/@sideway/pinpoint/",\ + "packageDependencies": [\ + ["@sideway/pinpoint", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sinclair/typebox", [\ + ["npm:0.27.8", {\ + "packageLocation": "./.yarn/cache/@sinclair-typebox-npm-0.27.8-23e206d653-00bd7362a3.zip/node_modules/@sinclair/typebox/",\ + "packageDependencies": [\ + ["@sinclair/typebox", "npm:0.27.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@tsconfig/node20", [\ + ["npm:20.1.2", {\ + "packageLocation": "./.yarn/cache/@tsconfig-node20-npm-20.1.2-f53f26df5a-fc126e15f0.zip/node_modules/@tsconfig/node20/",\ + "packageDependencies": [\ + ["@tsconfig/node20", "npm:20.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/estree", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-dd8b5bed28.zip/node_modules/@types/estree/",\ + "packageDependencies": [\ + ["@types/estree", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/geojson", [\ + ["npm:7946.0.14", {\ + "packageLocation": "./.yarn/cache/@types-geojson-npm-7946.0.14-cb659a9fdf-ae511bee64.zip/node_modules/@types/geojson/",\ + "packageDependencies": [\ + ["@types/geojson", "npm:7946.0.14"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/geojson-vt", [\ + ["npm:3.2.5", {\ + "packageLocation": "./.yarn/cache/@types-geojson-vt-npm-3.2.5-c10dbfd5e3-3c77f52c4a.zip/node_modules/@types/geojson-vt/",\ + "packageDependencies": [\ + ["@types/geojson-vt", "npm:3.2.5"],\ + ["@types/geojson", "npm:7946.0.14"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/jsdom", [\ + ["npm:21.1.6", {\ + "packageLocation": "./.yarn/cache/@types-jsdom-npm-21.1.6-29114a659c-d6fbaab306.zip/node_modules/@types/jsdom/",\ + "packageDependencies": [\ + ["@types/jsdom", "npm:21.1.6"],\ + ["@types/node", "npm:20.11.20"],\ + ["@types/tough-cookie", "npm:4.0.5"],\ + ["parse5", "npm:7.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/json-schema", [\ + ["npm:7.0.15", {\ + "packageLocation": "./.yarn/cache/@types-json-schema-npm-7.0.15-fd16381786-97ed0cb44d.zip/node_modules/@types/json-schema/",\ + "packageDependencies": [\ + ["@types/json-schema", "npm:7.0.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/mapbox__point-geometry", [\ + ["npm:0.1.4", {\ + "packageLocation": "./.yarn/cache/@types-mapbox__point-geometry-npm-0.1.4-5fa761d79c-d315f3e396.zip/node_modules/@types/mapbox__point-geometry/",\ + "packageDependencies": [\ + ["@types/mapbox__point-geometry", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/mapbox__vector-tile", [\ + ["npm:1.3.4", {\ + "packageLocation": "./.yarn/cache/@types-mapbox__vector-tile-npm-1.3.4-fe276c6c9b-5715d9da88.zip/node_modules/@types/mapbox__vector-tile/",\ + "packageDependencies": [\ + ["@types/mapbox__vector-tile", "npm:1.3.4"],\ + ["@types/geojson", "npm:7946.0.14"],\ + ["@types/mapbox__point-geometry", "npm:0.1.4"],\ + ["@types/pbf", "npm:3.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/node", [\ + ["npm:20.11.20", {\ + "packageLocation": "./.yarn/cache/@types-node-npm-20.11.20-0036cdf1c0-79d339622f.zip/node_modules/@types/node/",\ + "packageDependencies": [\ + ["@types/node", "npm:20.11.20"],\ + ["undici-types", "npm:5.26.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/pbf", [\ + ["npm:3.0.5", {\ + "packageLocation": "./.yarn/cache/@types-pbf-npm-3.0.5-be36bd95c4-9115eb3cc6.zip/node_modules/@types/pbf/",\ + "packageDependencies": [\ + ["@types/pbf", "npm:3.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/semver", [\ + ["npm:7.5.8", {\ + "packageLocation": "./.yarn/cache/@types-semver-npm-7.5.8-26073743d7-ea6f5276f5.zip/node_modules/@types/semver/",\ + "packageDependencies": [\ + ["@types/semver", "npm:7.5.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/sinonjs__fake-timers", [\ + ["npm:8.1.1", {\ + "packageLocation": "./.yarn/cache/@types-sinonjs__fake-timers-npm-8.1.1-95ac9b59b5-ca09d54d47.zip/node_modules/@types/sinonjs__fake-timers/",\ + "packageDependencies": [\ + ["@types/sinonjs__fake-timers", "npm:8.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/sizzle", [\ + ["npm:2.3.8", {\ + "packageLocation": "./.yarn/cache/@types-sizzle-npm-2.3.8-b4e813dde8-2ac62443dc.zip/node_modules/@types/sizzle/",\ + "packageDependencies": [\ + ["@types/sizzle", "npm:2.3.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/supercluster", [\ + ["npm:7.1.3", {\ + "packageLocation": "./.yarn/cache/@types-supercluster-npm-7.1.3-79beee5ea1-724188fb6e.zip/node_modules/@types/supercluster/",\ + "packageDependencies": [\ + ["@types/supercluster", "npm:7.1.3"],\ + ["@types/geojson", "npm:7946.0.14"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/tough-cookie", [\ + ["npm:4.0.5", {\ + "packageLocation": "./.yarn/cache/@types-tough-cookie-npm-4.0.5-8c5e2162e1-f19409d019.zip/node_modules/@types/tough-cookie/",\ + "packageDependencies": [\ + ["@types/tough-cookie", "npm:4.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/yauzl", [\ + ["npm:2.10.3", {\ + "packageLocation": "./.yarn/cache/@types-yauzl-npm-2.10.3-4b633e1ddc-5ee966ea7b.zip/node_modules/@types/yauzl/",\ + "packageDependencies": [\ + ["@types/yauzl", "npm:2.10.3"],\ + ["@types/node", "npm:20.11.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/eslint-plugin", [\ + ["npm:6.21.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-eslint-plugin-npm-6.21.0-eed10a6c66-5ef2c50225.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "npm:6.21.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:54eeb4f053aec729865ff802f8132a1707ba47dd8522c93b5a494fbe5bf2069f5002713c5819f5c57128cf316bf99a814fff1ea43b98127d28fc575e8089bc1b#npm:6.21.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-558442f5e9/0/cache/@typescript-eslint-eslint-plugin-npm-6.21.0-eed10a6c66-5ef2c50225.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "virtual:54eeb4f053aec729865ff802f8132a1707ba47dd8522c93b5a494fbe5bf2069f5002713c5819f5c57128cf316bf99a814fff1ea43b98127d28fc575e8089bc1b#npm:6.21.0"],\ + ["@eslint-community/regexpp", "npm:4.10.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@types/typescript-eslint__parser", null],\ + ["@typescript-eslint/parser", "virtual:54eeb4f053aec729865ff802f8132a1707ba47dd8522c93b5a494fbe5bf2069f5002713c5819f5c57128cf316bf99a814fff1ea43b98127d28fc575e8089bc1b#npm:6.21.0"],\ + ["@typescript-eslint/scope-manager", "npm:6.21.0"],\ + ["@typescript-eslint/type-utils", "virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:6.21.0"],\ + ["@typescript-eslint/utils", "virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:6.21.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.21.0"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["eslint", "npm:8.57.0"],\ + ["graphemer", "npm:1.4.0"],\ + ["ignore", "npm:5.3.1"],\ + ["natural-compare", "npm:1.4.0"],\ + ["semver", "npm:7.6.0"],\ + ["ts-api-utils", "virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:1.2.1"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript-eslint__parser",\ + "@types/typescript",\ + "@typescript-eslint/parser",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/parser", [\ + ["npm:6.21.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-parser-npm-6.21.0-d7ff8425ee-162fe3a867.zip/node_modules/@typescript-eslint/parser/",\ + "packageDependencies": [\ + ["@typescript-eslint/parser", "npm:6.21.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:54eeb4f053aec729865ff802f8132a1707ba47dd8522c93b5a494fbe5bf2069f5002713c5819f5c57128cf316bf99a814fff1ea43b98127d28fc575e8089bc1b#npm:6.21.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-e129157445/0/cache/@typescript-eslint-parser-npm-6.21.0-d7ff8425ee-162fe3a867.zip/node_modules/@typescript-eslint/parser/",\ + "packageDependencies": [\ + ["@typescript-eslint/parser", "virtual:54eeb4f053aec729865ff802f8132a1707ba47dd8522c93b5a494fbe5bf2069f5002713c5819f5c57128cf316bf99a814fff1ea43b98127d28fc575e8089bc1b#npm:6.21.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/scope-manager", "npm:6.21.0"],\ + ["@typescript-eslint/types", "npm:6.21.0"],\ + ["@typescript-eslint/typescript-estree", "virtual:3a2df15cac9cbcd27db3401a0eae520fd5d061a177648494556d716e1b9f084320c6de254b9fd1b1e49facee78c199599517d35e6dff54370b38b83c3217c3b5#npm:6.21.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.21.0"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["eslint", "npm:8.57.0"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/scope-manager", [\ + ["npm:6.21.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-scope-manager-npm-6.21.0-60aa61cad2-71028b757d.zip/node_modules/@typescript-eslint/scope-manager/",\ + "packageDependencies": [\ + ["@typescript-eslint/scope-manager", "npm:6.21.0"],\ + ["@typescript-eslint/types", "npm:6.21.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.21.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/type-utils", [\ + ["npm:6.21.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-type-utils-npm-6.21.0-b5d74d2e4c-77025473f4.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "npm:6.21.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:6.21.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-3a2df15cac/0/cache/@typescript-eslint-type-utils-npm-6.21.0-b5d74d2e4c-77025473f4.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:6.21.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/typescript-estree", "virtual:3a2df15cac9cbcd27db3401a0eae520fd5d061a177648494556d716e1b9f084320c6de254b9fd1b1e49facee78c199599517d35e6dff54370b38b83c3217c3b5#npm:6.21.0"],\ + ["@typescript-eslint/utils", "virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:6.21.0"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["eslint", "npm:8.57.0"],\ + ["ts-api-utils", "virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:1.2.1"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/types", [\ + ["npm:6.21.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-types-npm-6.21.0-4d08954078-9501b47d74.zip/node_modules/@typescript-eslint/types/",\ + "packageDependencies": [\ + ["@typescript-eslint/types", "npm:6.21.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/typescript-estree", [\ + ["npm:6.21.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-typescript-estree-npm-6.21.0-04a199adba-dec02dc107.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "npm:6.21.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:3a2df15cac9cbcd27db3401a0eae520fd5d061a177648494556d716e1b9f084320c6de254b9fd1b1e49facee78c199599517d35e6dff54370b38b83c3217c3b5#npm:6.21.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-33082b2418/0/cache/@typescript-eslint-typescript-estree-npm-6.21.0-04a199adba-dec02dc107.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "virtual:3a2df15cac9cbcd27db3401a0eae520fd5d061a177648494556d716e1b9f084320c6de254b9fd1b1e49facee78c199599517d35e6dff54370b38b83c3217c3b5#npm:6.21.0"],\ + ["@types/typescript", null],\ + ["@typescript-eslint/types", "npm:6.21.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.21.0"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["globby", "npm:11.1.0"],\ + ["is-glob", "npm:4.0.3"],\ + ["minimatch", "npm:9.0.3"],\ + ["semver", "npm:7.6.0"],\ + ["ts-api-utils", "virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:1.2.1"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:e8ebb97943a0abb2f62cda78ac3f1a680f3eda0ace92c98048d4017a92cb33f0c2bcf4d9f8c9bb345d0818da79a66e61022d61cac3a7780d82476313d4da5251#npm:6.21.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-07be85987a/0/cache/@typescript-eslint-typescript-estree-npm-6.21.0-04a199adba-dec02dc107.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "virtual:e8ebb97943a0abb2f62cda78ac3f1a680f3eda0ace92c98048d4017a92cb33f0c2bcf4d9f8c9bb345d0818da79a66e61022d61cac3a7780d82476313d4da5251#npm:6.21.0"],\ + ["@types/typescript", null],\ + ["@typescript-eslint/types", "npm:6.21.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.21.0"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["globby", "npm:11.1.0"],\ + ["is-glob", "npm:4.0.3"],\ + ["minimatch", "npm:9.0.3"],\ + ["semver", "npm:7.6.0"],\ + ["ts-api-utils", "virtual:07be85987ae00360699f5c12eff460fc2a6febbd730c3db71a7e90b9a5ddcf4dbc005b40c4ae4b7ec18b703f7cfec087ab64d1cd27a2248437fb042f8c60dd05#npm:1.2.1"],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/utils", [\ + ["npm:6.21.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-utils-npm-6.21.0-b19969b8aa-b129b3a4ae.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "npm:6.21.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:6.21.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-e8ebb97943/0/cache/@typescript-eslint-utils-npm-6.21.0-b19969b8aa-b129b3a4ae.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:6.21.0"],\ + ["@eslint-community/eslint-utils", "virtual:4286e12a3a0f74af013bc8f16c6d8fdde823cfbf6389660266b171e551f576c805b0a7a8eb2a7087a5cee7dfe6ebb6e1ea3808d93daf915edc95656907a381bb#npm:4.4.0"],\ + ["@types/eslint", null],\ + ["@types/json-schema", "npm:7.0.15"],\ + ["@types/semver", "npm:7.5.8"],\ + ["@typescript-eslint/scope-manager", "npm:6.21.0"],\ + ["@typescript-eslint/types", "npm:6.21.0"],\ + ["@typescript-eslint/typescript-estree", "virtual:e8ebb97943a0abb2f62cda78ac3f1a680f3eda0ace92c98048d4017a92cb33f0c2bcf4d9f8c9bb345d0818da79a66e61022d61cac3a7780d82476313d4da5251#npm:6.21.0"],\ + ["eslint", "npm:8.57.0"],\ + ["semver", "npm:7.6.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/visitor-keys", [\ + ["npm:6.21.0", {\ + "packageLocation": "./.yarn/cache/@typescript-eslint-visitor-keys-npm-6.21.0-b36d99336e-67c7e6003d.zip/node_modules/@typescript-eslint/visitor-keys/",\ + "packageDependencies": [\ + ["@typescript-eslint/visitor-keys", "npm:6.21.0"],\ + ["@typescript-eslint/types", "npm:6.21.0"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ungap/structured-clone", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/@ungap-structured-clone-npm-1.2.0-648f0b82e0-4f656b7b46.zip/node_modules/@ungap/structured-clone/",\ + "packageDependencies": [\ + ["@ungap/structured-clone", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitejs/plugin-vue", [\ + ["npm:5.0.4", {\ + "packageLocation": "./.yarn/cache/@vitejs-plugin-vue-npm-5.0.4-e08dc8c74a-e2ec5446da.zip/node_modules/@vitejs/plugin-vue/",\ + "packageDependencies": [\ + ["@vitejs/plugin-vue", "npm:5.0.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:5.0.4", {\ + "packageLocation": "./.yarn/__virtual__/@vitejs-plugin-vue-virtual-1f142b68a6/0/cache/@vitejs-plugin-vue-npm-5.0.4-e08dc8c74a-e2ec5446da.zip/node_modules/@vitejs/plugin-vue/",\ + "packageDependencies": [\ + ["@vitejs/plugin-vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:5.0.4"],\ + ["@types/vite", null],\ + ["@types/vue", null],\ + ["vite", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:5.1.4"],\ + ["vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.4.20"]\ + ],\ + "packagePeers": [\ + "@types/vite",\ + "@types/vue",\ + "vite",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitest/expect", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/@vitest-expect-npm-1.3.1-973071a540-3626b02f04.zip/node_modules/@vitest/expect/",\ + "packageDependencies": [\ + ["@vitest/expect", "npm:1.3.1"],\ + ["@vitest/spy", "npm:1.3.1"],\ + ["@vitest/utils", "npm:1.3.1"],\ + ["chai", "npm:4.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitest/runner", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/@vitest-runner-npm-1.3.1-944c525608-86dfb4d485.zip/node_modules/@vitest/runner/",\ + "packageDependencies": [\ + ["@vitest/runner", "npm:1.3.1"],\ + ["@vitest/utils", "npm:1.3.1"],\ + ["p-limit", "npm:5.0.0"],\ + ["pathe", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitest/snapshot", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/@vitest-snapshot-npm-1.3.1-acd68865ee-5feb485bce.zip/node_modules/@vitest/snapshot/",\ + "packageDependencies": [\ + ["@vitest/snapshot", "npm:1.3.1"],\ + ["magic-string", "npm:0.30.7"],\ + ["pathe", "npm:1.1.2"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitest/spy", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/@vitest-spy-npm-1.3.1-6cf3de14ab-f52e4d2382.zip/node_modules/@vitest/spy/",\ + "packageDependencies": [\ + ["@vitest/spy", "npm:1.3.1"],\ + ["tinyspy", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitest/utils", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/@vitest-utils-npm-1.3.1-9057d8d83a-dab1f66c22.zip/node_modules/@vitest/utils/",\ + "packageDependencies": [\ + ["@vitest/utils", "npm:1.3.1"],\ + ["diff-sequences", "npm:29.6.3"],\ + ["estree-walker", "npm:3.0.3"],\ + ["loupe", "npm:2.3.7"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@volar/language-core", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@volar-language-core-npm-1.11.1-e30e50203f-7f98fbeb96.zip/node_modules/@volar/language-core/",\ + "packageDependencies": [\ + ["@volar/language-core", "npm:1.11.1"],\ + ["@volar/source-map", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@volar/source-map", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@volar-source-map-npm-1.11.1-19e27a8f3b-1ec1034432.zip/node_modules/@volar/source-map/",\ + "packageDependencies": [\ + ["@volar/source-map", "npm:1.11.1"],\ + ["muggle-string", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@volar/typescript", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@volar-typescript-npm-1.11.1-9a11b85d7c-0db2fc32db.zip/node_modules/@volar/typescript/",\ + "packageDependencies": [\ + ["@volar/typescript", "npm:1.11.1"],\ + ["@volar/language-core", "npm:1.11.1"],\ + ["path-browserify", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/compiler-core", [\ + ["npm:3.4.20", {\ + "packageLocation": "./.yarn/cache/@vue-compiler-core-npm-3.4.20-5b32abd493-4b37fae786.zip/node_modules/@vue/compiler-core/",\ + "packageDependencies": [\ + ["@vue/compiler-core", "npm:3.4.20"],\ + ["@babel/parser", "npm:7.23.9"],\ + ["@vue/shared", "npm:3.4.20"],\ + ["entities", "npm:4.5.0"],\ + ["estree-walker", "npm:2.0.2"],\ + ["source-map-js", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/compiler-dom", [\ + ["npm:3.4.20", {\ + "packageLocation": "./.yarn/cache/@vue-compiler-dom-npm-3.4.20-a6d313e652-63a83525a5.zip/node_modules/@vue/compiler-dom/",\ + "packageDependencies": [\ + ["@vue/compiler-dom", "npm:3.4.20"],\ + ["@vue/compiler-core", "npm:3.4.20"],\ + ["@vue/shared", "npm:3.4.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/compiler-sfc", [\ + ["npm:3.4.20", {\ + "packageLocation": "./.yarn/cache/@vue-compiler-sfc-npm-3.4.20-9e9f7dea00-a8a70fd53f.zip/node_modules/@vue/compiler-sfc/",\ + "packageDependencies": [\ + ["@vue/compiler-sfc", "npm:3.4.20"],\ + ["@babel/parser", "npm:7.23.9"],\ + ["@vue/compiler-core", "npm:3.4.20"],\ + ["@vue/compiler-dom", "npm:3.4.20"],\ + ["@vue/compiler-ssr", "npm:3.4.20"],\ + ["@vue/shared", "npm:3.4.20"],\ + ["estree-walker", "npm:2.0.2"],\ + ["magic-string", "npm:0.30.7"],\ + ["postcss", "npm:8.4.35"],\ + ["source-map-js", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/compiler-ssr", [\ + ["npm:3.4.20", {\ + "packageLocation": "./.yarn/cache/@vue-compiler-ssr-npm-3.4.20-956b892579-7cef07dcb8.zip/node_modules/@vue/compiler-ssr/",\ + "packageDependencies": [\ + ["@vue/compiler-ssr", "npm:3.4.20"],\ + ["@vue/compiler-dom", "npm:3.4.20"],\ + ["@vue/shared", "npm:3.4.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/devtools-api", [\ + ["npm:6.6.1", {\ + "packageLocation": "./.yarn/cache/@vue-devtools-api-npm-6.6.1-ef3c82703e-cf12b5ebcc.zip/node_modules/@vue/devtools-api/",\ + "packageDependencies": [\ + ["@vue/devtools-api", "npm:6.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/eslint-config-prettier", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/@vue-eslint-config-prettier-npm-8.0.0-c26e79ef64-26556b3dc7.zip/node_modules/@vue/eslint-config-prettier/",\ + "packageDependencies": [\ + ["@vue/eslint-config-prettier", "npm:8.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:8.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@vue-eslint-config-prettier-virtual-6fc48338ae/0/cache/@vue-eslint-config-prettier-npm-8.0.0-c26e79ef64-26556b3dc7.zip/node_modules/@vue/eslint-config-prettier/",\ + "packageDependencies": [\ + ["@vue/eslint-config-prettier", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:8.0.0"],\ + ["@types/eslint", null],\ + ["@types/prettier", null],\ + ["eslint", "npm:8.57.0"],\ + ["eslint-config-prettier", "virtual:6fc48338ae88f05b1ff3671247bd4e7892b63be26981c93bbf01ba5612d8629c25183daccd36b52b7fa99652a626b42447ea5cd18eae46ffd741d02b5897306e#npm:8.10.0"],\ + ["eslint-plugin-prettier", "virtual:6fc48338ae88f05b1ff3671247bd4e7892b63be26981c93bbf01ba5612d8629c25183daccd36b52b7fa99652a626b42447ea5cd18eae46ffd741d02b5897306e#npm:5.1.3"],\ + ["prettier", "npm:3.2.5"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/prettier",\ + "eslint",\ + "prettier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/eslint-config-typescript", [\ + ["npm:12.0.0", {\ + "packageLocation": "./.yarn/cache/@vue-eslint-config-typescript-npm-12.0.0-e317f94b8c-abe697b9bd.zip/node_modules/@vue/eslint-config-typescript/",\ + "packageDependencies": [\ + ["@vue/eslint-config-typescript", "npm:12.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:12.0.0", {\ + "packageLocation": "./.yarn/__virtual__/@vue-eslint-config-typescript-virtual-54eeb4f053/0/cache/@vue-eslint-config-typescript-npm-12.0.0-e317f94b8c-abe697b9bd.zip/node_modules/@vue/eslint-config-typescript/",\ + "packageDependencies": [\ + ["@vue/eslint-config-typescript", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:12.0.0"],\ + ["@types/eslint", null],\ + ["@types/eslint-plugin-vue", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/eslint-plugin", "virtual:54eeb4f053aec729865ff802f8132a1707ba47dd8522c93b5a494fbe5bf2069f5002713c5819f5c57128cf316bf99a814fff1ea43b98127d28fc575e8089bc1b#npm:6.21.0"],\ + ["@typescript-eslint/parser", "virtual:54eeb4f053aec729865ff802f8132a1707ba47dd8522c93b5a494fbe5bf2069f5002713c5819f5c57128cf316bf99a814fff1ea43b98127d28fc575e8089bc1b#npm:6.21.0"],\ + ["eslint", "npm:8.57.0"],\ + ["eslint-plugin-vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:9.22.0"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"],\ + ["vue-eslint-parser", "virtual:54eeb4f053aec729865ff802f8132a1707ba47dd8522c93b5a494fbe5bf2069f5002713c5819f5c57128cf316bf99a814fff1ea43b98127d28fc575e8089bc1b#npm:9.4.2"]\ + ],\ + "packagePeers": [\ + "@types/eslint-plugin-vue",\ + "@types/eslint",\ + "@types/typescript",\ + "eslint-plugin-vue",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/language-core", [\ + ["npm:1.8.27", {\ + "packageLocation": "./.yarn/cache/@vue-language-core-npm-1.8.27-9bfee75b73-8660c05319.zip/node_modules/@vue/language-core/",\ + "packageDependencies": [\ + ["@vue/language-core", "npm:1.8.27"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:3f578270ea75dd0ed49714eb001eea953697ae6db07410c18a9a5c1bf0d77d099a890b434c227ca517acb67a996082717dd8e78804aa27451e2181f7e245cb2f#npm:1.8.27", {\ + "packageLocation": "./.yarn/__virtual__/@vue-language-core-virtual-7a14e8652f/0/cache/@vue-language-core-npm-1.8.27-9bfee75b73-8660c05319.zip/node_modules/@vue/language-core/",\ + "packageDependencies": [\ + ["@vue/language-core", "virtual:3f578270ea75dd0ed49714eb001eea953697ae6db07410c18a9a5c1bf0d77d099a890b434c227ca517acb67a996082717dd8e78804aa27451e2181f7e245cb2f#npm:1.8.27"],\ + ["@types/typescript", null],\ + ["@volar/language-core", "npm:1.11.1"],\ + ["@volar/source-map", "npm:1.11.1"],\ + ["@vue/compiler-dom", "npm:3.4.20"],\ + ["@vue/shared", "npm:3.4.20"],\ + ["computeds", "npm:0.0.1"],\ + ["minimatch", "npm:9.0.3"],\ + ["muggle-string", "npm:0.3.1"],\ + ["path-browserify", "npm:1.0.1"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"],\ + ["vue-template-compiler", "npm:2.7.16"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/reactivity", [\ + ["npm:3.4.20", {\ + "packageLocation": "./.yarn/cache/@vue-reactivity-npm-3.4.20-93137b79e8-6f579b4b90.zip/node_modules/@vue/reactivity/",\ + "packageDependencies": [\ + ["@vue/reactivity", "npm:3.4.20"],\ + ["@vue/shared", "npm:3.4.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/runtime-core", [\ + ["npm:3.4.20", {\ + "packageLocation": "./.yarn/cache/@vue-runtime-core-npm-3.4.20-1cbe11be5c-48eb833895.zip/node_modules/@vue/runtime-core/",\ + "packageDependencies": [\ + ["@vue/runtime-core", "npm:3.4.20"],\ + ["@vue/reactivity", "npm:3.4.20"],\ + ["@vue/shared", "npm:3.4.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/runtime-dom", [\ + ["npm:3.4.20", {\ + "packageLocation": "./.yarn/cache/@vue-runtime-dom-npm-3.4.20-5552ff641b-8782a55247.zip/node_modules/@vue/runtime-dom/",\ + "packageDependencies": [\ + ["@vue/runtime-dom", "npm:3.4.20"],\ + ["@vue/runtime-core", "npm:3.4.20"],\ + ["@vue/shared", "npm:3.4.20"],\ + ["csstype", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/server-renderer", [\ + ["npm:3.4.20", {\ + "packageLocation": "./.yarn/cache/@vue-server-renderer-npm-3.4.20-30158b0126-f840ef864a.zip/node_modules/@vue/server-renderer/",\ + "packageDependencies": [\ + ["@vue/server-renderer", "npm:3.4.20"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9afb16d429d82434e4d1c7e502082e6e97861a27254ba49af694810967c74a0b6579d35f0c77041babe936fb7c8cdd6213ca0e13aeefe8ae924644470e763a35#npm:3.4.20", {\ + "packageLocation": "./.yarn/__virtual__/@vue-server-renderer-virtual-f6318bd543/0/cache/@vue-server-renderer-npm-3.4.20-30158b0126-f840ef864a.zip/node_modules/@vue/server-renderer/",\ + "packageDependencies": [\ + ["@vue/server-renderer", "virtual:9afb16d429d82434e4d1c7e502082e6e97861a27254ba49af694810967c74a0b6579d35f0c77041babe936fb7c8cdd6213ca0e13aeefe8ae924644470e763a35#npm:3.4.20"],\ + ["@types/vue", null],\ + ["@vue/compiler-ssr", "npm:3.4.20"],\ + ["@vue/shared", "npm:3.4.20"],\ + ["vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.4.20"]\ + ],\ + "packagePeers": [\ + "@types/vue",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/shared", [\ + ["npm:3.4.20", {\ + "packageLocation": "./.yarn/cache/@vue-shared-npm-3.4.20-789f93b23c-fb621dfcb0.zip/node_modules/@vue/shared/",\ + "packageDependencies": [\ + ["@vue/shared", "npm:3.4.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/test-utils", [\ + ["npm:2.4.4", {\ + "packageLocation": "./.yarn/cache/@vue-test-utils-npm-2.4.4-5dc39d2d67-edd444308a.zip/node_modules/@vue/test-utils/",\ + "packageDependencies": [\ + ["@vue/test-utils", "npm:2.4.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.4.4", {\ + "packageLocation": "./.yarn/__virtual__/@vue-test-utils-virtual-5be848d3c5/0/cache/@vue-test-utils-npm-2.4.4-5dc39d2d67-edd444308a.zip/node_modules/@vue/test-utils/",\ + "packageDependencies": [\ + ["@vue/test-utils", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.4.4"],\ + ["@types/vue", null],\ + ["@types/vue__server-renderer", null],\ + ["@vue/server-renderer", null],\ + ["js-beautify", "npm:1.15.1"],\ + ["vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.4.20"],\ + ["vue-component-type-helpers", "npm:1.8.27"]\ + ],\ + "packagePeers": [\ + "@types/vue",\ + "@types/vue__server-renderer",\ + "@vue/server-renderer",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vue/tsconfig", [\ + ["npm:0.5.1", {\ + "packageLocation": "./.yarn/cache/@vue-tsconfig-npm-0.5.1-c8660c0790-1f8e51eae0.zip/node_modules/@vue/tsconfig/",\ + "packageDependencies": [\ + ["@vue/tsconfig", "npm:0.5.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["abbrev", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/abbrev-npm-2.0.0-0eb38a17e5-0e994ad2aa.zip/node_modules/abbrev/",\ + "packageDependencies": [\ + ["abbrev", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn", [\ + ["npm:8.11.3", {\ + "packageLocation": "./.yarn/cache/acorn-npm-8.11.3-0d7ab48b38-76d8e7d559.zip/node_modules/acorn/",\ + "packageDependencies": [\ + ["acorn", "npm:8.11.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn-jsx", [\ + ["npm:5.3.2", {\ + "packageLocation": "./.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-c3d3b2a89c.zip/node_modules/acorn-jsx/",\ + "packageDependencies": [\ + ["acorn-jsx", "npm:5.3.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2", {\ + "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-834321b202/0/cache/acorn-jsx-npm-5.3.2-d7594599ea-c3d3b2a89c.zip/node_modules/acorn-jsx/",\ + "packageDependencies": [\ + ["acorn-jsx", "virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2"],\ + ["@types/acorn", null],\ + ["acorn", "npm:8.11.3"]\ + ],\ + "packagePeers": [\ + "@types/acorn",\ + "acorn"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn-walk", [\ + ["npm:8.3.2", {\ + "packageLocation": "./.yarn/cache/acorn-walk-npm-8.3.2-df039a42bf-3626b9d26a.zip/node_modules/acorn-walk/",\ + "packageDependencies": [\ + ["acorn-walk", "npm:8.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["agent-base", [\ + ["npm:7.1.0", {\ + "packageLocation": "./.yarn/cache/agent-base-npm-7.1.0-4b12ba5111-f7828f9914.zip/node_modules/agent-base/",\ + "packageDependencies": [\ + ["agent-base", "npm:7.1.0"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["aggregate-error", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zip/node_modules/aggregate-error/",\ + "packageDependencies": [\ + ["aggregate-error", "npm:3.1.0"],\ + ["clean-stack", "npm:2.2.0"],\ + ["indent-string", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ajv", [\ + ["npm:6.12.6", {\ + "packageLocation": "./.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-874972efe5.zip/node_modules/ajv/",\ + "packageDependencies": [\ + ["ajv", "npm:6.12.6"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["fast-json-stable-stringify", "npm:2.1.0"],\ + ["json-schema-traverse", "npm:0.4.1"],\ + ["uri-js", "npm:4.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-colors", [\ + ["npm:4.1.3", {\ + "packageLocation": "./.yarn/cache/ansi-colors-npm-4.1.3-8ffd0ae6c7-a9c2ec8420.zip/node_modules/ansi-colors/",\ + "packageDependencies": [\ + ["ansi-colors", "npm:4.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-escapes", [\ + ["npm:4.3.2", {\ + "packageLocation": "./.yarn/cache/ansi-escapes-npm-4.3.2-3ad173702f-93111c4218.zip/node_modules/ansi-escapes/",\ + "packageDependencies": [\ + ["ansi-escapes", "npm:4.3.2"],\ + ["type-fest", "npm:0.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-regex", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.1", {\ + "packageLocation": "./.yarn/cache/ansi-regex-npm-6.0.1-8d663a607d-1ff8b7667c.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-styles", [\ + ["npm:4.3.0", {\ + "packageLocation": "./.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-513b44c3b2.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:4.3.0"],\ + ["color-convert", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.2.0", {\ + "packageLocation": "./.yarn/cache/ansi-styles-npm-5.2.0-72fc7003e3-d7f4e97ce0.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:5.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.2.1", {\ + "packageLocation": "./.yarn/cache/ansi-styles-npm-6.2.1-d43647018c-ef940f2f0c.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:6.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["arch", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/arch-npm-2.2.0-34797684d8-e21b763502.zip/node_modules/arch/",\ + "packageDependencies": [\ + ["arch", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["arg", [\ + ["npm:5.0.2", {\ + "packageLocation": "./.yarn/cache/arg-npm-5.0.2-2f5805a547-6c69ada1a9.zip/node_modules/arg/",\ + "packageDependencies": [\ + ["arg", "npm:5.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["argparse", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zip/node_modules/argparse/",\ + "packageDependencies": [\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["arr-union", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/arr-union-npm-3.1.0-853ada9729-b5b0408c6e.zip/node_modules/arr-union/",\ + "packageDependencies": [\ + ["arr-union", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array-union", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip/node_modules/array-union/",\ + "packageDependencies": [\ + ["array-union", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["asn1", [\ + ["npm:0.2.6", {\ + "packageLocation": "./.yarn/cache/asn1-npm-0.2.6-bdd07356c4-39f2ae343b.zip/node_modules/asn1/",\ + "packageDependencies": [\ + ["asn1", "npm:0.2.6"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["assert-plus", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/assert-plus-npm-1.0.0-cac95ef098-19b4340cb8.zip/node_modules/assert-plus/",\ + "packageDependencies": [\ + ["assert-plus", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["assertion-error", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/assertion-error-npm-1.1.0-66b893015e-fd9429d3a3.zip/node_modules/assertion-error/",\ + "packageDependencies": [\ + ["assertion-error", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["assign-symbols", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/assign-symbols-npm-1.0.0-fd803ccdf1-c0eb895911.zip/node_modules/assign-symbols/",\ + "packageDependencies": [\ + ["assign-symbols", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["astral-regex", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/astral-regex-npm-2.0.0-f30d866aab-876231688c.zip/node_modules/astral-regex/",\ + "packageDependencies": [\ + ["astral-regex", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["async", [\ + ["npm:3.2.5", {\ + "packageLocation": "./.yarn/cache/async-npm-3.2.5-f5dbdabdfc-5ec77f1312.zip/node_modules/async/",\ + "packageDependencies": [\ + ["async", "npm:3.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["asynckit", [\ + ["npm:0.4.0", {\ + "packageLocation": "./.yarn/cache/asynckit-npm-0.4.0-c718858525-7b78c451df.zip/node_modules/asynckit/",\ + "packageDependencies": [\ + ["asynckit", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["at-least-node", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/at-least-node-npm-1.0.0-2b36e661fa-463e2f8e43.zip/node_modules/at-least-node/",\ + "packageDependencies": [\ + ["at-least-node", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["aws-sign2", [\ + ["npm:0.7.0", {\ + "packageLocation": "./.yarn/cache/aws-sign2-npm-0.7.0-656c6cb84d-b148b0bb07.zip/node_modules/aws-sign2/",\ + "packageDependencies": [\ + ["aws-sign2", "npm:0.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["aws4", [\ + ["npm:1.12.0", {\ + "packageLocation": "./.yarn/cache/aws4-npm-1.12.0-af8e48a2ab-68f79708ac.zip/node_modules/aws4/",\ + "packageDependencies": [\ + ["aws4", "npm:1.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["axios", [\ + ["npm:1.6.7", {\ + "packageLocation": "./.yarn/cache/axios-npm-1.6.7-d7b9974d1b-87d4d42992.zip/node_modules/axios/",\ + "packageDependencies": [\ + ["axios", "npm:1.6.7"],\ + ["follow-redirects", "virtual:d7b9974d1bba76881cc57a280a16dd4914416a6fc4923c2efbb6328057412974da1e719cef1530b7a62b97d85d828f7e1d49b5f6de3b5b0854d49902ec87827c#npm:1.15.5"],\ + ["form-data", "npm:4.0.0"],\ + ["proxy-from-env", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["balanced-match", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/balanced-match-npm-1.0.2-a53c126459-9706c088a2.zip/node_modules/balanced-match/",\ + "packageDependencies": [\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["base64-js", [\ + ["npm:1.5.1", {\ + "packageLocation": "./.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip/node_modules/base64-js/",\ + "packageDependencies": [\ + ["base64-js", "npm:1.5.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bcrypt-pbkdf", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/bcrypt-pbkdf-npm-1.0.2-80db8b16ed-4edfc9fe7d.zip/node_modules/bcrypt-pbkdf/",\ + "packageDependencies": [\ + ["bcrypt-pbkdf", "npm:1.0.2"],\ + ["tweetnacl", "npm:0.14.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["blob-util", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/blob-util-npm-2.0.2-8026c830fe-d543e6b92e.zip/node_modules/blob-util/",\ + "packageDependencies": [\ + ["blob-util", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bluebird", [\ + ["npm:3.7.2", {\ + "packageLocation": "./.yarn/cache/bluebird-npm-3.7.2-6a54136ee3-869417503c.zip/node_modules/bluebird/",\ + "packageDependencies": [\ + ["bluebird", "npm:3.7.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["boolbase", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/boolbase-npm-1.0.0-965fe9af6d-3e25c80ef6.zip/node_modules/boolbase/",\ + "packageDependencies": [\ + ["boolbase", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["brace-expansion", [\ + ["npm:1.1.11", {\ + "packageLocation": "./.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:1.1.11"],\ + ["balanced-match", "npm:1.0.2"],\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:2.0.1"],\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["braces", [\ + ["npm:3.0.2", {\ + "packageLocation": "./.yarn/cache/braces-npm-3.0.2-782240b28a-e2a8e769a8.zip/node_modules/braces/",\ + "packageDependencies": [\ + ["braces", "npm:3.0.2"],\ + ["fill-range", "npm:7.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["buffer", [\ + ["npm:5.7.1", {\ + "packageLocation": "./.yarn/cache/buffer-npm-5.7.1-513ef8259e-e2cf8429e1.zip/node_modules/buffer/",\ + "packageDependencies": [\ + ["buffer", "npm:5.7.1"],\ + ["base64-js", "npm:1.5.1"],\ + ["ieee754", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["buffer-crc32", [\ + ["npm:0.2.13", {\ + "packageLocation": "./.yarn/cache/buffer-crc32-npm-0.2.13-c4b6fceac1-06252347ae.zip/node_modules/buffer-crc32/",\ + "packageDependencies": [\ + ["buffer-crc32", "npm:0.2.13"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bytewise", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/bytewise-npm-1.1.0-482e95ead9-20d7387ecf.zip/node_modules/bytewise/",\ + "packageDependencies": [\ + ["bytewise", "npm:1.1.0"],\ + ["bytewise-core", "npm:1.2.3"],\ + ["typewise", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bytewise-core", [\ + ["npm:1.2.3", {\ + "packageLocation": "./.yarn/cache/bytewise-core-npm-1.2.3-56e9d2eb62-e0d28fb7ff.zip/node_modules/bytewise-core/",\ + "packageDependencies": [\ + ["bytewise-core", "npm:1.2.3"],\ + ["typewise-core", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cac", [\ + ["npm:6.7.14", {\ + "packageLocation": "./.yarn/cache/cac-npm-6.7.14-c46284e425-45a2496a94.zip/node_modules/cac/",\ + "packageDependencies": [\ + ["cac", "npm:6.7.14"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cacache", [\ + ["npm:18.0.2", {\ + "packageLocation": "./.yarn/cache/cacache-npm-18.0.2-d6329a1b9d-0250df80e1.zip/node_modules/cacache/",\ + "packageDependencies": [\ + ["cacache", "npm:18.0.2"],\ + ["@npmcli/fs", "npm:3.1.0"],\ + ["fs-minipass", "npm:3.0.3"],\ + ["glob", "npm:10.3.10"],\ + ["lru-cache", "npm:10.2.0"],\ + ["minipass", "npm:7.0.4"],\ + ["minipass-collect", "npm:2.0.1"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["p-map", "npm:4.0.0"],\ + ["ssri", "npm:10.0.5"],\ + ["tar", "npm:6.2.0"],\ + ["unique-filename", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cachedir", [\ + ["npm:2.4.0", {\ + "packageLocation": "./.yarn/cache/cachedir-npm-2.4.0-389d656608-43198514ea.zip/node_modules/cachedir/",\ + "packageDependencies": [\ + ["cachedir", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["call-bind", [\ + ["npm:1.0.7", {\ + "packageLocation": "./.yarn/cache/call-bind-npm-1.0.7-762763ef96-295c0c62b9.zip/node_modules/call-bind/",\ + "packageDependencies": [\ + ["call-bind", "npm:1.0.7"],\ + ["es-define-property", "npm:1.0.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["function-bind", "npm:1.1.2"],\ + ["get-intrinsic", "npm:1.2.4"],\ + ["set-function-length", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["callsites", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/callsites-npm-3.1.0-268f989910-072d17b6ab.zip/node_modules/callsites/",\ + "packageDependencies": [\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["caseless", [\ + ["npm:0.12.0", {\ + "packageLocation": "./.yarn/cache/caseless-npm-0.12.0-e83bc5df83-b43bd4c440.zip/node_modules/caseless/",\ + "packageDependencies": [\ + ["caseless", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chai", [\ + ["npm:4.4.1", {\ + "packageLocation": "./.yarn/cache/chai-npm-4.4.1-ffd006b4b1-9ab84f36eb.zip/node_modules/chai/",\ + "packageDependencies": [\ + ["chai", "npm:4.4.1"],\ + ["assertion-error", "npm:1.1.0"],\ + ["check-error", "npm:1.0.3"],\ + ["deep-eql", "npm:4.1.3"],\ + ["get-func-name", "npm:2.0.2"],\ + ["loupe", "npm:2.3.7"],\ + ["pathval", "npm:1.1.1"],\ + ["type-detect", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chalk", [\ + ["npm:4.1.2", {\ + "packageLocation": "./.yarn/cache/chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip/node_modules/chalk/",\ + "packageDependencies": [\ + ["chalk", "npm:4.1.2"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["supports-color", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["check-error", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/check-error-npm-1.0.3-137994eabc-e2131025cf.zip/node_modules/check-error/",\ + "packageDependencies": [\ + ["check-error", "npm:1.0.3"],\ + ["get-func-name", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["check-more-types", [\ + ["npm:2.24.0", {\ + "packageLocation": "./.yarn/cache/check-more-types-npm-2.24.0-fa2e491b27-b09080ec34.zip/node_modules/check-more-types/",\ + "packageDependencies": [\ + ["check-more-types", "npm:2.24.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chownr", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/chownr-npm-2.0.0-638f1c9c61-c57cf9dd07.zip/node_modules/chownr/",\ + "packageDependencies": [\ + ["chownr", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ci-info", [\ + ["npm:3.9.0", {\ + "packageLocation": "./.yarn/cache/ci-info-npm-3.9.0-646784ca0e-6b19dc9b29.zip/node_modules/ci-info/",\ + "packageDependencies": [\ + ["ci-info", "npm:3.9.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["clean-stack", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/clean-stack-npm-2.2.0-a8ce435a5c-2ac8cd2b2f.zip/node_modules/clean-stack/",\ + "packageDependencies": [\ + ["clean-stack", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cli-cursor", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/cli-cursor-npm-3.1.0-fee1e46b5e-2692784c6c.zip/node_modules/cli-cursor/",\ + "packageDependencies": [\ + ["cli-cursor", "npm:3.1.0"],\ + ["restore-cursor", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cli-table3", [\ + ["npm:0.6.3", {\ + "packageLocation": "./.yarn/cache/cli-table3-npm-0.6.3-1dca7f9152-09897f6846.zip/node_modules/cli-table3/",\ + "packageDependencies": [\ + ["cli-table3", "npm:0.6.3"],\ + ["@colors/colors", "npm:1.5.0"],\ + ["string-width", "npm:4.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cli-truncate", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/cli-truncate-npm-2.1.0-72184d3467-bf1e4e6195.zip/node_modules/cli-truncate/",\ + "packageDependencies": [\ + ["cli-truncate", "npm:2.1.0"],\ + ["slice-ansi", "npm:3.0.0"],\ + ["string-width", "npm:4.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-convert", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip/node_modules/color-convert/",\ + "packageDependencies": [\ + ["color-convert", "npm:2.0.1"],\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-name", [\ + ["npm:1.1.4", {\ + "packageLocation": "./.yarn/cache/color-name-npm-1.1.4-025792b0ea-b044585952.zip/node_modules/color-name/",\ + "packageDependencies": [\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["colorette", [\ + ["npm:2.0.20", {\ + "packageLocation": "./.yarn/cache/colorette-npm-2.0.20-692d428726-0c016fea2b.zip/node_modules/colorette/",\ + "packageDependencies": [\ + ["colorette", "npm:2.0.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["combined-stream", [\ + ["npm:1.0.8", {\ + "packageLocation": "./.yarn/cache/combined-stream-npm-1.0.8-dc14d4a63a-49fa4aeb49.zip/node_modules/combined-stream/",\ + "packageDependencies": [\ + ["combined-stream", "npm:1.0.8"],\ + ["delayed-stream", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["commander", [\ + ["npm:10.0.1", {\ + "packageLocation": "./.yarn/cache/commander-npm-10.0.1-f17613b72b-436901d64a.zip/node_modules/commander/",\ + "packageDependencies": [\ + ["commander", "npm:10.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.2.1", {\ + "packageLocation": "./.yarn/cache/commander-npm-6.2.1-d5b635f237-d7090410c0.zip/node_modules/commander/",\ + "packageDependencies": [\ + ["commander", "npm:6.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["common-tags", [\ + ["npm:1.8.2", {\ + "packageLocation": "./.yarn/cache/common-tags-npm-1.8.2-2c30ba69b3-767a6255a8.zip/node_modules/common-tags/",\ + "packageDependencies": [\ + ["common-tags", "npm:1.8.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["computeds", [\ + ["npm:0.0.1", {\ + "packageLocation": "./.yarn/cache/computeds-npm-0.0.1-bef3a1eb28-9d81c5850b.zip/node_modules/computeds/",\ + "packageDependencies": [\ + ["computeds", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["concat-map", [\ + ["npm:0.0.1", {\ + "packageLocation": "./.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-902a9f5d89.zip/node_modules/concat-map/",\ + "packageDependencies": [\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["config-chain", [\ + ["npm:1.1.13", {\ + "packageLocation": "./.yarn/cache/config-chain-npm-1.1.13-82e06afbc4-828137a28e.zip/node_modules/config-chain/",\ + "packageDependencies": [\ + ["config-chain", "npm:1.1.13"],\ + ["ini", "npm:1.3.8"],\ + ["proto-list", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["core-util-is", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/core-util-is-npm-1.0.2-9fc2b94dc3-7a4c925b49.zip/node_modules/core-util-is/",\ + "packageDependencies": [\ + ["core-util-is", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cross-spawn", [\ + ["npm:7.0.3", {\ + "packageLocation": "./.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-671cc7c728.zip/node_modules/cross-spawn/",\ + "packageDependencies": [\ + ["cross-spawn", "npm:7.0.3"],\ + ["path-key", "npm:3.1.1"],\ + ["shebang-command", "npm:2.0.0"],\ + ["which", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cssesc", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/cssesc-npm-3.0.0-15ec56f86f-f8c4ababff.zip/node_modules/cssesc/",\ + "packageDependencies": [\ + ["cssesc", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cssstyle", [\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/cssstyle-npm-4.0.1-b3be47925f-4b2fdd81c5.zip/node_modules/cssstyle/",\ + "packageDependencies": [\ + ["cssstyle", "npm:4.0.1"],\ + ["rrweb-cssom", "npm:0.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["csstype", [\ + ["npm:3.1.3", {\ + "packageLocation": "./.yarn/cache/csstype-npm-3.1.3-e9a1c85013-8db785cc92.zip/node_modules/csstype/",\ + "packageDependencies": [\ + ["csstype", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cypress", [\ + ["npm:13.6.6", {\ + "packageLocation": "./.yarn/unplugged/cypress-npm-13.6.6-746c2ee2e9/node_modules/cypress/",\ + "packageDependencies": [\ + ["cypress", "npm:13.6.6"],\ + ["@cypress/request", "npm:3.0.1"],\ + ["@cypress/xvfb", "npm:1.2.4"],\ + ["@types/sinonjs__fake-timers", "npm:8.1.1"],\ + ["@types/sizzle", "npm:2.3.8"],\ + ["arch", "npm:2.2.0"],\ + ["blob-util", "npm:2.0.2"],\ + ["bluebird", "npm:3.7.2"],\ + ["buffer", "npm:5.7.1"],\ + ["cachedir", "npm:2.4.0"],\ + ["chalk", "npm:4.1.2"],\ + ["check-more-types", "npm:2.24.0"],\ + ["cli-cursor", "npm:3.1.0"],\ + ["cli-table3", "npm:0.6.3"],\ + ["commander", "npm:6.2.1"],\ + ["common-tags", "npm:1.8.2"],\ + ["dayjs", "npm:1.11.10"],\ + ["debug", "virtual:746c2ee2e959566061c1df57b2638a302e551c1b32ffd0373455fe2a957fd5f803ed1d4f89a238e65b1434f970cab323b76c0c230fe502916b0eb3cb83889823#npm:4.3.4"],\ + ["enquirer", "npm:2.4.1"],\ + ["eventemitter2", "npm:6.4.7"],\ + ["execa", "npm:4.1.0"],\ + ["executable", "npm:4.1.1"],\ + ["extract-zip", "npm:2.0.1"],\ + ["figures", "npm:3.2.0"],\ + ["fs-extra", "npm:9.1.0"],\ + ["getos", "npm:3.2.1"],\ + ["is-ci", "npm:3.0.1"],\ + ["is-installed-globally", "npm:0.4.0"],\ + ["lazy-ass", "npm:1.6.0"],\ + ["listr2", "virtual:746c2ee2e959566061c1df57b2638a302e551c1b32ffd0373455fe2a957fd5f803ed1d4f89a238e65b1434f970cab323b76c0c230fe502916b0eb3cb83889823#npm:3.14.0"],\ + ["lodash", "npm:4.17.21"],\ + ["log-symbols", "npm:4.1.0"],\ + ["minimist", "npm:1.2.8"],\ + ["ospath", "npm:1.2.2"],\ + ["pretty-bytes", "npm:5.6.0"],\ + ["process", "npm:0.11.10"],\ + ["proxy-from-env", "npm:1.0.0"],\ + ["request-progress", "npm:3.0.0"],\ + ["semver", "npm:7.6.0"],\ + ["supports-color", "npm:8.1.1"],\ + ["tmp", "npm:0.2.1"],\ + ["untildify", "npm:4.0.0"],\ + ["yauzl", "npm:2.10.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dashdash", [\ + ["npm:1.14.1", {\ + "packageLocation": "./.yarn/cache/dashdash-npm-1.14.1-be8f10a286-3634c24957.zip/node_modules/dashdash/",\ + "packageDependencies": [\ + ["dashdash", "npm:1.14.1"],\ + ["assert-plus", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["data-urls", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/data-urls-npm-5.0.0-4b58b89bfe-5c40568c31.zip/node_modules/data-urls/",\ + "packageDependencies": [\ + ["data-urls", "npm:5.0.0"],\ + ["whatwg-mimetype", "npm:4.0.0"],\ + ["whatwg-url", "npm:14.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dayjs", [\ + ["npm:1.11.10", {\ + "packageLocation": "./.yarn/cache/dayjs-npm-1.11.10-2b4382efc1-a6b5a3813b.zip/node_modules/dayjs/",\ + "packageDependencies": [\ + ["dayjs", "npm:1.11.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["de-indent", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/de-indent-npm-1.0.2-66cccde30f-8deacc0f4a.zip/node_modules/de-indent/",\ + "packageDependencies": [\ + ["de-indent", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["debug", [\ + ["npm:3.2.7", {\ + "packageLocation": "./.yarn/cache/debug-npm-3.2.7-754e818c7a-b3d8c59407.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "npm:3.2.7"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["npm:4.3.4", {\ + "packageLocation": "./.yarn/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "npm:4.3.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:396a3691f7b25accf085fe2fff1f56eb7540eff3f2e928a7572ca1de9b831ff8f22136404f236aaed35d90369918dfc34392844d0f822a310563f34746dfb015#npm:3.2.7", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-507f12afb6/0/cache/debug-npm-3.2.7-754e818c7a-b3d8c59407.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "virtual:396a3691f7b25accf085fe2fff1f56eb7540eff3f2e928a7572ca1de9b831ff8f22136404f236aaed35d90369918dfc34392844d0f822a310563f34746dfb015#npm:3.2.7"],\ + ["@types/supports-color", null],\ + ["ms", "npm:2.1.3"],\ + ["supports-color", null]\ + ],\ + "packagePeers": [\ + "@types/supports-color",\ + "supports-color"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:746c2ee2e959566061c1df57b2638a302e551c1b32ffd0373455fe2a957fd5f803ed1d4f89a238e65b1434f970cab323b76c0c230fe502916b0eb3cb83889823#npm:4.3.4", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-3a24b171dc/0/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "virtual:746c2ee2e959566061c1df57b2638a302e551c1b32ffd0373455fe2a957fd5f803ed1d4f89a238e65b1434f970cab323b76c0c230fe502916b0eb3cb83889823#npm:4.3.4"],\ + ["@types/supports-color", null],\ + ["ms", "npm:2.1.2"],\ + ["supports-color", "npm:8.1.1"]\ + ],\ + "packagePeers": [\ + "@types/supports-color",\ + "supports-color"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-c292241d98/0/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["@types/supports-color", null],\ + ["ms", "npm:2.1.2"],\ + ["supports-color", null]\ + ],\ + "packagePeers": [\ + "@types/supports-color",\ + "supports-color"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["decimal.js", [\ + ["npm:10.4.3", {\ + "packageLocation": "./.yarn/cache/decimal.js-npm-10.4.3-e7d483387c-796404dcfa.zip/node_modules/decimal.js/",\ + "packageDependencies": [\ + ["decimal.js", "npm:10.4.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deep-eql", [\ + ["npm:4.1.3", {\ + "packageLocation": "./.yarn/cache/deep-eql-npm-4.1.3-020a64f862-7f6d30cb41.zip/node_modules/deep-eql/",\ + "packageDependencies": [\ + ["deep-eql", "npm:4.1.3"],\ + ["type-detect", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deep-is", [\ + ["npm:0.1.4", {\ + "packageLocation": "./.yarn/cache/deep-is-npm-0.1.4-88938b5a67-edb65dd0d7.zip/node_modules/deep-is/",\ + "packageDependencies": [\ + ["deep-is", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["define-data-property", [\ + ["npm:1.1.4", {\ + "packageLocation": "./.yarn/cache/define-data-property-npm-1.1.4-4cbd8efc51-8068ee6cab.zip/node_modules/define-data-property/",\ + "packageDependencies": [\ + ["define-data-property", "npm:1.1.4"],\ + ["es-define-property", "npm:1.0.0"],\ + ["es-errors", "npm:1.3.0"],\ + ["gopd", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["delayed-stream", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/delayed-stream-npm-1.0.0-c5a4c4cc02-46fe6e83e2.zip/node_modules/delayed-stream/",\ + "packageDependencies": [\ + ["delayed-stream", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["diff-sequences", [\ + ["npm:29.6.3", {\ + "packageLocation": "./.yarn/cache/diff-sequences-npm-29.6.3-18ab2c9949-f4914158e1.zip/node_modules/diff-sequences/",\ + "packageDependencies": [\ + ["diff-sequences", "npm:29.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dir-glob", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip/node_modules/dir-glob/",\ + "packageDependencies": [\ + ["dir-glob", "npm:3.0.1"],\ + ["path-type", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["doctrine", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/doctrine-npm-3.0.0-c6f1615f04-fd7673ca77.zip/node_modules/doctrine/",\ + "packageDependencies": [\ + ["doctrine", "npm:3.0.0"],\ + ["esutils", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["duplexer", [\ + ["npm:0.1.2", {\ + "packageLocation": "./.yarn/cache/duplexer-npm-0.1.2-952c810235-62ba61a830.zip/node_modules/duplexer/",\ + "packageDependencies": [\ + ["duplexer", "npm:0.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["earcut", [\ + ["npm:2.2.4", {\ + "packageLocation": "./.yarn/cache/earcut-npm-2.2.4-e823546b2f-aea0466cb2.zip/node_modules/earcut/",\ + "packageDependencies": [\ + ["earcut", "npm:2.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eastasianwidth", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-7d00d7cd8e.zip/node_modules/eastasianwidth/",\ + "packageDependencies": [\ + ["eastasianwidth", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ecc-jsbn", [\ + ["npm:0.1.2", {\ + "packageLocation": "./.yarn/cache/ecc-jsbn-npm-0.1.2-85b7a7be89-22fef4b620.zip/node_modules/ecc-jsbn/",\ + "packageDependencies": [\ + ["ecc-jsbn", "npm:0.1.2"],\ + ["jsbn", "npm:0.1.1"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["editorconfig", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/editorconfig-npm-1.0.4-95c5a5b144-09904f1938.zip/node_modules/editorconfig/",\ + "packageDependencies": [\ + ["editorconfig", "npm:1.0.4"],\ + ["@one-ini/wasm", "npm:0.1.1"],\ + ["commander", "npm:10.0.1"],\ + ["minimatch", "npm:9.0.1"],\ + ["semver", "npm:7.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["emoji-regex", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:8.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.2.2", {\ + "packageLocation": "./.yarn/cache/emoji-regex-npm-9.2.2-e6fac8d058-8487182da7.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:9.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["encoding", [\ + ["npm:0.1.13", {\ + "packageLocation": "./.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip/node_modules/encoding/",\ + "packageDependencies": [\ + ["encoding", "npm:0.1.13"],\ + ["iconv-lite", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["end-of-stream", [\ + ["npm:1.4.4", {\ + "packageLocation": "./.yarn/cache/end-of-stream-npm-1.4.4-497fc6dee1-530a5a5a1e.zip/node_modules/end-of-stream/",\ + "packageDependencies": [\ + ["end-of-stream", "npm:1.4.4"],\ + ["once", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["enquirer", [\ + ["npm:2.4.1", {\ + "packageLocation": "./.yarn/cache/enquirer-npm-2.4.1-d71b2b33c1-f080f11a74.zip/node_modules/enquirer/",\ + "packageDependencies": [\ + ["enquirer", "npm:2.4.1"],\ + ["ansi-colors", "npm:4.1.3"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["entities", [\ + ["npm:4.5.0", {\ + "packageLocation": "./.yarn/cache/entities-npm-4.5.0-7cdb83b832-853f8ebd5b.zip/node_modules/entities/",\ + "packageDependencies": [\ + ["entities", "npm:4.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["env-paths", [\ + ["npm:2.2.1", {\ + "packageLocation": "./.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip/node_modules/env-paths/",\ + "packageDependencies": [\ + ["env-paths", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["err-code", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-8b7b1be20d.zip/node_modules/err-code/",\ + "packageDependencies": [\ + ["err-code", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-define-property", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/es-define-property-npm-1.0.0-e23aa9b242-f66ece0a88.zip/node_modules/es-define-property/",\ + "packageDependencies": [\ + ["es-define-property", "npm:1.0.0"],\ + ["get-intrinsic", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-errors", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/es-errors-npm-1.3.0-fda0c9b8a8-ec1414527a.zip/node_modules/es-errors/",\ + "packageDependencies": [\ + ["es-errors", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esbuild", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/esbuild-npm-0.19.12-fb5a3a4313/node_modules/esbuild/",\ + "packageDependencies": [\ + ["esbuild", "npm:0.19.12"],\ + ["@esbuild/aix-ppc64", "npm:0.19.12"],\ + ["@esbuild/android-arm", "npm:0.19.12"],\ + ["@esbuild/android-arm64", "npm:0.19.12"],\ + ["@esbuild/android-x64", "npm:0.19.12"],\ + ["@esbuild/darwin-arm64", "npm:0.19.12"],\ + ["@esbuild/darwin-x64", "npm:0.19.12"],\ + ["@esbuild/freebsd-arm64", "npm:0.19.12"],\ + ["@esbuild/freebsd-x64", "npm:0.19.12"],\ + ["@esbuild/linux-arm", "npm:0.19.12"],\ + ["@esbuild/linux-arm64", "npm:0.19.12"],\ + ["@esbuild/linux-ia32", "npm:0.19.12"],\ + ["@esbuild/linux-loong64", "npm:0.19.12"],\ + ["@esbuild/linux-mips64el", "npm:0.19.12"],\ + ["@esbuild/linux-ppc64", "npm:0.19.12"],\ + ["@esbuild/linux-riscv64", "npm:0.19.12"],\ + ["@esbuild/linux-s390x", "npm:0.19.12"],\ + ["@esbuild/linux-x64", "npm:0.19.12"],\ + ["@esbuild/netbsd-x64", "npm:0.19.12"],\ + ["@esbuild/openbsd-x64", "npm:0.19.12"],\ + ["@esbuild/sunos-x64", "npm:0.19.12"],\ + ["@esbuild/win32-arm64", "npm:0.19.12"],\ + ["@esbuild/win32-ia32", "npm:0.19.12"],\ + ["@esbuild/win32-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escape-string-regexp", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-6092fda75c.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-98b48897d9.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint", [\ + ["npm:8.57.0", {\ + "packageLocation": "./.yarn/cache/eslint-npm-8.57.0-4286e12a3a-3a48d7ff85.zip/node_modules/eslint/",\ + "packageDependencies": [\ + ["eslint", "npm:8.57.0"],\ + ["@eslint-community/eslint-utils", "virtual:4286e12a3a0f74af013bc8f16c6d8fdde823cfbf6389660266b171e551f576c805b0a7a8eb2a7087a5cee7dfe6ebb6e1ea3808d93daf915edc95656907a381bb#npm:4.4.0"],\ + ["@eslint-community/regexpp", "npm:4.10.0"],\ + ["@eslint/eslintrc", "npm:2.1.4"],\ + ["@eslint/js", "npm:8.57.0"],\ + ["@humanwhocodes/config-array", "npm:0.11.14"],\ + ["@humanwhocodes/module-importer", "npm:1.0.1"],\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["@ungap/structured-clone", "npm:1.2.0"],\ + ["ajv", "npm:6.12.6"],\ + ["chalk", "npm:4.1.2"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["doctrine", "npm:3.0.0"],\ + ["escape-string-regexp", "npm:4.0.0"],\ + ["eslint-scope", "npm:7.2.2"],\ + ["eslint-visitor-keys", "npm:3.4.3"],\ + ["espree", "npm:9.6.1"],\ + ["esquery", "npm:1.5.0"],\ + ["esutils", "npm:2.0.3"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["file-entry-cache", "npm:6.0.1"],\ + ["find-up", "npm:5.0.0"],\ + ["glob-parent", "npm:6.0.2"],\ + ["globals", "npm:13.24.0"],\ + ["graphemer", "npm:1.4.0"],\ + ["ignore", "npm:5.3.1"],\ + ["imurmurhash", "npm:0.1.4"],\ + ["is-glob", "npm:4.0.3"],\ + ["is-path-inside", "npm:3.0.3"],\ + ["js-yaml", "npm:4.1.0"],\ + ["json-stable-stringify-without-jsonify", "npm:1.0.1"],\ + ["levn", "npm:0.4.1"],\ + ["lodash.merge", "npm:4.6.2"],\ + ["minimatch", "npm:3.1.2"],\ + ["natural-compare", "npm:1.4.0"],\ + ["optionator", "npm:0.9.3"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["text-table", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-config-prettier", [\ + ["npm:8.10.0", {\ + "packageLocation": "./.yarn/cache/eslint-config-prettier-npm-8.10.0-c1aac67611-153266badd.zip/node_modules/eslint-config-prettier/",\ + "packageDependencies": [\ + ["eslint-config-prettier", "npm:8.10.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:6fc48338ae88f05b1ff3671247bd4e7892b63be26981c93bbf01ba5612d8629c25183daccd36b52b7fa99652a626b42447ea5cd18eae46ffd741d02b5897306e#npm:8.10.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-2ad7488cc1/0/cache/eslint-config-prettier-npm-8.10.0-c1aac67611-153266badd.zip/node_modules/eslint-config-prettier/",\ + "packageDependencies": [\ + ["eslint-config-prettier", "virtual:6fc48338ae88f05b1ff3671247bd4e7892b63be26981c93bbf01ba5612d8629c25183daccd36b52b7fa99652a626b42447ea5cd18eae46ffd741d02b5897306e#npm:8.10.0"],\ + ["@types/eslint", null],\ + ["eslint", "npm:8.57.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-plugin-cypress", [\ + ["npm:2.15.1", {\ + "packageLocation": "./.yarn/cache/eslint-plugin-cypress-npm-2.15.1-90f777d9bd-3e66fa9a94.zip/node_modules/eslint-plugin-cypress/",\ + "packageDependencies": [\ + ["eslint-plugin-cypress", "npm:2.15.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.15.1", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-cypress-virtual-61d94beca2/0/cache/eslint-plugin-cypress-npm-2.15.1-90f777d9bd-3e66fa9a94.zip/node_modules/eslint-plugin-cypress/",\ + "packageDependencies": [\ + ["eslint-plugin-cypress", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.15.1"],\ + ["@types/eslint", null],\ + ["eslint", "npm:8.57.0"],\ + ["globals", "npm:13.24.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-plugin-prettier", [\ + ["npm:5.1.3", {\ + "packageLocation": "./.yarn/cache/eslint-plugin-prettier-npm-5.1.3-496c3b84df-eb2a7d46a1.zip/node_modules/eslint-plugin-prettier/",\ + "packageDependencies": [\ + ["eslint-plugin-prettier", "npm:5.1.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:6fc48338ae88f05b1ff3671247bd4e7892b63be26981c93bbf01ba5612d8629c25183daccd36b52b7fa99652a626b42447ea5cd18eae46ffd741d02b5897306e#npm:5.1.3", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-prettier-virtual-2874a5b472/0/cache/eslint-plugin-prettier-npm-5.1.3-496c3b84df-eb2a7d46a1.zip/node_modules/eslint-plugin-prettier/",\ + "packageDependencies": [\ + ["eslint-plugin-prettier", "virtual:6fc48338ae88f05b1ff3671247bd4e7892b63be26981c93bbf01ba5612d8629c25183daccd36b52b7fa99652a626b42447ea5cd18eae46ffd741d02b5897306e#npm:5.1.3"],\ + ["@types/eslint", null],\ + ["@types/eslint-config-prettier", null],\ + ["@types/prettier", null],\ + ["eslint", "npm:8.57.0"],\ + ["eslint-config-prettier", "virtual:6fc48338ae88f05b1ff3671247bd4e7892b63be26981c93bbf01ba5612d8629c25183daccd36b52b7fa99652a626b42447ea5cd18eae46ffd741d02b5897306e#npm:8.10.0"],\ + ["prettier", "npm:3.2.5"],\ + ["prettier-linter-helpers", "npm:1.0.0"],\ + ["synckit", "npm:0.8.8"]\ + ],\ + "packagePeers": [\ + "@types/eslint-config-prettier",\ + "@types/eslint",\ + "@types/prettier",\ + "eslint-config-prettier",\ + "eslint",\ + "prettier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-plugin-vue", [\ + ["npm:9.22.0", {\ + "packageLocation": "./.yarn/cache/eslint-plugin-vue-npm-9.22.0-2cdb92f3c1-5f1e94b412.zip/node_modules/eslint-plugin-vue/",\ + "packageDependencies": [\ + ["eslint-plugin-vue", "npm:9.22.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:9.22.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-vue-virtual-d1c6a268af/0/cache/eslint-plugin-vue-npm-9.22.0-2cdb92f3c1-5f1e94b412.zip/node_modules/eslint-plugin-vue/",\ + "packageDependencies": [\ + ["eslint-plugin-vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:9.22.0"],\ + ["@eslint-community/eslint-utils", "virtual:4286e12a3a0f74af013bc8f16c6d8fdde823cfbf6389660266b171e551f576c805b0a7a8eb2a7087a5cee7dfe6ebb6e1ea3808d93daf915edc95656907a381bb#npm:4.4.0"],\ + ["@types/eslint", null],\ + ["eslint", "npm:8.57.0"],\ + ["natural-compare", "npm:1.4.0"],\ + ["nth-check", "npm:2.1.1"],\ + ["postcss-selector-parser", "npm:6.0.15"],\ + ["semver", "npm:7.6.0"],\ + ["vue-eslint-parser", "virtual:54eeb4f053aec729865ff802f8132a1707ba47dd8522c93b5a494fbe5bf2069f5002713c5819f5c57128cf316bf99a814fff1ea43b98127d28fc575e8089bc1b#npm:9.4.2"],\ + ["xml-name-validator", "npm:4.0.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-scope", [\ + ["npm:7.2.2", {\ + "packageLocation": "./.yarn/cache/eslint-scope-npm-7.2.2-53cb0df8e8-ec97dbf5fb.zip/node_modules/eslint-scope/",\ + "packageDependencies": [\ + ["eslint-scope", "npm:7.2.2"],\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-visitor-keys", [\ + ["npm:3.4.3", {\ + "packageLocation": "./.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-36e9ef87fc.zip/node_modules/eslint-visitor-keys/",\ + "packageDependencies": [\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["espree", [\ + ["npm:9.6.1", {\ + "packageLocation": "./.yarn/cache/espree-npm-9.6.1-a50722a5a9-eb8c149c7a.zip/node_modules/espree/",\ + "packageDependencies": [\ + ["espree", "npm:9.6.1"],\ + ["acorn", "npm:8.11.3"],\ + ["acorn-jsx", "virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esquery", [\ + ["npm:1.5.0", {\ + "packageLocation": "./.yarn/cache/esquery-npm-1.5.0-d8f8a06879-aefb0d2596.zip/node_modules/esquery/",\ + "packageDependencies": [\ + ["esquery", "npm:1.5.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esrecurse", [\ + ["npm:4.3.0", {\ + "packageLocation": "./.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-ebc17b1a33.zip/node_modules/esrecurse/",\ + "packageDependencies": [\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["estraverse", [\ + ["npm:5.3.0", {\ + "packageLocation": "./.yarn/cache/estraverse-npm-5.3.0-03284f8f63-072780882d.zip/node_modules/estraverse/",\ + "packageDependencies": [\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["estree-walker", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/estree-walker-npm-2.0.2-dfab42f65c-6151e6f982.zip/node_modules/estree-walker/",\ + "packageDependencies": [\ + ["estree-walker", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.3", {\ + "packageLocation": "./.yarn/cache/estree-walker-npm-3.0.3-0372979673-a65728d572.zip/node_modules/estree-walker/",\ + "packageDependencies": [\ + ["estree-walker", "npm:3.0.3"],\ + ["@types/estree", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esutils", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/esutils-npm-2.0.3-f865beafd5-22b5b08f74.zip/node_modules/esutils/",\ + "packageDependencies": [\ + ["esutils", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["event-stream", [\ + ["npm:3.3.4", {\ + "packageLocation": "./.yarn/cache/event-stream-npm-3.3.4-5a4db234bf-80b467820b.zip/node_modules/event-stream/",\ + "packageDependencies": [\ + ["event-stream", "npm:3.3.4"],\ + ["duplexer", "npm:0.1.2"],\ + ["from", "npm:0.1.7"],\ + ["map-stream", "npm:0.1.0"],\ + ["pause-stream", "npm:0.0.11"],\ + ["split", "npm:0.3.3"],\ + ["stream-combiner", "npm:0.0.4"],\ + ["through", "npm:2.3.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eventemitter2", [\ + ["npm:6.4.7", {\ + "packageLocation": "./.yarn/cache/eventemitter2-npm-6.4.7-ad2467adaa-1b36a77e13.zip/node_modules/eventemitter2/",\ + "packageDependencies": [\ + ["eventemitter2", "npm:6.4.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["execa", [\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/execa-npm-4.1.0-cc675b4189-e30d298934.zip/node_modules/execa/",\ + "packageDependencies": [\ + ["execa", "npm:4.1.0"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["get-stream", "npm:5.2.0"],\ + ["human-signals", "npm:1.1.1"],\ + ["is-stream", "npm:2.0.1"],\ + ["merge-stream", "npm:2.0.0"],\ + ["npm-run-path", "npm:4.0.1"],\ + ["onetime", "npm:5.1.2"],\ + ["signal-exit", "npm:3.0.7"],\ + ["strip-final-newline", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/execa-npm-5.1.1-191347acf5-fba9022c8c.zip/node_modules/execa/",\ + "packageDependencies": [\ + ["execa", "npm:5.1.1"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["get-stream", "npm:6.0.1"],\ + ["human-signals", "npm:2.1.0"],\ + ["is-stream", "npm:2.0.1"],\ + ["merge-stream", "npm:2.0.0"],\ + ["npm-run-path", "npm:4.0.1"],\ + ["onetime", "npm:5.1.2"],\ + ["signal-exit", "npm:3.0.7"],\ + ["strip-final-newline", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.0.1", {\ + "packageLocation": "./.yarn/cache/execa-npm-8.0.1-0211bd404c-cac1bf8658.zip/node_modules/execa/",\ + "packageDependencies": [\ + ["execa", "npm:8.0.1"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["get-stream", "npm:8.0.1"],\ + ["human-signals", "npm:5.0.0"],\ + ["is-stream", "npm:3.0.0"],\ + ["merge-stream", "npm:2.0.0"],\ + ["npm-run-path", "npm:5.3.0"],\ + ["onetime", "npm:6.0.0"],\ + ["signal-exit", "npm:4.1.0"],\ + ["strip-final-newline", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["executable", [\ + ["npm:4.1.1", {\ + "packageLocation": "./.yarn/cache/executable-npm-4.1.1-c06d32cd1b-f01927ce59.zip/node_modules/executable/",\ + "packageDependencies": [\ + ["executable", "npm:4.1.1"],\ + ["pify", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["exponential-backoff", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/exponential-backoff-npm-3.1.1-04df458b30-3d21519a4f.zip/node_modules/exponential-backoff/",\ + "packageDependencies": [\ + ["exponential-backoff", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["extend", [\ + ["npm:3.0.2", {\ + "packageLocation": "./.yarn/cache/extend-npm-3.0.2-e1ca07ac54-a50a8309ca.zip/node_modules/extend/",\ + "packageDependencies": [\ + ["extend", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["extend-shallow", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/extend-shallow-npm-2.0.1-e6ef52b29c-8fb58d9d7a.zip/node_modules/extend-shallow/",\ + "packageDependencies": [\ + ["extend-shallow", "npm:2.0.1"],\ + ["is-extendable", "npm:0.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.2", {\ + "packageLocation": "./.yarn/cache/extend-shallow-npm-3.0.2-77bbe1bbf5-a920b0cd58.zip/node_modules/extend-shallow/",\ + "packageDependencies": [\ + ["extend-shallow", "npm:3.0.2"],\ + ["assign-symbols", "npm:1.0.0"],\ + ["is-extendable", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["extract-zip", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/extract-zip-npm-2.0.1-92a28e392b-8cbda9debd.zip/node_modules/extract-zip/",\ + "packageDependencies": [\ + ["extract-zip", "npm:2.0.1"],\ + ["@types/yauzl", "npm:2.10.3"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["get-stream", "npm:5.2.0"],\ + ["yauzl", "npm:2.10.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["extsprintf", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/extsprintf-npm-1.3.0-61a92b324c-cee7a4a1e3.zip/node_modules/extsprintf/",\ + "packageDependencies": [\ + ["extsprintf", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.4.1", {\ + "packageLocation": "./.yarn/cache/extsprintf-npm-1.4.1-140b2f27ab-a2f29b2419.zip/node_modules/extsprintf/",\ + "packageDependencies": [\ + ["extsprintf", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-deep-equal", [\ + ["npm:3.1.3", {\ + "packageLocation": "./.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip/node_modules/fast-deep-equal/",\ + "packageDependencies": [\ + ["fast-deep-equal", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-diff", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/fast-diff-npm-1.3.0-9f19e3b743-d22d371b99.zip/node_modules/fast-diff/",\ + "packageDependencies": [\ + ["fast-diff", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-glob", [\ + ["npm:3.3.2", {\ + "packageLocation": "./.yarn/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-900e4979f4.zip/node_modules/fast-glob/",\ + "packageDependencies": [\ + ["fast-glob", "npm:3.3.2"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["glob-parent", "npm:5.1.2"],\ + ["merge2", "npm:1.4.1"],\ + ["micromatch", "npm:4.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-json-stable-stringify", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-b191531e36.zip/node_modules/fast-json-stable-stringify/",\ + "packageDependencies": [\ + ["fast-json-stable-stringify", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-levenshtein", [\ + ["npm:2.0.6", {\ + "packageLocation": "./.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-92cfec0a8d.zip/node_modules/fast-levenshtein/",\ + "packageDependencies": [\ + ["fast-levenshtein", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fastq", [\ + ["npm:1.17.1", {\ + "packageLocation": "./.yarn/cache/fastq-npm-1.17.1-56d4554993-a8c5b26788.zip/node_modules/fastq/",\ + "packageDependencies": [\ + ["fastq", "npm:1.17.1"],\ + ["reusify", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fd-slicer", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/fd-slicer-npm-1.1.0-3cade0050a-c8585fd571.zip/node_modules/fd-slicer/",\ + "packageDependencies": [\ + ["fd-slicer", "npm:1.1.0"],\ + ["pend", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["figures", [\ + ["npm:3.2.0", {\ + "packageLocation": "./.yarn/cache/figures-npm-3.2.0-85d357e955-85a6ad29e9.zip/node_modules/figures/",\ + "packageDependencies": [\ + ["figures", "npm:3.2.0"],\ + ["escape-string-regexp", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["file-entry-cache", [\ + ["npm:6.0.1", {\ + "packageLocation": "./.yarn/cache/file-entry-cache-npm-6.0.1-31965cf0af-f49701feaa.zip/node_modules/file-entry-cache/",\ + "packageDependencies": [\ + ["file-entry-cache", "npm:6.0.1"],\ + ["flat-cache", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fill-range", [\ + ["npm:7.0.1", {\ + "packageLocation": "./.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-cc283f4e65.zip/node_modules/fill-range/",\ + "packageDependencies": [\ + ["fill-range", "npm:7.0.1"],\ + ["to-regex-range", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["find-up", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/find-up-npm-5.0.0-e03e9b796d-07955e3573.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:5.0.0"],\ + ["locate-path", "npm:6.0.0"],\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["flat-cache", [\ + ["npm:3.2.0", {\ + "packageLocation": "./.yarn/cache/flat-cache-npm-3.2.0-9a887f084e-e7e0f59801.zip/node_modules/flat-cache/",\ + "packageDependencies": [\ + ["flat-cache", "npm:3.2.0"],\ + ["flatted", "npm:3.3.1"],\ + ["keyv", "npm:4.5.4"],\ + ["rimraf", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["flatted", [\ + ["npm:3.3.1", {\ + "packageLocation": "./.yarn/cache/flatted-npm-3.3.1-458870f59b-85ae718165.zip/node_modules/flatted/",\ + "packageDependencies": [\ + ["flatted", "npm:3.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["follow-redirects", [\ + ["npm:1.15.5", {\ + "packageLocation": "./.yarn/cache/follow-redirects-npm-1.15.5-9d14db76ca-5ca49b5ce6.zip/node_modules/follow-redirects/",\ + "packageDependencies": [\ + ["follow-redirects", "npm:1.15.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d7b9974d1bba76881cc57a280a16dd4914416a6fc4923c2efbb6328057412974da1e719cef1530b7a62b97d85d828f7e1d49b5f6de3b5b0854d49902ec87827c#npm:1.15.5", {\ + "packageLocation": "./.yarn/__virtual__/follow-redirects-virtual-393395f3f6/0/cache/follow-redirects-npm-1.15.5-9d14db76ca-5ca49b5ce6.zip/node_modules/follow-redirects/",\ + "packageDependencies": [\ + ["follow-redirects", "virtual:d7b9974d1bba76881cc57a280a16dd4914416a6fc4923c2efbb6328057412974da1e719cef1530b7a62b97d85d828f7e1d49b5f6de3b5b0854d49902ec87827c#npm:1.15.5"],\ + ["@types/debug", null],\ + ["debug", null]\ + ],\ + "packagePeers": [\ + "@types/debug",\ + "debug"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["foreground-child", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/foreground-child-npm-3.1.1-77e78ed774-139d270bc8.zip/node_modules/foreground-child/",\ + "packageDependencies": [\ + ["foreground-child", "npm:3.1.1"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["forever-agent", [\ + ["npm:0.6.1", {\ + "packageLocation": "./.yarn/cache/forever-agent-npm-0.6.1-01dae53bf9-766ae6e220.zip/node_modules/forever-agent/",\ + "packageDependencies": [\ + ["forever-agent", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["form-data", [\ + ["npm:2.3.3", {\ + "packageLocation": "./.yarn/cache/form-data-npm-2.3.3-c016cc11c0-10c1780fa1.zip/node_modules/form-data/",\ + "packageDependencies": [\ + ["form-data", "npm:2.3.3"],\ + ["asynckit", "npm:0.4.0"],\ + ["combined-stream", "npm:1.0.8"],\ + ["mime-types", "npm:2.1.35"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/form-data-npm-4.0.0-916facec2d-01135bf867.zip/node_modules/form-data/",\ + "packageDependencies": [\ + ["form-data", "npm:4.0.0"],\ + ["asynckit", "npm:0.4.0"],\ + ["combined-stream", "npm:1.0.8"],\ + ["mime-types", "npm:2.1.35"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["from", [\ + ["npm:0.1.7", {\ + "packageLocation": "./.yarn/cache/from-npm-0.1.7-6dcf14a57d-b85125b789.zip/node_modules/from/",\ + "packageDependencies": [\ + ["from", "npm:0.1.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs-extra", [\ + ["npm:9.1.0", {\ + "packageLocation": "./.yarn/cache/fs-extra-npm-9.1.0-983c2ddb4c-ba71ba32e0.zip/node_modules/fs-extra/",\ + "packageDependencies": [\ + ["fs-extra", "npm:9.1.0"],\ + ["at-least-node", "npm:1.0.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["jsonfile", "npm:6.1.0"],\ + ["universalify", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs-minipass", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip/node_modules/fs-minipass/",\ + "packageDependencies": [\ + ["fs-minipass", "npm:2.1.0"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.3", {\ + "packageLocation": "./.yarn/cache/fs-minipass-npm-3.0.3-d148d6ac19-8722a41109.zip/node_modules/fs-minipass/",\ + "packageDependencies": [\ + ["fs-minipass", "npm:3.0.3"],\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs.realpath", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/fs.realpath-npm-1.0.0-c8f05d8126-99ddea01a7.zip/node_modules/fs.realpath/",\ + "packageDependencies": [\ + ["fs.realpath", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fsevents", [\ + ["patch:fsevents@npm%3A2.3.3#~builtin::version=2.3.3&hash=df0bf1", {\ + "packageLocation": "./.yarn/unplugged/fsevents-patch-21ad2b1333/node_modules/fsevents/",\ + "packageDependencies": [\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#~builtin::version=2.3.3&hash=df0bf1"],\ + ["node-gyp", "npm:10.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["function-bind", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-2b0ff4ce70.zip/node_modules/function-bind/",\ + "packageDependencies": [\ + ["function-bind", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["geojson-vt", [\ + ["npm:3.2.1", {\ + "packageLocation": "./.yarn/cache/geojson-vt-npm-3.2.1-80c8f60496-7c7973cfaf.zip/node_modules/geojson-vt/",\ + "packageDependencies": [\ + ["geojson-vt", "npm:3.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-func-name", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/get-func-name-npm-2.0.2-409dbe3703-3f62f4c236.zip/node_modules/get-func-name/",\ + "packageDependencies": [\ + ["get-func-name", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-intrinsic", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/get-intrinsic-npm-1.2.4-1dad3427b2-414e3cdf2c.zip/node_modules/get-intrinsic/",\ + "packageDependencies": [\ + ["get-intrinsic", "npm:1.2.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["function-bind", "npm:1.1.2"],\ + ["has-proto", "npm:1.0.3"],\ + ["has-symbols", "npm:1.0.3"],\ + ["hasown", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-stream", [\ + ["npm:5.2.0", {\ + "packageLocation": "./.yarn/cache/get-stream-npm-5.2.0-2cfd3b452b-8bc1a23174.zip/node_modules/get-stream/",\ + "packageDependencies": [\ + ["get-stream", "npm:5.2.0"],\ + ["pump", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.1", {\ + "packageLocation": "./.yarn/cache/get-stream-npm-6.0.1-83e51a4642-e04ecece32.zip/node_modules/get-stream/",\ + "packageDependencies": [\ + ["get-stream", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.0.1", {\ + "packageLocation": "./.yarn/cache/get-stream-npm-8.0.1-c921b4840e-01e3d3cf29.zip/node_modules/get-stream/",\ + "packageDependencies": [\ + ["get-stream", "npm:8.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-value", [\ + ["npm:2.0.6", {\ + "packageLocation": "./.yarn/cache/get-value-npm-2.0.6-03cd422e0a-5c3b99cb53.zip/node_modules/get-value/",\ + "packageDependencies": [\ + ["get-value", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["getos", [\ + ["npm:3.2.1", {\ + "packageLocation": "./.yarn/cache/getos-npm-3.2.1-620c03aa34-42fd78a66d.zip/node_modules/getos/",\ + "packageDependencies": [\ + ["getos", "npm:3.2.1"],\ + ["async", "npm:3.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["getpass", [\ + ["npm:0.1.7", {\ + "packageLocation": "./.yarn/cache/getpass-npm-0.1.7-519164a3be-ab18d55661.zip/node_modules/getpass/",\ + "packageDependencies": [\ + ["getpass", "npm:0.1.7"],\ + ["assert-plus", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gl-matrix", [\ + ["npm:3.4.3", {\ + "packageLocation": "./.yarn/cache/gl-matrix-npm-3.4.3-f2e6349faa-c47830ba72.zip/node_modules/gl-matrix/",\ + "packageDependencies": [\ + ["gl-matrix", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob", [\ + ["npm:10.3.10", {\ + "packageLocation": "./.yarn/cache/glob-npm-10.3.10-da1ef8b112-4f2fe2511e.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:10.3.10"],\ + ["foreground-child", "npm:3.1.1"],\ + ["jackspeak", "npm:2.3.6"],\ + ["minimatch", "npm:9.0.3"],\ + ["minipass", "npm:7.0.4"],\ + ["path-scurry", "npm:1.10.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.2.3", {\ + "packageLocation": "./.yarn/cache/glob-npm-7.2.3-2d866d17a5-29452e97b3.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:7.2.3"],\ + ["fs.realpath", "npm:1.0.0"],\ + ["inflight", "npm:1.0.6"],\ + ["inherits", "npm:2.0.4"],\ + ["minimatch", "npm:3.1.2"],\ + ["once", "npm:1.4.0"],\ + ["path-is-absolute", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob-parent", [\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/glob-parent-npm-5.1.2-021ab32634-f4f2bfe242.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:5.1.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.2", {\ + "packageLocation": "./.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-c13ee97978.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:6.0.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["global-dirs", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/global-dirs-npm-3.0.1-8918d35f86-70147b8026.zip/node_modules/global-dirs/",\ + "packageDependencies": [\ + ["global-dirs", "npm:3.0.1"],\ + ["ini", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["global-prefix", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/global-prefix-npm-3.0.0-68cf01e67d-8a82fc1d6f.zip/node_modules/global-prefix/",\ + "packageDependencies": [\ + ["global-prefix", "npm:3.0.0"],\ + ["ini", "npm:1.3.8"],\ + ["kind-of", "npm:6.0.3"],\ + ["which", "npm:1.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["globals", [\ + ["npm:13.24.0", {\ + "packageLocation": "./.yarn/cache/globals-npm-13.24.0-cc7713139c-56066ef058.zip/node_modules/globals/",\ + "packageDependencies": [\ + ["globals", "npm:13.24.0"],\ + ["type-fest", "npm:0.20.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["globby", [\ + ["npm:11.1.0", {\ + "packageLocation": "./.yarn/cache/globby-npm-11.1.0-bdcdf20c71-b4be8885e0.zip/node_modules/globby/",\ + "packageDependencies": [\ + ["globby", "npm:11.1.0"],\ + ["array-union", "npm:2.1.0"],\ + ["dir-glob", "npm:3.0.1"],\ + ["fast-glob", "npm:3.3.2"],\ + ["ignore", "npm:5.3.1"],\ + ["merge2", "npm:1.4.1"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gopd", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/gopd-npm-1.0.1-10c1d0b534-a5ccfb8806.zip/node_modules/gopd/",\ + "packageDependencies": [\ + ["gopd", "npm:1.0.1"],\ + ["get-intrinsic", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["graceful-fs", [\ + ["npm:4.2.11", {\ + "packageLocation": "./.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-ac85f94da9.zip/node_modules/graceful-fs/",\ + "packageDependencies": [\ + ["graceful-fs", "npm:4.2.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["graphemer", [\ + ["npm:1.4.0", {\ + "packageLocation": "./.yarn/cache/graphemer-npm-1.4.0-0627732d35-bab8f0be9b.zip/node_modules/graphemer/",\ + "packageDependencies": [\ + ["graphemer", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-flag", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/has-flag-npm-4.0.0-32af9f0536-261a135703.zip/node_modules/has-flag/",\ + "packageDependencies": [\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-property-descriptors", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/has-property-descriptors-npm-1.0.2-d7077d09f1-fcbb246ea2.zip/node_modules/has-property-descriptors/",\ + "packageDependencies": [\ + ["has-property-descriptors", "npm:1.0.2"],\ + ["es-define-property", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-proto", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/has-proto-npm-1.0.3-b598da2961-fe7c3d50b3.zip/node_modules/has-proto/",\ + "packageDependencies": [\ + ["has-proto", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-symbols", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip/node_modules/has-symbols/",\ + "packageDependencies": [\ + ["has-symbols", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hasown", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/hasown-npm-2.0.1-1bf102e91f-9081c382a4.zip/node_modules/hasown/",\ + "packageDependencies": [\ + ["hasown", "npm:2.0.1"],\ + ["function-bind", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["he", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/he-npm-1.2.0-3b73a2ff07-3d4d6babcc.zip/node_modules/he/",\ + "packageDependencies": [\ + ["he", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["html-encoding-sniffer", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/html-encoding-sniffer-npm-4.0.0-5f6627070d-3339b71dab.zip/node_modules/html-encoding-sniffer/",\ + "packageDependencies": [\ + ["html-encoding-sniffer", "npm:4.0.0"],\ + ["whatwg-encoding", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-cache-semantics", [\ + ["npm:4.1.1", {\ + "packageLocation": "./.yarn/cache/http-cache-semantics-npm-4.1.1-1120131375-83ac0bc60b.zip/node_modules/http-cache-semantics/",\ + "packageDependencies": [\ + ["http-cache-semantics", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-proxy-agent", [\ + ["npm:7.0.2", {\ + "packageLocation": "./.yarn/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-670858c8f8.zip/node_modules/http-proxy-agent/",\ + "packageDependencies": [\ + ["http-proxy-agent", "npm:7.0.2"],\ + ["agent-base", "npm:7.1.0"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-signature", [\ + ["npm:1.3.6", {\ + "packageLocation": "./.yarn/cache/http-signature-npm-1.3.6-5b2eff4373-10be2af476.zip/node_modules/http-signature/",\ + "packageDependencies": [\ + ["http-signature", "npm:1.3.6"],\ + ["assert-plus", "npm:1.0.0"],\ + ["jsprim", "npm:2.0.2"],\ + ["sshpk", "npm:1.18.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["https-proxy-agent", [\ + ["npm:7.0.4", {\ + "packageLocation": "./.yarn/cache/https-proxy-agent-npm-7.0.4-a51e13f5dc-daaab857a9.zip/node_modules/https-proxy-agent/",\ + "packageDependencies": [\ + ["https-proxy-agent", "npm:7.0.4"],\ + ["agent-base", "npm:7.1.0"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["human-signals", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/human-signals-npm-1.1.1-616b2586c2-d587647c9e.zip/node_modules/human-signals/",\ + "packageDependencies": [\ + ["human-signals", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/human-signals-npm-2.1.0-f75815481d-b87fd89fce.zip/node_modules/human-signals/",\ + "packageDependencies": [\ + ["human-signals", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/human-signals-npm-5.0.0-ed25a9f58c-6504560d5e.zip/node_modules/human-signals/",\ + "packageDependencies": [\ + ["human-signals", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["iconv-lite", [\ + ["npm:0.6.3", {\ + "packageLocation": "./.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip/node_modules/iconv-lite/",\ + "packageDependencies": [\ + ["iconv-lite", "npm:0.6.3"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ieee754", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip/node_modules/ieee754/",\ + "packageDependencies": [\ + ["ieee754", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ignore", [\ + ["npm:5.3.1", {\ + "packageLocation": "./.yarn/cache/ignore-npm-5.3.1-f6947c5df7-71d7bb4c1d.zip/node_modules/ignore/",\ + "packageDependencies": [\ + ["ignore", "npm:5.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["import-fresh", [\ + ["npm:3.3.0", {\ + "packageLocation": "./.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip/node_modules/import-fresh/",\ + "packageDependencies": [\ + ["import-fresh", "npm:3.3.0"],\ + ["parent-module", "npm:1.0.1"],\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["imurmurhash", [\ + ["npm:0.1.4", {\ + "packageLocation": "./.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-7cae75c8cd.zip/node_modules/imurmurhash/",\ + "packageDependencies": [\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["indent-string", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/indent-string-npm-4.0.0-7b717435b2-824cfb9929.zip/node_modules/indent-string/",\ + "packageDependencies": [\ + ["indent-string", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inflight", [\ + ["npm:1.0.6", {\ + "packageLocation": "./.yarn/cache/inflight-npm-1.0.6-ccedb4b908-f4f76aa072.zip/node_modules/inflight/",\ + "packageDependencies": [\ + ["inflight", "npm:1.0.6"],\ + ["once", "npm:1.4.0"],\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inherits", [\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip/node_modules/inherits/",\ + "packageDependencies": [\ + ["inherits", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ini", [\ + ["npm:1.3.8", {\ + "packageLocation": "./.yarn/cache/ini-npm-1.3.8-fb5040b4c0-dfd98b0ca3.zip/node_modules/ini/",\ + "packageDependencies": [\ + ["ini", "npm:1.3.8"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/ini-npm-2.0.0-28f7426761-e7aadc5fb2.zip/node_modules/ini/",\ + "packageDependencies": [\ + ["ini", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ip-address", [\ + ["npm:9.0.5", {\ + "packageLocation": "./.yarn/cache/ip-address-npm-9.0.5-9fa024d42a-aa15f12cfd.zip/node_modules/ip-address/",\ + "packageDependencies": [\ + ["ip-address", "npm:9.0.5"],\ + ["jsbn", "npm:1.1.0"],\ + ["sprintf-js", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-ci", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/is-ci-npm-3.0.1-d9aea361e1-192c66dc78.zip/node_modules/is-ci/",\ + "packageDependencies": [\ + ["is-ci", "npm:3.0.1"],\ + ["ci-info", "npm:3.9.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-extendable", [\ + ["npm:0.1.1", {\ + "packageLocation": "./.yarn/cache/is-extendable-npm-0.1.1-322b4649ec-3875571d20.zip/node_modules/is-extendable/",\ + "packageDependencies": [\ + ["is-extendable", "npm:0.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/is-extendable-npm-1.0.1-7095ad8b16-db07bc1e9d.zip/node_modules/is-extendable/",\ + "packageDependencies": [\ + ["is-extendable", "npm:1.0.1"],\ + ["is-plain-object", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-extglob", [\ + ["npm:2.1.1", {\ + "packageLocation": "./.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip/node_modules/is-extglob/",\ + "packageDependencies": [\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-fullwidth-code-point", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip/node_modules/is-fullwidth-code-point/",\ + "packageDependencies": [\ + ["is-fullwidth-code-point", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-glob", [\ + ["npm:4.0.3", {\ + "packageLocation": "./.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-d381c1319f.zip/node_modules/is-glob/",\ + "packageDependencies": [\ + ["is-glob", "npm:4.0.3"],\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-installed-globally", [\ + ["npm:0.4.0", {\ + "packageLocation": "./.yarn/cache/is-installed-globally-npm-0.4.0-a30dd056c7-3359840d59.zip/node_modules/is-installed-globally/",\ + "packageDependencies": [\ + ["is-installed-globally", "npm:0.4.0"],\ + ["global-dirs", "npm:3.0.1"],\ + ["is-path-inside", "npm:3.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-lambda", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip/node_modules/is-lambda/",\ + "packageDependencies": [\ + ["is-lambda", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-number", [\ + ["npm:7.0.0", {\ + "packageLocation": "./.yarn/cache/is-number-npm-7.0.0-060086935c-456ac6f8e0.zip/node_modules/is-number/",\ + "packageDependencies": [\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-path-inside", [\ + ["npm:3.0.3", {\ + "packageLocation": "./.yarn/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-abd50f0618.zip/node_modules/is-path-inside/",\ + "packageDependencies": [\ + ["is-path-inside", "npm:3.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-plain-object", [\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/is-plain-object-npm-2.0.4-da3265d804-2a401140cf.zip/node_modules/is-plain-object/",\ + "packageDependencies": [\ + ["is-plain-object", "npm:2.0.4"],\ + ["isobject", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-potential-custom-element-name", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/is-potential-custom-element-name-npm-1.0.1-f352f606f8-ced7bbbb64.zip/node_modules/is-potential-custom-element-name/",\ + "packageDependencies": [\ + ["is-potential-custom-element-name", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-stream", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/is-stream-npm-2.0.1-c802db55e7-b8e05ccdf9.zip/node_modules/is-stream/",\ + "packageDependencies": [\ + ["is-stream", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/is-stream-npm-3.0.0-a77ac9a62e-172093fe99.zip/node_modules/is-stream/",\ + "packageDependencies": [\ + ["is-stream", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-typedarray", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/is-typedarray-npm-1.0.0-bbd99de5b6-3508c6cd0a.zip/node_modules/is-typedarray/",\ + "packageDependencies": [\ + ["is-typedarray", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-unicode-supported", [\ + ["npm:0.1.0", {\ + "packageLocation": "./.yarn/cache/is-unicode-supported-npm-0.1.0-0833e1bbfb-a2aab86ee7.zip/node_modules/is-unicode-supported/",\ + "packageDependencies": [\ + ["is-unicode-supported", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isexe", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/isexe-npm-2.0.0-b58870bd2e-26bf6c5480.zip/node_modules/isexe/",\ + "packageDependencies": [\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/isexe-npm-3.1.1-9c0061eead-7fe1931ee4.zip/node_modules/isexe/",\ + "packageDependencies": [\ + ["isexe", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isobject", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/isobject-npm-3.0.1-8145901fd2-db85c4c970.zip/node_modules/isobject/",\ + "packageDependencies": [\ + ["isobject", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isstream", [\ + ["npm:0.1.2", {\ + "packageLocation": "./.yarn/cache/isstream-npm-0.1.2-8581c75385-1eb2fe63a7.zip/node_modules/isstream/",\ + "packageDependencies": [\ + ["isstream", "npm:0.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jackspeak", [\ + ["npm:2.3.6", {\ + "packageLocation": "./.yarn/cache/jackspeak-npm-2.3.6-42e1233172-57d43ad11e.zip/node_modules/jackspeak/",\ + "packageDependencies": [\ + ["jackspeak", "npm:2.3.6"],\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["joi", [\ + ["npm:17.12.2", {\ + "packageLocation": "./.yarn/cache/joi-npm-17.12.2-a5561bea50-5a5213c56d.zip/node_modules/joi/",\ + "packageDependencies": [\ + ["joi", "npm:17.12.2"],\ + ["@hapi/hoek", "npm:9.3.0"],\ + ["@hapi/topo", "npm:5.1.0"],\ + ["@sideway/address", "npm:4.1.5"],\ + ["@sideway/formula", "npm:3.0.1"],\ + ["@sideway/pinpoint", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-beautify", [\ + ["npm:1.15.1", {\ + "packageLocation": "./.yarn/cache/js-beautify-npm-1.15.1-08b0c631de-0428ea358c.zip/node_modules/js-beautify/",\ + "packageDependencies": [\ + ["js-beautify", "npm:1.15.1"],\ + ["config-chain", "npm:1.1.13"],\ + ["editorconfig", "npm:1.0.4"],\ + ["glob", "npm:10.3.10"],\ + ["js-cookie", "npm:3.0.5"],\ + ["nopt", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-cookie", [\ + ["npm:3.0.5", {\ + "packageLocation": "./.yarn/cache/js-cookie-npm-3.0.5-8fc8fcc9b4-2dbd2809c6.zip/node_modules/js-cookie/",\ + "packageDependencies": [\ + ["js-cookie", "npm:3.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-tokens", [\ + ["npm:8.0.3", {\ + "packageLocation": "./.yarn/cache/js-tokens-npm-8.0.3-d841c22eba-b749c80829.zip/node_modules/js-tokens/",\ + "packageDependencies": [\ + ["js-tokens", "npm:8.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-yaml", [\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/js-yaml-npm-4.1.0-3606f32312-c7830dfd45.zip/node_modules/js-yaml/",\ + "packageDependencies": [\ + ["js-yaml", "npm:4.1.0"],\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsbn", [\ + ["npm:0.1.1", {\ + "packageLocation": "./.yarn/cache/jsbn-npm-0.1.1-0eb7132404-e5ff29c1b8.zip/node_modules/jsbn/",\ + "packageDependencies": [\ + ["jsbn", "npm:0.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/jsbn-npm-1.1.0-1da0181838-944f924f2b.zip/node_modules/jsbn/",\ + "packageDependencies": [\ + ["jsbn", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsdom", [\ + ["npm:24.0.0", {\ + "packageLocation": "./.yarn/cache/jsdom-npm-24.0.0-0398765e22-180cf672c1.zip/node_modules/jsdom/",\ + "packageDependencies": [\ + ["jsdom", "npm:24.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:24.0.0", {\ + "packageLocation": "./.yarn/__virtual__/jsdom-virtual-16a16014b6/0/cache/jsdom-npm-24.0.0-0398765e22-180cf672c1.zip/node_modules/jsdom/",\ + "packageDependencies": [\ + ["jsdom", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:24.0.0"],\ + ["@types/canvas", null],\ + ["canvas", null],\ + ["cssstyle", "npm:4.0.1"],\ + ["data-urls", "npm:5.0.0"],\ + ["decimal.js", "npm:10.4.3"],\ + ["form-data", "npm:4.0.0"],\ + ["html-encoding-sniffer", "npm:4.0.0"],\ + ["http-proxy-agent", "npm:7.0.2"],\ + ["https-proxy-agent", "npm:7.0.4"],\ + ["is-potential-custom-element-name", "npm:1.0.1"],\ + ["nwsapi", "npm:2.2.7"],\ + ["parse5", "npm:7.1.2"],\ + ["rrweb-cssom", "npm:0.6.0"],\ + ["saxes", "npm:6.0.0"],\ + ["symbol-tree", "npm:3.2.4"],\ + ["tough-cookie", "npm:4.1.3"],\ + ["w3c-xmlserializer", "npm:5.0.0"],\ + ["webidl-conversions", "npm:7.0.0"],\ + ["whatwg-encoding", "npm:3.1.1"],\ + ["whatwg-mimetype", "npm:4.0.0"],\ + ["whatwg-url", "npm:14.0.0"],\ + ["ws", "virtual:16a16014b64a08725bdb50c224240651d60a3e979fd73831d10bde1f50c9efd93506a45a9e4aa8e467da2cddb31b276cf1d8795faaf9b172c829c54796fcddc5#npm:8.16.0"],\ + ["xml-name-validator", "npm:5.0.0"]\ + ],\ + "packagePeers": [\ + "@types/canvas",\ + "canvas"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-buffer", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-9026b03edc.zip/node_modules/json-buffer/",\ + "packageDependencies": [\ + ["json-buffer", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-parse-even-better-errors", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/json-parse-even-better-errors-npm-3.0.1-0bac4a1c62-bf74fa3f71.zip/node_modules/json-parse-even-better-errors/",\ + "packageDependencies": [\ + ["json-parse-even-better-errors", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-schema", [\ + ["npm:0.4.0", {\ + "packageLocation": "./.yarn/cache/json-schema-npm-0.4.0-e776313070-66389434c3.zip/node_modules/json-schema/",\ + "packageDependencies": [\ + ["json-schema", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-schema-traverse", [\ + ["npm:0.4.1", {\ + "packageLocation": "./.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-7486074d3b.zip/node_modules/json-schema-traverse/",\ + "packageDependencies": [\ + ["json-schema-traverse", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-stable-stringify-without-jsonify", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-cff44156dd.zip/node_modules/json-stable-stringify-without-jsonify/",\ + "packageDependencies": [\ + ["json-stable-stringify-without-jsonify", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-stringify-pretty-compact", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/json-stringify-pretty-compact-npm-4.0.0-ad70a71e3b-a10d5c423e.zip/node_modules/json-stringify-pretty-compact/",\ + "packageDependencies": [\ + ["json-stringify-pretty-compact", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-stringify-safe", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/json-stringify-safe-npm-5.0.1-064ddd6ab4-48ec0adad5.zip/node_modules/json-stringify-safe/",\ + "packageDependencies": [\ + ["json-stringify-safe", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsonc-parser", [\ + ["npm:3.2.1", {\ + "packageLocation": "./.yarn/cache/jsonc-parser-npm-3.2.1-776f636a18-656d9027b9.zip/node_modules/jsonc-parser/",\ + "packageDependencies": [\ + ["jsonc-parser", "npm:3.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsonfile", [\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/cache/jsonfile-npm-6.1.0-20a4796cee-7af3b8e1ac.zip/node_modules/jsonfile/",\ + "packageDependencies": [\ + ["jsonfile", "npm:6.1.0"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["universalify", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsprim", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/jsprim-npm-2.0.2-8c40f3719c-d175f6b199.zip/node_modules/jsprim/",\ + "packageDependencies": [\ + ["jsprim", "npm:2.0.2"],\ + ["assert-plus", "npm:1.0.0"],\ + ["extsprintf", "npm:1.3.0"],\ + ["json-schema", "npm:0.4.0"],\ + ["verror", "npm:1.10.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["kdbush", [\ + ["npm:4.0.2", {\ + "packageLocation": "./.yarn/cache/kdbush-npm-4.0.2-e4894ed9f4-6782ef2cda.zip/node_modules/kdbush/",\ + "packageDependencies": [\ + ["kdbush", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["keyv", [\ + ["npm:4.5.4", {\ + "packageLocation": "./.yarn/cache/keyv-npm-4.5.4-4c8e2cf7f7-74a24395b1.zip/node_modules/keyv/",\ + "packageDependencies": [\ + ["keyv", "npm:4.5.4"],\ + ["json-buffer", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["kind-of", [\ + ["npm:6.0.3", {\ + "packageLocation": "./.yarn/cache/kind-of-npm-6.0.3-ab15f36220-3ab01e7b1d.zip/node_modules/kind-of/",\ + "packageDependencies": [\ + ["kind-of", "npm:6.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lazy-ass", [\ + ["npm:1.6.0", {\ + "packageLocation": "./.yarn/cache/lazy-ass-npm-1.6.0-5cda93b8cb-5a3ebb1791.zip/node_modules/lazy-ass/",\ + "packageDependencies": [\ + ["lazy-ass", "npm:1.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["levn", [\ + ["npm:0.4.1", {\ + "packageLocation": "./.yarn/cache/levn-npm-0.4.1-d183b2d7bb-12c5021c85.zip/node_modules/levn/",\ + "packageDependencies": [\ + ["levn", "npm:0.4.1"],\ + ["prelude-ls", "npm:1.2.1"],\ + ["type-check", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["listr2", [\ + ["npm:3.14.0", {\ + "packageLocation": "./.yarn/cache/listr2-npm-3.14.0-446f504112-fdb8b2d6bd.zip/node_modules/listr2/",\ + "packageDependencies": [\ + ["listr2", "npm:3.14.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:746c2ee2e959566061c1df57b2638a302e551c1b32ffd0373455fe2a957fd5f803ed1d4f89a238e65b1434f970cab323b76c0c230fe502916b0eb3cb83889823#npm:3.14.0", {\ + "packageLocation": "./.yarn/__virtual__/listr2-virtual-d6c51966d7/0/cache/listr2-npm-3.14.0-446f504112-fdb8b2d6bd.zip/node_modules/listr2/",\ + "packageDependencies": [\ + ["listr2", "virtual:746c2ee2e959566061c1df57b2638a302e551c1b32ffd0373455fe2a957fd5f803ed1d4f89a238e65b1434f970cab323b76c0c230fe502916b0eb3cb83889823#npm:3.14.0"],\ + ["@types/enquirer", null],\ + ["cli-truncate", "npm:2.1.0"],\ + ["colorette", "npm:2.0.20"],\ + ["enquirer", "npm:2.4.1"],\ + ["log-update", "npm:4.0.0"],\ + ["p-map", "npm:4.0.0"],\ + ["rfdc", "npm:1.3.1"],\ + ["rxjs", "npm:7.8.1"],\ + ["through", "npm:2.3.8"],\ + ["wrap-ansi", "npm:7.0.0"]\ + ],\ + "packagePeers": [\ + "@types/enquirer",\ + "enquirer"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["local-pkg", [\ + ["npm:0.5.0", {\ + "packageLocation": "./.yarn/cache/local-pkg-npm-0.5.0-c126c7ec8b-b0a6931e58.zip/node_modules/local-pkg/",\ + "packageDependencies": [\ + ["local-pkg", "npm:0.5.0"],\ + ["mlly", "npm:1.6.1"],\ + ["pkg-types", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["locate-path", [\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-72eb661788.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:6.0.0"],\ + ["p-locate", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash", [\ + ["npm:4.17.21", {\ + "packageLocation": "./.yarn/cache/lodash-npm-4.17.21-6382451519-eb835a2e51.zip/node_modules/lodash/",\ + "packageDependencies": [\ + ["lodash", "npm:4.17.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.merge", [\ + ["npm:4.6.2", {\ + "packageLocation": "./.yarn/cache/lodash.merge-npm-4.6.2-77cb4416bf-ad580b4bdb.zip/node_modules/lodash.merge/",\ + "packageDependencies": [\ + ["lodash.merge", "npm:4.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.once", [\ + ["npm:4.1.1", {\ + "packageLocation": "./.yarn/cache/lodash.once-npm-4.1.1-d8ba329ead-d768fa9f9b.zip/node_modules/lodash.once/",\ + "packageDependencies": [\ + ["lodash.once", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["log-symbols", [\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/log-symbols-npm-4.1.0-0a13492d8b-fce1497b31.zip/node_modules/log-symbols/",\ + "packageDependencies": [\ + ["log-symbols", "npm:4.1.0"],\ + ["chalk", "npm:4.1.2"],\ + ["is-unicode-supported", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["log-update", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/log-update-npm-4.0.0-9d0554261c-ae2f85bbab.zip/node_modules/log-update/",\ + "packageDependencies": [\ + ["log-update", "npm:4.0.0"],\ + ["ansi-escapes", "npm:4.3.2"],\ + ["cli-cursor", "npm:3.1.0"],\ + ["slice-ansi", "npm:4.0.0"],\ + ["wrap-ansi", "npm:6.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["loupe", [\ + ["npm:2.3.7", {\ + "packageLocation": "./.yarn/cache/loupe-npm-2.3.7-f294c2ef33-96c058ec71.zip/node_modules/loupe/",\ + "packageDependencies": [\ + ["loupe", "npm:2.3.7"],\ + ["get-func-name", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lru-cache", [\ + ["npm:10.2.0", {\ + "packageLocation": "./.yarn/cache/lru-cache-npm-10.2.0-b9f6b44740-eee7ddda4a.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:10.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-f97f499f89.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:6.0.0"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["magic-string", [\ + ["npm:0.30.7", {\ + "packageLocation": "./.yarn/cache/magic-string-npm-0.30.7-0bb5819095-bdf102e36a.zip/node_modules/magic-string/",\ + "packageDependencies": [\ + ["magic-string", "npm:0.30.7"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-fetch-happen", [\ + ["npm:13.0.0", {\ + "packageLocation": "./.yarn/cache/make-fetch-happen-npm-13.0.0-f87a92bb87-7c7a6d381c.zip/node_modules/make-fetch-happen/",\ + "packageDependencies": [\ + ["make-fetch-happen", "npm:13.0.0"],\ + ["@npmcli/agent", "npm:2.2.1"],\ + ["cacache", "npm:18.0.2"],\ + ["http-cache-semantics", "npm:4.1.1"],\ + ["is-lambda", "npm:1.0.1"],\ + ["minipass", "npm:7.0.4"],\ + ["minipass-fetch", "npm:3.0.4"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["negotiator", "npm:0.6.3"],\ + ["promise-retry", "npm:2.0.1"],\ + ["ssri", "npm:10.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["map-stream", [\ + ["npm:0.1.0", {\ + "packageLocation": "./.yarn/cache/map-stream-npm-0.1.0-e44450fc62-38abbe4eb8.zip/node_modules/map-stream/",\ + "packageDependencies": [\ + ["map-stream", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["maplibre-gl", [\ + ["npm:4.0.2", {\ + "packageLocation": "./.yarn/cache/maplibre-gl-npm-4.0.2-8002b56793-3591f8d1fa.zip/node_modules/maplibre-gl/",\ + "packageDependencies": [\ + ["maplibre-gl", "npm:4.0.2"],\ + ["@mapbox/geojson-rewind", "npm:0.5.2"],\ + ["@mapbox/jsonlint-lines-primitives", "npm:2.0.2"],\ + ["@mapbox/point-geometry", "npm:0.1.0"],\ + ["@mapbox/tiny-sdf", "npm:2.0.6"],\ + ["@mapbox/unitbezier", "npm:0.0.1"],\ + ["@mapbox/vector-tile", "npm:1.3.1"],\ + ["@mapbox/whoots-js", "npm:3.1.0"],\ + ["@maplibre/maplibre-gl-style-spec", "npm:20.1.1"],\ + ["@types/geojson", "npm:7946.0.14"],\ + ["@types/geojson-vt", "npm:3.2.5"],\ + ["@types/mapbox__point-geometry", "npm:0.1.4"],\ + ["@types/mapbox__vector-tile", "npm:1.3.4"],\ + ["@types/pbf", "npm:3.0.5"],\ + ["@types/supercluster", "npm:7.1.3"],\ + ["earcut", "npm:2.2.4"],\ + ["geojson-vt", "npm:3.2.1"],\ + ["gl-matrix", "npm:3.4.3"],\ + ["global-prefix", "npm:3.0.0"],\ + ["kdbush", "npm:4.0.2"],\ + ["murmurhash-js", "npm:1.0.0"],\ + ["pbf", "npm:3.2.1"],\ + ["potpack", "npm:2.0.0"],\ + ["quickselect", "npm:2.0.0"],\ + ["supercluster", "npm:8.0.1"],\ + ["tinyqueue", "npm:2.0.3"],\ + ["vt-pbf", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["melting-pot-vue", [\ + ["workspace:.", {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["melting-pot-vue", "workspace:."],\ + ["@rushstack/eslint-patch", "npm:1.7.2"],\ + ["@tsconfig/node20", "npm:20.1.2"],\ + ["@types/jsdom", "npm:21.1.6"],\ + ["@types/node", "npm:20.11.20"],\ + ["@vitejs/plugin-vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:5.0.4"],\ + ["@vue/eslint-config-prettier", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:8.0.0"],\ + ["@vue/eslint-config-typescript", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:12.0.0"],\ + ["@vue/test-utils", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.4.4"],\ + ["@vue/tsconfig", "npm:0.5.1"],\ + ["cypress", "npm:13.6.6"],\ + ["eslint", "npm:8.57.0"],\ + ["eslint-plugin-cypress", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.15.1"],\ + ["eslint-plugin-vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:9.22.0"],\ + ["jsdom", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:24.0.0"],\ + ["maplibre-gl", "npm:4.0.2"],\ + ["mitt", "npm:3.0.1"],\ + ["npm-run-all2", "npm:6.1.2"],\ + ["pinia", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.1.7"],\ + ["prettier", "npm:3.2.5"],\ + ["start-server-and-test", "npm:2.0.3"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"],\ + ["vite", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:5.1.4"],\ + ["vitest", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:1.3.1"],\ + ["vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.4.20"],\ + ["vue-maplibre-gl", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.1.3"],\ + ["vue-router", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:4.3.0"],\ + ["vue-tsc", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:1.8.27"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["memorystream", [\ + ["npm:0.3.1", {\ + "packageLocation": "./.yarn/cache/memorystream-npm-0.3.1-ae973f1d16-f18b42440d.zip/node_modules/memorystream/",\ + "packageDependencies": [\ + ["memorystream", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge-stream", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/merge-stream-npm-2.0.0-2ac83efea5-6fa4dcc8d8.zip/node_modules/merge-stream/",\ + "packageDependencies": [\ + ["merge-stream", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge2", [\ + ["npm:1.4.1", {\ + "packageLocation": "./.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip/node_modules/merge2/",\ + "packageDependencies": [\ + ["merge2", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["micromatch", [\ + ["npm:4.0.5", {\ + "packageLocation": "./.yarn/cache/micromatch-npm-4.0.5-cfab5d7669-02a17b671c.zip/node_modules/micromatch/",\ + "packageDependencies": [\ + ["micromatch", "npm:4.0.5"],\ + ["braces", "npm:3.0.2"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mime-db", [\ + ["npm:1.52.0", {\ + "packageLocation": "./.yarn/cache/mime-db-npm-1.52.0-b5371d6fd2-0d99a03585.zip/node_modules/mime-db/",\ + "packageDependencies": [\ + ["mime-db", "npm:1.52.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mime-types", [\ + ["npm:2.1.35", {\ + "packageLocation": "./.yarn/cache/mime-types-npm-2.1.35-dd9ea9f3e2-89a5b7f1de.zip/node_modules/mime-types/",\ + "packageDependencies": [\ + ["mime-types", "npm:2.1.35"],\ + ["mime-db", "npm:1.52.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mimic-fn", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-d2421a3444.zip/node_modules/mimic-fn/",\ + "packageDependencies": [\ + ["mimic-fn", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/mimic-fn-npm-4.0.0-feaeda79f7-995dcece15.zip/node_modules/mimic-fn/",\ + "packageDependencies": [\ + ["mimic-fn", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minimatch", [\ + ["npm:3.1.2", {\ + "packageLocation": "./.yarn/cache/minimatch-npm-3.1.2-9405269906-c154e56640.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:3.1.2"],\ + ["brace-expansion", "npm:1.1.11"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.0.1", {\ + "packageLocation": "./.yarn/cache/minimatch-npm-9.0.1-277fdc6fbd-97f5f5284b.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:9.0.1"],\ + ["brace-expansion", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.0.3", {\ + "packageLocation": "./.yarn/cache/minimatch-npm-9.0.3-69d7d6fad5-253487976b.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:9.0.3"],\ + ["brace-expansion", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minimist", [\ + ["npm:1.2.8", {\ + "packageLocation": "./.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-75a6d645fb.zip/node_modules/minimist/",\ + "packageDependencies": [\ + ["minimist", "npm:1.2.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass", [\ + ["npm:3.3.6", {\ + "packageLocation": "./.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a30d083c80.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:3.3.6"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/minipass-npm-5.0.0-c64fb63c92-425dab2887.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.0.4", {\ + "packageLocation": "./.yarn/cache/minipass-npm-7.0.4-eacb4e042e-87585e258b.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-collect", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/minipass-collect-npm-2.0.1-73d3907e40-b251bceea6.zip/node_modules/minipass-collect/",\ + "packageDependencies": [\ + ["minipass-collect", "npm:2.0.1"],\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-fetch", [\ + ["npm:3.0.4", {\ + "packageLocation": "./.yarn/cache/minipass-fetch-npm-3.0.4-200ac7c66d-af7aad15d5.zip/node_modules/minipass-fetch/",\ + "packageDependencies": [\ + ["minipass-fetch", "npm:3.0.4"],\ + ["encoding", "npm:0.1.13"],\ + ["minipass", "npm:7.0.4"],\ + ["minipass-sized", "npm:1.0.3"],\ + ["minizlib", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-flush", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip/node_modules/minipass-flush/",\ + "packageDependencies": [\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-pipeline", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip/node_modules/minipass-pipeline/",\ + "packageDependencies": [\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-sized", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-79076749fc.zip/node_modules/minipass-sized/",\ + "packageDependencies": [\ + ["minipass-sized", "npm:1.0.3"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minizlib", [\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-f1fdeac0b0.zip/node_modules/minizlib/",\ + "packageDependencies": [\ + ["minizlib", "npm:2.1.2"],\ + ["minipass", "npm:3.3.6"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mitt", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/mitt-npm-3.0.1-ce290ffa77-b55a489ac9.zip/node_modules/mitt/",\ + "packageDependencies": [\ + ["mitt", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mkdirp", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-a96865108c.zip/node_modules/mkdirp/",\ + "packageDependencies": [\ + ["mkdirp", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mlly", [\ + ["npm:1.6.1", {\ + "packageLocation": "./.yarn/cache/mlly-npm-1.6.1-947df259c8-c40a547dba.zip/node_modules/mlly/",\ + "packageDependencies": [\ + ["mlly", "npm:1.6.1"],\ + ["acorn", "npm:8.11.3"],\ + ["pathe", "npm:1.1.2"],\ + ["pkg-types", "npm:1.0.3"],\ + ["ufo", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ms", [\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/ms-npm-2.1.2-ec0c1512ff-673cdb2c31.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.3", {\ + "packageLocation": "./.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["muggle-string", [\ + ["npm:0.3.1", {\ + "packageLocation": "./.yarn/cache/muggle-string-npm-0.3.1-417964904f-f2357f906e.zip/node_modules/muggle-string/",\ + "packageDependencies": [\ + ["muggle-string", "npm:0.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["murmurhash-js", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/murmurhash-js-npm-1.0.0-b1fa804bc0-083cea92a1.zip/node_modules/murmurhash-js/",\ + "packageDependencies": [\ + ["murmurhash-js", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nanoid", [\ + ["npm:3.3.7", {\ + "packageLocation": "./.yarn/cache/nanoid-npm-3.3.7-98824ba130-d36c427e53.zip/node_modules/nanoid/",\ + "packageDependencies": [\ + ["nanoid", "npm:3.3.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["natural-compare", [\ + ["npm:1.4.0", {\ + "packageLocation": "./.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-23ad088b08.zip/node_modules/natural-compare/",\ + "packageDependencies": [\ + ["natural-compare", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["negotiator", [\ + ["npm:0.6.3", {\ + "packageLocation": "./.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip/node_modules/negotiator/",\ + "packageDependencies": [\ + ["negotiator", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-gyp", [\ + ["npm:10.0.1", {\ + "packageLocation": "./.yarn/unplugged/node-gyp-npm-10.0.1-48708ce70b/node_modules/node-gyp/",\ + "packageDependencies": [\ + ["node-gyp", "npm:10.0.1"],\ + ["env-paths", "npm:2.2.1"],\ + ["exponential-backoff", "npm:3.1.1"],\ + ["glob", "npm:10.3.10"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["make-fetch-happen", "npm:13.0.0"],\ + ["nopt", "npm:7.2.0"],\ + ["proc-log", "npm:3.0.0"],\ + ["semver", "npm:7.6.0"],\ + ["tar", "npm:6.2.0"],\ + ["which", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nopt", [\ + ["npm:7.2.0", {\ + "packageLocation": "./.yarn/cache/nopt-npm-7.2.0-dd734b678d-a9c0f57fb8.zip/node_modules/nopt/",\ + "packageDependencies": [\ + ["nopt", "npm:7.2.0"],\ + ["abbrev", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npm-normalize-package-bin", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/npm-normalize-package-bin-npm-3.0.1-6c120b50f7-de416d720a.zip/node_modules/npm-normalize-package-bin/",\ + "packageDependencies": [\ + ["npm-normalize-package-bin", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npm-run-all2", [\ + ["npm:6.1.2", {\ + "packageLocation": "./.yarn/cache/npm-run-all2-npm-6.1.2-5145e77577-dc595a8341.zip/node_modules/npm-run-all2/",\ + "packageDependencies": [\ + ["npm-run-all2", "npm:6.1.2"],\ + ["ansi-styles", "npm:6.2.1"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["memorystream", "npm:0.3.1"],\ + ["minimatch", "npm:9.0.3"],\ + ["pidtree", "npm:0.6.0"],\ + ["read-package-json-fast", "npm:3.0.2"],\ + ["shell-quote", "npm:1.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npm-run-path", [\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/npm-run-path-npm-4.0.1-7aebd8bab3-5374c0cea4.zip/node_modules/npm-run-path/",\ + "packageDependencies": [\ + ["npm-run-path", "npm:4.0.1"],\ + ["path-key", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.3.0", {\ + "packageLocation": "./.yarn/cache/npm-run-path-npm-5.3.0-193efca236-ae8e7a89da.zip/node_modules/npm-run-path/",\ + "packageDependencies": [\ + ["npm-run-path", "npm:5.3.0"],\ + ["path-key", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nth-check", [\ + ["npm:2.1.1", {\ + "packageLocation": "./.yarn/cache/nth-check-npm-2.1.1-f97afc8169-5afc3dafcd.zip/node_modules/nth-check/",\ + "packageDependencies": [\ + ["nth-check", "npm:2.1.1"],\ + ["boolbase", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nwsapi", [\ + ["npm:2.2.7", {\ + "packageLocation": "./.yarn/cache/nwsapi-npm-2.2.7-3bed340fab-cab25f7983.zip/node_modules/nwsapi/",\ + "packageDependencies": [\ + ["nwsapi", "npm:2.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object-inspect", [\ + ["npm:1.13.1", {\ + "packageLocation": "./.yarn/cache/object-inspect-npm-1.13.1-fd038a2f0a-7d9fa9221d.zip/node_modules/object-inspect/",\ + "packageDependencies": [\ + ["object-inspect", "npm:1.13.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["once", [\ + ["npm:1.4.0", {\ + "packageLocation": "./.yarn/cache/once-npm-1.4.0-ccf03ef07a-cd0a885013.zip/node_modules/once/",\ + "packageDependencies": [\ + ["once", "npm:1.4.0"],\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["onetime", [\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/onetime-npm-5.1.2-3ed148fa42-2478859ef8.zip/node_modules/onetime/",\ + "packageDependencies": [\ + ["onetime", "npm:5.1.2"],\ + ["mimic-fn", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/onetime-npm-6.0.0-4f3684e29a-0846ce78e4.zip/node_modules/onetime/",\ + "packageDependencies": [\ + ["onetime", "npm:6.0.0"],\ + ["mimic-fn", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["optionator", [\ + ["npm:0.9.3", {\ + "packageLocation": "./.yarn/cache/optionator-npm-0.9.3-56c3a4bf80-0928199944.zip/node_modules/optionator/",\ + "packageDependencies": [\ + ["optionator", "npm:0.9.3"],\ + ["@aashutoshrathi/word-wrap", "npm:1.2.6"],\ + ["deep-is", "npm:0.1.4"],\ + ["fast-levenshtein", "npm:2.0.6"],\ + ["levn", "npm:0.4.1"],\ + ["prelude-ls", "npm:1.2.1"],\ + ["type-check", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ospath", [\ + ["npm:1.2.2", {\ + "packageLocation": "./.yarn/cache/ospath-npm-1.2.2-c8f45523a8-505f48a4f4.zip/node_modules/ospath/",\ + "packageDependencies": [\ + ["ospath", "npm:1.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-limit", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-7c3690c4db.zip/node_modules/p-limit/",\ + "packageDependencies": [\ + ["p-limit", "npm:3.1.0"],\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/p-limit-npm-5.0.0-cc102b17d7-87bf5837de.zip/node_modules/p-limit/",\ + "packageDependencies": [\ + ["p-limit", "npm:5.0.0"],\ + ["yocto-queue", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-locate", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-1623088f36.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:5.0.0"],\ + ["p-limit", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-map", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/p-map-npm-4.0.0-4677ae07c7-cb0ab21ec0.zip/node_modules/p-map/",\ + "packageDependencies": [\ + ["p-map", "npm:4.0.0"],\ + ["aggregate-error", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parent-module", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/parent-module-npm-1.0.1-1fae11b095-6ba8b25514.zip/node_modules/parent-module/",\ + "packageDependencies": [\ + ["parent-module", "npm:1.0.1"],\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parse5", [\ + ["npm:7.1.2", {\ + "packageLocation": "./.yarn/cache/parse5-npm-7.1.2-aa9a92c270-59465dd05e.zip/node_modules/parse5/",\ + "packageDependencies": [\ + ["parse5", "npm:7.1.2"],\ + ["entities", "npm:4.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-browserify", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-c6d7fa3764.zip/node_modules/path-browserify/",\ + "packageDependencies": [\ + ["path-browserify", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-exists", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-505807199d.zip/node_modules/path-exists/",\ + "packageDependencies": [\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-is-absolute", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/path-is-absolute-npm-1.0.1-31bc695ffd-060840f92c.zip/node_modules/path-is-absolute/",\ + "packageDependencies": [\ + ["path-is-absolute", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-key", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip/node_modules/path-key/",\ + "packageDependencies": [\ + ["path-key", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/path-key-npm-4.0.0-2bce99f089-8e6c314ae6.zip/node_modules/path-key/",\ + "packageDependencies": [\ + ["path-key", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-scurry", [\ + ["npm:1.10.1", {\ + "packageLocation": "./.yarn/cache/path-scurry-npm-1.10.1-52bd946f2e-e2557cff3a.zip/node_modules/path-scurry/",\ + "packageDependencies": [\ + ["path-scurry", "npm:1.10.1"],\ + ["lru-cache", "npm:10.2.0"],\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-type", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/path-type-npm-4.0.0-10d47fc86a-5b1e2daa24.zip/node_modules/path-type/",\ + "packageDependencies": [\ + ["path-type", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pathe", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/pathe-npm-1.1.2-b80d94db55-ec5f778d97.zip/node_modules/pathe/",\ + "packageDependencies": [\ + ["pathe", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pathval", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/pathval-npm-1.1.1-ce0311d7e0-090e314771.zip/node_modules/pathval/",\ + "packageDependencies": [\ + ["pathval", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pause-stream", [\ + ["npm:0.0.11", {\ + "packageLocation": "./.yarn/cache/pause-stream-npm-0.0.11-d0e142313d-3c4a14052a.zip/node_modules/pause-stream/",\ + "packageDependencies": [\ + ["pause-stream", "npm:0.0.11"],\ + ["through", "npm:2.3.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pbf", [\ + ["npm:3.2.1", {\ + "packageLocation": "./.yarn/cache/pbf-npm-3.2.1-d33be8e429-8033f5e21f.zip/node_modules/pbf/",\ + "packageDependencies": [\ + ["pbf", "npm:3.2.1"],\ + ["ieee754", "npm:1.2.1"],\ + ["resolve-protobuf-schema", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pend", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/pend-npm-1.2.0-7a13d93266-6c72f52433.zip/node_modules/pend/",\ + "packageDependencies": [\ + ["pend", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["performance-now", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/performance-now-npm-2.1.0-45e3ce7e49-534e641aa8.zip/node_modules/performance-now/",\ + "packageDependencies": [\ + ["performance-now", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picocolors", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/picocolors-npm-1.0.0-d81e0b1927-a2e8092dd8.zip/node_modules/picocolors/",\ + "packageDependencies": [\ + ["picocolors", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picomatch", [\ + ["npm:2.3.1", {\ + "packageLocation": "./.yarn/cache/picomatch-npm-2.3.1-c782cfd986-050c865ce8.zip/node_modules/picomatch/",\ + "packageDependencies": [\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pidtree", [\ + ["npm:0.6.0", {\ + "packageLocation": "./.yarn/cache/pidtree-npm-0.6.0-3d92e16117-8fbc073ede.zip/node_modules/pidtree/",\ + "packageDependencies": [\ + ["pidtree", "npm:0.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pify", [\ + ["npm:2.3.0", {\ + "packageLocation": "./.yarn/cache/pify-npm-2.3.0-8b63310934-9503aaeaf4.zip/node_modules/pify/",\ + "packageDependencies": [\ + ["pify", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pinia", [\ + ["npm:2.1.7", {\ + "packageLocation": "./.yarn/cache/pinia-npm-2.1.7-195409c154-1b7882aab2.zip/node_modules/pinia/",\ + "packageDependencies": [\ + ["pinia", "npm:2.1.7"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.1.7", {\ + "packageLocation": "./.yarn/__virtual__/pinia-virtual-18b1677ef0/0/cache/pinia-npm-2.1.7-195409c154-1b7882aab2.zip/node_modules/pinia/",\ + "packageDependencies": [\ + ["pinia", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:2.1.7"],\ + ["@types/typescript", null],\ + ["@types/vue", null],\ + ["@types/vue__composition-api", null],\ + ["@vue/composition-api", null],\ + ["@vue/devtools-api", "npm:6.6.1"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"],\ + ["vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.4.20"],\ + ["vue-demi", "virtual:18b1677ef094231181bd8953f0cf2a53e05f9066e3971cc6453a5bde1d7325e153967359461ec13b6c655ac5e21f628bba0cb1427f0ab9acf06cf16a410e8915#npm:0.14.7"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "@types/vue",\ + "@types/vue__composition-api",\ + "@vue/composition-api",\ + "typescript",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pkg-types", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/pkg-types-npm-1.0.3-dce22a705c-4b305c834b.zip/node_modules/pkg-types/",\ + "packageDependencies": [\ + ["pkg-types", "npm:1.0.3"],\ + ["jsonc-parser", "npm:3.2.1"],\ + ["mlly", "npm:1.6.1"],\ + ["pathe", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss", [\ + ["npm:8.4.35", {\ + "packageLocation": "./.yarn/cache/postcss-npm-8.4.35-6bc1848fff-cf3c3124d3.zip/node_modules/postcss/",\ + "packageDependencies": [\ + ["postcss", "npm:8.4.35"],\ + ["nanoid", "npm:3.3.7"],\ + ["picocolors", "npm:1.0.0"],\ + ["source-map-js", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-selector-parser", [\ + ["npm:6.0.15", {\ + "packageLocation": "./.yarn/cache/postcss-selector-parser-npm-6.0.15-0ec4819b4e-57decb9415.zip/node_modules/postcss-selector-parser/",\ + "packageDependencies": [\ + ["postcss-selector-parser", "npm:6.0.15"],\ + ["cssesc", "npm:3.0.0"],\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["potpack", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/potpack-npm-2.0.0-751304d85e-6dd4169234.zip/node_modules/potpack/",\ + "packageDependencies": [\ + ["potpack", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prelude-ls", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-cd192ec0d0.zip/node_modules/prelude-ls/",\ + "packageDependencies": [\ + ["prelude-ls", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prettier", [\ + ["npm:3.2.5", {\ + "packageLocation": "./.yarn/unplugged/prettier-npm-3.2.5-6859110d6a/node_modules/prettier/",\ + "packageDependencies": [\ + ["prettier", "npm:3.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prettier-linter-helpers", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-00ce8011cf.zip/node_modules/prettier-linter-helpers/",\ + "packageDependencies": [\ + ["prettier-linter-helpers", "npm:1.0.0"],\ + ["fast-diff", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pretty-bytes", [\ + ["npm:5.6.0", {\ + "packageLocation": "./.yarn/cache/pretty-bytes-npm-5.6.0-0061079c9f-9c082500d1.zip/node_modules/pretty-bytes/",\ + "packageDependencies": [\ + ["pretty-bytes", "npm:5.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pretty-format", [\ + ["npm:29.7.0", {\ + "packageLocation": "./.yarn/cache/pretty-format-npm-29.7.0-7d330b2ea2-032c160238.zip/node_modules/pretty-format/",\ + "packageDependencies": [\ + ["pretty-format", "npm:29.7.0"],\ + ["@jest/schemas", "npm:29.6.3"],\ + ["ansi-styles", "npm:5.2.0"],\ + ["react-is", "npm:18.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["proc-log", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/proc-log-npm-3.0.0-a8c21c2f0f-02b64e1b39.zip/node_modules/proc-log/",\ + "packageDependencies": [\ + ["proc-log", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["process", [\ + ["npm:0.11.10", {\ + "packageLocation": "./.yarn/cache/process-npm-0.11.10-aeb3b641ae-bfcce49814.zip/node_modules/process/",\ + "packageDependencies": [\ + ["process", "npm:0.11.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["promise-retry", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-f96a3f6d90.zip/node_modules/promise-retry/",\ + "packageDependencies": [\ + ["promise-retry", "npm:2.0.1"],\ + ["err-code", "npm:2.0.3"],\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["proto-list", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/proto-list-npm-1.2.4-a96a43df28-4d4826e171.zip/node_modules/proto-list/",\ + "packageDependencies": [\ + ["proto-list", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["protocol-buffers-schema", [\ + ["npm:3.6.0", {\ + "packageLocation": "./.yarn/cache/protocol-buffers-schema-npm-3.6.0-af2f375e69-8713b5770f.zip/node_modules/protocol-buffers-schema/",\ + "packageDependencies": [\ + ["protocol-buffers-schema", "npm:3.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["proxy-from-env", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/proxy-from-env-npm-1.0.0-679b82b4ec-292e28d1de.zip/node_modules/proxy-from-env/",\ + "packageDependencies": [\ + ["proxy-from-env", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/proxy-from-env-npm-1.1.0-c13d07f26b-ed7fcc2ba0.zip/node_modules/proxy-from-env/",\ + "packageDependencies": [\ + ["proxy-from-env", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ps-tree", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/ps-tree-npm-1.2.0-3975e95bd6-e635dd00f5.zip/node_modules/ps-tree/",\ + "packageDependencies": [\ + ["ps-tree", "npm:1.2.0"],\ + ["event-stream", "npm:3.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["psl", [\ + ["npm:1.9.0", {\ + "packageLocation": "./.yarn/cache/psl-npm-1.9.0-a546edad1a-20c4277f64.zip/node_modules/psl/",\ + "packageDependencies": [\ + ["psl", "npm:1.9.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pump", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/pump-npm-3.0.0-0080bf6a7a-e42e9229fb.zip/node_modules/pump/",\ + "packageDependencies": [\ + ["pump", "npm:3.0.0"],\ + ["end-of-stream", "npm:1.4.4"],\ + ["once", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["punycode", [\ + ["npm:2.3.1", {\ + "packageLocation": "./.yarn/cache/punycode-npm-2.3.1-97543c420d-bb0a0ceedc.zip/node_modules/punycode/",\ + "packageDependencies": [\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["qs", [\ + ["npm:6.10.4", {\ + "packageLocation": "./.yarn/cache/qs-npm-6.10.4-9b6a538d57-31e4fedd75.zip/node_modules/qs/",\ + "packageDependencies": [\ + ["qs", "npm:6.10.4"],\ + ["side-channel", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["querystringify", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/querystringify-npm-2.2.0-4e77c9f606-5641ea231b.zip/node_modules/querystringify/",\ + "packageDependencies": [\ + ["querystringify", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["queue-microtask", [\ + ["npm:1.2.3", {\ + "packageLocation": "./.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-b676f8c040.zip/node_modules/queue-microtask/",\ + "packageDependencies": [\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["quickselect", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/quickselect-npm-2.0.0-620eb59fdc-ed2e784310.zip/node_modules/quickselect/",\ + "packageDependencies": [\ + ["quickselect", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-is", [\ + ["npm:18.2.0", {\ + "packageLocation": "./.yarn/cache/react-is-npm-18.2.0-0cc5edb910-e72d0ba81b.zip/node_modules/react-is/",\ + "packageDependencies": [\ + ["react-is", "npm:18.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["read-package-json-fast", [\ + ["npm:3.0.2", {\ + "packageLocation": "./.yarn/cache/read-package-json-fast-npm-3.0.2-1232471a07-8d406869f0.zip/node_modules/read-package-json-fast/",\ + "packageDependencies": [\ + ["read-package-json-fast", "npm:3.0.2"],\ + ["json-parse-even-better-errors", "npm:3.0.1"],\ + ["npm-normalize-package-bin", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["request-progress", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/request-progress-npm-3.0.0-f79f1c9e67-6ea1761dcc.zip/node_modules/request-progress/",\ + "packageDependencies": [\ + ["request-progress", "npm:3.0.0"],\ + ["throttleit", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["requires-port", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/requires-port-npm-1.0.0-fd036b488a-eee0e303ad.zip/node_modules/requires-port/",\ + "packageDependencies": [\ + ["requires-port", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve-from", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-f4ba0b8494.zip/node_modules/resolve-from/",\ + "packageDependencies": [\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve-protobuf-schema", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/resolve-protobuf-schema-npm-2.1.0-56c0d37a08-88fffab2a3.zip/node_modules/resolve-protobuf-schema/",\ + "packageDependencies": [\ + ["resolve-protobuf-schema", "npm:2.1.0"],\ + ["protocol-buffers-schema", "npm:3.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["restore-cursor", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/restore-cursor-npm-3.1.0-52c5a4c98f-f877dd8741.zip/node_modules/restore-cursor/",\ + "packageDependencies": [\ + ["restore-cursor", "npm:3.1.0"],\ + ["onetime", "npm:5.1.2"],\ + ["signal-exit", "npm:3.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["retry", [\ + ["npm:0.12.0", {\ + "packageLocation": "./.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip/node_modules/retry/",\ + "packageDependencies": [\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["reusify", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/reusify-npm-1.0.4-95ac4aec11-c3076ebcc2.zip/node_modules/reusify/",\ + "packageDependencies": [\ + ["reusify", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rfdc", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/rfdc-npm-1.3.1-80aaa71f8d-d5d1e930ae.zip/node_modules/rfdc/",\ + "packageDependencies": [\ + ["rfdc", "npm:1.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rimraf", [\ + ["npm:3.0.2", {\ + "packageLocation": "./.yarn/cache/rimraf-npm-3.0.2-2cb7dac69a-87f4164e39.zip/node_modules/rimraf/",\ + "packageDependencies": [\ + ["rimraf", "npm:3.0.2"],\ + ["glob", "npm:7.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rollup", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/cache/rollup-npm-4.12.0-f631a9b21e-a7398f072c.zip/node_modules/rollup/",\ + "packageDependencies": [\ + ["rollup", "npm:4.12.0"],\ + ["@rollup/rollup-android-arm-eabi", "npm:4.12.0"],\ + ["@rollup/rollup-android-arm64", "npm:4.12.0"],\ + ["@rollup/rollup-darwin-arm64", "npm:4.12.0"],\ + ["@rollup/rollup-darwin-x64", "npm:4.12.0"],\ + ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.12.0"],\ + ["@rollup/rollup-linux-arm64-gnu", "npm:4.12.0"],\ + ["@rollup/rollup-linux-arm64-musl", "npm:4.12.0"],\ + ["@rollup/rollup-linux-riscv64-gnu", "npm:4.12.0"],\ + ["@rollup/rollup-linux-x64-gnu", "npm:4.12.0"],\ + ["@rollup/rollup-linux-x64-musl", "npm:4.12.0"],\ + ["@rollup/rollup-win32-arm64-msvc", "npm:4.12.0"],\ + ["@rollup/rollup-win32-ia32-msvc", "npm:4.12.0"],\ + ["@rollup/rollup-win32-x64-msvc", "npm:4.12.0"],\ + ["@types/estree", "npm:1.0.5"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#~builtin::version=2.3.3&hash=df0bf1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rrweb-cssom", [\ + ["npm:0.6.0", {\ + "packageLocation": "./.yarn/cache/rrweb-cssom-npm-0.6.0-04bbb1169b-182312f6e4.zip/node_modules/rrweb-cssom/",\ + "packageDependencies": [\ + ["rrweb-cssom", "npm:0.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["run-parallel", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip/node_modules/run-parallel/",\ + "packageDependencies": [\ + ["run-parallel", "npm:1.2.0"],\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rw", [\ + ["npm:1.3.3", {\ + "packageLocation": "./.yarn/cache/rw-npm-1.3.3-2197930a8d-c20d82421f.zip/node_modules/rw/",\ + "packageDependencies": [\ + ["rw", "npm:1.3.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rxjs", [\ + ["npm:7.8.1", {\ + "packageLocation": "./.yarn/cache/rxjs-npm-7.8.1-41c443a75b-de4b53db10.zip/node_modules/rxjs/",\ + "packageDependencies": [\ + ["rxjs", "npm:7.8.1"],\ + ["tslib", "npm:2.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-buffer", [\ + ["npm:5.2.1", {\ + "packageLocation": "./.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip/node_modules/safe-buffer/",\ + "packageDependencies": [\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safer-buffer", [\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip/node_modules/safer-buffer/",\ + "packageDependencies": [\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["saxes", [\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/saxes-npm-6.0.0-31558949f5-d3fa3e2aaf.zip/node_modules/saxes/",\ + "packageDependencies": [\ + ["saxes", "npm:6.0.0"],\ + ["xmlchars", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["semver", [\ + ["npm:7.6.0", {\ + "packageLocation": "./.yarn/cache/semver-npm-7.6.0-f4630729f6-7427f05b70.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:7.6.0"],\ + ["lru-cache", "npm:6.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-function-length", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/set-function-length-npm-1.2.1-5131ef7312-23742476d6.zip/node_modules/set-function-length/",\ + "packageDependencies": [\ + ["set-function-length", "npm:1.2.1"],\ + ["define-data-property", "npm:1.1.4"],\ + ["es-errors", "npm:1.3.0"],\ + ["function-bind", "npm:1.1.2"],\ + ["get-intrinsic", "npm:1.2.4"],\ + ["gopd", "npm:1.0.1"],\ + ["has-property-descriptors", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-value", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/set-value-npm-2.0.1-35da5f8180-09a4bc72c9.zip/node_modules/set-value/",\ + "packageDependencies": [\ + ["set-value", "npm:2.0.1"],\ + ["extend-shallow", "npm:2.0.1"],\ + ["is-extendable", "npm:0.1.1"],\ + ["is-plain-object", "npm:2.0.4"],\ + ["split-string", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-command", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip/node_modules/shebang-command/",\ + "packageDependencies": [\ + ["shebang-command", "npm:2.0.0"],\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-regex", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1a2bcae50d.zip/node_modules/shebang-regex/",\ + "packageDependencies": [\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shell-quote", [\ + ["npm:1.8.1", {\ + "packageLocation": "./.yarn/cache/shell-quote-npm-1.8.1-fcccf06093-5f01201f4e.zip/node_modules/shell-quote/",\ + "packageDependencies": [\ + ["shell-quote", "npm:1.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["side-channel", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/side-channel-npm-1.0.5-ac07c0c62d-640446b4e5.zip/node_modules/side-channel/",\ + "packageDependencies": [\ + ["side-channel", "npm:1.0.5"],\ + ["call-bind", "npm:1.0.7"],\ + ["es-errors", "npm:1.3.0"],\ + ["get-intrinsic", "npm:1.2.4"],\ + ["object-inspect", "npm:1.13.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["siginfo", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/siginfo-npm-2.0.0-9bbac931f8-8aa5a98640.zip/node_modules/siginfo/",\ + "packageDependencies": [\ + ["siginfo", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["signal-exit", [\ + ["npm:3.0.7", {\ + "packageLocation": "./.yarn/cache/signal-exit-npm-3.0.7-bd270458a3-a2f098f247.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:3.0.7"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/signal-exit-npm-4.1.0-61fb957687-64c757b498.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["slash", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/slash-npm-3.0.0-b87de2279a-94a93fff61.zip/node_modules/slash/",\ + "packageDependencies": [\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["slice-ansi", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/slice-ansi-npm-3.0.0-d9999864af-5ec6d022d1.zip/node_modules/slice-ansi/",\ + "packageDependencies": [\ + ["slice-ansi", "npm:3.0.0"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["astral-regex", "npm:2.0.0"],\ + ["is-fullwidth-code-point", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/slice-ansi-npm-4.0.0-6eeca1d10e-4a82d7f085.zip/node_modules/slice-ansi/",\ + "packageDependencies": [\ + ["slice-ansi", "npm:4.0.0"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["astral-regex", "npm:2.0.0"],\ + ["is-fullwidth-code-point", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["smart-buffer", [\ + ["npm:4.2.0", {\ + "packageLocation": "./.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-b5167a7142.zip/node_modules/smart-buffer/",\ + "packageDependencies": [\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks", [\ + ["npm:2.8.1", {\ + "packageLocation": "./.yarn/cache/socks-npm-2.8.1-3b253d7256-29586d42e9.zip/node_modules/socks/",\ + "packageDependencies": [\ + ["socks", "npm:2.8.1"],\ + ["ip-address", "npm:9.0.5"],\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks-proxy-agent", [\ + ["npm:8.0.2", {\ + "packageLocation": "./.yarn/cache/socks-proxy-agent-npm-8.0.2-df165543cf-4fb165df08.zip/node_modules/socks-proxy-agent/",\ + "packageDependencies": [\ + ["socks-proxy-agent", "npm:8.0.2"],\ + ["agent-base", "npm:7.1.0"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["socks", "npm:2.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sort-asc", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/sort-asc-npm-0.2.0-9885fe57db-b3610ab695.zip/node_modules/sort-asc/",\ + "packageDependencies": [\ + ["sort-asc", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sort-desc", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/sort-desc-npm-0.2.0-aa28355ab4-fb2c02ea38.zip/node_modules/sort-desc/",\ + "packageDependencies": [\ + ["sort-desc", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sort-object", [\ + ["npm:3.0.3", {\ + "packageLocation": "./.yarn/cache/sort-object-npm-3.0.3-d2dfd1e36a-381a6b6fe2.zip/node_modules/sort-object/",\ + "packageDependencies": [\ + ["sort-object", "npm:3.0.3"],\ + ["bytewise", "npm:1.1.0"],\ + ["get-value", "npm:2.0.6"],\ + ["is-extendable", "npm:0.1.1"],\ + ["sort-asc", "npm:0.2.0"],\ + ["sort-desc", "npm:0.2.0"],\ + ["union-value", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map-js", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/source-map-js-npm-1.0.2-ee4f9f9b30-c049a7fc4d.zip/node_modules/source-map-js/",\ + "packageDependencies": [\ + ["source-map-js", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["split", [\ + ["npm:0.3.3", {\ + "packageLocation": "./.yarn/cache/split-npm-0.3.3-847dc2ba97-2e076634c9.zip/node_modules/split/",\ + "packageDependencies": [\ + ["split", "npm:0.3.3"],\ + ["through", "npm:2.3.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["split-string", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/split-string-npm-3.1.0-df5d83450e-ae5af5c91b.zip/node_modules/split-string/",\ + "packageDependencies": [\ + ["split-string", "npm:3.1.0"],\ + ["extend-shallow", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sprintf-js", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/sprintf-js-npm-1.1.3-b99efd75b2-a3fdac7b49.zip/node_modules/sprintf-js/",\ + "packageDependencies": [\ + ["sprintf-js", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sshpk", [\ + ["npm:1.18.0", {\ + "packageLocation": "./.yarn/cache/sshpk-npm-1.18.0-e75427668c-01d43374ee.zip/node_modules/sshpk/",\ + "packageDependencies": [\ + ["sshpk", "npm:1.18.0"],\ + ["asn1", "npm:0.2.6"],\ + ["assert-plus", "npm:1.0.0"],\ + ["bcrypt-pbkdf", "npm:1.0.2"],\ + ["dashdash", "npm:1.14.1"],\ + ["ecc-jsbn", "npm:0.1.2"],\ + ["getpass", "npm:0.1.7"],\ + ["jsbn", "npm:0.1.1"],\ + ["safer-buffer", "npm:2.1.2"],\ + ["tweetnacl", "npm:0.14.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ssri", [\ + ["npm:10.0.5", {\ + "packageLocation": "./.yarn/cache/ssri-npm-10.0.5-1a7557d04d-0a31b65f21.zip/node_modules/ssri/",\ + "packageDependencies": [\ + ["ssri", "npm:10.0.5"],\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["stackback", [\ + ["npm:0.0.2", {\ + "packageLocation": "./.yarn/cache/stackback-npm-0.0.2-73273dc92e-2d4dc4e64e.zip/node_modules/stackback/",\ + "packageDependencies": [\ + ["stackback", "npm:0.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["start-server-and-test", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/start-server-and-test-npm-2.0.3-0dbea6192f-8e2844a1fa.zip/node_modules/start-server-and-test/",\ + "packageDependencies": [\ + ["start-server-and-test", "npm:2.0.3"],\ + ["arg", "npm:5.0.2"],\ + ["bluebird", "npm:3.7.2"],\ + ["check-more-types", "npm:2.24.0"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["execa", "npm:5.1.1"],\ + ["lazy-ass", "npm:1.6.0"],\ + ["ps-tree", "npm:1.2.0"],\ + ["wait-on", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["std-env", [\ + ["npm:3.7.0", {\ + "packageLocation": "./.yarn/cache/std-env-npm-3.7.0-5261c3c3c3-4f489d13ff.zip/node_modules/std-env/",\ + "packageDependencies": [\ + ["std-env", "npm:3.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["stream-combiner", [\ + ["npm:0.0.4", {\ + "packageLocation": "./.yarn/cache/stream-combiner-npm-0.0.4-0176779791-844b622cfe.zip/node_modules/stream-combiner/",\ + "packageDependencies": [\ + ["stream-combiner", "npm:0.0.4"],\ + ["duplexer", "npm:0.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string-width", [\ + ["npm:4.2.3", {\ + "packageLocation": "./.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:4.2.3"],\ + ["emoji-regex", "npm:8.0.0"],\ + ["is-fullwidth-code-point", "npm:3.0.0"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/string-width-npm-5.1.2-bf60531341-7369deaa29.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:5.1.2"],\ + ["eastasianwidth", "npm:0.2.0"],\ + ["emoji-regex", "npm:9.2.2"],\ + ["strip-ansi", "npm:7.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-ansi", [\ + ["npm:6.0.1", {\ + "packageLocation": "./.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-f3cd25890a.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:6.0.1"],\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.1.0", {\ + "packageLocation": "./.yarn/cache/strip-ansi-npm-7.1.0-7453b80b79-859c73fcf2.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:7.1.0"],\ + ["ansi-regex", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-final-newline", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/strip-final-newline-npm-2.0.0-340c4f7c66-69412b5e25.zip/node_modules/strip-final-newline/",\ + "packageDependencies": [\ + ["strip-final-newline", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/strip-final-newline-npm-3.0.0-7972cbec8b-23ee263adf.zip/node_modules/strip-final-newline/",\ + "packageDependencies": [\ + ["strip-final-newline", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-json-comments", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-492f73e272.zip/node_modules/strip-json-comments/",\ + "packageDependencies": [\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-literal", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/strip-literal-npm-2.0.0-6cd33982c0-1d07844088.zip/node_modules/strip-literal/",\ + "packageDependencies": [\ + ["strip-literal", "npm:2.0.0"],\ + ["js-tokens", "npm:8.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["supercluster", [\ + ["npm:8.0.1", {\ + "packageLocation": "./.yarn/cache/supercluster-npm-8.0.1-32b2d8d364-39d141f768.zip/node_modules/supercluster/",\ + "packageDependencies": [\ + ["supercluster", "npm:8.0.1"],\ + ["kdbush", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["supports-color", [\ + ["npm:7.2.0", {\ + "packageLocation": "./.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-3dda818de0.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:7.2.0"],\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.1.1", {\ + "packageLocation": "./.yarn/cache/supports-color-npm-8.1.1-289e937149-c052193a7e.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:8.1.1"],\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["symbol-tree", [\ + ["npm:3.2.4", {\ + "packageLocation": "./.yarn/cache/symbol-tree-npm-3.2.4-fe70cdb75b-6e8fc7e148.zip/node_modules/symbol-tree/",\ + "packageDependencies": [\ + ["symbol-tree", "npm:3.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["synckit", [\ + ["npm:0.8.8", {\ + "packageLocation": "./.yarn/cache/synckit-npm-0.8.8-f5ee4a6dac-9ed5d33abb.zip/node_modules/synckit/",\ + "packageDependencies": [\ + ["synckit", "npm:0.8.8"],\ + ["@pkgr/core", "npm:0.1.1"],\ + ["tslib", "npm:2.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tar", [\ + ["npm:6.2.0", {\ + "packageLocation": "./.yarn/cache/tar-npm-6.2.0-3eb25205a7-db4d9fe74a.zip/node_modules/tar/",\ + "packageDependencies": [\ + ["tar", "npm:6.2.0"],\ + ["chownr", "npm:2.0.0"],\ + ["fs-minipass", "npm:2.1.0"],\ + ["minipass", "npm:5.0.0"],\ + ["minizlib", "npm:2.1.2"],\ + ["mkdirp", "npm:1.0.4"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["text-table", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/text-table-npm-0.2.0-d92a778b59-b6937a38c8.zip/node_modules/text-table/",\ + "packageDependencies": [\ + ["text-table", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["throttleit", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/throttleit-npm-1.0.1-3e2cafb459-32e0b12ca5.zip/node_modules/throttleit/",\ + "packageDependencies": [\ + ["throttleit", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["through", [\ + ["npm:2.3.8", {\ + "packageLocation": "./.yarn/cache/through-npm-2.3.8-df5f72a16e-a38c3e0598.zip/node_modules/through/",\ + "packageDependencies": [\ + ["through", "npm:2.3.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tinybench", [\ + ["npm:2.6.0", {\ + "packageLocation": "./.yarn/cache/tinybench-npm-2.6.0-293d20bf58-a621ac66ac.zip/node_modules/tinybench/",\ + "packageDependencies": [\ + ["tinybench", "npm:2.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tinypool", [\ + ["npm:0.8.2", {\ + "packageLocation": "./.yarn/cache/tinypool-npm-0.8.2-f1447938a8-b0993207b8.zip/node_modules/tinypool/",\ + "packageDependencies": [\ + ["tinypool", "npm:0.8.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tinyqueue", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/tinyqueue-npm-2.0.3-ceed389145-0b6bda46b6.zip/node_modules/tinyqueue/",\ + "packageDependencies": [\ + ["tinyqueue", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tinyspy", [\ + ["npm:2.2.1", {\ + "packageLocation": "./.yarn/cache/tinyspy-npm-2.2.1-1079b8de54-170d6232e8.zip/node_modules/tinyspy/",\ + "packageDependencies": [\ + ["tinyspy", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tmp", [\ + ["npm:0.2.1", {\ + "packageLocation": "./.yarn/cache/tmp-npm-0.2.1-a9c8d9c0ca-8b12146541.zip/node_modules/tmp/",\ + "packageDependencies": [\ + ["tmp", "npm:0.2.1"],\ + ["rimraf", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["to-fast-properties", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/to-fast-properties-npm-2.0.0-0dc60cc481-be2de62fe5.zip/node_modules/to-fast-properties/",\ + "packageDependencies": [\ + ["to-fast-properties", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["to-regex-range", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-f76fa01b3d.zip/node_modules/to-regex-range/",\ + "packageDependencies": [\ + ["to-regex-range", "npm:5.0.1"],\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tough-cookie", [\ + ["npm:4.1.3", {\ + "packageLocation": "./.yarn/cache/tough-cookie-npm-4.1.3-08285e2518-c9226afff3.zip/node_modules/tough-cookie/",\ + "packageDependencies": [\ + ["tough-cookie", "npm:4.1.3"],\ + ["psl", "npm:1.9.0"],\ + ["punycode", "npm:2.3.1"],\ + ["universalify", "npm:0.2.0"],\ + ["url-parse", "npm:1.5.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tr46", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/tr46-npm-5.0.0-d15754040d-8d8b021f8e.zip/node_modules/tr46/",\ + "packageDependencies": [\ + ["tr46", "npm:5.0.0"],\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ts-api-utils", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/ts-api-utils-npm-1.2.1-edd799bde4-17a2a4454d.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "npm:1.2.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:07be85987ae00360699f5c12eff460fc2a6febbd730c3db71a7e90b9a5ddcf4dbc005b40c4ae4b7ec18b703f7cfec087ab64d1cd27a2248437fb042f8c60dd05#npm:1.2.1", {\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-9ae6b6370e/0/cache/ts-api-utils-npm-1.2.1-edd799bde4-17a2a4454d.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "virtual:07be85987ae00360699f5c12eff460fc2a6febbd730c3db71a7e90b9a5ddcf4dbc005b40c4ae4b7ec18b703f7cfec087ab64d1cd27a2248437fb042f8c60dd05#npm:1.2.1"],\ + ["@types/typescript", null],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:1.2.1", {\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-abfa70d44c/0/cache/ts-api-utils-npm-1.2.1-edd799bde4-17a2a4454d.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "virtual:558442f5e992c32de4d9258664f8bc63a939db317bbfa49fa268355e0ceb4589bbe4efc7bb4548898f4cfbf2bbbc9f68d2b5c0612f4b6e0ee7071900dc06b62a#npm:1.2.1"],\ + ["@types/typescript", null],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tslib", [\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/tslib-npm-2.6.2-4fc8c068d9-329ea56123.zip/node_modules/tslib/",\ + "packageDependencies": [\ + ["tslib", "npm:2.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tunnel-agent", [\ + ["npm:0.6.0", {\ + "packageLocation": "./.yarn/cache/tunnel-agent-npm-0.6.0-64345ab7eb-05f6510358.zip/node_modules/tunnel-agent/",\ + "packageDependencies": [\ + ["tunnel-agent", "npm:0.6.0"],\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tweetnacl", [\ + ["npm:0.14.5", {\ + "packageLocation": "./.yarn/cache/tweetnacl-npm-0.14.5-a3f766c0d1-6061daba17.zip/node_modules/tweetnacl/",\ + "packageDependencies": [\ + ["tweetnacl", "npm:0.14.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-check", [\ + ["npm:0.4.0", {\ + "packageLocation": "./.yarn/cache/type-check-npm-0.4.0-60565800ce-ec688ebfc9.zip/node_modules/type-check/",\ + "packageDependencies": [\ + ["type-check", "npm:0.4.0"],\ + ["prelude-ls", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-detect", [\ + ["npm:4.0.8", {\ + "packageLocation": "./.yarn/cache/type-detect-npm-4.0.8-8d8127b901-62b5628bff.zip/node_modules/type-detect/",\ + "packageDependencies": [\ + ["type-detect", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-fest", [\ + ["npm:0.20.2", {\ + "packageLocation": "./.yarn/cache/type-fest-npm-0.20.2-b36432617f-4fb3272df2.zip/node_modules/type-fest/",\ + "packageDependencies": [\ + ["type-fest", "npm:0.20.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.21.3", {\ + "packageLocation": "./.yarn/cache/type-fest-npm-0.21.3-5ff2a9c6fd-e6b32a3b38.zip/node_modules/type-fest/",\ + "packageDependencies": [\ + ["type-fest", "npm:0.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typescript", [\ + ["patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830", {\ + "packageLocation": "./.yarn/cache/typescript-patch-4071bbae55-f61375590b.zip/node_modules/typescript/",\ + "packageDependencies": [\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typewise", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/typewise-npm-1.0.3-1ac558ed34-eb3452b138.zip/node_modules/typewise/",\ + "packageDependencies": [\ + ["typewise", "npm:1.0.3"],\ + ["typewise-core", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typewise-core", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/typewise-core-npm-1.2.0-2d78106a1c-c21e835445.zip/node_modules/typewise-core/",\ + "packageDependencies": [\ + ["typewise-core", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ufo", [\ + ["npm:1.4.0", {\ + "packageLocation": "./.yarn/cache/ufo-npm-1.4.0-ca057b1d71-7c7ca3d823.zip/node_modules/ufo/",\ + "packageDependencies": [\ + ["ufo", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["undici-types", [\ + ["npm:5.26.5", {\ + "packageLocation": "./.yarn/cache/undici-types-npm-5.26.5-de4f7c7bb9-3192ef6f3f.zip/node_modules/undici-types/",\ + "packageDependencies": [\ + ["undici-types", "npm:5.26.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["union-value", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/union-value-npm-1.0.1-76c6e8a88f-a3464097d3.zip/node_modules/union-value/",\ + "packageDependencies": [\ + ["union-value", "npm:1.0.1"],\ + ["arr-union", "npm:3.1.0"],\ + ["get-value", "npm:2.0.6"],\ + ["is-extendable", "npm:0.1.1"],\ + ["set-value", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-filename", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/unique-filename-npm-3.0.0-77d68e0a45-8e2f59b356.zip/node_modules/unique-filename/",\ + "packageDependencies": [\ + ["unique-filename", "npm:3.0.0"],\ + ["unique-slug", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-slug", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/unique-slug-npm-4.0.0-e6b08f28aa-0884b58365.zip/node_modules/unique-slug/",\ + "packageDependencies": [\ + ["unique-slug", "npm:4.0.0"],\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["universalify", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/universalify-npm-0.2.0-9984e61c10-e86134cb12.zip/node_modules/universalify/",\ + "packageDependencies": [\ + ["universalify", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/universalify-npm-2.0.1-040ba5a21e-ecd8469fe0.zip/node_modules/universalify/",\ + "packageDependencies": [\ + ["universalify", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["untildify", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/untildify-npm-4.0.0-4a8b569825-39ced9c418.zip/node_modules/untildify/",\ + "packageDependencies": [\ + ["untildify", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["uri-js", [\ + ["npm:4.4.1", {\ + "packageLocation": "./.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-7167432de6.zip/node_modules/uri-js/",\ + "packageDependencies": [\ + ["uri-js", "npm:4.4.1"],\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["url-parse", [\ + ["npm:1.5.10", {\ + "packageLocation": "./.yarn/cache/url-parse-npm-1.5.10-64fa2bcd6d-fbdba6b1d8.zip/node_modules/url-parse/",\ + "packageDependencies": [\ + ["url-parse", "npm:1.5.10"],\ + ["querystringify", "npm:2.2.0"],\ + ["requires-port", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["util-deprecate", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip/node_modules/util-deprecate/",\ + "packageDependencies": [\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["uuid", [\ + ["npm:8.3.2", {\ + "packageLocation": "./.yarn/cache/uuid-npm-8.3.2-eca0baba53-5575a8a75c.zip/node_modules/uuid/",\ + "packageDependencies": [\ + ["uuid", "npm:8.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["verror", [\ + ["npm:1.10.0", {\ + "packageLocation": "./.yarn/cache/verror-npm-1.10.0-c3f839c579-c431df0bed.zip/node_modules/verror/",\ + "packageDependencies": [\ + ["verror", "npm:1.10.0"],\ + ["assert-plus", "npm:1.0.0"],\ + ["core-util-is", "npm:1.0.2"],\ + ["extsprintf", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vite", [\ + ["npm:5.1.4", {\ + "packageLocation": "./.yarn/cache/vite-npm-5.1.4-330f2f209c-fb8b944c69.zip/node_modules/vite/",\ + "packageDependencies": [\ + ["vite", "npm:5.1.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:5.1.4", {\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-e49c356148/0/cache/vite-npm-5.1.4-330f2f209c-fb8b944c69.zip/node_modules/vite/",\ + "packageDependencies": [\ + ["vite", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:5.1.4"],\ + ["@types/less", null],\ + ["@types/lightningcss", null],\ + ["@types/node", "npm:20.11.20"],\ + ["@types/sass", null],\ + ["@types/stylus", null],\ + ["@types/sugarss", null],\ + ["@types/terser", null],\ + ["esbuild", "npm:0.19.12"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#~builtin::version=2.3.3&hash=df0bf1"],\ + ["less", null],\ + ["lightningcss", null],\ + ["postcss", "npm:8.4.35"],\ + ["rollup", "npm:4.12.0"],\ + ["sass", null],\ + ["stylus", null],\ + ["sugarss", null],\ + ["terser", null]\ + ],\ + "packagePeers": [\ + "@types/less",\ + "@types/lightningcss",\ + "@types/node",\ + "@types/sass",\ + "@types/stylus",\ + "@types/sugarss",\ + "@types/terser",\ + "less",\ + "lightningcss",\ + "sass",\ + "stylus",\ + "sugarss",\ + "terser"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:d8d3f8afc1af82234d28ba17d4b19a0f6ab025fa332bb964422c533d39162ef49e8e94b84a106a2236a3f9ca59d41250b7ef919ed5b1ddd1e5bfb5ae24a5291f#npm:5.1.4", {\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-4e0d94cdb4/0/cache/vite-npm-5.1.4-330f2f209c-fb8b944c69.zip/node_modules/vite/",\ + "packageDependencies": [\ + ["vite", "virtual:d8d3f8afc1af82234d28ba17d4b19a0f6ab025fa332bb964422c533d39162ef49e8e94b84a106a2236a3f9ca59d41250b7ef919ed5b1ddd1e5bfb5ae24a5291f#npm:5.1.4"],\ + ["@types/less", null],\ + ["@types/lightningcss", null],\ + ["@types/node", null],\ + ["@types/sass", null],\ + ["@types/stylus", null],\ + ["@types/sugarss", null],\ + ["@types/terser", null],\ + ["esbuild", "npm:0.19.12"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#~builtin::version=2.3.3&hash=df0bf1"],\ + ["less", null],\ + ["lightningcss", null],\ + ["postcss", "npm:8.4.35"],\ + ["rollup", "npm:4.12.0"],\ + ["sass", null],\ + ["stylus", null],\ + ["sugarss", null],\ + ["terser", null]\ + ],\ + "packagePeers": [\ + "@types/less",\ + "@types/lightningcss",\ + "@types/node",\ + "@types/sass",\ + "@types/stylus",\ + "@types/sugarss",\ + "@types/terser",\ + "less",\ + "lightningcss",\ + "sass",\ + "stylus",\ + "sugarss",\ + "terser"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vite-node", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/vite-node-npm-1.3.1-d8d3f8afc1-62a0bd2cdb.zip/node_modules/vite-node/",\ + "packageDependencies": [\ + ["vite-node", "npm:1.3.1"],\ + ["cac", "npm:6.7.14"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["pathe", "npm:1.1.2"],\ + ["picocolors", "npm:1.0.0"],\ + ["vite", "virtual:d8d3f8afc1af82234d28ba17d4b19a0f6ab025fa332bb964422c533d39162ef49e8e94b84a106a2236a3f9ca59d41250b7ef919ed5b1ddd1e5bfb5ae24a5291f#npm:5.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vitest", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/vitest-npm-1.3.1-f654c79bcc-6f760296d8.zip/node_modules/vitest/",\ + "packageDependencies": [\ + ["vitest", "npm:1.3.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:1.3.1", {\ + "packageLocation": "./.yarn/__virtual__/vitest-virtual-b881b2cdef/0/cache/vitest-npm-1.3.1-f654c79bcc-6f760296d8.zip/node_modules/vitest/",\ + "packageDependencies": [\ + ["vitest", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:1.3.1"],\ + ["@edge-runtime/vm", null],\ + ["@types/edge-runtime__vm", null],\ + ["@types/happy-dom", null],\ + ["@types/jsdom", "npm:21.1.6"],\ + ["@types/node", "npm:20.11.20"],\ + ["@types/vitest__browser", null],\ + ["@types/vitest__ui", null],\ + ["@vitest/browser", null],\ + ["@vitest/expect", "npm:1.3.1"],\ + ["@vitest/runner", "npm:1.3.1"],\ + ["@vitest/snapshot", "npm:1.3.1"],\ + ["@vitest/spy", "npm:1.3.1"],\ + ["@vitest/ui", null],\ + ["@vitest/utils", "npm:1.3.1"],\ + ["acorn-walk", "npm:8.3.2"],\ + ["chai", "npm:4.4.1"],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["execa", "npm:8.0.1"],\ + ["happy-dom", null],\ + ["jsdom", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:24.0.0"],\ + ["local-pkg", "npm:0.5.0"],\ + ["magic-string", "npm:0.30.7"],\ + ["pathe", "npm:1.1.2"],\ + ["picocolors", "npm:1.0.0"],\ + ["std-env", "npm:3.7.0"],\ + ["strip-literal", "npm:2.0.0"],\ + ["tinybench", "npm:2.6.0"],\ + ["tinypool", "npm:0.8.2"],\ + ["vite", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:5.1.4"],\ + ["vite-node", "npm:1.3.1"],\ + ["why-is-node-running", "npm:2.2.2"]\ + ],\ + "packagePeers": [\ + "@edge-runtime/vm",\ + "@types/edge-runtime__vm",\ + "@types/happy-dom",\ + "@types/jsdom",\ + "@types/node",\ + "@types/vitest__browser",\ + "@types/vitest__ui",\ + "@vitest/browser",\ + "@vitest/ui",\ + "happy-dom",\ + "jsdom"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vt-pbf", [\ + ["npm:3.1.3", {\ + "packageLocation": "./.yarn/cache/vt-pbf-npm-3.1.3-6b659628e6-83375b7ffe.zip/node_modules/vt-pbf/",\ + "packageDependencies": [\ + ["vt-pbf", "npm:3.1.3"],\ + ["@mapbox/point-geometry", "npm:0.1.0"],\ + ["@mapbox/vector-tile", "npm:1.3.1"],\ + ["pbf", "npm:3.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue", [\ + ["npm:3.4.20", {\ + "packageLocation": "./.yarn/cache/vue-npm-3.4.20-bb7775897e-3e69bd06fa.zip/node_modules/vue/",\ + "packageDependencies": [\ + ["vue", "npm:3.4.20"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.4.20", {\ + "packageLocation": "./.yarn/__virtual__/vue-virtual-9afb16d429/0/cache/vue-npm-3.4.20-bb7775897e-3e69bd06fa.zip/node_modules/vue/",\ + "packageDependencies": [\ + ["vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.4.20"],\ + ["@types/typescript", null],\ + ["@vue/compiler-dom", "npm:3.4.20"],\ + ["@vue/compiler-sfc", "npm:3.4.20"],\ + ["@vue/runtime-dom", "npm:3.4.20"],\ + ["@vue/server-renderer", "virtual:9afb16d429d82434e4d1c7e502082e6e97861a27254ba49af694810967c74a0b6579d35f0c77041babe936fb7c8cdd6213ca0e13aeefe8ae924644470e763a35#npm:3.4.20"],\ + ["@vue/shared", "npm:3.4.20"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-component-type-helpers", [\ + ["npm:1.8.27", {\ + "packageLocation": "./.yarn/cache/vue-component-type-helpers-npm-1.8.27-ee89220676-71245a41a1.zip/node_modules/vue-component-type-helpers/",\ + "packageDependencies": [\ + ["vue-component-type-helpers", "npm:1.8.27"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-demi", [\ + ["npm:0.14.7", {\ + "packageLocation": "./.yarn/unplugged/vue-demi-virtual-29c437b5b3/node_modules/vue-demi/",\ + "packageDependencies": [\ + ["vue-demi", "npm:0.14.7"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:18b1677ef094231181bd8953f0cf2a53e05f9066e3971cc6453a5bde1d7325e153967359461ec13b6c655ac5e21f628bba0cb1427f0ab9acf06cf16a410e8915#npm:0.14.7", {\ + "packageLocation": "./.yarn/unplugged/vue-demi-virtual-29c437b5b3/node_modules/vue-demi/",\ + "packageDependencies": [\ + ["vue-demi", "virtual:18b1677ef094231181bd8953f0cf2a53e05f9066e3971cc6453a5bde1d7325e153967359461ec13b6c655ac5e21f628bba0cb1427f0ab9acf06cf16a410e8915#npm:0.14.7"],\ + ["@types/vue", null],\ + ["@types/vue__composition-api", null],\ + ["@vue/composition-api", null],\ + ["vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.4.20"]\ + ],\ + "packagePeers": [\ + "@types/vue",\ + "@types/vue__composition-api",\ + "@vue/composition-api",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-eslint-parser", [\ + ["npm:9.4.2", {\ + "packageLocation": "./.yarn/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-67f14c8ea1.zip/node_modules/vue-eslint-parser/",\ + "packageDependencies": [\ + ["vue-eslint-parser", "npm:9.4.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:54eeb4f053aec729865ff802f8132a1707ba47dd8522c93b5a494fbe5bf2069f5002713c5819f5c57128cf316bf99a814fff1ea43b98127d28fc575e8089bc1b#npm:9.4.2", {\ + "packageLocation": "./.yarn/__virtual__/vue-eslint-parser-virtual-bc882e9a3b/0/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-67f14c8ea1.zip/node_modules/vue-eslint-parser/",\ + "packageDependencies": [\ + ["vue-eslint-parser", "virtual:54eeb4f053aec729865ff802f8132a1707ba47dd8522c93b5a494fbe5bf2069f5002713c5819f5c57128cf316bf99a814fff1ea43b98127d28fc575e8089bc1b#npm:9.4.2"],\ + ["@types/eslint", null],\ + ["debug", "virtual:92a28e392bb7746809827b7e8ebf6aec49c5f04125481214ae6ea6f4de204344bcccbe5eb3a2f4388bb368cfa5d84f03ce0d8f32a9fcc3f5e92ea34723da1c56#npm:4.3.4"],\ + ["eslint", "npm:8.57.0"],\ + ["eslint-scope", "npm:7.2.2"],\ + ["eslint-visitor-keys", "npm:3.4.3"],\ + ["espree", "npm:9.6.1"],\ + ["esquery", "npm:1.5.0"],\ + ["lodash", "npm:4.17.21"],\ + ["semver", "npm:7.6.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-maplibre-gl", [\ + ["npm:3.1.3", {\ + "packageLocation": "./.yarn/cache/vue-maplibre-gl-npm-3.1.3-0625a4dcf3-cc49b6ef4b.zip/node_modules/vue-maplibre-gl/",\ + "packageDependencies": [\ + ["vue-maplibre-gl", "npm:3.1.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.1.3", {\ + "packageLocation": "./.yarn/__virtual__/vue-maplibre-gl-virtual-152e045b80/0/cache/vue-maplibre-gl-npm-3.1.3-0625a4dcf3-cc49b6ef4b.zip/node_modules/vue-maplibre-gl/",\ + "packageDependencies": [\ + ["vue-maplibre-gl", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.1.3"],\ + ["@types/maplibre-gl", null],\ + ["@types/mitt", null],\ + ["@types/vue", null],\ + ["maplibre-gl", "npm:4.0.2"],\ + ["mitt", "npm:3.0.1"],\ + ["vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.4.20"]\ + ],\ + "packagePeers": [\ + "@types/maplibre-gl",\ + "@types/mitt",\ + "@types/vue",\ + "maplibre-gl",\ + "mitt",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-router", [\ + ["npm:4.3.0", {\ + "packageLocation": "./.yarn/cache/vue-router-npm-4.3.0-b765d40138-0059261d39.zip/node_modules/vue-router/",\ + "packageDependencies": [\ + ["vue-router", "npm:4.3.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:4.3.0", {\ + "packageLocation": "./.yarn/__virtual__/vue-router-virtual-90c553fd02/0/cache/vue-router-npm-4.3.0-b765d40138-0059261d39.zip/node_modules/vue-router/",\ + "packageDependencies": [\ + ["vue-router", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:4.3.0"],\ + ["@types/vue", null],\ + ["@vue/devtools-api", "npm:6.6.1"],\ + ["vue", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:3.4.20"]\ + ],\ + "packagePeers": [\ + "@types/vue",\ + "vue"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-template-compiler", [\ + ["npm:2.7.16", {\ + "packageLocation": "./.yarn/cache/vue-template-compiler-npm-2.7.16-f59aa20e7d-a0d52ecbb9.zip/node_modules/vue-template-compiler/",\ + "packageDependencies": [\ + ["vue-template-compiler", "npm:2.7.16"],\ + ["de-indent", "npm:1.0.2"],\ + ["he", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-tsc", [\ + ["npm:1.8.27", {\ + "packageLocation": "./.yarn/cache/vue-tsc-npm-1.8.27-e0ee1a8eb3-98c2986df0.zip/node_modules/vue-tsc/",\ + "packageDependencies": [\ + ["vue-tsc", "npm:1.8.27"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:1.8.27", {\ + "packageLocation": "./.yarn/__virtual__/vue-tsc-virtual-3f578270ea/0/cache/vue-tsc-npm-1.8.27-e0ee1a8eb3-98c2986df0.zip/node_modules/vue-tsc/",\ + "packageDependencies": [\ + ["vue-tsc", "virtual:2e42a29c22b049329464e22d48b33ce2dd3e6f9aafb0f1020894d11bd69273ccf755f5b3f6e09808ad54527afd1ba393f0b4ff758690e0a0779357f0f8a7285c#npm:1.8.27"],\ + ["@types/typescript", null],\ + ["@volar/typescript", "npm:1.11.1"],\ + ["@vue/language-core", "virtual:3f578270ea75dd0ed49714eb001eea953697ae6db07410c18a9a5c1bf0d77d099a890b434c227ca517acb67a996082717dd8e78804aa27451e2181f7e245cb2f#npm:1.8.27"],\ + ["semver", "npm:7.6.0"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#~builtin::version=5.3.3&hash=d73830"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["w3c-xmlserializer", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/w3c-xmlserializer-npm-5.0.0-589edd7bff-593acc1fda.zip/node_modules/w3c-xmlserializer/",\ + "packageDependencies": [\ + ["w3c-xmlserializer", "npm:5.0.0"],\ + ["xml-name-validator", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wait-on", [\ + ["npm:7.2.0", {\ + "packageLocation": "./.yarn/cache/wait-on-npm-7.2.0-672226c2e5-69ec1432bb.zip/node_modules/wait-on/",\ + "packageDependencies": [\ + ["wait-on", "npm:7.2.0"],\ + ["axios", "npm:1.6.7"],\ + ["joi", "npm:17.12.2"],\ + ["lodash", "npm:4.17.21"],\ + ["minimist", "npm:1.2.8"],\ + ["rxjs", "npm:7.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["webidl-conversions", [\ + ["npm:7.0.0", {\ + "packageLocation": "./.yarn/cache/webidl-conversions-npm-7.0.0-e8c8e30c68-f05588567a.zip/node_modules/webidl-conversions/",\ + "packageDependencies": [\ + ["webidl-conversions", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["whatwg-encoding", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/whatwg-encoding-npm-3.1.1-7dfe21cf7d-f75a614224.zip/node_modules/whatwg-encoding/",\ + "packageDependencies": [\ + ["whatwg-encoding", "npm:3.1.1"],\ + ["iconv-lite", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["whatwg-mimetype", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/whatwg-mimetype-npm-4.0.0-ebb293a688-f97edd4b4e.zip/node_modules/whatwg-mimetype/",\ + "packageDependencies": [\ + ["whatwg-mimetype", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["whatwg-url", [\ + ["npm:14.0.0", {\ + "packageLocation": "./.yarn/cache/whatwg-url-npm-14.0.0-fc3d13d5f4-4b5887e50f.zip/node_modules/whatwg-url/",\ + "packageDependencies": [\ + ["whatwg-url", "npm:14.0.0"],\ + ["tr46", "npm:5.0.0"],\ + ["webidl-conversions", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/which-npm-1.3.1-f0ebb8bdd8-f2e185c624.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:1.3.1"],\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/which-npm-2.0.2-320ddf72f7-1a5c563d3c.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:2.0.2"],\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/which-npm-4.0.0-dd31cd4928-f17e84c042.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:4.0.0"],\ + ["isexe", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["why-is-node-running", [\ + ["npm:2.2.2", {\ + "packageLocation": "./.yarn/cache/why-is-node-running-npm-2.2.2-881f898bf3-50820428f6.zip/node_modules/why-is-node-running/",\ + "packageDependencies": [\ + ["why-is-node-running", "npm:2.2.2"],\ + ["siginfo", "npm:2.0.0"],\ + ["stackback", "npm:0.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wrap-ansi", [\ + ["npm:6.2.0", {\ + "packageLocation": "./.yarn/cache/wrap-ansi-npm-6.2.0-439a7246d8-6cd96a4101.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:6.2.0"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.0.0", {\ + "packageLocation": "./.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-a790b846fd.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:7.0.0"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.1.0", {\ + "packageLocation": "./.yarn/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-371733296d.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:8.1.0"],\ + ["ansi-styles", "npm:6.2.1"],\ + ["string-width", "npm:5.1.2"],\ + ["strip-ansi", "npm:7.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wrappy", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/wrappy-npm-1.0.2-916de4d4b3-159da4805f.zip/node_modules/wrappy/",\ + "packageDependencies": [\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ws", [\ + ["npm:8.16.0", {\ + "packageLocation": "./.yarn/cache/ws-npm-8.16.0-46943f6199-feb3eecd2b.zip/node_modules/ws/",\ + "packageDependencies": [\ + ["ws", "npm:8.16.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:16a16014b64a08725bdb50c224240651d60a3e979fd73831d10bde1f50c9efd93506a45a9e4aa8e467da2cddb31b276cf1d8795faaf9b172c829c54796fcddc5#npm:8.16.0", {\ + "packageLocation": "./.yarn/__virtual__/ws-virtual-64c5501666/0/cache/ws-npm-8.16.0-46943f6199-feb3eecd2b.zip/node_modules/ws/",\ + "packageDependencies": [\ + ["ws", "virtual:16a16014b64a08725bdb50c224240651d60a3e979fd73831d10bde1f50c9efd93506a45a9e4aa8e467da2cddb31b276cf1d8795faaf9b172c829c54796fcddc5#npm:8.16.0"],\ + ["@types/bufferutil", null],\ + ["@types/utf-8-validate", null],\ + ["bufferutil", null],\ + ["utf-8-validate", null]\ + ],\ + "packagePeers": [\ + "@types/bufferutil",\ + "@types/utf-8-validate",\ + "bufferutil",\ + "utf-8-validate"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["xml-name-validator", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/xml-name-validator-npm-4.0.0-0857c21729-af100b79c2.zip/node_modules/xml-name-validator/",\ + "packageDependencies": [\ + ["xml-name-validator", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/xml-name-validator-npm-5.0.0-0e0ec66944-86effcc702.zip/node_modules/xml-name-validator/",\ + "packageDependencies": [\ + ["xml-name-validator", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["xmlchars", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/xmlchars-npm-2.2.0-8b78f0f5e4-8c70ac9407.zip/node_modules/xmlchars/",\ + "packageDependencies": [\ + ["xmlchars", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yallist", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/yallist-npm-4.0.0-b493d9e907-343617202a.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yauzl", [\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/yauzl-npm-2.10.0-72e70ea021-7f21fe0bba.zip/node_modules/yauzl/",\ + "packageDependencies": [\ + ["yauzl", "npm:2.10.0"],\ + ["buffer-crc32", "npm:0.2.13"],\ + ["fd-slicer", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yocto-queue", [\ + ["npm:0.1.0", {\ + "packageLocation": "./.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-f77b3d8d00.zip/node_modules/yocto-queue/",\ + "packageDependencies": [\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/yocto-queue-npm-1.0.0-7b502f1987-2cac84540f.zip/node_modules/yocto-queue/",\ + "packageDependencies": [\ + ["yocto-queue", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]]\ + ]\ + }'), {basePath: basePath || __dirname}); + } + +const fs = require('fs'); +const path = require('path'); +const require$$0 = require('module'); +const StringDecoder = require('string_decoder'); +const url = require('url'); +const os = require('os'); +const nodeUtils = require('util'); +const assert = require('assert'); +const stream = require('stream'); +const zlib = require('zlib'); +const events = require('events'); + +const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; + +function _interopNamespace(e) { + if (e && e.__esModule) return e; + const n = Object.create(null); + if (e) { + for (const k in e) { + if (k !== 'default') { + const d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: () => e[k] + }); + } + } + } + n.default = e; + return Object.freeze(n); +} + +const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); +const path__default = /*#__PURE__*/_interopDefaultLegacy(path); +const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); +const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder); +const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils); +const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert); +const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); + +const S_IFMT = 61440; +const S_IFDIR = 16384; +const S_IFREG = 32768; +const S_IFLNK = 40960; +const SAFE_TIME = 456789e3; + +const DEFAULT_MODE = S_IFREG | 420; +class StatEntry { + constructor() { + this.uid = 0; + this.gid = 0; + this.size = 0; + this.blksize = 0; + this.atimeMs = 0; + this.mtimeMs = 0; + this.ctimeMs = 0; + this.birthtimeMs = 0; + this.atime = new Date(0); + this.mtime = new Date(0); + this.ctime = new Date(0); + this.birthtime = new Date(0); + this.dev = 0; + this.ino = 0; + this.mode = DEFAULT_MODE; + this.nlink = 1; + this.rdev = 0; + this.blocks = 1; + } + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } +} +class BigIntStatsEntry { + constructor() { + this.uid = BigInt(0); + this.gid = BigInt(0); + this.size = BigInt(0); + this.blksize = BigInt(0); + this.atimeMs = BigInt(0); + this.mtimeMs = BigInt(0); + this.ctimeMs = BigInt(0); + this.birthtimeMs = BigInt(0); + this.atimeNs = BigInt(0); + this.mtimeNs = BigInt(0); + this.ctimeNs = BigInt(0); + this.birthtimeNs = BigInt(0); + this.atime = new Date(0); + this.mtime = new Date(0); + this.ctime = new Date(0); + this.birthtime = new Date(0); + this.dev = BigInt(0); + this.ino = BigInt(0); + this.mode = BigInt(DEFAULT_MODE); + this.nlink = BigInt(1); + this.rdev = BigInt(0); + this.blocks = BigInt(1); + } + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR); + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG); + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK); + } +} +function makeDefaultStats() { + return new StatEntry(); +} +function clearStats(stats) { + for (const key in stats) { + if (Object.prototype.hasOwnProperty.call(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + stats[key] = 0; + } else if (typeof element === `bigint`) { + stats[key] = BigInt(0); + } else if (nodeUtils__namespace.types.isDate(element)) { + stats[key] = new Date(0); + } + } + } + return stats; +} +function convertToBigIntStats(stats) { + const bigintStats = new BigIntStatsEntry(); + for (const key in stats) { + if (Object.prototype.hasOwnProperty.call(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + bigintStats[key] = BigInt(element); + } else if (nodeUtils__namespace.types.isDate(element)) { + bigintStats[key] = new Date(element); + } + } + } + bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6); + bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6); + bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6); + bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6); + return bigintStats; +} +function areStatsEqual(a, b) { + if (a.atimeMs !== b.atimeMs) + return false; + if (a.birthtimeMs !== b.birthtimeMs) + return false; + if (a.blksize !== b.blksize) + return false; + if (a.blocks !== b.blocks) + return false; + if (a.ctimeMs !== b.ctimeMs) + return false; + if (a.dev !== b.dev) + return false; + if (a.gid !== b.gid) + return false; + if (a.ino !== b.ino) + return false; + if (a.isBlockDevice() !== b.isBlockDevice()) + return false; + if (a.isCharacterDevice() !== b.isCharacterDevice()) + return false; + if (a.isDirectory() !== b.isDirectory()) + return false; + if (a.isFIFO() !== b.isFIFO()) + return false; + if (a.isFile() !== b.isFile()) + return false; + if (a.isSocket() !== b.isSocket()) + return false; + if (a.isSymbolicLink() !== b.isSymbolicLink()) + return false; + if (a.mode !== b.mode) + return false; + if (a.mtimeMs !== b.mtimeMs) + return false; + if (a.nlink !== b.nlink) + return false; + if (a.rdev !== b.rdev) + return false; + if (a.size !== b.size) + return false; + if (a.uid !== b.uid) + return false; + const aN = a; + const bN = b; + if (aN.atimeNs !== bN.atimeNs) + return false; + if (aN.mtimeNs !== bN.mtimeNs) + return false; + if (aN.ctimeNs !== bN.ctimeNs) + return false; + if (aN.birthtimeNs !== bN.birthtimeNs) + return false; + return true; +} + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const Filename = { + nodeModules: `node_modules`, + manifest: `package.json`, + lockfile: `yarn.lock`, + virtual: `__virtual__`, + pnpJs: `.pnp.js`, + pnpCjs: `.pnp.cjs`, + rc: `.yarnrc.yml` +}; +const npath = Object.create(path__default.default); +const ppath = Object.create(path__default.default.posix); +npath.cwd = () => process.cwd(); +ppath.cwd = () => toPortablePath(process.cwd()); +ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path__default.default.posix.resolve(...segments); + } else { + return path__default.default.posix.resolve(ppath.cwd(), ...segments); + } +}; +const contains = function(pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) + return `.`; + if (!from.endsWith(pathUtils.sep)) + from = from + pathUtils.sep; + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +npath.contains = (from, to) => contains(npath, from, to); +ppath.contains = (from, to) => contains(ppath, from, to); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; +function fromPortablePath(p) { + if (process.platform !== `win32`) + return p; + let portablePathMatch, uncPortablePathMatch; + if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) + p = portablePathMatch[1]; + else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) + p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; + else + return p; + return p.replace(/\//g, `\\`); +} +function toPortablePath(p) { + if (process.platform !== `win32`) + return p; + p = p.replace(/\\/g, `/`); + let windowsPathMatch, uncWindowsPathMatch; + if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) + p = `/${windowsPathMatch[1]}`; + else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) + p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; + return p; +} +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const prelayout = []; + const postlayout = []; + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); + const updateTime = typeof destinationFs.lutimesPromise === `function` ? destinationFs.lutimesPromise.bind(destinationFs) : destinationFs.utimesPromise.bind(destinationFs); + await copyImpl(prelayout, postlayout, updateTime, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); + for (const operation of prelayout) + await operation(); + await Promise.all(postlayout.map((operation) => { + return operation(); + })); +} +async function copyImpl(prelayout, postlayout, updateTime, destinationFs, destination, sourceFs, source, opts) { + var _a, _b; + const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; + const sourceStat = await sourceFs.lstatPromise(source); + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; + let updated; + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + default: + { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + } + if (updated || ((_a = destinationStat == null ? void 0 : destinationStat.mtime) == null ? void 0 : _a.getTime()) !== mtime.getTime() || ((_b = destinationStat == null ? void 0 : destinationStat.atime) == null ? void 0 : _b.getTime()) !== atime.getTime()) { + postlayout.push(() => updateTime(destination, atime, mtime)); + updated = true; + } + if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); + updated = true; + } + return updated; +} +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} +async function copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + let updated = false; + if (destinationStat === null) { + prelayout.push(async () => { + try { + await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); + } catch (err) { + if (err.code !== `EEXIST`) { + throw err; + } + } + }); + updated = true; + } + const entries = await sourceFs.readdirPromise(source); + const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { + await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); + })); + if (entriesUpdateStatus.some((status) => status)) { + updated = true; + } + } + return updated; +} +const isCloneSupportedCache = /* @__PURE__ */ new WeakMap(); +function makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + return async () => { + await opFs.linkPromise(source, destination); + if (linkStrategy === "readOnly" /* ReadOnly */) { + sourceStat.mode &= ~146; + await opFs.chmodPromise(destination, sourceStat.mode); + } + }; +} +function makeCloneLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + const isCloneSupported = isCloneSupportedCache.get(opFs); + if (typeof isCloneSupported === `undefined`) { + return async () => { + try { + await opFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE_FORCE); + isCloneSupportedCache.set(opFs, true); + } catch (err) { + if (err.code === `ENOSYS` || err.code === `ENOTSUP`) { + isCloneSupportedCache.set(opFs, false); + await makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy)(); + } else { + throw err; + } + } + }; + } else { + if (isCloneSupported) { + return async () => opFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE_FORCE); + } else { + return makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy); + } + } +} +async function copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + var _a; + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + const linkStrategy = (_a = opts.linkStrategy) != null ? _a : null; + const op = destinationFs === sourceFs ? linkStrategy !== null ? makeCloneLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE) : linkStrategy !== null ? makeLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.writeFilePromise(destination, await sourceFs.readFilePromise(source)); + prelayout.push(async () => op()); + return true; +} +async function copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +function makeError$1(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { code }); +} +function EBUSY(message) { + return makeError$1(`EBUSY`, message); +} +function ENOSYS(message, reason) { + return makeError$1(`ENOSYS`, `${message}, ${reason}`); +} +function EINVAL(reason) { + return makeError$1(`EINVAL`, `invalid argument, ${reason}`); +} +function EBADF(reason) { + return makeError$1(`EBADF`, `bad file descriptor, ${reason}`); +} +function ENOENT(reason) { + return makeError$1(`ENOENT`, `no such file or directory, ${reason}`); +} +function ENOTDIR(reason) { + return makeError$1(`ENOTDIR`, `not a directory, ${reason}`); +} +function EISDIR(reason) { + return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`); +} +function EEXIST(reason) { + return makeError$1(`EEXIST`, `file already exists, ${reason}`); +} +function EROFS(reason) { + return makeError$1(`EROFS`, `read-only filesystem, ${reason}`); +} +function ENOTEMPTY(reason) { + return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`); +} +function EOPNOTSUPP(reason) { + return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`); +} +function ERR_DIR_CLOSED() { + return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`); +} +class LibzipError extends Error { + constructor(message, code) { + super(message); + this.name = `Libzip Error`; + this.code = code; + } +} + +class CustomDir { + constructor(path, nextDirent, opts = {}) { + this.path = path; + this.nextDirent = nextDirent; + this.opts = opts; + this.closed = false; + } + throwIfClosed() { + if (this.closed) { + throw ERR_DIR_CLOSED(); + } + } + async *[Symbol.asyncIterator]() { + try { + let dirent; + while ((dirent = await this.read()) !== null) { + yield dirent; + } + } finally { + await this.close(); + } + } + read(cb) { + const dirent = this.readSync(); + if (typeof cb !== `undefined`) + return cb(null, dirent); + return Promise.resolve(dirent); + } + readSync() { + this.throwIfClosed(); + return this.nextDirent(); + } + close(cb) { + this.closeSync(); + if (typeof cb !== `undefined`) + return cb(null); + return Promise.resolve(); + } + closeSync() { + var _a, _b; + this.throwIfClosed(); + (_b = (_a = this.opts).onClose) == null ? void 0 : _b.call(_a); + this.closed = true; + } +} +function opendir(fakeFs, path, entries, opts) { + const nextDirent = () => { + const filename = entries.shift(); + if (typeof filename === `undefined`) + return null; + return Object.assign(fakeFs.statSync(fakeFs.pathUtils.join(path, filename)), { + name: filename + }); + }; + return new CustomDir(path, nextDirent, opts); +} + +class FakeFS { + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + async *genTraversePromise(init, { stableSort = false } = {}) { + const stack = [init]; + while (stack.length > 0) { + const p = stack.shift(); + const entry = await this.lstatPromise(p); + if (entry.isDirectory()) { + const entries = await this.readdirPromise(p); + if (stableSort) { + for (const entry2 of entries.sort()) { + stack.push(this.pathUtils.join(p, entry2)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { + let stat; + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) { + const entries = await this.readdirPromise(p); + await Promise.all(entries.map((entry) => { + return this.removePromise(this.pathUtils.resolve(p, entry)); + })); + } + for (let t = 0; t <= maxRetries; t++) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { + throw error; + } else if (t < maxRetries) { + await new Promise((resolve) => setTimeout(resolve, t * 100)); + } + } + } + } else { + await this.unlinkPromise(p); + } + } + removeSync(p, { recursive = true } = {}) { + let stat; + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) + for (const entry of this.readdirSync(p)) + this.removeSync(this.pathUtils.resolve(p, entry)); + this.rmdirSync(p); + } else { + this.unlinkSync(p); + } + } + async mkdirpPromise(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory != null ? createdDirectory : createdDirectory = subPath; + if (chmod != null) + await this.chmodPromise(subPath, chmod); + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + mkdirpSync(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory != null ? createdDirectory : createdDirectory = subPath; + if (chmod != null) + this.chmodSync(subPath, chmod); + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { + return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); + } + copySync(destination, source, { baseFs = this, overwrite = true } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync(convertPath(this.pathUtils, target), destination); + } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); + } + const mode = stat.mode & 511; + this.chmodSync(destination, mode); + } + async changeFilePromise(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferPromise(p, content, opts); + } else { + return this.changeFileTextPromise(p, content, opts); + } + } + async changeFileBufferPromise(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = await this.readFilePromise(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + await this.writeFilePromise(p, content, { mode }); + } + async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { + let current = ``; + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + await this.writeFilePromise(p, normalizedContent, { mode }); + } + changeFileSync(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferSync(p, content, opts); + } else { + return this.changeFileTextSync(p, content, opts); + } + } + changeFileBufferSync(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = this.readFileSync(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + this.writeFileSync(p, content, { mode }); + } + changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { + let current = ``; + try { + current = this.readFileSync(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + this.writeFileSync(p, normalizedContent, { mode }); + } + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; + } + } + } + moveSync(fromP, toP) { + try { + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; + } + } + } + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1e3 / 60; + const startTime = Date.now(); + let fd = null; + const isAlive = async () => { + let pid; + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + return Date.now() - startTime < 500; + } + try { + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!await isAlive()) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error2) { + } + } + if (Date.now() - startTime < 60 * 1e3) { + await new Promise((resolve) => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } + } + await this.writePromise(fd, JSON.stringify([process.pid])); + try { + return await callback(); + } finally { + try { + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) { + } + } + } + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + async writeJsonPromise(p, data) { + return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)} +`); + } + writeJsonSync(p, data) { + return this.writeFileSync(p, `${JSON.stringify(data, null, 2)} +`); + } + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) + p = result; + if (this.lutimesPromise) { + await this.lutimesPromise(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + await this.utimesPromise(p, stat.atime, stat.mtime); + } + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + if (this.lutimesSync) { + this.lutimesSync(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + this.utimesSync(p, stat.atime, stat.mtime); + } + } +} +class BasePortableFakeFS extends FakeFS { + constructor() { + super(ppath); + } +} +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) + return os.EOL; + const crlf = matches.filter((nl) => nl === `\r +`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r +` : ` +`; +} +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +class NodeFS extends BasePortableFakeFS { + constructor(realFs = fs__default.default) { + super(); + this.realFs = realFs; + if (typeof this.realFs.lutimes !== `undefined`) { + this.lutimesPromise = this.lutimesPromiseImpl; + this.lutimesSync = this.lutimesSyncImpl; + } + } + getExtractHint() { + return false; + } + getRealPath() { + return PortablePath.root; + } + resolve(p) { + return ppath.resolve(p); + } + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + openSync(p, flags, mode) { + return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); + } + async opendirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (typeof opts !== `undefined`) { + this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }).then((dir) => { + return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true }); + }); + } + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true }); + } + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); + } else { + return this.realFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + closeSync(fd) { + this.realFs.closeSync(fd); + } + createReadStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + createWriteStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + realpathSync(p) { + return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); + } + async existsPromise(p) { + return await new Promise((resolve) => { + this.realFs.exists(npath.fromPortablePath(p), resolve); + }); + } + accessSync(p, mode) { + return this.realFs.accessSync(npath.fromPortablePath(p), mode); + } + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + existsSync(p) { + return this.realFs.existsSync(npath.fromPortablePath(p)); + } + async statPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + statSync(p, opts) { + if (opts) { + return this.realFs.statSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.statSync(npath.fromPortablePath(p)); + } + } + async fstatPromise(fd, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + fstatSync(fd, opts) { + if (opts) { + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + lstatSync(p, opts) { + if (opts) { + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + async fchmodPromise(fd, mask) { + return await new Promise((resolve, reject) => { + this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); + }); + } + fchmodSync(fd, mask) { + return this.realFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + chmodSync(p, mask) { + return this.realFs.chmodSync(npath.fromPortablePath(p), mask); + } + async fchownPromise(fd, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); + }); + } + fchownSync(fd, uid, gid) { + return this.realFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); + }); + } + chownSync(p, uid, gid) { + return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); + } + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + renameSync(oldP, newP) { + return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); + } + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); + } + } + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); + } + } + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + unlinkSync(p) { + return this.realFs.unlinkSync(npath.fromPortablePath(p)); + } + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); + } + async lutimesPromiseImpl(p, atime, mtime) { + const lutimes = this.realFs.lutimes; + if (typeof lutimes === `undefined`) + throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + return await new Promise((resolve, reject) => { + lutimes.call(this.realFs, npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + lutimesSyncImpl(p, atime, mtime) { + const lutimesSync = this.realFs.lutimesSync; + if (typeof lutimesSync === `undefined`) + throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + lutimesSync.call(this.realFs, npath.fromPortablePath(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + mkdirSync(p, opts) { + return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); + } + async rmdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmdirSync(p, opts) { + return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); + } + async linkPromise(existingP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + linkSync(existingP, newP) { + return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); + } + async symlinkPromise(target, p, type) { + return await new Promise((resolve, reject) => { + this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); + }); + } + symlinkSync(target, p, type) { + return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); + } + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + async readdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts == null ? void 0 : opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), { withFileTypes: true }, this.makeCallback(resolve, reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback((value) => resolve(value), reject)); + } + }); + } + readdirSync(p, opts) { + if (opts == null ? void 0 : opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), { withFileTypes: true }); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p)); + } + } + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + readlinkSync(p) { + return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); + } + async truncatePromise(p, len) { + return await new Promise((resolve, reject) => { + this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); + }); + } + truncateSync(p, len) { + return this.realFs.truncateSync(npath.fromPortablePath(p), len); + } + async ftruncatePromise(fd, len) { + return await new Promise((resolve, reject) => { + this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); + }); + } + ftruncateSync(fd, len) { + return this.realFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.realFs.watch( + npath.fromPortablePath(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.realFs.watchFile( + npath.fromPortablePath(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); + } + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +function assertStatus(current, expected) { + if (current !== expected) { + throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); + } +} +class CustomStatWatcher extends events.EventEmitter { + constructor(fakeFs, path, { bigint = false } = {}) { + super(); + this.status = "ready" /* Ready */; + this.changeListeners = /* @__PURE__ */ new Map(); + this.startTimeout = null; + this.fakeFs = fakeFs; + this.path = path; + this.bigint = bigint; + this.lastStats = this.stat(); + } + static create(fakeFs, path, opts) { + const statWatcher = new CustomStatWatcher(fakeFs, path, opts); + statWatcher.start(); + return statWatcher; + } + start() { + assertStatus(this.status, "ready" /* Ready */); + this.status = "running" /* Running */; + this.startTimeout = setTimeout(() => { + this.startTimeout = null; + if (!this.fakeFs.existsSync(this.path)) { + this.emit("change" /* Change */, this.lastStats, this.lastStats); + } + }, 3); + } + stop() { + assertStatus(this.status, "running" /* Running */); + this.status = "stopped" /* Stopped */; + if (this.startTimeout !== null) { + clearTimeout(this.startTimeout); + this.startTimeout = null; + } + this.emit("stop" /* Stop */); + } + stat() { + try { + return this.fakeFs.statSync(this.path, { bigint: this.bigint }); + } catch (error) { + const statInstance = this.bigint ? new BigIntStatsEntry() : new StatEntry(); + return clearStats(statInstance); + } + } + makeInterval(opts) { + const interval = setInterval(() => { + const currentStats = this.stat(); + const previousStats = this.lastStats; + if (areStatsEqual(currentStats, previousStats)) + return; + this.lastStats = currentStats; + this.emit("change" /* Change */, currentStats, previousStats); + }, opts.interval); + return opts.persistent ? interval : interval.unref(); + } + registerChangeListener(listener, opts) { + this.addListener("change" /* Change */, listener); + this.changeListeners.set(listener, this.makeInterval(opts)); + } + unregisterChangeListener(listener) { + this.removeListener("change" /* Change */, listener); + const interval = this.changeListeners.get(listener); + if (typeof interval !== `undefined`) + clearInterval(interval); + this.changeListeners.delete(listener); + } + unregisterAllChangeListeners() { + for (const listener of this.changeListeners.keys()) { + this.unregisterChangeListener(listener); + } + } + hasChangeListeners() { + return this.changeListeners.size > 0; + } + ref() { + for (const interval of this.changeListeners.values()) + interval.ref(); + return this; + } + unref() { + for (const interval of this.changeListeners.values()) + interval.unref(); + return this; + } +} + +const statWatchersByFakeFS = /* @__PURE__ */ new WeakMap(); +function watchFile(fakeFs, path, a, b) { + let bigint; + let persistent; + let interval; + let listener; + switch (typeof a) { + case `function`: + { + bigint = false; + persistent = true; + interval = 5007; + listener = a; + } + break; + default: + { + ({ + bigint = false, + persistent = true, + interval = 5007 + } = a); + listener = b; + } + break; + } + let statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + statWatchersByFakeFS.set(fakeFs, statWatchers = /* @__PURE__ */ new Map()); + let statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) { + statWatcher = CustomStatWatcher.create(fakeFs, path, { bigint }); + statWatchers.set(path, statWatcher); + } + statWatcher.registerChangeListener(listener, { persistent, interval }); + return statWatcher; +} +function unwatchFile(fakeFs, path, cb) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + const statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) + return; + if (typeof cb === `undefined`) + statWatcher.unregisterAllChangeListeners(); + else + statWatcher.unregisterChangeListener(cb); + if (!statWatcher.hasChangeListeners()) { + statWatcher.stop(); + statWatchers.delete(path); + } +} +function unwatchAllFiles(fakeFs) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + for (const path of statWatchers.keys()) { + unwatchFile(fakeFs, path); + } +} + +const DEFAULT_COMPRESSION_LEVEL = `mixed`; +function toUnixTimestamp(time) { + if (typeof time === `string` && String(+time) === time) + return +time; + if (Number.isFinite(time)) { + if (time < 0) { + return Date.now() / 1e3; + } else { + return time; + } + } + if (nodeUtils.types.isDate(time)) + return time.getTime() / 1e3; + throw new Error(`Invalid time`); +} +function makeEmptyArchive() { + return Buffer.from([ + 80, + 75, + 5, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]); +} +class ZipFS extends BasePortableFakeFS { + constructor(source, opts) { + super(); + this.lzSource = null; + this.listings = /* @__PURE__ */ new Map(); + this.entries = /* @__PURE__ */ new Map(); + this.fileSources = /* @__PURE__ */ new Map(); + this.fds = /* @__PURE__ */ new Map(); + this.nextFd = 0; + this.ready = false; + this.readOnly = false; + this.libzip = opts.libzip; + const pathOptions = opts; + this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; + source != null ? source : source = makeEmptyArchive(); + if (typeof source === `string`) { + const { baseFs = new NodeFS() } = pathOptions; + this.baseFs = baseFs; + this.path = source; + } else { + this.path = null; + this.baseFs = null; + } + if (opts.stats) { + this.stats = opts.stats; + } else { + if (typeof source === `string`) { + try { + this.stats = this.baseFs.statSync(source); + } catch (error) { + if (error.code === `ENOENT` && pathOptions.create) { + this.stats = makeDefaultStats(); + } else { + throw error; + } + } + } else { + this.stats = makeDefaultStats(); + } + } + const errPtr = this.libzip.malloc(4); + try { + let flags = 0; + if (typeof source === `string` && pathOptions.create) + flags |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE; + if (opts.readOnly) { + flags |= this.libzip.ZIP_RDONLY; + this.readOnly = true; + } + if (typeof source === `string`) { + this.zip = this.libzip.open(npath.fromPortablePath(source), flags, errPtr); + } else { + const lzSource = this.allocateUnattachedSource(source); + try { + this.zip = this.libzip.openFromSource(lzSource, flags, errPtr); + this.lzSource = lzSource; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + if (this.zip === 0) { + const error = this.libzip.struct.errorS(); + this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`)); + throw this.makeLibzipError(error); + } + } finally { + this.libzip.free(errPtr); + } + this.listings.set(PortablePath.root, /* @__PURE__ */ new Set()); + const entryCount = this.libzip.getNumEntries(this.zip, 0); + for (let t = 0; t < entryCount; ++t) { + const raw = this.libzip.getName(this.zip, t, 0); + if (ppath.isAbsolute(raw)) + continue; + const p = ppath.resolve(PortablePath.root, raw); + this.registerEntry(p, t); + if (raw.endsWith(`/`)) { + this.registerListing(p); + } + } + this.symlinkCount = this.libzip.ext.countSymlinks(this.zip); + if (this.symlinkCount === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.ready = true; + } + makeLibzipError(error) { + const errorCode = this.libzip.struct.errorCodeZip(error); + const strerror = this.libzip.error.strerror(error); + const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]); + if (errorCode === this.libzip.errors.ZIP_ER_CHANGED) + throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`); + return libzipError; + } + getExtractHint(hints) { + for (const fileName of this.entries.keys()) { + const ext = this.pathUtils.extname(fileName); + if (hints.relevantExtensions.has(ext)) { + return true; + } + } + return false; + } + getAllFiles() { + return Array.from(this.entries.keys()); + } + getRealPath() { + if (!this.path) + throw new Error(`ZipFS don't have real paths when loaded from a buffer`); + return this.path; + } + getBufferAndClose() { + this.prepareClose(); + if (!this.lzSource) + throw new Error(`ZipFS was not created from a Buffer`); + try { + this.libzip.source.keep(this.lzSource); + if (this.libzip.close(this.zip) === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (this.libzip.source.open(this.lzSource) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const size = this.libzip.source.tell(this.lzSource); + if (size === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const buffer = this.libzip.malloc(size); + if (!buffer) + throw new Error(`Couldn't allocate enough memory`); + try { + const rc = this.libzip.source.read(this.lzSource, buffer, size); + if (rc === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + else if (rc < size) + throw new Error(`Incomplete read`); + else if (rc > size) + throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + return Buffer.from(memory); + } finally { + this.libzip.free(buffer); + } + } finally { + this.libzip.source.close(this.lzSource); + this.libzip.source.free(this.lzSource); + this.ready = false; + } + } + prepareClose() { + if (!this.ready) + throw EBUSY(`archive closed, close`); + unwatchAllFiles(this); + } + saveAndClose() { + if (!this.path || !this.baseFs) + throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); + this.prepareClose(); + if (this.readOnly) { + this.discardAndClose(); + return; + } + const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === DEFAULT_MODE ? void 0 : this.stats.mode; + if (this.entries.size === 0) { + this.discardAndClose(); + this.baseFs.writeFileSync(this.path, makeEmptyArchive(), { mode: newMode }); + } else { + const rc = this.libzip.close(this.zip); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (typeof newMode !== `undefined`) { + this.baseFs.chmodSync(this.path, newMode); + } + } + this.ready = false; + } + discardAndClose() { + this.prepareClose(); + this.libzip.discard(this.zip); + this.ready = false; + } + resolve(p) { + return ppath.resolve(PortablePath.root, p); + } + async openPromise(p, flags, mode) { + return this.openSync(p, flags, mode); + } + openSync(p, flags, mode) { + const fd = this.nextFd++; + this.fds.set(fd, { cursor: 0, p }); + return fd; + } + hasOpenFileHandles() { + return !!this.fds.size; + } + async opendirPromise(p, opts) { + return this.opendirSync(p, opts); + } + opendirSync(p, opts = {}) { + const resolvedP = this.resolveFilename(`opendir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`opendir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`opendir '${p}'`); + const entries = [...directoryListing]; + const fd = this.openSync(resolvedP, `r`); + const onClose = () => { + this.closeSync(fd); + }; + return opendir(this, resolvedP, entries, { onClose }); + } + async readPromise(fd, buffer, offset, length, position) { + return this.readSync(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset = 0, length = buffer.byteLength, position = -1) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + const realPosition = position === -1 || position === null ? entry.cursor : position; + const source = this.readFileSync(entry.p); + source.copy(buffer, offset, realPosition, realPosition + length); + const bytesRead = Math.max(0, Math.min(source.length - realPosition, length)); + if (position === -1 || position === null) + entry.cursor += bytesRead; + return bytesRead; + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.writeSync(fd, buffer, position); + } else { + return this.writeSync(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + throw new Error(`Unimplemented`); + } + async closePromise(fd) { + return this.closeSync(fd); + } + closeSync(fd) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + this.fds.delete(fd); + } + createReadStream(p, { encoding } = {}) { + if (p === null) + throw new Error(`Unimplemented`); + const fd = this.openSync(p, `r`); + const stream$1 = Object.assign( + new stream.PassThrough({ + emitClose: true, + autoDestroy: true, + destroy: (error, callback) => { + clearImmediate(immediate); + this.closeSync(fd); + callback(error); + } + }), + { + close() { + stream$1.destroy(); + }, + bytesRead: 0, + path: p + } + ); + const immediate = setImmediate(async () => { + try { + const data = await this.readFilePromise(p, encoding); + stream$1.bytesRead = data.length; + stream$1.end(data); + } catch (error) { + stream$1.destroy(error); + } + }); + return stream$1; + } + createWriteStream(p, { encoding } = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (p === null) + throw new Error(`Unimplemented`); + const chunks = []; + const fd = this.openSync(p, `w`); + const stream$1 = Object.assign( + new stream.PassThrough({ + autoDestroy: true, + emitClose: true, + destroy: (error, callback) => { + try { + if (error) { + callback(error); + } else { + this.writeFileSync(p, Buffer.concat(chunks), encoding); + callback(null); + } + } catch (err) { + callback(err); + } finally { + this.closeSync(fd); + } + } + }), + { + bytesWritten: 0, + path: p, + close() { + stream$1.destroy(); + } + } + ); + stream$1.on(`data`, (chunk) => { + const chunkBuffer = Buffer.from(chunk); + stream$1.bytesWritten += chunkBuffer.length; + chunks.push(chunkBuffer); + }); + return stream$1; + } + async realpathPromise(p) { + return this.realpathSync(p); + } + realpathSync(p) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`lstat '${p}'`); + return resolvedP; + } + async existsPromise(p) { + return this.existsSync(p); + } + existsSync(p) { + if (!this.ready) + throw EBUSY(`archive closed, existsSync '${p}'`); + if (this.symlinkCount === 0) { + const resolvedP2 = ppath.resolve(PortablePath.root, p); + return this.entries.has(resolvedP2) || this.listings.has(resolvedP2); + } + let resolvedP; + try { + resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, false); + } catch (error) { + return false; + } + if (resolvedP === void 0) + return false; + return this.entries.has(resolvedP) || this.listings.has(resolvedP); + } + async accessPromise(p, mode) { + return this.accessSync(p, mode); + } + accessSync(p, mode = fs.constants.F_OK) { + const resolvedP = this.resolveFilename(`access '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`access '${p}'`); + if (this.readOnly && mode & fs.constants.W_OK) { + throw EROFS(`access '${p}'`); + } + } + async statPromise(p, opts = { bigint: false }) { + if (opts.bigint) + return this.statSync(p, { bigint: true }); + return this.statSync(p); + } + statSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + throw ENOENT(`stat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`stat '${p}'`, resolvedP, opts); + } + async fstatPromise(fd, opts) { + return this.fstatSync(fd, opts); + } + fstatSync(fd, opts) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstatSync`); + const { p } = entry; + const resolvedP = this.resolveFilename(`stat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`stat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`fstat '${p}'`, resolvedP, opts); + } + async lstatPromise(p, opts = { bigint: false }) { + if (opts.bigint) + return this.lstatSync(p, { bigint: true }); + return this.lstatSync(p); + } + lstatSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + throw ENOENT(`lstat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`lstat '${p}'`); + return this.statImpl(`lstat '${p}'`, resolvedP, opts); + } + statImpl(reason, p, opts = {}) { + const entry = this.entries.get(p); + if (typeof entry !== `undefined`) { + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = this.libzip.struct.statSize(stat) >>> 0; + const blksize = 512; + const blocks = Math.ceil(size / blksize); + const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1e3; + const atimeMs = mtimeMs; + const birthtimeMs = mtimeMs; + const ctimeMs = mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const type = this.listings.has(p) ? S_IFDIR : this.isSymbolicLink(entry) ? S_IFLNK : S_IFREG; + const defaultMode = type === S_IFDIR ? 493 : 420; + const mode = type | this.getUnixMode(entry, defaultMode) & 511; + const crc = this.libzip.struct.statCrc(stat); + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } + if (this.listings.has(p)) { + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = 0; + const blksize = 512; + const blocks = 0; + const atimeMs = this.stats.mtimeMs; + const birthtimeMs = this.stats.mtimeMs; + const ctimeMs = this.stats.mtimeMs; + const mtimeMs = this.stats.mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const mode = S_IFDIR | 493; + const crc = 0; + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } + throw new Error(`Unreachable`); + } + getUnixMode(index, defaultMode) { + const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) + return defaultMode; + return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + } + registerListing(p) { + const existingListing = this.listings.get(p); + if (existingListing) + return existingListing; + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + const newListing = /* @__PURE__ */ new Set(); + this.listings.set(p, newListing); + return newListing; + } + registerEntry(p, index) { + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + this.entries.set(p, index); + } + unregisterListing(p) { + this.listings.delete(p); + const parentListing = this.listings.get(ppath.dirname(p)); + parentListing == null ? void 0 : parentListing.delete(ppath.basename(p)); + } + unregisterEntry(p) { + this.unregisterListing(p); + const entry = this.entries.get(p); + this.entries.delete(p); + if (typeof entry === `undefined`) + return; + this.fileSources.delete(entry); + if (this.isSymbolicLink(entry)) { + this.symlinkCount--; + } + } + deleteEntry(p, index) { + this.unregisterEntry(p); + const rc = this.libzip.delete(this.zip, index); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + resolveFilename(reason, p, resolveLastComponent = true, throwIfNoEntry = true) { + if (!this.ready) + throw EBUSY(`archive closed, ${reason}`); + let resolvedP = ppath.resolve(PortablePath.root, p); + if (resolvedP === `/`) + return PortablePath.root; + const fileIndex = this.entries.get(resolvedP); + if (resolveLastComponent && fileIndex !== void 0) { + if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) { + const target = this.getFileSource(fileIndex).toString(); + return this.resolveFilename(reason, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry); + } else { + return resolvedP; + } + } + while (true) { + const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true, throwIfNoEntry); + if (parentP === void 0) + return parentP; + const isDir = this.listings.has(parentP); + const doesExist = this.entries.has(parentP); + if (!isDir && !doesExist) { + if (throwIfNoEntry === false) + return void 0; + throw ENOENT(reason); + } + if (!isDir) + throw ENOTDIR(reason); + resolvedP = ppath.resolve(parentP, ppath.basename(resolvedP)); + if (!resolveLastComponent || this.symlinkCount === 0) + break; + const index = this.libzip.name.locate(this.zip, resolvedP.slice(1)); + if (index === -1) + break; + if (this.isSymbolicLink(index)) { + const target = this.getFileSource(index).toString(); + resolvedP = ppath.resolve(ppath.dirname(resolvedP), target); + } else { + break; + } + } + return resolvedP; + } + allocateBuffer(content) { + if (!Buffer.isBuffer(content)) + content = Buffer.from(content); + const buffer = this.libzip.malloc(content.byteLength); + if (!buffer) + throw new Error(`Couldn't allocate enough memory`); + const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength); + heap.set(content); + return { buffer, byteLength: content.byteLength }; + } + allocateUnattachedSource(content) { + const error = this.libzip.struct.errorS(); + const { buffer, byteLength } = this.allocateBuffer(content); + const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, true, error); + if (source === 0) { + this.libzip.free(error); + throw this.makeLibzipError(error); + } + return source; + } + allocateSource(content) { + const { buffer, byteLength } = this.allocateBuffer(content); + const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, true); + if (source === 0) { + this.libzip.free(buffer); + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + return source; + } + setFileSource(p, content) { + const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content); + const target = ppath.relative(PortablePath.root, p); + const lzSource = this.allocateSource(content); + try { + const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE); + if (newIndex === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (this.level !== `mixed`) { + const method = this.level === 0 ? this.libzip.ZIP_CM_STORE : this.libzip.ZIP_CM_DEFLATE; + const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + this.fileSources.set(newIndex, buffer); + return newIndex; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + isSymbolicLink(index) { + if (this.symlinkCount === 0) + return false; + const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (attrs === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) + return false; + const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + return (attributes & S_IFMT) === S_IFLNK; + } + getFileSource(index, opts = { asyncDecompress: false }) { + const cachedFileSource = this.fileSources.get(index); + if (typeof cachedFileSource !== `undefined`) + return cachedFileSource; + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const size = this.libzip.struct.statCompSize(stat); + const compressionMethod = this.libzip.struct.statCompMethod(stat); + const buffer = this.libzip.malloc(size); + try { + const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED); + if (file === 0) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + try { + const rc2 = this.libzip.fread(file, buffer, size, 0); + if (rc2 === -1) + throw this.makeLibzipError(this.libzip.file.getError(file)); + else if (rc2 < size) + throw new Error(`Incomplete read`); + else if (rc2 > size) + throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + const data = Buffer.from(memory); + if (compressionMethod === 0) { + this.fileSources.set(index, data); + return data; + } else if (opts.asyncDecompress) { + return new Promise((resolve, reject) => { + zlib__default.default.inflateRaw(data, (error, result) => { + if (error) { + reject(error); + } else { + this.fileSources.set(index, result); + resolve(result); + } + }); + }); + } else { + const decompressedData = zlib__default.default.inflateRawSync(data); + this.fileSources.set(index, decompressedData); + return decompressedData; + } + } finally { + this.libzip.fclose(file); + } + } finally { + this.libzip.free(buffer); + } + } + async fchmodPromise(fd, mask) { + return this.chmodPromise(this.fdToPath(fd, `fchmod`), mask); + } + fchmodSync(fd, mask) { + return this.chmodSync(this.fdToPath(fd, `fchmodSync`), mask); + } + async chmodPromise(p, mask) { + return this.chmodSync(p, mask); + } + chmodSync(p, mask) { + if (this.readOnly) + throw EROFS(`chmod '${p}'`); + mask &= 493; + const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false); + const entry = this.entries.get(resolvedP); + if (typeof entry === `undefined`) + throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`); + const oldMod = this.getUnixMode(entry, S_IFREG | 0); + const newMod = oldMod & ~511 | mask; + const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + async fchownPromise(fd, uid, gid) { + return this.chownPromise(this.fdToPath(fd, `fchown`), uid, gid); + } + fchownSync(fd, uid, gid) { + return this.chownSync(this.fdToPath(fd, `fchownSync`), uid, gid); + } + async chownPromise(p, uid, gid) { + return this.chownSync(p, uid, gid); + } + chownSync(p, uid, gid) { + throw new Error(`Unimplemented`); + } + async renamePromise(oldP, newP) { + return this.renameSync(oldP, newP); + } + renameSync(oldP, newP) { + throw new Error(`Unimplemented`); + } + async copyFilePromise(sourceP, destP, flags) { + const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); + const source = await this.getFileSource(indexSource, { asyncDecompress: true }); + const newIndex = this.setFileSource(resolvedDestP, source); + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + copyFileSync(sourceP, destP, flags = 0) { + const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); + const source = this.getFileSource(indexSource); + const newIndex = this.setFileSource(resolvedDestP, source); + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + prepareCopyFile(sourceP, destP, flags = 0) { + if (this.readOnly) + throw EROFS(`copyfile '${sourceP} -> '${destP}'`); + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`); + const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP); + const indexSource = this.entries.get(resolvedSourceP); + if (typeof indexSource === `undefined`) + throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`); + const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); + const indexDest = this.entries.get(resolvedDestP); + if ((flags & (fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) + throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); + return { + indexSource, + resolvedDestP, + indexDest + }; + } + async appendFilePromise(p, content, opts) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) + opts = { flag: `a` }; + else if (typeof opts === `string`) + opts = { flag: `a`, encoding: opts }; + else if (typeof opts.flag === `undefined`) + opts = { flag: `a`, ...opts }; + return this.writeFilePromise(p, content, opts); + } + appendFileSync(p, content, opts = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) + opts = { flag: `a` }; + else if (typeof opts === `string`) + opts = { flag: `a`, encoding: opts }; + else if (typeof opts.flag === `undefined`) + opts = { flag: `a`, ...opts }; + return this.writeFileSync(p, content, opts); + } + fdToPath(fd, reason) { + var _a; + const path = (_a = this.fds.get(fd)) == null ? void 0 : _a.p; + if (typeof path === `undefined`) + throw EBADF(reason); + return path; + } + async writeFilePromise(p, content, opts) { + const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); + if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) + content = Buffer.concat([await this.getFileSource(index, { asyncDecompress: true }), Buffer.from(content)]); + if (encoding !== null) + content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) + this.registerEntry(resolvedP, newIndex); + if (mode !== null) { + await this.chmodPromise(resolvedP, mode); + } + } + writeFileSync(p, content, opts) { + const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); + if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) + content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]); + if (encoding !== null) + content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) + this.registerEntry(resolvedP, newIndex); + if (mode !== null) { + this.chmodSync(resolvedP, mode); + } + } + prepareWriteFile(p, opts) { + if (typeof p === `number`) + p = this.fdToPath(p, `read`); + if (this.readOnly) + throw EROFS(`open '${p}'`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`open '${p}'`); + let encoding = null, mode = null; + if (typeof opts === `string`) { + encoding = opts; + } else if (typeof opts === `object`) { + ({ + encoding = null, + mode = null + } = opts); + } + const index = this.entries.get(resolvedP); + return { + encoding, + mode, + resolvedP, + index + }; + } + async unlinkPromise(p) { + return this.unlinkSync(p); + } + unlinkSync(p) { + if (this.readOnly) + throw EROFS(`unlink '${p}'`); + const resolvedP = this.resolveFilename(`unlink '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`unlink '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`unlink '${p}'`); + this.deleteEntry(resolvedP, index); + } + async utimesPromise(p, atime, mtime) { + return this.utimesSync(p, atime, mtime); + } + utimesSync(p, atime, mtime) { + if (this.readOnly) + throw EROFS(`utimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p); + this.utimesImpl(resolvedP, mtime); + } + async lutimesPromise(p, atime, mtime) { + return this.lutimesSync(p, atime, mtime); + } + lutimesSync(p, atime, mtime) { + if (this.readOnly) + throw EROFS(`lutimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false); + this.utimesImpl(resolvedP, mtime); + } + utimesImpl(resolvedP, mtime) { + if (this.listings.has(resolvedP)) { + if (!this.entries.has(resolvedP)) + this.hydrateDirectory(resolvedP); + } + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + async mkdirPromise(p, opts) { + return this.mkdirSync(p, opts); + } + mkdirSync(p, { mode = 493, recursive = false } = {}) { + if (recursive) + return this.mkdirpSync(p, { chmod: mode }); + if (this.readOnly) + throw EROFS(`mkdir '${p}'`); + const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); + if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) + throw EEXIST(`mkdir '${p}'`); + this.hydrateDirectory(resolvedP); + this.chmodSync(resolvedP, mode); + return void 0; + } + async rmdirPromise(p, opts) { + return this.rmdirSync(p, opts); + } + rmdirSync(p, { recursive = false } = {}) { + if (this.readOnly) + throw EROFS(`rmdir '${p}'`); + if (recursive) { + this.removeSync(p); + return; + } + const resolvedP = this.resolveFilename(`rmdir '${p}'`, p); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`rmdir '${p}'`); + if (directoryListing.size > 0) + throw ENOTEMPTY(`rmdir '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`rmdir '${p}'`); + this.deleteEntry(p, index); + } + hydrateDirectory(resolvedP) { + const index = this.libzip.dir.add(this.zip, ppath.relative(PortablePath.root, resolvedP)); + if (index === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.registerListing(resolvedP); + this.registerEntry(resolvedP, index); + return index; + } + async linkPromise(existingP, newP) { + return this.linkSync(existingP, newP); + } + linkSync(existingP, newP) { + throw EOPNOTSUPP(`link '${existingP}' -> '${newP}'`); + } + async symlinkPromise(target, p) { + return this.symlinkSync(target, p); + } + symlinkSync(target, p) { + if (this.readOnly) + throw EROFS(`symlink '${target}' -> '${p}'`); + const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`symlink '${target}' -> '${p}'`); + if (this.entries.has(resolvedP)) + throw EEXIST(`symlink '${target}' -> '${p}'`); + const index = this.setFileSource(resolvedP, target); + this.registerEntry(resolvedP, index); + const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (S_IFLNK | 511) << 16); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.symlinkCount += 1; + } + async readFilePromise(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + const data = await this.readFileBuffer(p, { asyncDecompress: true }); + return encoding ? data.toString(encoding) : data; + } + readFileSync(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + const data = this.readFileBuffer(p); + return encoding ? data.toString(encoding) : data; + } + readFileBuffer(p, opts = { asyncDecompress: false }) { + if (typeof p === `number`) + p = this.fdToPath(p, `read`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`open '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EISDIR(`read`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + return this.getFileSource(entry, opts); + } + async readdirPromise(p, opts) { + return this.readdirSync(p, opts); + } + readdirSync(p, opts) { + const resolvedP = this.resolveFilename(`scandir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`scandir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`scandir '${p}'`); + const entries = [...directoryListing]; + if (!(opts == null ? void 0 : opts.withFileTypes)) + return entries; + return entries.map((name) => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name + }); + }); + } + async readlinkPromise(p) { + const entry = this.prepareReadlink(p); + return (await this.getFileSource(entry, { asyncDecompress: true })).toString(); + } + readlinkSync(p) { + const entry = this.prepareReadlink(p); + return this.getFileSource(entry).toString(); + } + prepareReadlink(p) { + const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`readlink '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EINVAL(`readlink '${p}'`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + if (!this.isSymbolicLink(entry)) + throw EINVAL(`readlink '${p}'`); + return entry; + } + async truncatePromise(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`open '${p}'`); + const source = await this.getFileSource(index, { asyncDecompress: true }); + const truncated = Buffer.alloc(len, 0); + source.copy(truncated); + return await this.writeFilePromise(p, truncated); + } + truncateSync(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`open '${p}'`); + const source = this.getFileSource(index); + const truncated = Buffer.alloc(len, 0); + source.copy(truncated); + return this.writeFileSync(p, truncated); + } + async ftruncatePromise(fd, len) { + return this.truncatePromise(this.fdToPath(fd, `ftruncate`), len); + } + ftruncateSync(fd, len) { + return this.truncateSync(this.fdToPath(fd, `ftruncateSync`), len); + } + watch(p, a, b) { + let persistent; + switch (typeof a) { + case `function`: + case `string`: + case `undefined`: + { + persistent = true; + } + break; + default: + { + ({ persistent = true } = a); + } + break; + } + if (!persistent) + return { on: () => { + }, close: () => { + } }; + const interval = setInterval(() => { + }, 24 * 60 * 60 * 1e3); + return { on: () => { + }, close: () => { + clearInterval(interval); + } }; + } + watchFile(p, a, b) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return watchFile(this, resolvedP, a, b); + } + unwatchFile(p, cb) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return unwatchFile(this, resolvedP, cb); + } +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + async openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + async opendirPromise(p, opts) { + return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); + } + opendirSync(p, opts) { + return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); + } + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + return this.baseFs.closePromise(fd); + } + closeSync(fd) { + this.baseFs.closeSync(fd); + } + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + async realpathPromise(p) { + return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); + } + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + async existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + async accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + async statPromise(p, opts) { + return this.baseFs.statPromise(this.mapToBase(p), opts); + } + statSync(p, opts) { + return this.baseFs.statSync(this.mapToBase(p), opts); + } + async fstatPromise(fd, opts) { + return this.baseFs.fstatPromise(fd, opts); + } + fstatSync(fd, opts) { + return this.baseFs.fstatSync(fd, opts); + } + lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + async fchmodPromise(fd, mask) { + return this.baseFs.fchmodPromise(fd, mask); + } + fchmodSync(fd, mask) { + return this.baseFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + async fchownPromise(fd, uid, gid) { + return this.baseFs.fchownPromise(fd, uid, gid); + } + fchownSync(fd, uid, gid) { + return this.baseFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); + } + chownSync(p, uid, gid) { + return this.baseFs.chownSync(this.mapToBase(p), uid, gid); + } + async renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + async appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + async writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + async unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + async utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + async rmdirPromise(p, opts) { + return this.baseFs.rmdirPromise(this.mapToBase(p), opts); + } + rmdirSync(p, opts) { + return this.baseFs.rmdirSync(this.mapToBase(p), opts); + } + async linkPromise(existingP, newP) { + return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); + } + linkSync(existingP, newP) { + return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); + } + async symlinkPromise(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); + } + symlinkSync(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkSync(mappedTarget, mappedP, type); + } + async readFilePromise(p, encoding) { + if (encoding === `utf8`) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + } + readFileSync(p, encoding) { + if (encoding === `utf8`) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + } + async readdirPromise(p, opts) { + return this.baseFs.readdirPromise(this.mapToBase(p), opts); + } + readdirSync(p, opts) { + return this.baseFs.readdirSync(this.mapToBase(p), opts); + } + async readlinkPromise(p) { + return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); + } + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + async truncatePromise(p, len) { + return this.baseFs.truncatePromise(this.mapToBase(p), len); + } + truncateSync(p, len) { + return this.baseFs.truncateSync(this.mapToBase(p), len); + } + async ftruncatePromise(fd, len) { + return this.baseFs.ftruncatePromise(fd, len); + } + ftruncateSync(fd, len) { + return this.baseFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.baseFs.watch( + this.mapToBase(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.baseFs.watchFile( + this.mapToBase(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.baseFs.unwatchFile(this.mapToBase(p), cb); + } + fsMapToBase(p) { + if (typeof p === `number`) { + return p; + } else { + return this.mapToBase(p); + } + } +} + +class PosixFS extends ProxiedFS { + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return npath.fromPortablePath(path); + } + mapToBase(path) { + return npath.toPortablePath(path); + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + constructor({ baseFs = new NodeFS() } = {}) { + super(ppath); + this.baseFs = baseFs; + } + static makeVirtualPath(base, component, to) { + if (ppath.basename(base) !== `__virtual__`) + throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); + if (!ppath.basename(component).match(VALID_COMPONENT)) + throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); + let depth = 0; + while (depth < segments.length && segments[depth] === `..`) + depth += 1; + const finalSegments = segments.slice(depth); + const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) + return p; + const target = ppath.dirname(match[1]); + if (!match[3] || !match[4]) + return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) + return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return this.baseFs.realpathSync(p); + if (!match[5]) + return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return await this.baseFs.realpathPromise(p); + if (!match[5]) + return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + mapToBase(p) { + if (p === ``) + return p; + if (this.pathUtils.isAbsolute(p)) + return VirtualFS.resolveVirtual(p); + const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); + const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); + return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; + } + mapFromBase(p) { + return p; + } +} + +const ZIP_MASK = 4278190080; +const ZIP_MAGIC = 704643072; +const getArchivePart = (path, extension) => { + let idx = path.indexOf(extension); + if (idx <= 0) + return null; + let nextCharIdx = idx; + while (idx >= 0) { + nextCharIdx = idx + extension.length; + if (path[nextCharIdx] === ppath.sep) + break; + if (path[idx - 1] === ppath.sep) + return null; + idx = path.indexOf(extension, nextCharIdx); + } + if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) + return null; + return path.slice(0, nextCharIdx); +}; +class ZipOpenFS extends BasePortableFakeFS { + constructor({ libzip, baseFs = new NodeFS(), filter = null, maxOpenFiles = Infinity, readOnlyArchives = false, useCache = true, maxAge = 5e3, fileExtensions = null }) { + super(); + this.fdMap = /* @__PURE__ */ new Map(); + this.nextFd = 3; + this.isZip = /* @__PURE__ */ new Set(); + this.notZip = /* @__PURE__ */ new Set(); + this.realPaths = /* @__PURE__ */ new Map(); + this.limitOpenFilesTimeout = null; + this.libzipFactory = typeof libzip !== `function` ? () => libzip : libzip; + this.baseFs = baseFs; + this.zipInstances = useCache ? /* @__PURE__ */ new Map() : null; + this.filter = filter; + this.maxOpenFiles = maxOpenFiles; + this.readOnlyArchives = readOnlyArchives; + this.maxAge = maxAge; + this.fileExtensions = fileExtensions; + } + static async openPromise(fn, opts) { + const zipOpenFs = new ZipOpenFS(opts); + try { + return await fn(zipOpenFs); + } finally { + zipOpenFs.saveAndClose(); + } + } + get libzip() { + if (typeof this.libzipInstance === `undefined`) + this.libzipInstance = this.libzipFactory(); + return this.libzipInstance; + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + saveAndClose() { + unwatchAllFiles(this); + if (this.zipInstances) { + for (const [path, { zipFs }] of this.zipInstances.entries()) { + zipFs.saveAndClose(); + this.zipInstances.delete(path); + } + } + } + discardAndClose() { + unwatchAllFiles(this); + if (this.zipInstances) { + for (const [path, { zipFs }] of this.zipInstances.entries()) { + zipFs.discardAndClose(); + this.zipInstances.delete(path); + } + } + } + resolve(p) { + return this.baseFs.resolve(p); + } + remapFd(zipFs, fd) { + const remappedFd = this.nextFd++ | ZIP_MAGIC; + this.fdMap.set(remappedFd, [zipFs, fd]); + return remappedFd; + } + async openPromise(p, flags, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.openPromise(p, flags, mode); + }, async (zipFs, { subPath }) => { + return this.remapFd(zipFs, await zipFs.openPromise(subPath, flags, mode)); + }); + } + openSync(p, flags, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.openSync(p, flags, mode); + }, (zipFs, { subPath }) => { + return this.remapFd(zipFs, zipFs.openSync(subPath, flags, mode)); + }); + } + async opendirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.opendirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.opendirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + opendirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.opendirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.opendirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readPromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + const [zipFs, realFd] = entry; + return await zipFs.readPromise(realFd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.readSync(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`readSync`); + const [zipFs, realFd] = entry; + return zipFs.readSync(realFd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`write`); + const [zipFs, realFd] = entry; + if (typeof buffer === `string`) { + return await zipFs.writePromise(realFd, buffer, offset); + } else { + return await zipFs.writePromise(realFd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`writeSync`); + const [zipFs, realFd] = entry; + if (typeof buffer === `string`) { + return zipFs.writeSync(realFd, buffer, offset); + } else { + return zipFs.writeSync(realFd, buffer, offset, length, position); + } + } + async closePromise(fd) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return await this.baseFs.closePromise(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`close`); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return await zipFs.closePromise(realFd); + } + closeSync(fd) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.closeSync(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`closeSync`); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return zipFs.closeSync(realFd); + } + createReadStream(p, opts) { + if (p === null) + return this.baseFs.createReadStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createReadStream(p, opts); + }, (zipFs, { archivePath, subPath }) => { + const stream = zipFs.createReadStream(subPath, opts); + stream.path = npath.fromPortablePath(this.pathUtils.join(archivePath, subPath)); + return stream; + }); + } + createWriteStream(p, opts) { + if (p === null) + return this.baseFs.createWriteStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createWriteStream(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.createWriteStream(subPath, opts); + }); + } + async realpathPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.realpathPromise(p); + }, async (zipFs, { archivePath, subPath }) => { + let realArchivePath = this.realPaths.get(archivePath); + if (typeof realArchivePath === `undefined`) { + realArchivePath = await this.baseFs.realpathPromise(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, await zipFs.realpathPromise(subPath))); + }); + } + realpathSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.realpathSync(p); + }, (zipFs, { archivePath, subPath }) => { + let realArchivePath = this.realPaths.get(archivePath); + if (typeof realArchivePath === `undefined`) { + realArchivePath = this.baseFs.realpathSync(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, zipFs.realpathSync(subPath))); + }); + } + async existsPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.existsPromise(p); + }, async (zipFs, { subPath }) => { + return await zipFs.existsPromise(subPath); + }); + } + existsSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.existsSync(p); + }, (zipFs, { subPath }) => { + return zipFs.existsSync(subPath); + }); + } + async accessPromise(p, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.accessPromise(p, mode); + }, async (zipFs, { subPath }) => { + return await zipFs.accessPromise(subPath, mode); + }); + } + accessSync(p, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.accessSync(p, mode); + }, (zipFs, { subPath }) => { + return zipFs.accessSync(subPath, mode); + }); + } + async statPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.statPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.statPromise(subPath, opts); + }); + } + statSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.statSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.statSync(subPath, opts); + }); + } + async fstatPromise(fd, opts) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fstatPromise(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstat`); + const [zipFs, realFd] = entry; + return zipFs.fstatPromise(realFd, opts); + } + fstatSync(fd, opts) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fstatSync(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstatSync`); + const [zipFs, realFd] = entry; + return zipFs.fstatSync(realFd, opts); + } + async lstatPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lstatPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.lstatPromise(subPath, opts); + }); + } + lstatSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.lstatSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.lstatSync(subPath, opts); + }); + } + async fchmodPromise(fd, mask) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchmodPromise(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmod`); + const [zipFs, realFd] = entry; + return zipFs.fchmodPromise(realFd, mask); + } + fchmodSync(fd, mask) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchmodSync(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmodSync`); + const [zipFs, realFd] = entry; + return zipFs.fchmodSync(realFd, mask); + } + async chmodPromise(p, mask) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chmodPromise(p, mask); + }, async (zipFs, { subPath }) => { + return await zipFs.chmodPromise(subPath, mask); + }); + } + chmodSync(p, mask) { + return this.makeCallSync(p, () => { + return this.baseFs.chmodSync(p, mask); + }, (zipFs, { subPath }) => { + return zipFs.chmodSync(subPath, mask); + }); + } + async fchownPromise(fd, uid, gid) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchownPromise(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchown`); + const [zipFs, realFd] = entry; + return zipFs.fchownPromise(realFd, uid, gid); + } + fchownSync(fd, uid, gid) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchownSync(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchownSync`); + const [zipFs, realFd] = entry; + return zipFs.fchownSync(realFd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chownPromise(p, uid, gid); + }, async (zipFs, { subPath }) => { + return await zipFs.chownPromise(subPath, uid, gid); + }); + } + chownSync(p, uid, gid) { + return this.makeCallSync(p, () => { + return this.baseFs.chownSync(p, uid, gid); + }, (zipFs, { subPath }) => { + return zipFs.chownSync(subPath, uid, gid); + }); + } + async renamePromise(oldP, newP) { + return await this.makeCallPromise(oldP, async () => { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.renamePromise(oldP, newP); + }, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }); + }, async (zipFsO, { subPath: subPathO }) => { + return await this.makeCallPromise(newP, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, async (zipFsN, { subPath: subPathN }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return await zipFsO.renamePromise(subPathO, subPathN); + } + }); + }); + } + renameSync(oldP, newP) { + return this.makeCallSync(oldP, () => { + return this.makeCallSync(newP, () => { + return this.baseFs.renameSync(oldP, newP); + }, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }); + }, (zipFsO, { subPath: subPathO }) => { + return this.makeCallSync(newP, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, (zipFsN, { subPath: subPathN }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return zipFsO.renameSync(subPathO, subPathN); + } + }); + }); + } + async copyFilePromise(sourceP, destP, flags = 0) { + const fallback = async (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = await sourceFs.readFilePromise(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + await destFs.writeFilePromise(destP2, content); + }; + return await this.makeCallPromise(sourceP, async () => { + return await this.makeCallPromise(destP, async () => { + return await this.baseFs.copyFilePromise(sourceP, destP, flags); + }, async (zipFsD, { subPath: subPathD }) => { + return await fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, async (zipFsS, { subPath: subPathS }) => { + return await this.makeCallPromise(destP, async () => { + return await fallback(zipFsS, subPathS, this.baseFs, destP); + }, async (zipFsD, { subPath: subPathD }) => { + if (zipFsS !== zipFsD) { + return await fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return await zipFsS.copyFilePromise(subPathS, subPathD, flags); + } + }); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + const fallback = (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && this.existsSync(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = sourceFs.readFileSync(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + destFs.writeFileSync(destP2, content); + }; + return this.makeCallSync(sourceP, () => { + return this.makeCallSync(destP, () => { + return this.baseFs.copyFileSync(sourceP, destP, flags); + }, (zipFsD, { subPath: subPathD }) => { + return fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, (zipFsS, { subPath: subPathS }) => { + return this.makeCallSync(destP, () => { + return fallback(zipFsS, subPathS, this.baseFs, destP); + }, (zipFsD, { subPath: subPathD }) => { + if (zipFsS !== zipFsD) { + return fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return zipFsS.copyFileSync(subPathS, subPathD, flags); + } + }); + }); + } + async appendFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.appendFilePromise(p, content, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.appendFilePromise(subPath, content, opts); + }); + } + appendFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.appendFileSync(p, content, opts); + }, (zipFs, { subPath }) => { + return zipFs.appendFileSync(subPath, content, opts); + }); + } + async writeFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.writeFilePromise(p, content, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.writeFilePromise(subPath, content, opts); + }); + } + writeFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.writeFileSync(p, content, opts); + }, (zipFs, { subPath }) => { + return zipFs.writeFileSync(subPath, content, opts); + }); + } + async unlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.unlinkPromise(p); + }, async (zipFs, { subPath }) => { + return await zipFs.unlinkPromise(subPath); + }); + } + unlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.unlinkSync(p); + }, (zipFs, { subPath }) => { + return zipFs.unlinkSync(subPath); + }); + } + async utimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.utimesPromise(p, atime, mtime); + }, async (zipFs, { subPath }) => { + return await zipFs.utimesPromise(subPath, atime, mtime); + }); + } + utimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.utimesSync(p, atime, mtime); + }, (zipFs, { subPath }) => { + return zipFs.utimesSync(subPath, atime, mtime); + }); + } + async mkdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.mkdirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.mkdirPromise(subPath, opts); + }); + } + mkdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.mkdirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.mkdirSync(subPath, opts); + }); + } + async rmdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.rmdirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.rmdirPromise(subPath, opts); + }); + } + rmdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.rmdirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.rmdirSync(subPath, opts); + }); + } + async linkPromise(existingP, newP) { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.linkPromise(existingP, newP); + }, async (zipFs, { subPath }) => { + return await zipFs.linkPromise(existingP, subPath); + }); + } + linkSync(existingP, newP) { + return this.makeCallSync(newP, () => { + return this.baseFs.linkSync(existingP, newP); + }, (zipFs, { subPath }) => { + return zipFs.linkSync(existingP, subPath); + }); + } + async symlinkPromise(target, p, type) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.symlinkPromise(target, p, type); + }, async (zipFs, { subPath }) => { + return await zipFs.symlinkPromise(target, subPath); + }); + } + symlinkSync(target, p, type) { + return this.makeCallSync(p, () => { + return this.baseFs.symlinkSync(target, p, type); + }, (zipFs, { subPath }) => { + return zipFs.symlinkSync(target, subPath); + }); + } + async readFilePromise(p, encoding) { + return this.makeCallPromise(p, async () => { + switch (encoding) { + case `utf8`: + return await this.baseFs.readFilePromise(p, encoding); + default: + return await this.baseFs.readFilePromise(p, encoding); + } + }, async (zipFs, { subPath }) => { + return await zipFs.readFilePromise(subPath, encoding); + }); + } + readFileSync(p, encoding) { + return this.makeCallSync(p, () => { + switch (encoding) { + case `utf8`: + return this.baseFs.readFileSync(p, encoding); + default: + return this.baseFs.readFileSync(p, encoding); + } + }, (zipFs, { subPath }) => { + return zipFs.readFileSync(subPath, encoding); + }); + } + async readdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readdirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.readdirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + readdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.readdirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.readdirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readlinkPromise(p); + }, async (zipFs, { subPath }) => { + return await zipFs.readlinkPromise(subPath); + }); + } + readlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.readlinkSync(p); + }, (zipFs, { subPath }) => { + return zipFs.readlinkSync(subPath); + }); + } + async truncatePromise(p, len) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.truncatePromise(p, len); + }, async (zipFs, { subPath }) => { + return await zipFs.truncatePromise(subPath, len); + }); + } + truncateSync(p, len) { + return this.makeCallSync(p, () => { + return this.baseFs.truncateSync(p, len); + }, (zipFs, { subPath }) => { + return zipFs.truncateSync(subPath, len); + }); + } + async ftruncatePromise(fd, len) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.ftruncatePromise(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncate`); + const [zipFs, realFd] = entry; + return zipFs.ftruncatePromise(realFd, len); + } + ftruncateSync(fd, len) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.ftruncateSync(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncateSync`); + const [zipFs, realFd] = entry; + return zipFs.ftruncateSync(realFd, len); + } + watch(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watch( + p, + a, + b + ); + }, (zipFs, { subPath }) => { + return zipFs.watch( + subPath, + a, + b + ); + }); + } + watchFile(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watchFile( + p, + a, + b + ); + }, () => { + return watchFile(this, p, a, b); + }); + } + unwatchFile(p, cb) { + return this.makeCallSync(p, () => { + return this.baseFs.unwatchFile(p, cb); + }, () => { + return unwatchFile(this, p, cb); + }); + } + async makeCallPromise(p, discard, accept, { requireSubpath = true } = {}) { + if (typeof p !== `string`) + return await discard(); + const normalizedP = this.resolve(p); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) + return await discard(); + if (requireSubpath && zipInfo.subPath === `/`) + return await discard(); + return await this.getZipPromise(zipInfo.archivePath, async (zipFs) => await accept(zipFs, zipInfo)); + } + makeCallSync(p, discard, accept, { requireSubpath = true } = {}) { + if (typeof p !== `string`) + return discard(); + const normalizedP = this.resolve(p); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) + return discard(); + if (requireSubpath && zipInfo.subPath === `/`) + return discard(); + return this.getZipSync(zipInfo.archivePath, (zipFs) => accept(zipFs, zipInfo)); + } + findZip(p) { + if (this.filter && !this.filter.test(p)) + return null; + let filePath = ``; + while (true) { + const pathPartWithArchive = p.substring(filePath.length); + let archivePart; + if (!this.fileExtensions) { + archivePart = getArchivePart(pathPartWithArchive, `.zip`); + } else { + for (const ext of this.fileExtensions) { + archivePart = getArchivePart(pathPartWithArchive, ext); + if (archivePart) { + break; + } + } + } + if (!archivePart) + return null; + filePath = this.pathUtils.join(filePath, archivePart); + if (this.isZip.has(filePath) === false) { + if (this.notZip.has(filePath)) + continue; + try { + if (!this.baseFs.lstatSync(filePath).isFile()) { + this.notZip.add(filePath); + continue; + } + } catch { + return null; + } + this.isZip.add(filePath); + } + return { + archivePath: filePath, + subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length)) + }; + } + } + limitOpenFiles(max) { + if (this.zipInstances === null) + return; + const now = Date.now(); + let nextExpiresAt = now + this.maxAge; + let closeCount = max === null ? 0 : this.zipInstances.size - max; + for (const [path, { zipFs, expiresAt, refCount }] of this.zipInstances.entries()) { + if (refCount !== 0 || zipFs.hasOpenFileHandles()) { + continue; + } else if (now >= expiresAt) { + zipFs.saveAndClose(); + this.zipInstances.delete(path); + closeCount -= 1; + continue; + } else if (max === null || closeCount <= 0) { + nextExpiresAt = expiresAt; + break; + } + zipFs.saveAndClose(); + this.zipInstances.delete(path); + closeCount -= 1; + } + if (this.limitOpenFilesTimeout === null && (max === null && this.zipInstances.size > 0 || max !== null)) { + this.limitOpenFilesTimeout = setTimeout(() => { + this.limitOpenFilesTimeout = null; + this.limitOpenFiles(null); + }, nextExpiresAt - now).unref(); + } + } + async getZipPromise(p, accept) { + const getZipOptions = async () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: await this.baseFs.statPromise(p) + }); + if (this.zipInstances) { + let cachedZipFs = this.zipInstances.get(p); + if (!cachedZipFs) { + const zipOptions = await getZipOptions(); + cachedZipFs = this.zipInstances.get(p); + if (!cachedZipFs) { + cachedZipFs = { + zipFs: new ZipFS(p, zipOptions), + expiresAt: 0, + refCount: 0 + }; + } + } + this.zipInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.zipInstances.set(p, cachedZipFs); + cachedZipFs.expiresAt = Date.now() + this.maxAge; + cachedZipFs.refCount += 1; + try { + return await accept(cachedZipFs.zipFs); + } finally { + cachedZipFs.refCount -= 1; + } + } else { + const zipFs = new ZipFS(p, await getZipOptions()); + try { + return await accept(zipFs); + } finally { + zipFs.saveAndClose(); + } + } + } + getZipSync(p, accept) { + const getZipOptions = () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: this.baseFs.statSync(p) + }); + if (this.zipInstances) { + let cachedZipFs = this.zipInstances.get(p); + if (!cachedZipFs) { + cachedZipFs = { + zipFs: new ZipFS(p, getZipOptions()), + expiresAt: 0, + refCount: 0 + }; + } + this.zipInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.zipInstances.set(p, cachedZipFs); + cachedZipFs.expiresAt = Date.now() + this.maxAge; + return accept(cachedZipFs.zipFs); + } else { + const zipFs = new ZipFS(p, getZipOptions()); + try { + return accept(zipFs); + } finally { + zipFs.saveAndClose(); + } + } + } +} + +class NodePathFS extends ProxiedFS { + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return path; + } + mapToBase(path) { + if (typeof path === `string`) + return path; + if (path instanceof url.URL) + return url.fileURLToPath(path); + if (Buffer.isBuffer(path)) { + const str = path.toString(); + if (Buffer.byteLength(str) !== path.byteLength) + throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`); + return str; + } + throw new Error(`Unsupported path type: ${nodeUtils.inspect(path)}`); + } +} + +var _a, _b, _c, _d; +const kBaseFs = Symbol(`kBaseFs`); +const kFd = Symbol(`kFd`); +const kClosePromise = Symbol(`kClosePromise`); +const kCloseResolve = Symbol(`kCloseResolve`); +const kCloseReject = Symbol(`kCloseReject`); +const kRefs = Symbol(`kRefs`); +const kRef = Symbol(`kRef`); +const kUnref = Symbol(`kUnref`); +class FileHandle { + constructor(fd, baseFs) { + this[_a] = 1; + this[_b] = void 0; + this[_c] = void 0; + this[_d] = void 0; + this[kBaseFs] = baseFs; + this[kFd] = fd; + } + get fd() { + return this[kFd]; + } + async appendFile(data, options) { + var _a2; + try { + this[kRef](this.appendFile); + const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0; + return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0); + } finally { + this[kUnref](); + } + } + async chown(uid, gid) { + try { + this[kRef](this.chown); + return await this[kBaseFs].fchownPromise(this.fd, uid, gid); + } finally { + this[kUnref](); + } + } + async chmod(mode) { + try { + this[kRef](this.chmod); + return await this[kBaseFs].fchmodPromise(this.fd, mode); + } finally { + this[kUnref](); + } + } + createReadStream(options) { + return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd }); + } + createWriteStream(options) { + return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd }); + } + datasync() { + throw new Error(`Method not implemented.`); + } + sync() { + throw new Error(`Method not implemented.`); + } + async read(bufferOrOptions, offset, length, position) { + var _a2, _b2, _c2; + try { + this[kRef](this.read); + let buffer; + if (!Buffer.isBuffer(bufferOrOptions)) { + bufferOrOptions != null ? bufferOrOptions : bufferOrOptions = {}; + buffer = (_a2 = bufferOrOptions.buffer) != null ? _a2 : Buffer.alloc(16384); + offset = bufferOrOptions.offset || 0; + length = (_b2 = bufferOrOptions.length) != null ? _b2 : buffer.byteLength; + position = (_c2 = bufferOrOptions.position) != null ? _c2 : null; + } else { + buffer = bufferOrOptions; + } + offset != null ? offset : offset = 0; + length != null ? length : length = 0; + if (length === 0) { + return { + bytesRead: length, + buffer + }; + } + const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position); + return { + bytesRead, + buffer + }; + } finally { + this[kUnref](); + } + } + async readFile(options) { + var _a2; + try { + this[kRef](this.readFile); + const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0; + return await this[kBaseFs].readFilePromise(this.fd, encoding); + } finally { + this[kUnref](); + } + } + async stat(opts) { + try { + this[kRef](this.stat); + return await this[kBaseFs].fstatPromise(this.fd, opts); + } finally { + this[kUnref](); + } + } + async truncate(len) { + try { + this[kRef](this.truncate); + return await this[kBaseFs].ftruncatePromise(this.fd, len); + } finally { + this[kUnref](); + } + } + utimes(atime, mtime) { + throw new Error(`Method not implemented.`); + } + async writeFile(data, options) { + var _a2; + try { + this[kRef](this.writeFile); + const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0; + await this[kBaseFs].writeFilePromise(this.fd, data, encoding); + } finally { + this[kUnref](); + } + } + async write(...args) { + try { + this[kRef](this.write); + if (ArrayBuffer.isView(args[0])) { + const [buffer, offset, length, position] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset != null ? offset : void 0, length != null ? length : void 0, position != null ? position : void 0); + return { bytesWritten, buffer }; + } else { + const [data, position, encoding] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding); + return { bytesWritten, buffer: data }; + } + } finally { + this[kUnref](); + } + } + async writev(buffers, position) { + try { + this[kRef](this.writev); + let bytesWritten = 0; + if (typeof position !== `undefined`) { + for (const buffer of buffers) { + const writeResult = await this.write(buffer, void 0, void 0, position); + bytesWritten += writeResult.bytesWritten; + position += writeResult.bytesWritten; + } + } else { + for (const buffer of buffers) { + const writeResult = await this.write(buffer); + bytesWritten += writeResult.bytesWritten; + } + } + return { + buffers, + bytesWritten + }; + } finally { + this[kUnref](); + } + } + readv(buffers, position) { + throw new Error(`Method not implemented.`); + } + close() { + if (this[kFd] === -1) + return Promise.resolve(); + if (this[kClosePromise]) + return this[kClosePromise]; + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => { + this[kClosePromise] = void 0; + }); + } else { + this[kClosePromise] = new Promise((resolve, reject) => { + this[kCloseResolve] = resolve; + this[kCloseReject] = reject; + }).finally(() => { + this[kClosePromise] = void 0; + this[kCloseReject] = void 0; + this[kCloseResolve] = void 0; + }); + } + return this[kClosePromise]; + } + [(_a = kRefs, _b = kClosePromise, _c = kCloseResolve, _d = kCloseReject, kRef)](caller) { + if (this[kFd] === -1) { + const err = new Error(`file closed`); + err.code = `EBADF`; + err.syscall = caller.name; + throw err; + } + this[kRefs]++; + } + [kUnref]() { + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]); + } + } +} + +const SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessSync`, + `appendFileSync`, + `createReadStream`, + `createWriteStream`, + `chmodSync`, + `fchmodSync`, + `chownSync`, + `fchownSync`, + `closeSync`, + `copyFileSync`, + `linkSync`, + `lstatSync`, + `fstatSync`, + `lutimesSync`, + `mkdirSync`, + `openSync`, + `opendirSync`, + `readlinkSync`, + `readFileSync`, + `readdirSync`, + `readlinkSync`, + `realpathSync`, + `renameSync`, + `rmdirSync`, + `statSync`, + `symlinkSync`, + `truncateSync`, + `ftruncateSync`, + `unlinkSync`, + `unwatchFile`, + `utimesSync`, + `watch`, + `watchFile`, + `writeFileSync`, + `writeSync` +]); +const ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessPromise`, + `appendFilePromise`, + `fchmodPromise`, + `chmodPromise`, + `fchownPromise`, + `chownPromise`, + `closePromise`, + `copyFilePromise`, + `linkPromise`, + `fstatPromise`, + `lstatPromise`, + `lutimesPromise`, + `mkdirPromise`, + `openPromise`, + `opendirPromise`, + `readdirPromise`, + `realpathPromise`, + `readFilePromise`, + `readdirPromise`, + `readlinkPromise`, + `renamePromise`, + `rmdirPromise`, + `statPromise`, + `symlinkPromise`, + `truncatePromise`, + `ftruncatePromise`, + `unlinkPromise`, + `utimesPromise`, + `writeFilePromise`, + `writeSync` +]); +function patchFs(patchedFs, fakeFs) { + fakeFs = new NodePathFS(fakeFs); + const setupFn = (target, name, replacement) => { + const orig = target[name]; + target[name] = replacement; + if (typeof (orig == null ? void 0 : orig[nodeUtils.promisify.custom]) !== `undefined`) { + replacement[nodeUtils.promisify.custom] = orig[nodeUtils.promisify.custom]; + } + }; + { + setupFn(patchedFs, `exists`, (p, ...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => { + }; + process.nextTick(() => { + fakeFs.existsPromise(p).then((exists) => { + callback(exists); + }, () => { + callback(false); + }); + }); + }); + setupFn(patchedFs, `read`, (...args) => { + let [fd, buffer, offset, length, position, callback] = args; + if (args.length <= 3) { + let options = {}; + if (args.length < 3) { + callback = args[1]; + } else { + options = args[1]; + callback = args[2]; + } + ({ + buffer = Buffer.alloc(16384), + offset = 0, + length = buffer.byteLength, + position + } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) { + process.nextTick(() => { + callback(null, 0, buffer); + }); + return; + } + if (position == null) + position = -1; + process.nextTick(() => { + fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => { + callback(null, bytesRead, buffer); + }, (error) => { + callback(error, 0, buffer); + }); + }); + }); + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFs[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + const wrapper = (...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => { + }; + process.nextTick(() => { + fakeImpl.apply(fakeFs, args).then((result) => { + callback(null, result); + }, (error) => { + callback(error); + }); + }); + }; + setupFn(patchedFs, origName, wrapper); + } + patchedFs.realpath.native = patchedFs.realpath; + } + { + setupFn(patchedFs, `existsSync`, (p) => { + try { + return fakeFs.existsSync(p); + } catch (error) { + return false; + } + }); + setupFn(patchedFs, `readSync`, (...args) => { + let [fd, buffer, offset, length, position] = args; + if (args.length <= 3) { + const options = args[2] || {}; + ({ offset = 0, length = buffer.byteLength, position } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) + return 0; + if (position == null) + position = -1; + return fakeFs.readSync(fd, buffer, offset, length, position); + }); + for (const fnName of SYNC_IMPLEMENTATIONS) { + const origName = fnName; + if (typeof patchedFs[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); + } + patchedFs.realpathSync.native = patchedFs.realpathSync; + } + { + const origEmitWarning = process.emitWarning; + process.emitWarning = () => { + }; + let patchedFsPromises; + try { + patchedFsPromises = patchedFs.promises; + } finally { + process.emitWarning = origEmitWarning; + } + if (typeof patchedFsPromises !== `undefined`) { + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFsPromises[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + if (fnName === `open`) + continue; + setupFn(patchedFsPromises, origName, (pathLike, ...args) => { + if (pathLike instanceof FileHandle) { + return pathLike[origName].apply(pathLike, args); + } else { + return fakeImpl.call(fakeFs, pathLike, ...args); + } + }); + } + setupFn(patchedFsPromises, `open`, async (...args) => { + const fd = await fakeFs.openPromise(...args); + return new FileHandle(fd, fakeFs); + }); + } + } + { + patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.readPromise(fd, buffer, ...args); + return { bytesRead: await res, buffer }; + }; + patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.writePromise(fd, buffer, ...args); + return { bytesWritten: await res, buffer }; + }; + } +} + +var libzipSync = {exports: {}}; + +(function (module, exports) { +var frozenFs = Object.assign({}, fs__default.default); +var createModule = function() { + var _scriptDir = void 0; + if (typeof __filename !== "undefined") + _scriptDir = _scriptDir || __filename; + return function(createModule2) { + createModule2 = createModule2 || {}; + var Module = typeof createModule2 !== "undefined" ? createModule2 : {}; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = {}; + var key; + for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } + } + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readBinary; + var nodeFS; + var nodePath; + { + { + scriptDirectory = __dirname + "/"; + } + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) + nodeFS = frozenFs; + if (!nodePath) + nodePath = path__default.default; + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary2(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + process["argv"][1].replace(/\\/g, "/"); + } + process["argv"].slice(2); + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; + } + var out = Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.warn.bind(console); + for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } + } + moduleOverrides = null; + if (Module["arguments"]) + ; + if (Module["thisProgram"]) + ; + if (Module["quit"]) + ; + var STACK_ALIGN = 16; + function alignMemory(size, factor) { + if (!factor) + factor = STACK_ALIGN; + return Math.ceil(size / factor) * factor; + } + var wasmBinary; + if (Module["wasmBinary"]) + wasmBinary = Module["wasmBinary"]; + Module["noExitRuntime"] || true; + if (typeof WebAssembly !== "object") { + abort("no native wasm support detected"); + } + function getValue(ptr, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") + type = "i32"; + switch (type) { + case "i1": + return HEAP8[ptr >> 0]; + case "i8": + return HEAP8[ptr >> 0]; + case "i16": + return HEAP16[ptr >> 1]; + case "i32": + return HEAP32[ptr >> 2]; + case "i64": + return HEAP32[ptr >> 2]; + case "float": + return HEAPF32[ptr >> 2]; + case "double": + return HEAPF64[ptr >> 3]; + default: + abort("invalid type for getValue: " + type); + } + return null; + } + var wasmMemory; + var ABORT = false; + function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); + } + } + function getCFunc(ident) { + var func = Module["_" + ident]; + assert( + func, + "Cannot call unknown function " + ident + ", make sure it is exported" + ); + return func; + } + function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + string: function(str) { + var ret2 = 0; + if (str !== null && str !== void 0 && str !== 0) { + var len = (str.length << 2) + 1; + ret2 = stackAlloc(len); + stringToUTF8(str, ret2, len); + } + return ret2; + }, + array: function(arr) { + var ret2 = stackAlloc(arr.length); + writeArrayToMemory(arr, ret2); + return ret2; + } + }; + function convertReturnValue(ret2) { + if (returnType === "string") + return UTF8ToString(ret2); + if (returnType === "boolean") + return Boolean(ret2); + return ret2; + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) + stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) + stackRestore(stack); + return ret; + } + function cwrap(ident, returnType, argTypes, opts) { + argTypes = argTypes || []; + var numericArgs = argTypes.every(function(type) { + return type === "number"; + }); + var numericRet = returnType !== "string"; + if (numericRet && numericArgs && !opts) { + return getCFunc(ident); + } + return function() { + return ccall(ident, returnType, argTypes, arguments); + }; + } + var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : void 0; + function UTF8ArrayToString(heap, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heap[endPtr] && !(endPtr >= endIdx)) + ++endPtr; + if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { + return UTF8Decoder.decode(heap.subarray(idx, endPtr)); + } else { + var str = ""; + while (idx < endPtr) { + var u0 = heap[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heap[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue; + } + var u2 = heap[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++] & 63; + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + } + return str; + } + function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; + } + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) + return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) + break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) + break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) + break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) + break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + } + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) + u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) + ++len; + else if (u <= 2047) + len += 2; + else if (u <= 65535) + len += 3; + else + len += 4; + } + return len; + } + function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) + stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + function writeArrayToMemory(array, buffer2) { + HEAP8.set(array, buffer2); + } + function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - x % multiple; + } + return x; + } + var buffer, HEAP8, HEAPU8, HEAP16, HEAP32, HEAPF32, HEAPF64; + function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = new Uint16Array(buf); + Module["HEAPU32"] = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf); + } + Module["INITIAL_MEMORY"] || 16777216; + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); + } + function initRuntime() { + if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); + callRuntimeCallbacks(__ATINIT__); + } + function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); + } + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + } + function addOnInit(cb) { + __ATINIT__.unshift(cb); + } + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + } + var runDependencies = 0; + var dependenciesFulfilled = null; + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + Module["preloadedImages"] = {}; + Module["preloadedAudios"] = {}; + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what += ""; + err(what); + ABORT = true; + what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); + } + var wasmBinaryFile = "data:application/octet-stream;base64,AGFzbQEAAAABlAInYAF/AX9gA39/fwF/YAF/AGACf38Bf2ACf38AYAV/f39/fwF/YAR/f39/AX9gA39/fwBgBH9+f38Bf2AAAX9gBX9/f35/AX5gA39+fwF/YAF/AX5gAn9+AX9gBH9/fn8BfmADf35/AX5gA39/fgF/YAR/f35/AX9gBn9/f39/fwF/YAR/f39/AGADf39+AX5gAn5/AX9gA398fwBgBH9/f38BfmADf39/AX5gBn98f39/fwF/YAV/f35/fwF/YAV/fn9/fwF/YAV/f39/fwBgAn9+AGACf38BfmACf3wAYAh/fn5/f39+fwF/YAV/f39+fwBgAABgBX5+f35/AX5gBX9/f39/AX5gAnx/AXxgAn9+AX4CeRQBYQFhAAIBYQFiAAABYQFjAAMBYQFkAAYBYQFlAAEBYQFmAAABYQFnAAYBYQFoAAABYQFpAAMBYQFqAAMBYQFrAAMBYQFsAAEBYQFtAAABYQFuAAUBYQFvAAEBYQFwAAMBYQFxAAEBYQFyAAABYQFzAAMBYQF0AAADggKAAgcCAgQAAQECAgANBA4EBwICAhwLEw0AFA0dAAAMDAIHHgwQAgIDAwICAQAIAAcIFBUEBgAADAAECAgDAQYAAgIBBgAfFwEBAwITAiAPBgIFEQMFAxgBCAIBAAAHBQEYABoSAQIABwQDIREIAyIGAAEBAwMAIwUbASQHAQsVAQMABQMEAA0bFw0BBAALCwMDDAwAAwAHJQMBAAgaAQECBQMBAgMDAAcHBwICAgImEQsICAsECQoJAgAAAAAAAAkFAAUFBQEGAwYGBgUSBgYBARIBAAIJBgABDgABAQ8ACQEEGQkJCQAAAAMECgoBAQIQAAAAAgEDAwAEAQoFAA4ACQAEBQFwAR8fBQcBAYACgIACBgkBfwFB0KDBAgsHvgI8AXUCAAF2AIABAXcAkwIBeADjAQF5APEBAXoA0QEBQQDQAQFCAM8BAUMAzgEBRADMAQFFAMsBAUYAyQEBRwCSAgFIAJECAUkAjwIBSgCKAgFLAOkBAUwA4gEBTQDhAQFOADwBTwD8AQFQAPkBAVEA+AEBUgDwAQFTAPoBAVQA4AEBVQAVAVYAGAFXAMcBAVgAzQEBWQDfAQFaAN4BAV8A3QEBJADkAQJhYQDcAQJiYQDbAQJjYQDaAQJkYQDZAQJlYQDYAQJmYQDXAQJnYQDqAQJoYQCcAQJpYQDWAQJqYQDVAQJrYQDUAQJsYQAvAm1hABsCbmEAygECb2EASAJwYQEAAnFhAGcCcmEA0wECc2EA6AECdGEA0gECdWEA9wECdmEA9gECd2EA9QECeGEA5wECeWEA5gECemEA5QEJQQEAQQELHsgBkAKNAo4CjAKLArcBiQKIAocChgKFAoQCgwKCAoECgAL/Af4B/QH7AVv0AfMB8gHvAe4B7QHsAesBCu+QCYACQAEBfyMAQRBrIgMgADYCDCADIAE2AgggAyACNgIEIAMoAgwEQCADKAIMIAMoAgg2AgAgAygCDCADKAIENgIECwvMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgFrIgNB9JsBKAIASQ0BIAAgAWohACADQfibASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RBjJwBakYaIAIgAygCDCIBRgRAQeSbAUHkmwEoAgBBfiAEd3E2AgAMAwsgAiABNgIMIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QZSeAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQeibAUHomwEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQeybASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUH8mwEoAgBGBEBB/JsBIAM2AgBB8JsBQfCbASgCACAAaiIANgIAIAMgAEEBcjYCBCADQfibASgCAEcNA0HsmwFBADYCAEH4mwFBADYCAA8LIAVB+JsBKAIARgRAQfibASADNgIAQeybAUHsmwEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgIgAUEDdiIEQQN0QYycAWpGGiACIAUoAgwiAUYEQEHkmwFB5JsBKAIAQX4gBHdxNgIADAILIAIgATYCDCABIAI2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEAgBSgCCCICQfSbASgCAEkaIAIgATYCDCABIAI2AggMAQsCQCAFQRRqIgIoAgAiBA0AIAVBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCICQQJ0QZSeAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQeibAUHomwEoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAE2AgAgAUUNAQsgASAGNgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIANB+JsBKAIARw0BQeybASAANgIADwsgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgALIABB/wFNBEAgAEEDdiIBQQN0QYycAWohAAJ/QeSbASgCACICQQEgAXQiAXFFBEBB5JsBIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgAzYCCCACIAM2AgwgAyAANgIMIAMgAjYCCA8LQR8hAiADQgA3AhAgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgASACciAEcmsiAUEBdCAAIAFBFWp2QQFxckEcaiECCyADIAI2AhwgAkECdEGUngFqIQECQAJAAkBB6JsBKAIAIgRBASACdCIHcUUEQEHomwEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQYScAUGEnAEoAgBBAWsiAEF/IAAbNgIACwtCAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDC0AAUEBcQRAIAEoAgwoAgQQFQsgASgCDBAVCyABQRBqJAALQwEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAIoAgwCfyMAQRBrIgAgAigCCDYCDCAAKAIMQQxqCxBFIAJBEGokAAuiLgEMfyMAQRBrIgwkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQfQBTQRAQeSbASgCACIFQRAgAEELakF4cSAAQQtJGyIIQQN2IgJ2IgFBA3EEQCABQX9zQQFxIAJqIgNBA3QiAUGUnAFqKAIAIgRBCGohAAJAIAQoAggiAiABQYycAWoiAUYEQEHkmwEgBUF+IAN3cTYCAAwBCyACIAE2AgwgASACNgIICyAEIANBA3QiAUEDcjYCBCABIARqIgEgASgCBEEBcjYCBAwNCyAIQeybASgCACIKTQ0BIAEEQAJAQQIgAnQiAEEAIABrciABIAJ0cSIAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmoiA0EDdCIAQZScAWooAgAiBCgCCCIBIABBjJwBaiIARgRAQeSbASAFQX4gA3dxIgU2AgAMAQsgASAANgIMIAAgATYCCAsgBEEIaiEAIAQgCEEDcjYCBCAEIAhqIgIgA0EDdCIBIAhrIgNBAXI2AgQgASAEaiADNgIAIAoEQCAKQQN2IgFBA3RBjJwBaiEHQfibASgCACEEAn8gBUEBIAF0IgFxRQRAQeSbASABIAVyNgIAIAcMAQsgBygCCAshASAHIAQ2AgggASAENgIMIAQgBzYCDCAEIAE2AggLQfibASACNgIAQeybASADNgIADA0LQeibASgCACIGRQ0BIAZBACAGa3FBAWsiACAAQQx2QRBxIgJ2IgFBBXZBCHEiACACciABIAB2IgFBAnZBBHEiAHIgASAAdiIBQQF2QQJxIgByIAEgAHYiAUEBdkEBcSIAciABIAB2akECdEGUngFqKAIAIgEoAgRBeHEgCGshAyABIQIDQAJAIAIoAhAiAEUEQCACKAIUIgBFDQELIAAoAgRBeHEgCGsiAiADIAIgA0kiAhshAyAAIAEgAhshASAAIQIMAQsLIAEgCGoiCSABTQ0CIAEoAhghCyABIAEoAgwiBEcEQCABKAIIIgBB9JsBKAIASRogACAENgIMIAQgADYCCAwMCyABQRRqIgIoAgAiAEUEQCABKAIQIgBFDQQgAUEQaiECCwNAIAIhByAAIgRBFGoiAigCACIADQAgBEEQaiECIAQoAhAiAA0ACyAHQQA2AgAMCwtBfyEIIABBv39LDQAgAEELaiIAQXhxIQhB6JsBKAIAIglFDQBBACAIayEDAkACQAJAAn9BACAIQYACSQ0AGkEfIAhB////B0sNABogAEEIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAggAEEVanZBAXFyQRxqCyIFQQJ0QZSeAWooAgAiAkUEQEEAIQAMAQtBACEAIAhBAEEZIAVBAXZrIAVBH0YbdCEBA0ACQCACKAIEQXhxIAhrIgcgA08NACACIQQgByIDDQBBACEDIAIhAAwDCyAAIAIoAhQiByAHIAIgAUEddkEEcWooAhAiAkYbIAAgBxshACABQQF0IQEgAg0ACwsgACAEckUEQEECIAV0IgBBACAAa3IgCXEiAEUNAyAAQQAgAGtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmpBAnRBlJ4BaigCACEACyAARQ0BCwNAIAAoAgRBeHEgCGsiASADSSECIAEgAyACGyEDIAAgBCACGyEEIAAoAhAiAQR/IAEFIAAoAhQLIgANAAsLIARFDQAgA0HsmwEoAgAgCGtPDQAgBCAIaiIGIARNDQEgBCgCGCEFIAQgBCgCDCIBRwRAIAQoAggiAEH0mwEoAgBJGiAAIAE2AgwgASAANgIIDAoLIARBFGoiAigCACIARQRAIAQoAhAiAEUNBCAEQRBqIQILA0AgAiEHIAAiAUEUaiICKAIAIgANACABQRBqIQIgASgCECIADQALIAdBADYCAAwJCyAIQeybASgCACICTQRAQfibASgCACEDAkAgAiAIayIBQRBPBEBB7JsBIAE2AgBB+JsBIAMgCGoiADYCACAAIAFBAXI2AgQgAiADaiABNgIAIAMgCEEDcjYCBAwBC0H4mwFBADYCAEHsmwFBADYCACADIAJBA3I2AgQgAiADaiIAIAAoAgRBAXI2AgQLIANBCGohAAwLCyAIQfCbASgCACIGSQRAQfCbASAGIAhrIgE2AgBB/JsBQfybASgCACICIAhqIgA2AgAgACABQQFyNgIEIAIgCEEDcjYCBCACQQhqIQAMCwtBACEAIAhBL2oiCQJ/QbyfASgCAARAQcSfASgCAAwBC0HInwFCfzcCAEHAnwFCgKCAgICABDcCAEG8nwEgDEEMakFwcUHYqtWqBXM2AgBB0J8BQQA2AgBBoJ8BQQA2AgBBgCALIgFqIgVBACABayIHcSICIAhNDQpBnJ8BKAIAIgQEQEGUnwEoAgAiAyACaiIBIANNDQsgASAESw0LC0GgnwEtAABBBHENBQJAAkBB/JsBKAIAIgMEQEGknwEhAANAIAMgACgCACIBTwRAIAEgACgCBGogA0sNAwsgACgCCCIADQALC0EAED4iAUF/Rg0GIAIhBUHAnwEoAgAiA0EBayIAIAFxBEAgAiABayAAIAFqQQAgA2txaiEFCyAFIAhNDQYgBUH+////B0sNBkGcnwEoAgAiBARAQZSfASgCACIDIAVqIgAgA00NByAAIARLDQcLIAUQPiIAIAFHDQEMCAsgBSAGayAHcSIFQf7///8HSw0FIAUQPiIBIAAoAgAgACgCBGpGDQQgASEACwJAIABBf0YNACAIQTBqIAVNDQBBxJ8BKAIAIgEgCSAFa2pBACABa3EiAUH+////B0sEQCAAIQEMCAsgARA+QX9HBEAgASAFaiEFIAAhAQwIC0EAIAVrED4aDAULIAAiAUF/Rw0GDAQLAAtBACEEDAcLQQAhAQwFCyABQX9HDQILQaCfAUGgnwEoAgBBBHI2AgALIAJB/v///wdLDQEgAhA+IQFBABA+IQAgAUF/Rg0BIABBf0YNASAAIAFNDQEgACABayIFIAhBKGpNDQELQZSfAUGUnwEoAgAgBWoiADYCAEGYnwEoAgAgAEkEQEGYnwEgADYCAAsCQAJAAkBB/JsBKAIAIgcEQEGknwEhAANAIAEgACgCACIDIAAoAgQiAmpGDQIgACgCCCIADQALDAILQfSbASgCACIAQQAgACABTRtFBEBB9JsBIAE2AgALQQAhAEGonwEgBTYCAEGknwEgATYCAEGEnAFBfzYCAEGInAFBvJ8BKAIANgIAQbCfAUEANgIAA0AgAEEDdCIDQZScAWogA0GMnAFqIgI2AgAgA0GYnAFqIAI2AgAgAEEBaiIAQSBHDQALQfCbASAFQShrIgNBeCABa0EHcUEAIAFBCGpBB3EbIgBrIgI2AgBB/JsBIAAgAWoiADYCACAAIAJBAXI2AgQgASADakEoNgIEQYCcAUHMnwEoAgA2AgAMAgsgAC0ADEEIcQ0AIAMgB0sNACABIAdNDQAgACACIAVqNgIEQfybASAHQXggB2tBB3FBACAHQQhqQQdxGyIAaiICNgIAQfCbAUHwmwEoAgAgBWoiASAAayIANgIAIAIgAEEBcjYCBCABIAdqQSg2AgRBgJwBQcyfASgCADYCAAwBC0H0mwEoAgAgAUsEQEH0mwEgATYCAAsgASAFaiECQaSfASEAAkACQAJAAkACQAJAA0AgAiAAKAIARwRAIAAoAggiAA0BDAILCyAALQAMQQhxRQ0BC0GknwEhAANAIAcgACgCACICTwRAIAIgACgCBGoiBCAHSw0DCyAAKAIIIQAMAAsACyAAIAE2AgAgACAAKAIEIAVqNgIEIAFBeCABa0EHcUEAIAFBCGpBB3EbaiIJIAhBA3I2AgQgAkF4IAJrQQdxQQAgAkEIakEHcRtqIgUgCCAJaiIGayECIAUgB0YEQEH8mwEgBjYCAEHwmwFB8JsBKAIAIAJqIgA2AgAgBiAAQQFyNgIEDAMLIAVB+JsBKAIARgRAQfibASAGNgIAQeybAUHsmwEoAgAgAmoiADYCACAGIABBAXI2AgQgACAGaiAANgIADAMLIAUoAgQiAEEDcUEBRgRAIABBeHEhBwJAIABB/wFNBEAgBSgCCCIDIABBA3YiAEEDdEGMnAFqRhogAyAFKAIMIgFGBEBB5JsBQeSbASgCAEF+IAB3cTYCAAwCCyADIAE2AgwgASADNgIIDAELIAUoAhghCAJAIAUgBSgCDCIBRwRAIAUoAggiACABNgIMIAEgADYCCAwBCwJAIAVBFGoiACgCACIDDQAgBUEQaiIAKAIAIgMNAEEAIQEMAQsDQCAAIQQgAyIBQRRqIgAoAgAiAw0AIAFBEGohACABKAIQIgMNAAsgBEEANgIACyAIRQ0AAkAgBSAFKAIcIgNBAnRBlJ4BaiIAKAIARgRAIAAgATYCACABDQFB6JsBQeibASgCAEF+IAN3cTYCAAwCCyAIQRBBFCAIKAIQIAVGG2ogATYCACABRQ0BCyABIAg2AhggBSgCECIABEAgASAANgIQIAAgATYCGAsgBSgCFCIARQ0AIAEgADYCFCAAIAE2AhgLIAUgB2ohBSACIAdqIQILIAUgBSgCBEF+cTYCBCAGIAJBAXI2AgQgAiAGaiACNgIAIAJB/wFNBEAgAkEDdiIAQQN0QYycAWohAgJ/QeSbASgCACIBQQEgAHQiAHFFBEBB5JsBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwDC0EfIQAgAkH///8HTQRAIAJBCHYiACAAQYD+P2pBEHZBCHEiA3QiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASADciAAcmsiAEEBdCACIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRBlJ4BaiEEAkBB6JsBKAIAIgNBASAAdCIBcUUEQEHomwEgASADcjYCACAEIAY2AgAgBiAENgIYDAELIAJBAEEZIABBAXZrIABBH0YbdCEAIAQoAgAhAQNAIAEiAygCBEF4cSACRg0DIABBHXYhASAAQQF0IQAgAyABQQRxaiIEKAIQIgENAAsgBCAGNgIQIAYgAzYCGAsgBiAGNgIMIAYgBjYCCAwCC0HwmwEgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQfybASAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEGAnAFBzJ8BKAIANgIAIAcgBEEnIARrQQdxQQAgBEEna0EHcRtqQS9rIgAgACAHQRBqSRsiAkEbNgIEIAJBrJ8BKQIANwIQIAJBpJ8BKQIANwIIQayfASACQQhqNgIAQaifASAFNgIAQaSfASABNgIAQbCfAUEANgIAIAJBGGohAANAIABBBzYCBCAAQQhqIQEgAEEEaiEAIAEgBEkNAAsgAiAHRg0DIAIgAigCBEF+cTYCBCAHIAIgB2siBEEBcjYCBCACIAQ2AgAgBEH/AU0EQCAEQQN2IgBBA3RBjJwBaiECAn9B5JsBKAIAIgFBASAAdCIAcUUEQEHkmwEgACABcjYCACACDAELIAIoAggLIQAgAiAHNgIIIAAgBzYCDCAHIAI2AgwgByAANgIIDAQLQR8hACAHQgA3AhAgBEH///8HTQRAIARBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCAEIABBFWp2QQFxckEcaiEACyAHIAA2AhwgAEECdEGUngFqIQMCQEHomwEoAgAiAkEBIAB0IgFxRQRAQeibASABIAJyNgIAIAMgBzYCACAHIAM2AhgMAQsgBEEAQRkgAEEBdmsgAEEfRht0IQAgAygCACEBA0AgASICKAIEQXhxIARGDQQgAEEddiEBIABBAXQhACACIAFBBHFqIgMoAhAiAQ0ACyADIAc2AhAgByACNgIYCyAHIAc2AgwgByAHNgIIDAMLIAMoAggiACAGNgIMIAMgBjYCCCAGQQA2AhggBiADNgIMIAYgADYCCAsgCUEIaiEADAULIAIoAggiACAHNgIMIAIgBzYCCCAHQQA2AhggByACNgIMIAcgADYCCAtB8JsBKAIAIgAgCE0NAEHwmwEgACAIayIBNgIAQfybAUH8mwEoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAMLQbSbAUEwNgIAQQAhAAwCCwJAIAVFDQACQCAEKAIcIgJBAnRBlJ4BaiIAKAIAIARGBEAgACABNgIAIAENAUHomwEgCUF+IAJ3cSIJNgIADAILIAVBEEEUIAUoAhAgBEYbaiABNgIAIAFFDQELIAEgBTYCGCAEKAIQIgAEQCABIAA2AhAgACABNgIYCyAEKAIUIgBFDQAgASAANgIUIAAgATYCGAsCQCADQQ9NBEAgBCADIAhqIgBBA3I2AgQgACAEaiIAIAAoAgRBAXI2AgQMAQsgBCAIQQNyNgIEIAYgA0EBcjYCBCADIAZqIAM2AgAgA0H/AU0EQCADQQN2IgBBA3RBjJwBaiECAn9B5JsBKAIAIgFBASAAdCIAcUUEQEHkmwEgACABcjYCACACDAELIAIoAggLIQAgAiAGNgIIIAAgBjYCDCAGIAI2AgwgBiAANgIIDAELQR8hACADQf///wdNBEAgA0EIdiIAIABBgP4/akEQdkEIcSICdCIAIABBgOAfakEQdkEEcSIBdCIAIABBgIAPakEQdkECcSIAdEEPdiABIAJyIAByayIAQQF0IAMgAEEVanZBAXFyQRxqIQALIAYgADYCHCAGQgA3AhAgAEECdEGUngFqIQICQAJAIAlBASAAdCIBcUUEQEHomwEgASAJcjYCACACIAY2AgAgBiACNgIYDAELIANBAEEZIABBAXZrIABBH0YbdCEAIAIoAgAhCANAIAgiASgCBEF4cSADRg0CIABBHXYhAiAAQQF0IQAgASACQQRxaiICKAIQIggNAAsgAiAGNgIQIAYgATYCGAsgBiAGNgIMIAYgBjYCCAwBCyABKAIIIgAgBjYCDCABIAY2AgggBkEANgIYIAYgATYCDCAGIAA2AggLIARBCGohAAwBCwJAIAtFDQACQCABKAIcIgJBAnRBlJ4BaiIAKAIAIAFGBEAgACAENgIAIAQNAUHomwEgBkF+IAJ3cTYCAAwCCyALQRBBFCALKAIQIAFGG2ogBDYCACAERQ0BCyAEIAs2AhggASgCECIABEAgBCAANgIQIAAgBDYCGAsgASgCFCIARQ0AIAQgADYCFCAAIAQ2AhgLAkAgA0EPTQRAIAEgAyAIaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgCEEDcjYCBCAJIANBAXI2AgQgAyAJaiADNgIAIAoEQCAKQQN2IgBBA3RBjJwBaiEEQfibASgCACECAn9BASAAdCIAIAVxRQRAQeSbASAAIAVyNgIAIAQMAQsgBCgCCAshACAEIAI2AgggACACNgIMIAIgBDYCDCACIAA2AggLQfibASAJNgIAQeybASADNgIACyABQQhqIQALIAxBEGokACAAC4MEAQN/IAJBgARPBEAgACABIAIQCxogAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACQQFIBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvBGAECfyMAQRBrIgQkACAEIAA2AgwgBCABNgIIIAQgAjYCBCAEKAIMIQAgBCgCCCECIAQoAgQhAyMAQSBrIgEkACABIAA2AhggASACNgIUIAEgAzYCEAJAIAEoAhRFBEAgAUEANgIcDAELIAFBATYCDCABLQAMBEAgASgCFCECIAEoAhAhAyMAQSBrIgAgASgCGDYCHCAAIAI2AhggACADNgIUIAAgACgCHDYCECAAIAAoAhBBf3M2AhADQCAAKAIUBH8gACgCGEEDcUEARwVBAAtBAXEEQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGgGWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGgGWooAgAgACgCEEEQdkH/AXFBAnRBoCFqKAIAIAAoAhBB/wFxQQJ0QaAxaigCACAAKAIQQQh2Qf8BcUECdEGgKWooAgBzc3M2AhAgACAAKAIUQSBrNgIUDAELCwNAIAAoAhRBBE8EQCAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QaAZaigCACAAKAIQQRB2Qf8BcUECdEGgIWooAgAgACgCEEH/AXFBAnRBoDFqKAIAIAAoAhBBCHZB/wFxQQJ0QaApaigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQIQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQf8BcUECdEGgGWooAgAgACgCEEEIdnM2AhAgACAAKAIUQQFrIgI2AhQgAg0ACwsgACAAKAIQQX9zNgIQIAEgACgCEDYCHAwBCyABKAIUIQIgASgCECEDIwBBIGsiACABKAIYNgIcIAAgAjYCGCAAIAM2AhQgACAAKAIcQQh2QYD+A3EgACgCHEEYdmogACgCHEGA/gNxQQh0aiAAKAIcQf8BcUEYdGo2AhAgACAAKAIQQX9zNgIQA0AgACgCFAR/IAAoAhhBA3FBAEcFQQALQQFxBEAgACgCEEEYdiECIAAgACgCGCIDQQFqNgIYIAAgAy0AACACc0ECdEGgOWooAgAgACgCEEEIdHM2AhAgACAAKAIUQQFrNgIUDAELCyAAIAAoAhg2AgwDQCAAKAIUQSBPBEAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIMIgJBBGo2AgwgACACKAIAIAAoAhBzNgIQIAAgACgCEEEYdkECdEGg0QBqKAIAIAAoAhBBEHZB/wFxQQJ0QaDJAGooAgAgACgCEEH/AXFBAnRBoDlqKAIAIAAoAhBBCHZB/wFxQQJ0QaDBAGooAgBzc3M2AhAgACAAKAIUQSBrNgIUDAELCwNAIAAoAhRBBE8EQCAAIAAoAgwiAkEEajYCDCAAIAIoAgAgACgCEHM2AhAgACAAKAIQQRh2QQJ0QaDRAGooAgAgACgCEEEQdkH/AXFBAnRBoMkAaigCACAAKAIQQf8BcUECdEGgOWooAgAgACgCEEEIdkH/AXFBAnRBoMEAaigCAHNzczYCECAAIAAoAhRBBGs2AhQMAQsLIAAgACgCDDYCGCAAKAIUBEADQCAAKAIQQRh2IQIgACAAKAIYIgNBAWo2AhggACADLQAAIAJzQQJ0QaA5aigCACAAKAIQQQh0czYCECAAIAAoAhRBAWsiAjYCFCACDQALCyAAIAAoAhBBf3M2AhAgASAAKAIQQQh2QYD+A3EgACgCEEEYdmogACgCEEGA/gNxQQh0aiAAKAIQQf8BcUEYdGo2AhwLIAEoAhwhACABQSBqJAAgBEEQaiQAIAAL7AIBAn8jAEEQayIBJAAgASAANgIMAkAgASgCDEUNACABKAIMKAIwBEAgASgCDCIAIAAoAjBBAWs2AjALIAEoAgwoAjANACABKAIMKAIgBEAgASgCDEEBNgIgIAEoAgwQLxoLIAEoAgwoAiRBAUYEQCABKAIMEGILAkAgASgCDCgCLEUNACABKAIMLQAoQQFxDQAgASgCDCECIwBBEGsiACABKAIMKAIsNgIMIAAgAjYCCCAAQQA2AgQDQCAAKAIEIAAoAgwoAkRJBEAgACgCDCgCTCAAKAIEQQJ0aigCACAAKAIIRgRAIAAoAgwoAkwgACgCBEECdGogACgCDCgCTCAAKAIMKAJEQQFrQQJ0aigCADYCACAAKAIMIgAgACgCREEBazYCRAUgACAAKAIEQQFqNgIEDAILCwsLIAEoAgxBAEIAQQUQIBogASgCDCgCAARAIAEoAgwoAgAQGwsgASgCDBAVCyABQRBqJAALnwIBAn8jAEEQayIBJAAgASAANgIMIAEgASgCDCgCHDYCBCABKAIEIQIjAEEQayIAJAAgACACNgIMIAAoAgwQvAEgAEEQaiQAIAEgASgCBCgCFDYCCCABKAIIIAEoAgwoAhBLBEAgASABKAIMKAIQNgIICwJAIAEoAghFDQAgASgCDCgCDCABKAIEKAIQIAEoAggQGRogASgCDCIAIAEoAgggACgCDGo2AgwgASgCBCIAIAEoAgggACgCEGo2AhAgASgCDCIAIAEoAgggACgCFGo2AhQgASgCDCIAIAAoAhAgASgCCGs2AhAgASgCBCIAIAAoAhQgASgCCGs2AhQgASgCBCgCFA0AIAEoAgQgASgCBCgCCDYCEAsgAUEQaiQAC2ABAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEICEB42AgQCQCABKAIERQRAIAFBADsBDgwBCyABIAEoAgQtAAAgASgCBC0AAUEIdGo7AQ4LIAEvAQ4hACABQRBqJAAgAAvpAQEBfyMAQSBrIgIkACACIAA2AhwgAiABNwMQIAIpAxAhASMAQSBrIgAgAigCHDYCGCAAIAE3AxACQAJAAkAgACgCGC0AAEEBcUUNACAAKQMQIAAoAhgpAxAgACkDEHxWDQAgACgCGCkDCCAAKAIYKQMQIAApAxB8Wg0BCyAAKAIYQQA6AAAgAEEANgIcDAELIAAgACgCGCgCBCAAKAIYKQMQp2o2AgwgACAAKAIMNgIcCyACIAAoAhw2AgwgAigCDARAIAIoAhwiACACKQMQIAApAxB8NwMQCyACKAIMIQAgAkEgaiQAIAALbwEBfyMAQRBrIgIkACACIAA2AgggAiABOwEGIAIgAigCCEICEB42AgACQCACKAIARQRAIAJBfzYCDAwBCyACKAIAIAIvAQY6AAAgAigCACACLwEGQQh2OgABIAJBADYCDAsgAigCDBogAkEQaiQAC7YCAQF/IwBBMGsiBCQAIAQgADYCJCAEIAE2AiAgBCACNwMYIAQgAzYCFAJAIAQoAiQpAxhCASAEKAIUrYaDUARAIAQoAiRBDGpBHEEAEBQgBEJ/NwMoDAELAkAgBCgCJCgCAEUEQCAEIAQoAiQoAgggBCgCICAEKQMYIAQoAhQgBCgCJCgCBBEOADcDCAwBCyAEIAQoAiQoAgAgBCgCJCgCCCAEKAIgIAQpAxggBCgCFCAEKAIkKAIEEQoANwMICyAEKQMIQgBTBEACQCAEKAIUQQRGDQAgBCgCFEEORg0AAkAgBCgCJCAEQghBBBAgQgBTBEAgBCgCJEEMakEUQQAQFAwBCyAEKAIkQQxqIAQoAgAgBCgCBBAUCwsLIAQgBCkDCDcDKAsgBCkDKCECIARBMGokACACC48BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQgAiACKAIIQgQQHjYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAigCBDoAACACKAIAIAIoAgRBCHY6AAEgAigCACACKAIEQRB2OgACIAIoAgAgAigCBEEYdjoAAyACQQA2AgwLIAIoAgwaIAJBEGokAAsXACAALQAAQSBxRQRAIAEgAiAAEHEaCwtQAQF/IwBBEGsiASQAIAEgADYCDANAIAEoAgwEQCABIAEoAgwoAgA2AgggASgCDCgCDBAVIAEoAgwQFSABIAEoAgg2AgwMAQsLIAFBEGokAAs+AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCABAVIAEoAgwoAgwQFSABKAIMEBULIAFBEGokAAt9AQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgAUIANwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0ahB3IAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAVIAEoAgwoAigQJCABKAIMEBULIAFBEGokAAtuAQF/IwBBgAJrIgUkAAJAIARBgMAEcQ0AIAIgA0wNACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAzIAFFBEADQCAAIAVBgAIQIiACQYACayICQf8BSw0ACwsgACAFIAIQIgsgBUGAAmokAAvRAQEBfyMAQTBrIgMkACADIAA2AiggAyABNwMgIAMgAjYCHAJAIAMoAigtAChBAXEEQCADQX82AiwMAQsCQCADKAIoKAIgBEAgAygCHEUNASADKAIcQQFGDQEgAygCHEECRg0BCyADKAIoQQxqQRJBABAUIANBfzYCLAwBCyADIAMpAyA3AwggAyADKAIcNgIQIAMoAiggA0EIakIQQQYQIEIAUwRAIANBfzYCLAwBCyADKAIoQQA6ADQgA0EANgIsCyADKAIsIQAgA0EwaiQAIAALmBcBAn8jAEEwayIEJAAgBCAANgIsIAQgATYCKCAEIAI2AiQgBCADNgIgIARBADYCFAJAIAQoAiwoAoQBQQBKBEAgBCgCLCgCACgCLEECRgRAIwBBEGsiACAEKAIsNgIIIABB/4D/n382AgQgAEEANgIAAkADQCAAKAIAQR9MBEACQCAAKAIEQQFxRQ0AIAAoAghBlAFqIAAoAgBBAnRqLwEARQ0AIABBADYCDAwDCyAAIAAoAgBBAWo2AgAgACAAKAIEQQF2NgIEDAELCwJAAkAgACgCCC8BuAENACAAKAIILwG8AQ0AIAAoAggvAcgBRQ0BCyAAQQE2AgwMAQsgAEEgNgIAA0AgACgCAEGAAkgEQCAAKAIIQZQBaiAAKAIAQQJ0ai8BAARAIABBATYCDAwDBSAAIAAoAgBBAWo2AgAMAgsACwsgAEEANgIMCyAAKAIMIQAgBCgCLCgCACAANgIsCyAEKAIsIAQoAixBmBZqEHogBCgCLCAEKAIsQaQWahB6IAQoAiwhASMAQRBrIgAkACAAIAE2AgwgACgCDCAAKAIMQZQBaiAAKAIMKAKcFhC6ASAAKAIMIAAoAgxBiBNqIAAoAgwoAqgWELoBIAAoAgwgACgCDEGwFmoQeiAAQRI2AggDQAJAIAAoAghBA0gNACAAKAIMQfwUaiAAKAIILQDgbEECdGovAQINACAAIAAoAghBAWs2AggMAQsLIAAoAgwiASABKAKoLSAAKAIIQQNsQRFqajYCqC0gACgCCCEBIABBEGokACAEIAE2AhQgBCAEKAIsKAKoLUEKakEDdjYCHCAEIAQoAiwoAqwtQQpqQQN2NgIYIAQoAhggBCgCHE0EQCAEIAQoAhg2AhwLDAELIAQgBCgCJEEFaiIANgIYIAQgADYCHAsCQAJAIAQoAhwgBCgCJEEEakkNACAEKAIoRQ0AIAQoAiwgBCgCKCAEKAIkIAQoAiAQXQwBCwJAAkAgBCgCLCgCiAFBBEcEQCAEKAIYIAQoAhxHDQELIARBAzYCEAJAIAQoAiwoArwtQRAgBCgCEGtKBEAgBCAEKAIgQQJqNgIMIAQoAiwiACAALwG4LSAEKAIMQf//A3EgBCgCLCgCvC10cjsBuC0gBCgCLC8BuC1B/wFxIQEgBCgCLCgCCCECIAQoAiwiAygCFCEAIAMgAEEBajYCFCAAIAJqIAE6AAAgBCgCLC8BuC1BCHYhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsIAQoAgxB//8DcUEQIAQoAiwoArwta3U7AbgtIAQoAiwiACAAKAK8LSAEKAIQQRBrajYCvC0MAQsgBCgCLCIAIAAvAbgtIAQoAiBBAmpB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsIgAgBCgCECAAKAK8LWo2ArwtCyAEKAIsQZDgAEGQ6QAQuwEMAQsgBEEDNgIIAkAgBCgCLCgCvC1BECAEKAIIa0oEQCAEIAQoAiBBBGo2AgQgBCgCLCIAIAAvAbgtIAQoAgRB//8DcSAEKAIsKAK8LXRyOwG4LSAEKAIsLwG4LUH/AXEhASAEKAIsKAIIIQIgBCgCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAmogAToAACAEKAIsLwG4LUEIdiEBIAQoAiwoAgghAiAEKAIsIgMoAhQhACADIABBAWo2AhQgACACaiABOgAAIAQoAiwgBCgCBEH//wNxQRAgBCgCLCgCvC1rdTsBuC0gBCgCLCIAIAAoArwtIAQoAghBEGtqNgK8LQwBCyAEKAIsIgAgAC8BuC0gBCgCIEEEakH//wNxIAQoAiwoArwtdHI7AbgtIAQoAiwiACAEKAIIIAAoArwtajYCvC0LIAQoAiwhASAEKAIsKAKcFkEBaiECIAQoAiwoAqgWQQFqIQMgBCgCFEEBaiEFIwBBQGoiACQAIAAgATYCPCAAIAI2AjggACADNgI0IAAgBTYCMCAAQQU2AigCQCAAKAI8KAK8LUEQIAAoAihrSgRAIAAgACgCOEGBAms2AiQgACgCPCIBIAEvAbgtIAAoAiRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCJEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAihBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCOEGBAmtB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCKCABKAK8LWo2ArwtCyAAQQU2AiACQCAAKAI8KAK8LUEQIAAoAiBrSgRAIAAgACgCNEEBazYCHCAAKAI8IgEgAS8BuC0gACgCHEH//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwvAbgtQf8BcSECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwvAbgtQQh2IQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPCAAKAIcQf//A3FBECAAKAI8KAK8LWt1OwG4LSAAKAI8IgEgASgCvC0gACgCIEEQa2o2ArwtDAELIAAoAjwiASABLwG4LSAAKAI0QQFrQf//A3EgACgCPCgCvC10cjsBuC0gACgCPCIBIAAoAiAgASgCvC1qNgK8LQsgAEEENgIYAkAgACgCPCgCvC1BECAAKAIYa0oEQCAAIAAoAjBBBGs2AhQgACgCPCIBIAEvAbgtIAAoAhRB//8DcSAAKAI8KAK8LXRyOwG4LSAAKAI8LwG4LUH/AXEhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8LwG4LUEIdiECIAAoAjwoAgghAyAAKAI8IgUoAhQhASAFIAFBAWo2AhQgASADaiACOgAAIAAoAjwgACgCFEH//wNxQRAgACgCPCgCvC1rdTsBuC0gACgCPCIBIAEoArwtIAAoAhhBEGtqNgK8LQwBCyAAKAI8IgEgAS8BuC0gACgCMEEEa0H//wNxIAAoAjwoArwtdHI7AbgtIAAoAjwiASAAKAIYIAEoArwtajYCvC0LIABBADYCLANAIAAoAiwgACgCMEgEQCAAQQM2AhACQCAAKAI8KAK8LUEQIAAoAhBrSgRAIAAgACgCPEH8FGogACgCLC0A4GxBAnRqLwECNgIMIAAoAjwiASABLwG4LSAAKAIMQf//A3EgACgCPCgCvC10cjsBuC0gACgCPC8BuC1B/wFxIQIgACgCPCgCCCEDIAAoAjwiBSgCFCEBIAUgAUEBajYCFCABIANqIAI6AAAgACgCPC8BuC1BCHYhAiAAKAI8KAIIIQMgACgCPCIFKAIUIQEgBSABQQFqNgIUIAEgA2ogAjoAACAAKAI8IAAoAgxB//8DcUEQIAAoAjwoArwta3U7AbgtIAAoAjwiASABKAK8LSAAKAIQQRBrajYCvC0MAQsgACgCPCIBIAEvAbgtIAAoAjxB/BRqIAAoAiwtAOBsQQJ0ai8BAiAAKAI8KAK8LXRyOwG4LSAAKAI8IgEgACgCECABKAK8LWo2ArwtCyAAIAAoAixBAWo2AiwMAQsLIAAoAjwgACgCPEGUAWogACgCOEEBaxC5ASAAKAI8IAAoAjxBiBNqIAAoAjRBAWsQuQEgAEFAayQAIAQoAiwgBCgCLEGUAWogBCgCLEGIE2oQuwELCyAEKAIsEL4BIAQoAiAEQCAEKAIsEL0BCyAEQTBqJAAL1AEBAX8jAEEgayICJAAgAiAANgIYIAIgATcDECACIAIoAhhFOgAPAkAgAigCGEUEQCACIAIpAxCnEBgiADYCGCAARQRAIAJBADYCHAwCCwsgAkEYEBgiADYCCCAARQRAIAItAA9BAXEEQCACKAIYEBULIAJBADYCHAwBCyACKAIIQQE6AAAgAigCCCACKAIYNgIEIAIoAgggAikDEDcDCCACKAIIQgA3AxAgAigCCCACLQAPQQFxOgABIAIgAigCCDYCHAsgAigCHCEAIAJBIGokACAAC3gBAX8jAEEQayIBJAAgASAANgIIIAEgASgCCEIEEB42AgQCQCABKAIERQRAIAFBADYCDAwBCyABIAEoAgQtAAAgASgCBC0AASABKAIELQACIAEoAgQtAANBCHRqQQh0akEIdGo2AgwLIAEoAgwhACABQRBqJAAgAAuHAwEBfyMAQTBrIgMkACADIAA2AiQgAyABNgIgIAMgAjcDGAJAIAMoAiQtAChBAXEEQCADQn83AygMAQsCQAJAIAMoAiQoAiBFDQAgAykDGEL///////////8AVg0AIAMpAxhQDQEgAygCIA0BCyADKAIkQQxqQRJBABAUIANCfzcDKAwBCyADKAIkLQA1QQFxBEAgA0J/NwMoDAELAn8jAEEQayIAIAMoAiQ2AgwgACgCDC0ANEEBcQsEQCADQgA3AygMAQsgAykDGFAEQCADQgA3AygMAQsgA0IANwMQA0AgAykDECADKQMYVARAIAMgAygCJCADKAIgIAMpAxCnaiADKQMYIAMpAxB9QQEQICICNwMIIAJCAFMEQCADKAIkQQE6ADUgAykDEFAEQCADQn83AygMBAsgAyADKQMQNwMoDAMLIAMpAwhQBEAgAygCJEEBOgA0BSADIAMpAwggAykDEHw3AxAMAgsLCyADIAMpAxA3AygLIAMpAyghAiADQTBqJAAgAgthAQF/IwBBEGsiAiAANgIIIAIgATcDAAJAIAIpAwAgAigCCCkDCFYEQCACKAIIQQA6AAAgAkF/NgIMDAELIAIoAghBAToAACACKAIIIAIpAwA3AxAgAkEANgIMCyACKAIMC+8BAQF/IwBBIGsiAiQAIAIgADYCGCACIAE3AxAgAiACKAIYQggQHjYCDAJAIAIoAgxFBEAgAkF/NgIcDAELIAIoAgwgAikDEEL/AYM8AAAgAigCDCACKQMQQgiIQv8BgzwAASACKAIMIAIpAxBCEIhC/wGDPAACIAIoAgwgAikDEEIYiEL/AYM8AAMgAigCDCACKQMQQiCIQv8BgzwABCACKAIMIAIpAxBCKIhC/wGDPAAFIAIoAgwgAikDEEIwiEL/AYM8AAYgAigCDCACKQMQQjiIQv8BgzwAByACQQA2AhwLIAIoAhwaIAJBIGokAAt/AQN/IAAhAQJAIABBA3EEQANAIAEtAABFDQIgAUEBaiIBQQNxDQALCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC6YBAQF/IwBBEGsiASQAIAEgADYCCAJAIAEoAggoAiBFBEAgASgCCEEMakESQQAQFCABQX82AgwMAQsgASgCCCIAIAAoAiBBAWs2AiAgASgCCCgCIEUEQCABKAIIQQBCAEECECAaIAEoAggoAgAEQCABKAIIKAIAEC9BAEgEQCABKAIIQQxqQRRBABAUCwsLIAFBADYCDAsgASgCDCEAIAFBEGokACAACzYBAX8jAEEQayIBIAA2AgwCfiABKAIMLQAAQQFxBEAgASgCDCkDCCABKAIMKQMQfQwBC0IACwuyAQIBfwF+IwBBEGsiASQAIAEgADYCBCABIAEoAgRCCBAeNgIAAkAgASgCAEUEQCABQgA3AwgMAQsgASABKAIALQAArSABKAIALQAHrUI4hiABKAIALQAGrUIwhnwgASgCAC0ABa1CKIZ8IAEoAgAtAAStQiCGfCABKAIALQADrUIYhnwgASgCAC0AAq1CEIZ8IAEoAgAtAAGtQgiGfHw3AwgLIAEpAwghAiABQRBqJAAgAgvcAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAigEQCABKAIMKAIoQQA2AiggASgCDCgCKEIANwMgIAEoAgwCfiABKAIMKQMYIAEoAgwpAyBWBEAgASgCDCkDGAwBCyABKAIMKQMgCzcDGAsgASABKAIMKQMYNwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0aigCABAVIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAVIAEoAgwoAgQQFSABKAIMEBULIAFBEGokAAvwAgICfwF+AkAgAkUNACAAIAJqIgNBAWsgAToAACAAIAE6AAAgAkEDSQ0AIANBAmsgAToAACAAIAE6AAEgA0EDayABOgAAIAAgAToAAiACQQdJDQAgA0EEayABOgAAIAAgAToAAyACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiADYCACADIAIgBGtBfHEiAmoiAUEEayAANgIAIAJBCUkNACADIAA2AgggAyAANgIEIAFBCGsgADYCACABQQxrIAA2AgAgAkEZSQ0AIAMgADYCGCADIAA2AhQgAyAANgIQIAMgADYCDCABQRBrIAA2AgAgAUEUayAANgIAIAFBGGsgADYCACABQRxrIAA2AgAgAiADQQRxQRhyIgFrIgJBIEkNACAArUKBgICAEH4hBSABIANqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0ACwsLawEBfyMAQSBrIgIgADYCHCACQgEgAigCHK2GNwMQIAJBDGogATYCAANAIAIgAigCDCIAQQRqNgIMIAIgACgCADYCCCACKAIIQQBIRQRAIAIgAikDEEIBIAIoAgithoQ3AxAMAQsLIAIpAxALYAIBfwF+IwBBEGsiASQAIAEgADYCBAJAIAEoAgQoAiRBAUcEQCABKAIEQQxqQRJBABAUIAFCfzcDCAwBCyABIAEoAgRBAEIAQQ0QIDcDCAsgASkDCCECIAFBEGokACACC6UCAQJ/IwBBIGsiAyQAIAMgADYCGCADIAE2AhQgAyACNwMIIAMoAhgoAgAhASADKAIUIQQgAykDCCECIwBBIGsiACQAIAAgATYCFCAAIAQ2AhAgACACNwMIAkACQCAAKAIUKAIkQQFGBEAgACkDCEL///////////8AWA0BCyAAKAIUQQxqQRJBABAUIABCfzcDGAwBCyAAIAAoAhQgACgCECAAKQMIQQsQIDcDGAsgACkDGCECIABBIGokACADIAI3AwACQCACQgBTBEAgAygCGEEIaiADKAIYKAIAEBcgA0F/NgIcDAELIAMpAwAgAykDCFIEQCADKAIYQQhqQQZBGxAUIANBfzYCHAwBCyADQQA2AhwLIAMoAhwhACADQSBqJAAgAAsxAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDBBSIAEoAgwQFQsgAUEQaiQACy8BAX8jAEEQayIBJAAgASAANgIMIAEoAgwoAggQFSABKAIMQQA2AgggAUEQaiQAC80BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIILQAoQQFxBEAgAkF/NgIMDAELIAIoAgRFBEAgAigCCEEMakESQQAQFCACQX82AgwMAQsgAigCBBA7IAIoAggoAgAEQCACKAIIKAIAIAIoAgQQOUEASARAIAIoAghBDGogAigCCCgCABAXIAJBfzYCDAwCCwsgAigCCCACKAIEQjhBAxAgQgBTBEAgAkF/NgIMDAELIAJBADYCDAsgAigCDCEAIAJBEGokACAAC98EAQF/IwBBIGsiAiAANgIYIAIgATYCFAJAIAIoAhhFBEAgAkEBNgIcDAELIAIgAigCGCgCADYCDAJAIAIoAhgoAggEQCACIAIoAhgoAgg2AhAMAQsgAkEBNgIQIAJBADYCCANAAkAgAigCCCACKAIYLwEETw0AAkAgAigCDCACKAIIai0AAEEfSwRAIAIoAgwgAigCCGotAABBgAFJDQELIAIoAgwgAigCCGotAABBDUYNACACKAIMIAIoAghqLQAAQQpGDQAgAigCDCACKAIIai0AAEEJRgRADAELIAJBAzYCEAJAIAIoAgwgAigCCGotAABB4AFxQcABRgRAIAJBATYCAAwBCwJAIAIoAgwgAigCCGotAABB8AFxQeABRgRAIAJBAjYCAAwBCwJAIAIoAgwgAigCCGotAABB+AFxQfABRgRAIAJBAzYCAAwBCyACQQQ2AhAMBAsLCyACKAIYLwEEIAIoAgggAigCAGpNBEAgAkEENgIQDAILIAJBATYCBANAIAIoAgQgAigCAE0EQCACKAIMIAIoAgggAigCBGpqLQAAQcABcUGAAUcEQCACQQQ2AhAMBgUgAiACKAIEQQFqNgIEDAILAAsLIAIgAigCACACKAIIajYCCAsgAiACKAIIQQFqNgIIDAELCwsgAigCGCACKAIQNgIIIAIoAhQEQAJAIAIoAhRBAkcNACACKAIQQQNHDQAgAkECNgIQIAIoAhhBAjYCCAsCQCACKAIUIAIoAhBGDQAgAigCEEEBRg0AIAJBBTYCHAwCCwsgAiACKAIQNgIcCyACKAIcC2oBAX8jAEEQayIBIAA2AgwgASgCDEIANwMAIAEoAgxBADYCCCABKAIMQn83AxAgASgCDEEANgIsIAEoAgxBfzYCKCABKAIMQgA3AxggASgCDEIANwMgIAEoAgxBADsBMCABKAIMQQA7ATILjQUBA38jAEEQayIBJAAgASAANgIMIAEoAgwEQCABKAIMKAIABEAgASgCDCgCABAvGiABKAIMKAIAEBsLIAEoAgwoAhwQFSABKAIMKAIgECQgASgCDCgCJBAkIAEoAgwoAlAhAiMAQRBrIgAkACAAIAI2AgwgACgCDARAIAAoAgwoAhAEQCAAQQA2AggDQCAAKAIIIAAoAgwoAgBJBEAgACgCDCgCECAAKAIIQQJ0aigCAARAIAAoAgwoAhAgACgCCEECdGooAgAhAyMAQRBrIgIkACACIAM2AgwDQCACKAIMBEAgAiACKAIMKAIYNgIIIAIoAgwQFSACIAIoAgg2AgwMAQsLIAJBEGokAAsgACAAKAIIQQFqNgIIDAELCyAAKAIMKAIQEBULIAAoAgwQFQsgAEEQaiQAIAEoAgwoAkAEQCABQgA3AwADQCABKQMAIAEoAgwpAzBUBEAgASgCDCgCQCABKQMAp0EEdGoQdyABIAEpAwBCAXw3AwAMAQsLIAEoAgwoAkAQFQsgAUIANwMAA0AgASkDACABKAIMKAJErVQEQCABKAIMKAJMIAEpAwCnQQJ0aigCACECIwBBEGsiACQAIAAgAjYCDCAAKAIMQQE6ACgCfyMAQRBrIgIgACgCDEEMajYCDCACKAIMKAIARQsEQCAAKAIMQQxqQQhBABAUCyAAQRBqJAAgASABKQMAQgF8NwMADAELCyABKAIMKAJMEBUgASgCDCgCVCECIwBBEGsiACQAIAAgAjYCDCAAKAIMBEAgACgCDCgCCARAIAAoAgwoAgwgACgCDCgCCBECAAsgACgCDBAVCyAAQRBqJAAgASgCDEEIahA4IAEoAgwQFQsgAUEQaiQAC48OAQF/IwBBEGsiAyQAIAMgADYCDCADIAE2AgggAyACNgIEIAMoAgghASADKAIEIQIjAEEgayIAIAMoAgw2AhggACABNgIUIAAgAjYCECAAIAAoAhhBEHY2AgwgACAAKAIYQf//A3E2AhgCQCAAKAIQQQFGBEAgACAAKAIULQAAIAAoAhhqNgIYIAAoAhhB8f8DTwRAIAAgACgCGEHx/wNrNgIYCyAAIAAoAhggACgCDGo2AgwgACgCDEHx/wNPBEAgACAAKAIMQfH/A2s2AgwLIAAgACgCGCAAKAIMQRB0cjYCHAwBCyAAKAIURQRAIABBATYCHAwBCyAAKAIQQRBJBEADQCAAIAAoAhAiAUEBazYCECABBEAgACAAKAIUIgFBAWo2AhQgACABLQAAIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDAwBCwsgACgCGEHx/wNPBEAgACAAKAIYQfH/A2s2AhgLIAAgACgCDEHx/wNwNgIMIAAgACgCGCAAKAIMQRB0cjYCHAwBCwNAIAAoAhBBsCtPBEAgACAAKAIQQbArazYCECAAQdsCNgIIA0AgACAAKAIULQAAIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAEgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJIQgQQHhogASgCSBAqBEAgASgCOEEBQQAQFCABQQA2AkwMAQsgASABKAJIEB1B//8Dca03AyggASABKAJIEB1B//8Dca03AyAgASkDICABKQMoUgRAIAEoAjhBE0EAEBQgAUEANgJMDAELIAEgASgCSBAqrTcDGCABIAEoAkgQKq03AxAgASkDECABKQMQIAEpAxh8VgRAIAEoAjhBBEEWEBQgAUEANgJMDAELIAEpAxAgASkDGHwgASkDQCABKQMIfFYEQCABKAI4QRVBABAUIAFBADYCTAwBCwJAIAEoAjxBBHFFDQAgASkDECABKQMYfCABKQNAIAEpAwh8UQ0AIAEoAjhBFUEAEBQgAUEANgJMDAELIAEgASkDICABKAI4EJABIgU2AjQgBUUEQCABQQA2AkwMAQsgASgCNEEAOgAsIAEoAjQgASkDGDcDGCABKAI0IAEpAxA3AyAgASABKAI0NgJMCyABKAJMIQUgAUHQAGokACAAIAU2AlALIAAoAlBFBEAgAEEANgJsDAELIAAoAmQgACkDMEIUfBAsGiAAIAAoAmQQHTsBTiAAKAJQKQMgIAAoAlApAxh8IAApA1ggACkDMHxWBEAgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAELAkAgAC8BTkUEQCAAKAJoKAIEQQRxRQ0BCyAAKAJkIAApAzBCFnwQLBogACAAKAJkEDA3AyACQCAAKQMgIAAvAU6tWgRAIAAoAmgoAgRBBHFFDQEgACkDICAALwFOrVENAQsgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAILIAAvAU4EQCAAKAJkIAAvAU6tEB4gAC8BTkEAIAAoAlQQUCEBIAAoAlAgATYCKCABRQRAIAAoAlAQJSAAQQA2AmwMAwsLCwJAIAAoAlApAyAgACkDWFoEQCAAKAJkIAAoAlApAyAgACkDWH0QLBogACAAKAJkIAAoAlApAxgQHiIBNgIcIAFFBEAgACgCVEEVQQAQFCAAKAJQECUgAEEANgJsDAMLIAAgACgCHCAAKAJQKQMYECkiATYCLCABRQRAIAAoAlRBDkEAEBQgACgCUBAlIABBADYCbAwDCwwBCyAAQQA2AiwgACgCaCgCACAAKAJQKQMgQQAQJ0EASARAIAAoAlQgACgCaCgCABAXIAAoAlAQJSAAQQA2AmwMAgsgACgCaCgCABBJIAAoAlApAyBSBEAgACgCVEETQQAQFCAAKAJQECUgAEEANgJsDAILCyAAIAAoAlApAxg3AzggAEIANwNAA0ACQCAAKQM4UA0AIABBADoAGyAAKQNAIAAoAlApAwhRBEAgACgCUC0ALEEBcQ0BIAApAzhCLlQNASAAKAJQQoCABCAAKAJUEI8BQQFxRQRAIAAoAlAQJSAAKAIsEBYgAEEANgJsDAQLIABBAToAGwsjAEEQayIBJAAgAUHYABAYIgU2AggCQCAFRQRAIAFBADYCDAwBCyABKAIIEFMgASABKAIINgIMCyABKAIMIQUgAUEQaiQAIAUhASAAKAJQKAIAIAApA0CnQQR0aiABNgIAAkAgAQRAIAAgACgCUCgCACAAKQNAp0EEdGooAgAgACgCaCgCACAAKAIsQQAgACgCVBCMASIJNwMQIAlCAFkNAQsCQCAALQAbQQFxRQ0AIwBBEGsiASAAKAJUNgIMIAEoAgwoAgBBE0cNACAAKAJUQRVBABAUCyAAKAJQECUgACgCLBAWIABBADYCbAwDCyAAIAApA0BCAXw3A0AgACAAKQM4IAApAxB9NwM4DAELCwJAIAApA0AgACgCUCkDCFEEQCAAKQM4UA0BCyAAKAJUQRVBABAUIAAoAiwQFiAAKAJQECUgAEEANgJsDAELIAAoAmgoAgRBBHEEQAJAIAAoAiwEQCAAIAAoAiwQR0EBcToADwwBCyAAIAAoAmgoAgAQSTcDACAAKQMAQgBTBEAgACgCVCAAKAJoKAIAEBcgACgCUBAlIABBADYCbAwDCyAAIAApAwAgACgCUCkDICAAKAJQKQMYfFE6AA8LIAAtAA9BAXFFBEAgACgCVEEVQQAQFCAAKAIsEBYgACgCUBAlIABBADYCbAwCCwsgACgCLBAWIAAgACgCUDYCbAsgACgCbCEBIABB8ABqJAAgAiABNgJIIAEEQAJAIAIoAkwEQCACKQMgQgBXBEAgAiACKAJYIAIoAkwgAkEQahBoNwMgCyACIAIoAlggAigCSCACQRBqEGg3AygCQCACKQMgIAIpAyhTBEAgAigCTBAlIAIgAigCSDYCTCACIAIpAyg3AyAMAQsgAigCSBAlCwwBCyACIAIoAkg2AkwCQCACKAJYKAIEQQRxBEAgAiACKAJYIAIoAkwgAkEQahBoNwMgDAELIAJCADcDIAsLIAJBADYCSAsgAiACKAJEQQFqNgJEIAIoAgwgAigCRAJ/IwBBEGsiACACKAIMNgIMIAAoAgwoAgQLa6wQLBoMAQsLIAIoAgwQFiACKQMgQgBTBEAgAigCWEEIaiACQRBqEEUgAigCTBAlIAJBADYCXAwBCyACIAIoAkw2AlwLIAIoAlwhACACQeAAaiQAIAMgADYCWCAARQRAIAMoAmAgAygCXEEIahBFIwBBEGsiACADKAJoNgIMIAAoAgwiACAAKAIwQQFqNgIwIAMoAlwQPCADQQA2AmwMAQsgAygCXCADKAJYKAIANgJAIAMoAlwgAygCWCkDCDcDMCADKAJcIAMoAlgpAxA3AzggAygCXCADKAJYKAIoNgIgIAMoAlgQFSADKAJcKAJQIQAgAygCXCkDMCEJIAMoAlxBCGohAiMAQSBrIgEkACABIAA2AhggASAJNwMQIAEgAjYCDAJAIAEpAxBQBEAgAUEBOgAfDAELIwBBIGsiACABKQMQNwMQIAAgACkDELpEAAAAAAAA6D+jOQMIAkAgACsDCEQAAOD////vQWQEQCAAQX82AgQMAQsgAAJ/IAArAwgiCkQAAAAAAADwQWMgCkQAAAAAAAAAAGZxBEAgCqsMAQtBAAs2AgQLAkAgACgCBEGAgICAeEsEQCAAQYCAgIB4NgIcDAELIAAgACgCBEEBazYCBCAAIAAoAgQgACgCBEEBdnI2AgQgACAAKAIEIAAoAgRBAnZyNgIEIAAgACgCBCAAKAIEQQR2cjYCBCAAIAAoAgQgACgCBEEIdnI2AgQgACAAKAIEIAAoAgRBEHZyNgIEIAAgACgCBEEBajYCBCAAIAAoAgQ2AhwLIAEgACgCHDYCCCABKAIIIAEoAhgoAgBNBEAgAUEBOgAfDAELIAEoAhggASgCCCABKAIMEFpBAXFFBEAgAUEAOgAfDAELIAFBAToAHwsgAS0AHxogAUEgaiQAIANCADcDEANAIAMpAxAgAygCXCkDMFQEQCADIAMoAlwoAkAgAykDEKdBBHRqKAIAKAIwQQBBACADKAJgEEY2AgwgAygCDEUEQCMAQRBrIgAgAygCaDYCDCAAKAIMIgAgACgCMEEBajYCMCADKAJcEDwgA0EANgJsDAMLIAMoAlwoAlAgAygCDCADKQMQQQggAygCXEEIahB0QQFxRQRAAkAgAygCXCgCCEEKRgRAIAMoAmRBBHFFDQELIAMoAmAgAygCXEEIahBFIwBBEGsiACADKAJoNgIMIAAoAgwiACAAKAIwQQFqNgIwIAMoAlwQPCADQQA2AmwMBAsLIAMgAykDEEIBfDcDEAwBCwsgAygCXCADKAJcKAIUNgIYIAMgAygCXDYCbAsgAygCbCEAIANB8ABqJAAgBCAANgI4CyAEKAI4RQRAIAQoAlgQLxogBEEANgJcDAELIAQgBCgCODYCXAsgBCgCXCEAIARB4ABqJAAgAAuOAQEBfyMAQRBrIgIkACACIAA2AgwgAiABNgIIIAJBADYCBCACKAIIBEAjAEEQayIAIAIoAgg2AgwgAiAAKAIMKAIANgIEIAIoAggQrAFBAUYEQCMAQRBrIgAgAigCCDYCDEG0mwEgACgCDCgCBDYCAAsLIAIoAgwEQCACKAIMIAIoAgQ2AgALIAJBEGokAAuVAQEBfyMAQRBrIgEkACABIAA2AggCQAJ/IwBBEGsiACABKAIINgIMIAAoAgwpAxhCgIAQg1ALBEAgASgCCCgCAARAIAEgASgCCCgCABCeAUEBcToADwwCCyABQQE6AA8MAQsgASABKAIIQQBCAEESECA+AgQgASABKAIEQQBHOgAPCyABLQAPQQFxIQAgAUEQaiQAIAALfwEBfyMAQSBrIgMkACADIAA2AhggAyABNwMQIANBADYCDCADIAI2AggCQCADKQMQQv///////////wBWBEAgAygCCEEEQT0QFCADQX82AhwMAQsgAyADKAIYIAMpAxAgAygCDCADKAIIEGo2AhwLIAMoAhwhACADQSBqJAAgAAt9ACACQQFGBEAgASAAKAIIIAAoAgRrrH0hAQsCQCAAKAIUIAAoAhxLBEAgAEEAQQAgACgCJBEBABogACgCFEUNAQsgAEEANgIcIABCADcDECAAIAEgAiAAKAIoEQ8AQgBTDQAgAEIANwIEIAAgACgCAEFvcTYCAEEADwtBfwvhAgECfyMAQSBrIgMkAAJ/AkACQEGnEiABLAAAEKIBRQRAQbSbAUEcNgIADAELQZgJEBgiAg0BC0EADAELIAJBAEGQARAzIAFBKxCiAUUEQCACQQhBBCABLQAAQfIARhs2AgALAkAgAS0AAEHhAEcEQCACKAIAIQEMAQsgAEEDQQAQBCIBQYAIcUUEQCADIAFBgAhyNgIQIABBBCADQRBqEAQaCyACIAIoAgBBgAFyIgE2AgALIAJB/wE6AEsgAkGACDYCMCACIAA2AjwgAiACQZgBajYCLAJAIAFBCHENACADIANBGGo2AgAgAEGTqAEgAxAODQAgAkEKOgBLCyACQRo2AiggAkEbNgIkIAJBHDYCICACQR02AgxB6J8BKAIARQRAIAJBfzYCTAsgAkGsoAEoAgA2AjhBrKABKAIAIgAEQCAAIAI2AjQLQaygASACNgIAIAILIQAgA0EgaiQAIAAL8AEBAn8CfwJAIAFB/wFxIgMEQCAAQQNxBEADQCAALQAAIgJFDQMgAiABQf8BcUYNAyAAQQFqIgBBA3ENAAsLAkAgACgCACICQX9zIAJBgYKECGtxQYCBgoR4cQ0AIANBgYKECGwhAwNAIAIgA3MiAkF/cyACQYGChAhrcUGAgYKEeHENASAAKAIEIQIgAEEEaiEAIAJBgYKECGsgAkF/c3FBgIGChHhxRQ0ACwsDQCAAIgItAAAiAwRAIAJBAWohACADIAFB/wFxRw0BCwsgAgwCCyAAEC4gAGoMAQsgAAsiAEEAIAAtAAAgAUH/AXFGGwsYACAAKAJMQX9MBEAgABCkAQ8LIAAQpAELYAIBfgJ/IAAoAighAkEBIQMgAEIAIAAtAABBgAFxBH9BAkEBIAAoAhQgACgCHEsbBUEBCyACEQ8AIgFCAFkEfiAAKAIUIAAoAhxrrCABIAAoAgggACgCBGusfXwFIAELC2sBAX8gAARAIAAoAkxBf0wEQCAAEG4PCyAAEG4PC0GwoAEoAgAEQEGwoAEoAgAQpQEhAQtBrKABKAIAIgAEQANAIAAoAkwaIAAoAhQgACgCHEsEQCAAEG4gAXIhAQsgACgCOCIADQALCyABCyIAIAAgARACIgBBgWBPBH9BtJsBQQAgAGs2AgBBfwUgAAsLUwEDfwJAIAAoAgAsAABBMGtBCk8NAANAIAAoAgAiAiwAACEDIAAgAkEBajYCACABIANqQTBrIQEgAiwAAUEwa0EKTw0BIAFBCmwhAQwACwALIAELuwIAAkAgAUEUSw0AAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4KAAECAwQFBgcICQoLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAkEYEQQACwt/AgF/AX4gAL0iA0I0iKdB/w9xIgJB/w9HBHwgAkUEQCABIABEAAAAAAAAAABhBH9BAAUgAEQAAAAAAADwQ6IgARCpASEAIAEoAgBBQGoLNgIAIAAPCyABIAJB/gdrNgIAIANC/////////4eAf4NCgICAgICAgPA/hL8FIAALC5sCACAARQRAQQAPCwJ/AkAgAAR/IAFB/wBNDQECQEGQmQEoAgAoAgBFBEAgAUGAf3FBgL8DRg0DDAELIAFB/w9NBEAgACABQT9xQYABcjoAASAAIAFBBnZBwAFyOgAAQQIMBAsgAUGAsANPQQAgAUGAQHFBgMADRxtFBEAgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAwwECyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBAwECwtBtJsBQRk2AgBBfwVBAQsMAQsgACABOgAAQQELC+MBAQJ/IAJBAEchAwJAAkACQCAAQQNxRQ0AIAJFDQAgAUH/AXEhBANAIAAtAAAgBEYNAiACQQFrIgJBAEchAyAAQQFqIgBBA3FFDQEgAg0ACwsgA0UNAQsCQCAALQAAIAFB/wFxRg0AIAJBBEkNACABQf8BcUGBgoQIbCEDA0AgACgCACADcyIEQX9zIARBgYKECGtxQYCBgoR4cQ0BIABBBGohACACQQRrIgJBA0sNAAsLIAJFDQAgAUH/AXEhAQNAIAEgAC0AAEYEQCAADwsgAEEBaiEAIAJBAWsiAg0ACwtBAAtaAQF/IwBBEGsiASAANgIIAkACQCABKAIIKAIAQQBOBEAgASgCCCgCAEGAFCgCAEgNAQsgAUEANgIMDAELIAEgASgCCCgCAEECdEGQFGooAgA2AgwLIAEoAgwL+QIBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIIAQgBCgCGCAEKAIYIAQpAxAgBCgCDCAEKAIIEK4BIgA2AgACQCAARQRAIARBADYCHAwBCyAEKAIAEEhBAEgEQCAEKAIYQQhqIAQoAgAQFyAEKAIAEBsgBEEANgIcDAELIAQoAhghAiMAQRBrIgAkACAAIAI2AgggAEEYEBgiAjYCBAJAIAJFBEAgACgCCEEIakEOQQAQFCAAQQA2AgwMAQsgACgCBCAAKAIINgIAIwBBEGsiAiAAKAIEQQRqNgIMIAIoAgxBADYCACACKAIMQQA2AgQgAigCDEEANgIIIAAoAgRBADoAECAAKAIEQQA2AhQgACAAKAIENgIMCyAAKAIMIQIgAEEQaiQAIAQgAjYCBCACRQRAIAQoAgAQGyAEQQA2AhwMAQsgBCgCBCAEKAIANgIUIAQgBCgCBDYCHAsgBCgCHCEAIARBIGokACAAC7cOAgN/AX4jAEHAAWsiBSQAIAUgADYCuAEgBSABNgK0ASAFIAI3A6gBIAUgAzYCpAEgBUIANwOYASAFQgA3A5ABIAUgBDYCjAECQCAFKAK4AUUEQCAFQQA2ArwBDAELAkAgBSgCtAEEQCAFKQOoASAFKAK0ASkDMFQNAQsgBSgCuAFBCGpBEkEAEBQgBUEANgK8AQwBCwJAIAUoAqQBQQhxDQAgBSgCtAEoAkAgBSkDqAGnQQR0aigCCEUEQCAFKAK0ASgCQCAFKQOoAadBBHRqLQAMQQFxRQ0BCyAFKAK4AUEIakEPQQAQFCAFQQA2ArwBDAELIAUoArQBIAUpA6gBIAUoAqQBQQhyIAVByABqEH5BAEgEQCAFKAK4AUEIakEUQQAQFCAFQQA2ArwBDAELIAUoAqQBQSBxBEAgBSAFKAKkAUEEcjYCpAELAkAgBSkDmAFQBEAgBSkDkAFQDQELIAUoAqQBQQRxRQ0AIAUoArgBQQhqQRJBABAUIAVBADYCvAEMAQsCQCAFKQOYAVAEQCAFKQOQAVANAQsgBSkDmAEgBSkDmAEgBSkDkAF8WARAIAUpA2AgBSkDmAEgBSkDkAF8Wg0BCyAFKAK4AUEIakESQQAQFCAFQQA2ArwBDAELIAUpA5ABUARAIAUgBSkDYCAFKQOYAX03A5ABCyAFIAUpA5ABIAUpA2BUOgBHIAUgBSgCpAFBIHEEf0EABSAFLwF6QQBHC0EBcToARSAFIAUoAqQBQQRxBH9BAAUgBS8BeEEARwtBAXE6AEQgBQJ/IAUoAqQBQQRxBEBBACAFLwF4DQEaCyAFLQBHQX9zC0EBcToARiAFLQBFQQFxBEAgBSgCjAFFBEAgBSAFKAK4ASgCHDYCjAELIAUoAowBRQRAIAUoArgBQQhqQRpBABAUIAVBADYCvAEMAgsLIAUpA2hQBEAgBSAFKAK4AUEAQgBBABB9NgK8AQwBCwJAAkAgBS0AR0EBcUUNACAFLQBFQQFxDQAgBS0AREEBcQ0AIAUgBSkDkAE3AyAgBSAFKQOQATcDKCAFQQA7ATggBSAFKAJwNgIwIAVC3AA3AwggBSAFKAK0ASgCACAFKQOYASAFKQOQASAFQQhqQQAgBSgCtAEgBSkDqAEgBSgCuAFBCGoQXyIANgKIAQwBCyAFIAUoArQBIAUpA6gBIAUoAqQBIAUoArgBQQhqED8iADYCBCAARQRAIAVBADYCvAEMAgsgBSAFKAK0ASgCAEIAIAUpA2ggBUHIAGogBSgCBC8BDEEBdkEDcSAFKAK0ASAFKQOoASAFKAK4AUEIahBfIgA2AogBCyAARQRAIAVBADYCvAEMAQsCfyAFKAKIASEAIAUoArQBIQMjAEEQayIBJAAgASAANgIMIAEgAzYCCCABKAIMIAEoAgg2AiwgASgCCCEDIAEoAgwhBCMAQSBrIgAkACAAIAM2AhggACAENgIUAkAgACgCGCgCSCAAKAIYKAJEQQFqTQRAIAAgACgCGCgCSEEKajYCDCAAIAAoAhgoAkwgACgCDEECdBBONgIQIAAoAhBFBEAgACgCGEEIakEOQQAQFCAAQX82AhwMAgsgACgCGCAAKAIMNgJIIAAoAhggACgCEDYCTAsgACgCFCEEIAAoAhgoAkwhBiAAKAIYIgcoAkQhAyAHIANBAWo2AkQgA0ECdCAGaiAENgIAIABBADYCHAsgACgCHCEDIABBIGokACABQRBqJAAgA0EASAsEQCAFKAKIARAbIAVBADYCvAEMAQsgBS0ARUEBcQRAIAUgBS8BekEAEHsiADYCACAARQRAIAUoArgBQQhqQRhBABAUIAVBADYCvAEMAgsgBSAFKAK4ASAFKAKIASAFLwF6QQAgBSgCjAEgBSgCABEFADYChAEgBSgCiAEQGyAFKAKEAUUEQCAFQQA2ArwBDAILIAUgBSgChAE2AogBCyAFLQBEQQFxBEAgBSAFKAK4ASAFKAKIASAFLwF4ELABNgKEASAFKAKIARAbIAUoAoQBRQRAIAVBADYCvAEMAgsgBSAFKAKEATYCiAELIAUtAEZBAXEEQCAFIAUoArgBIAUoAogBQQEQrwE2AoQBIAUoAogBEBsgBSgChAFFBEAgBUEANgK8AQwCCyAFIAUoAoQBNgKIAQsCQCAFLQBHQQFxRQ0AIAUtAEVBAXFFBEAgBS0AREEBcUUNAQsgBSgCuAEhASAFKAKIASEDIAUpA5gBIQIgBSkDkAEhCCMAQSBrIgAkACAAIAE2AhwgACADNgIYIAAgAjcDECAAIAg3AwggACgCGCAAKQMQIAApAwhBAEEAQQBCACAAKAIcQQhqEF8hASAAQSBqJAAgBSABNgKEASAFKAKIARAbIAUoAoQBRQRAIAVBADYCvAEMAgsgBSAFKAKEATYCiAELIAUgBSgCiAE2ArwBCyAFKAK8ASEAIAVBwAFqJAAgAAuEAgEBfyMAQSBrIgMkACADIAA2AhggAyABNgIUIAMgAjYCEAJAIAMoAhRFBEAgAygCGEEIakESQQAQFCADQQA2AhwMAQsgA0E4EBgiADYCDCAARQRAIAMoAhhBCGpBDkEAEBQgA0EANgIcDAELIwBBEGsiACADKAIMQQhqNgIMIAAoAgxBADYCACAAKAIMQQA2AgQgACgCDEEANgIIIAMoAgwgAygCEDYCACADKAIMQQA2AgQgAygCDEIANwMoQQBBAEEAEBohACADKAIMIAA2AjAgAygCDEIANwMYIAMgAygCGCADKAIUQRQgAygCDBBhNgIcCyADKAIcIQAgA0EgaiQAIAALQwEBfyMAQRBrIgMkACADIAA2AgwgAyABNgIIIAMgAjYCBCADKAIMIAMoAgggAygCBEEAQQAQsgEhACADQRBqJAAgAAtJAQF/IwBBEGsiASQAIAEgADYCDCABKAIMBEAgASgCDCgCrEAgASgCDCgCqEAoAgQRAgAgASgCDBA4IAEoAgwQFQsgAUEQaiQAC5QFAQF/IwBBMGsiBSQAIAUgADYCKCAFIAE2AiQgBSACNgIgIAUgAzoAHyAFIAQ2AhggBUEANgIMAkAgBSgCJEUEQCAFKAIoQQhqQRJBABAUIAVBADYCLAwBCyAFIAUoAiAgBS0AH0EBcRCzASIANgIMIABFBEAgBSgCKEEIakEQQQAQFCAFQQA2AiwMAQsgBSgCICEBIAUtAB9BAXEhAiAFKAIYIQMgBSgCDCEEIwBBIGsiACQAIAAgATYCGCAAIAI6ABcgACADNgIQIAAgBDYCDCAAQbDAABAYIgE2AggCQCABRQRAIABBADYCHAwBCyMAQRBrIgEgACgCCDYCDCABKAIMQQA2AgAgASgCDEEANgIEIAEoAgxBADYCCCAAKAIIAn8gAC0AF0EBcQRAIAAoAhhBf0cEfyAAKAIYQX5GBUEBC0EBcQwBC0EAC0EARzoADiAAKAIIIAAoAgw2AqhAIAAoAgggACgCGDYCFCAAKAIIIAAtABdBAXE6ABAgACgCCEEAOgAMIAAoAghBADoADSAAKAIIQQA6AA8gACgCCCgCqEAoAgAhAQJ/AkAgACgCGEF/RwRAIAAoAhhBfkcNAQtBCAwBCyAAKAIYC0H//wNxIAAoAhAgACgCCCABEQEAIQEgACgCCCABNgKsQCABRQRAIAAoAggQOCAAKAIIEBUgAEEANgIcDAELIAAgACgCCDYCHAsgACgCHCEBIABBIGokACAFIAE2AhQgAUUEQCAFKAIoQQhqQQ5BABAUIAVBADYCLAwBCyAFIAUoAiggBSgCJEETIAUoAhQQYSIANgIQIABFBEAgBSgCFBCxASAFQQA2AiwMAQsgBSAFKAIQNgIsCyAFKAIsIQAgBUEwaiQAIAALzAEBAX8jAEEgayICIAA2AhggAiABOgAXIAICfwJAIAIoAhhBf0cEQCACKAIYQX5HDQELQQgMAQsgAigCGAs7AQ4gAkEANgIQAkADQCACKAIQQdSXASgCAEkEQCACKAIQQQxsQdiXAWovAQAgAi8BDkYEQCACLQAXQQFxBEAgAiACKAIQQQxsQdiXAWooAgQ2AhwMBAsgAiACKAIQQQxsQdiXAWooAgg2AhwMAwUgAiACKAIQQQFqNgIQDAILAAsLIAJBADYCHAsgAigCHAvkAQEBfyMAQSBrIgMkACADIAA6ABsgAyABNgIUIAMgAjYCECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMI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ADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8="; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + var binary = tryParseAsDataURI(file); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(file); + } else { + throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; + } + } catch (err2) { + abort(err2); + } + } + function instantiateSync(file, info) { + var instance; + var module2; + var binary; + try { + binary = getBinary(file); + module2 = new WebAssembly.Module(binary); + instance = new WebAssembly.Instance(module2, info); + } catch (e) { + var str = e.toString(); + err("failed to compile wasm module: " + str); + if (str.includes("imported Memory") || str.includes("memory import")) { + err( + "Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)." + ); + } + throw e; + } + return [instance, module2]; + } + function createWasm() { + var info = { a: asmLibraryArg }; + function receiveInstance(instance, module2) { + var exports3 = instance.exports; + Module["asm"] = exports3; + wasmMemory = Module["asm"]["u"]; + updateGlobalBufferAndViews(wasmMemory.buffer); + wasmTable = Module["asm"]["pa"]; + addOnInit(Module["asm"]["v"]); + removeRunDependency(); + } + addRunDependency(); + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + var result = instantiateSync(wasmBinaryFile, info); + receiveInstance(result[0]); + return Module["asm"]; + } + var tempDouble; + var tempI64; + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(Module); + continue; + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === void 0) { + wasmTable.get(func)(); + } else { + wasmTable.get(func)(callback.arg); + } + } else { + func(callback.arg === void 0 ? null : callback.arg); + } + } + } + function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + if (!_gmtime_r.GMTString) + _gmtime_r.GMTString = allocateUTF8("GMT"); + HEAP32[tmPtr + 40 >> 2] = _gmtime_r.GMTString; + return tmPtr; + } + function ___gmtime_r(a0, a1) { + return _gmtime_r(a0, a1); + } + var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift(".."); + } + } + return parts; + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + !isAbsolute + ).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: function(path) { + var result = PATH.splitPath(path), root = result[0], dir = result[1]; + if (!root && !dir) { + return "."; + } + if (dir) { + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + }, + basename: function(path) { + if (path === "/") + return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) + return path; + return path.substr(lastSlash + 1); + }, + extname: function(path) { + return PATH.splitPath(path)[3]; + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")); + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r); + } + }; + function getRandomDevice() { + { + try { + var crypto_module = require("crypto"); + return function() { + return crypto_module["randomBytes"](1)[0]; + }; + } catch (e) { + } + } + return function() { + abort("randomDevice"); + }; + } + var PATH_FS = { + resolve: function() { + var resolvedPath = "", resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/"; + } + resolvedPath = PATH.normalizeArray( + resolvedPath.split("/").filter(function(p) { + return !!p; + }), + !resolvedAbsolute + ).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") + break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") + break; + } + if (start > end) + return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + } + }; + var TTY = { + ttys: [], + init: function() { + }, + shutdown: function() { + }, + register: function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops }; + FS.registerDevice(dev, TTY.stream_ops); + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + read: function(stream, buffer2, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer2[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer2, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer2[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = nodeFS.readSync( + process.stdin.fd, + buf, + 0, + BUFSIZE, + null + ); + } catch (e) { + if (e.toString().includes("EOF")) + bytesRead = 0; + else + throw e; + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8"); + } else { + result = null; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } + }; + function mmapAlloc(size) { + var alignedSize = alignMemory(size, 65536); + var ptr = _malloc(alignedSize); + while (size < alignedSize) + HEAP8[ptr + size++] = 0; + return ptr; + } + var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0); + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { llseek: MEMFS.stream_ops.llseek } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) + return new Uint8Array(0); + if (node.contents.subarray) + return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) + return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max( + newCapacity, + prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0 + ); + if (prevCapacity != 0) + newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) + node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) + return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set( + oldContents.subarray(0, Math.min(newSize, node.usedBytes)) + ); + } + node.usedBytes = newSize; + } + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, + setattr: function(node, attr) { + if (attr.mode !== void 0) { + node.mode = attr.mode; + } + if (attr.timestamp !== void 0) { + node.timestamp = attr.timestamp; + } + if (attr.size !== void 0) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44]; + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key2 in node.contents) { + if (!node.contents.hasOwnProperty(key2)) { + continue; + } + entries.push(key2); + } + return entries; + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + } + }, + stream_ops: { + read: function(stream, buffer2, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) + return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { + buffer2.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) + buffer2[offset + i] = contents[position + i]; + } + return size; + }, + write: function(stream, buffer2, offset, length, position, canOwn) { + if (buffer2.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) + return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer2.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer2.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer2.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set( + buffer2.subarray(offset, offset + length), + position + ); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer2.subarray) { + node.contents.set( + buffer2.subarray(offset, offset + length), + position + ); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer2[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max( + stream.node.usedBytes, + offset + length + ); + }, + mmap: function(stream, address, length, position, prot, flags) { + if (address !== 0) { + throw new FS.ErrnoError(28); + } + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call( + contents, + position, + position + length + ); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr, allocated }; + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + return 0; + } + MEMFS.stream_ops.write( + stream, + buffer2, + 0, + length, + offset, + false + ); + return 0; + } + } + }; + var ERRNO_CODES = { + EPERM: 63, + ENOENT: 44, + ESRCH: 71, + EINTR: 27, + EIO: 29, + ENXIO: 60, + E2BIG: 1, + ENOEXEC: 45, + EBADF: 8, + ECHILD: 12, + EAGAIN: 6, + EWOULDBLOCK: 6, + ENOMEM: 48, + EACCES: 2, + EFAULT: 21, + ENOTBLK: 105, + EBUSY: 10, + EEXIST: 20, + EXDEV: 75, + ENODEV: 43, + ENOTDIR: 54, + EISDIR: 31, + EINVAL: 28, + ENFILE: 41, + EMFILE: 33, + ENOTTY: 59, + ETXTBSY: 74, + EFBIG: 22, + ENOSPC: 51, + ESPIPE: 70, + EROFS: 69, + EMLINK: 34, + EPIPE: 64, + EDOM: 18, + ERANGE: 68, + ENOMSG: 49, + EIDRM: 24, + ECHRNG: 106, + EL2NSYNC: 156, + EL3HLT: 107, + EL3RST: 108, + ELNRNG: 109, + EUNATCH: 110, + ENOCSI: 111, + EL2HLT: 112, + EDEADLK: 16, + ENOLCK: 46, + EBADE: 113, + EBADR: 114, + EXFULL: 115, + ENOANO: 104, + EBADRQC: 103, + EBADSLT: 102, + EDEADLOCK: 16, + EBFONT: 101, + ENOSTR: 100, + ENODATA: 116, + ETIME: 117, + ENOSR: 118, + ENONET: 119, + ENOPKG: 120, + EREMOTE: 121, + ENOLINK: 47, + EADV: 122, + ESRMNT: 123, + ECOMM: 124, + EPROTO: 65, + EMULTIHOP: 36, + EDOTDOT: 125, + EBADMSG: 9, + ENOTUNIQ: 126, + EBADFD: 127, + EREMCHG: 128, + ELIBACC: 129, + ELIBBAD: 130, + ELIBSCN: 131, + ELIBMAX: 132, + ELIBEXEC: 133, + ENOSYS: 52, + ENOTEMPTY: 55, + ENAMETOOLONG: 37, + ELOOP: 32, + EOPNOTSUPP: 138, + EPFNOSUPPORT: 139, + ECONNRESET: 15, + ENOBUFS: 42, + EAFNOSUPPORT: 5, + EPROTOTYPE: 67, + ENOTSOCK: 57, + ENOPROTOOPT: 50, + ESHUTDOWN: 140, + ECONNREFUSED: 14, + EADDRINUSE: 3, + ECONNABORTED: 13, + ENETUNREACH: 40, + ENETDOWN: 38, + ETIMEDOUT: 73, + EHOSTDOWN: 142, + EHOSTUNREACH: 23, + EINPROGRESS: 26, + EALREADY: 7, + EDESTADDRREQ: 17, + EMSGSIZE: 35, + EPROTONOSUPPORT: 66, + ESOCKTNOSUPPORT: 137, + EADDRNOTAVAIL: 4, + ENETRESET: 39, + EISCONN: 30, + ENOTCONN: 53, + ETOOMANYREFS: 141, + EUSERS: 136, + EDQUOT: 19, + ESTALE: 72, + ENOTSUP: 138, + ENOMEDIUM: 148, + EILSEQ: 25, + EOVERFLOW: 61, + ECANCELED: 11, + ENOTRECOVERABLE: 56, + EOWNERDEAD: 62, + ESTRPIPE: 135 + }; + var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = { fs: fs.constants }; + if (flags["fs"]) { + flags = flags["fs"]; + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 256: flags["O_NOCTTY"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + }; + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer); + }, + convertNodeCode: function(e) { + var code = e.code; + return ERRNO_CODES[code]; + }, + mount: function(mount) { + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0); + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2; + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + return stat.mode; + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k; + } + } + if (!flags) { + return newFlags; + } else { + throw new FS.ErrnoError(28); + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== void 0) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode; + } + if (attr.timestamp !== void 0) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== void 0) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, "", { mode: node.mode }); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + return node; + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + oldNode.name = newName; + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative( + NODEJS_PATH.resolve(node.mount.opts.root), + path + ); + return path; + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + read: function(stream, buffer2, offset, length, position) { + if (length === 0) + return 0; + try { + return fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + write: function(stream, buffer2, offset, length, position) { + try { + return fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + mmap: function(stream, address, length, position, prot, flags) { + if (address !== 0) { + throw new FS.ErrnoError(28); + } + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr = mmapAlloc(length); + NODEFS.stream_ops.read(stream, HEAP8, ptr, length, position); + return { ptr, allocated: true }; + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + return 0; + } + NODEFS.stream_ops.write( + stream, + buffer2, + 0, + length, + offset, + false + ); + return 0; + } + } + }; + var NODERAWFS = { + lookupPath: function(path) { + return { path, node: { mode: NODEFS.getMode(path) } }; + }, + createStandardStreams: function() { + FS.streams[0] = { + fd: 0, + nfd: 0, + position: 0, + path: "", + flags: 0, + tty: true, + seekable: false + }; + for (var i = 1; i < 3; i++) { + FS.streams[i] = { + fd: i, + nfd: i, + position: 0, + path: "", + flags: 577, + tty: true, + seekable: false + }; + } + }, + cwd: function() { + return process.cwd(); + }, + chdir: function() { + process.chdir.apply(void 0, arguments); + }, + mknod: function(path, mode) { + if (FS.isDir(path)) { + fs.mkdirSync(path, mode); + } else { + fs.writeFileSync(path, "", { mode }); + } + }, + mkdir: function() { + fs.mkdirSync.apply(void 0, arguments); + }, + symlink: function() { + fs.symlinkSync.apply(void 0, arguments); + }, + rename: function() { + fs.renameSync.apply(void 0, arguments); + }, + rmdir: function() { + fs.rmdirSync.apply(void 0, arguments); + }, + readdir: function() { + fs.readdirSync.apply(void 0, arguments); + }, + unlink: function() { + fs.unlinkSync.apply(void 0, arguments); + }, + readlink: function() { + return fs.readlinkSync.apply(void 0, arguments); + }, + stat: function() { + return fs.statSync.apply(void 0, arguments); + }, + lstat: function() { + return fs.lstatSync.apply(void 0, arguments); + }, + chmod: function() { + fs.chmodSync.apply(void 0, arguments); + }, + fchmod: function() { + fs.fchmodSync.apply(void 0, arguments); + }, + chown: function() { + fs.chownSync.apply(void 0, arguments); + }, + fchown: function() { + fs.fchownSync.apply(void 0, arguments); + }, + truncate: function() { + fs.truncateSync.apply(void 0, arguments); + }, + ftruncate: function(fd, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + fs.ftruncateSync.apply(void 0, arguments); + }, + utime: function() { + fs.utimesSync.apply(void 0, arguments); + }, + open: function(path, flags, mode, suggestFD) { + if (typeof flags === "string") { + flags = VFS.modeStringToFlags(flags); + } + var nfd = fs.openSync(path, NODEFS.flagsForNode(flags), mode); + var fd = suggestFD != null ? suggestFD : FS.nextfd(nfd); + var stream = { + fd, + nfd, + position: 0, + path, + flags, + seekable: true + }; + FS.streams[fd] = stream; + return stream; + }, + close: function(stream) { + if (!stream.stream_ops) { + fs.closeSync(stream.nfd); + } + FS.closeStream(stream.fd); + }, + llseek: function(stream, offset, whence) { + if (stream.stream_ops) { + return VFS.llseek(stream, offset, whence); + } + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + position += fs.fstatSync(stream.nfd).size; + } else if (whence !== 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + stream.position = position; + return position; + }, + read: function(stream, buffer2, offset, length, position) { + if (stream.stream_ops) { + return VFS.read(stream, buffer2, offset, length, position); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) + position = stream.position; + var bytesRead = fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + if (!seeking) + stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer2, offset, length, position) { + if (stream.stream_ops) { + return VFS.write(stream, buffer2, offset, length, position); + } + if (stream.flags & +"1024") { + FS.llseek(stream, 0, +"2"); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) + position = stream.position; + var bytesWritten = fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + if (!seeking) + stream.position += bytesWritten; + return bytesWritten; + }, + allocate: function() { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + }, + mmap: function(stream, address, length, position, prot, flags) { + if (stream.stream_ops) { + return VFS.mmap(stream, address, length, position, prot, flags); + } + if (address !== 0) { + throw new FS.ErrnoError(28); + } + var ptr = mmapAlloc(length); + FS.read(stream, HEAP8, ptr, length, position); + return { ptr, allocated: true }; + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (stream.stream_ops) { + return VFS.msync(stream, buffer2, offset, length, mmapFlags); + } + if (mmapFlags & 2) { + return 0; + } + FS.write(stream, buffer2, 0, length, offset); + return 0; + }, + munmap: function() { + return 0; + }, + ioctl: function() { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + } + }; + var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { openFlags: { READ: 1, WRITE: 2 } }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) + return { path: "", node: null }; + var defaults = { follow_mount: true, recurse_count: 0 }; + for (var key2 in defaults) { + if (opts[key2] === void 0) { + opts[key2] = defaults[key2]; + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + false + ); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { path: current_path, node: current }; + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) + return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path; + } + path = path ? node.name + "/" + path : node.name; + node = node.parent; + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0; + } + return (parentid + hash >>> 0) % FS.nameTable.length; + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + }, + lookupNode: function(parent, name) { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + return FS.lookup(parent, name); + }, + createNode: function(parent, name, mode, rdev) { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: function(node) { + FS.hashRemoveNode(node); + }, + isRoot: function(node) { + return node === node.parent; + }, + isMountpoint: function(node) { + return !!node.mounted; + }, + isFile: function(mode) { + return (mode & 61440) === 32768; + }, + isDir: function(mode) { + return (mode & 61440) === 16384; + }, + isLink: function(mode) { + return (mode & 61440) === 40960; + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192; + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576; + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096; + }, + isSocket: function(mode) { + return (mode & 49152) === 49152; + }, + flagModes: { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup: function(dir) { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) + return errCode; + if (!dir.node_ops.lookup) + return 2; + return 0; + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen: function(node, flags) { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + }, + getStream: function(fd) { + return FS.streams[fd]; + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() { + }; + FS.FSStream.prototype = { + object: { + get: function() { + return this.node; + }, + set: function(val) { + this.node = val; + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1; + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0; + } + }, + isAppend: { + get: function() { + return this.flags & 1024; + } + } + }; + } + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: function(fd) { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + }, + llseek: function() { + throw new FS.ErrnoError(70); + } + }, + major: function(dev) { + return dev >> 8; + }, + minor: function(dev) { + return dev & 255; + }, + makedev: function(ma, mi) { + return ma << 8 | mi; + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + }, + getDevice: function(dev) { + return FS.devices[dev]; + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); + } + return mounts; + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err( + "warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work" + ); + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + var mount = { + type, + opts, + mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name); + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: function(path, mode) { + mode = mode !== void 0 ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: function(path, mode) { + mode = mode !== void 0 ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) + continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) + throw e; + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) + throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path); + } + } catch (e) { + err( + "FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message + ); + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate["onMovePath"]) + FS.trackingDelegate["onMovePath"](old_path, new_path); + } catch (e) { + err( + "FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message + ); + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + err( + "FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + err( + "FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + err( + "FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + err( + "FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve( + FS.getPath(link.parent), + link.node_ops.readlink(link) + ); + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat: function(path) { + return FS.stat(path, true); + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }); + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true); + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true); + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) { + } + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream( + { + node, + path: FS.getPath(node), + flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, + fd_start, + fd_end + ); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) + FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + err("FS.trackingDelegate error on read file: " + path); + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags); + } + } catch (e) { + err( + "FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message + ); + } + return stream; + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) + stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, + isClosed: function(stream) { + return stream.fd === null; + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: function(stream, buffer2, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read( + stream, + buffer2, + offset, + length, + position + ); + if (!seeking) + stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer2, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write( + stream, + buffer2, + offset, + length, + position, + canOwn + ); + if (!seeking) + stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) + FS.trackingDelegate["onWriteToFile"](stream.path); + } catch (e) { + err( + "FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message + ); + } + return bytesWritten; + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: function(stream, address, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap( + stream, + address, + length, + position, + prot, + flags + ); + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync( + stream, + buffer2, + offset, + length, + mmapFlags + ); + }, + munmap: function(stream) { + return 0; + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, void 0, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, + cwd: function() { + return FS.currentPath; + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0; + }, + write: function(stream, buffer2, offset, length, pos) { + return length; + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount( + { + mount: function() { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) + throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: "fake" }, + node_ops: { + readlink: function() { + return stream.path; + } + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, + {}, + "/proc/self/fd" + ); + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]); + } else { + FS.symlink("/dev/tty", "/dev/stdin"); + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + FS.open("/dev/stdin", 0); + FS.open("/dev/stdout", 1); + FS.open("/dev/stderr", 1); + }, + ensureErrnoError: function() { + if (FS.ErrnoError) + return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno2) { + this.errno = errno2; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { MEMFS, NODEFS }; + }, + init: function(input, output, error) { + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams(); + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) + fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) + mode |= 292 | 73; + if (canWrite) + mode |= 146; + return mode; + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + return null; + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) + continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + } + parent = current; + } + return current; + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) + FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer2, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer2[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer2, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer2[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) + return true; + if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + var properties; { + var properties = { isDevice: false, url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length; + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key2) { + var fn = node.stream_ops[key2]; + stream_ops[key2] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + stream_ops.read = function stream_ops_read(stream, buffer2, offset, length, position) { + FS.forceLoadFile(node); + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer2[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer2[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + function processData(byteArray) { + function finish(byteArray2) { + if (preFinish) + preFinish(); + if (!dontCreateFile) { + FS.createDataFile( + parent, + name, + byteArray2, + canRead, + canWrite, + canOwn + ); + } + if (onload) + onload(); + removeRunDependency(); + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) + return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) + onerror(); + removeRunDependency(); + }); + handled = true; + } + }); + if (!handled) + finish(byteArray); + } + addRunDependency(); + if (typeof url == "string") { + Browser.asyncLoad( + url, + function(byteArray) { + processData(byteArray); + }, + onerror + ); + } else { + processData(url); + } + }, + indexedDB: function() { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, + DB_NAME: function() { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: function(paths, onload, onerror) { + onload = onload || function() { + }; + onerror = onerror || function() { + }; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) + onload(); + else + onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put( + FS.analyzePath(path).object.contents, + path + ); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) + finish(); + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) + finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() { + }; + onerror = onerror || function() { + }; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly"); + } catch (e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) + onload(); + else + onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile( + PATH.dirname(path), + PATH.basename(path), + getRequest.result, + true, + true, + true + ); + ok++; + if (ok + fail == total) + finish(); + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) + finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } + }; + var SYSCALLS = { + mappings: {}, + DEFAULT_POLLMASK: 5, + umask: 511, + calculateAt: function(dirfd, path, allowEmpty) { + if (path[0] === "/") { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) + throw new FS.ErrnoError(8); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, path); + }, + doStat: function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [ + stat.size >>> 0, + (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil( + (tempDouble - +(~~tempDouble >>> 0)) / 4294967296 + ) >>> 0 : 0) + ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [ + stat.ino >>> 0, + (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil( + (tempDouble - +(~~tempDouble >>> 0)) / 4294967296 + ) >>> 0 : 0) + ], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0; + }, + doMsync: function(addr, stream, len, flags, offset) { + var buffer2 = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer2, offset, len, flags); + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") + path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0; + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28; + } + FS.mknod(path, mode, dev); + return 0; + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) + return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len; + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) + perms += "r"; + if (amode & 2) + perms += "w"; + if (amode & 1) + perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) + FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + if (curr < len) + break; + } + return ret; + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + } + return ret; + }, + varargs: void 0, + get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) + throw new FS.ErrnoError(8); + return stream; + }, + get64: function(low, high) { + return low; + } + }; + function ___sys_chmod(path, mode) { + try { + path = SYSCALLS.getStr(path); + FS.chmod(path, mode); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; + } + function ___sys_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0; + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_fstat64(fd, buf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + return SYSCALLS.doStat(FS.stat, stream.path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) + return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) + return -59; + return 0; + } + case 21519: { + if (!stream.tty) + return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + case 21520: { + if (!stream.tty) + return -59; + return -28; + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + if (!stream.tty) + return -59; + return 0; + } + case 21524: { + if (!stream.tty) + return -59; + return 0; + } + default: + abort("bad ioctl syscall " + op); + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_open(path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(path); + var mode = varargs ? SYSCALLS.get() : 0; + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_rename(old_path, new_path) { + try { + old_path = SYSCALLS.getStr(old_path); + new_path = SYSCALLS.getStr(new_path); + FS.rename(old_path, new_path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_rmdir(path) { + try { + path = SYSCALLS.getStr(path); + FS.rmdir(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_stat64(path, buf) { + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_unlink(path) { + try { + path = SYSCALLS.getStr(path); + FS.unlink(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + function emscripten_realloc_buffer(size) { + try { + wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16); + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1; + } catch (e) { + } + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + return false; + } + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min( + overGrownHeapSize, + requestedSize + 100663296 + ); + var newSize = Math.min( + maxHeapSize, + alignUp(Math.max(requestedSize, overGrownHeapSize), 65536) + ); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; + } + function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doReadv(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61; + } + FS.llseek(stream, offset, whence); + tempI64 = [ + stream.position >>> 0, + (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil( + (tempDouble - +(~~tempDouble >>> 0)) / 4294967296 + ) >>> 0 : 0) + ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) + stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _setTempRet0(val) { + } + function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret; + } + return ret; + } + function _tzset() { + if (_tzset.called) + return; + _tzset.called = true; + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + HEAP32[__get_timezone() >> 2] = stdTimezoneOffset * 60; + HEAP32[__get_daylight() >> 2] = Number(winterOffset != summerOffset); + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr; + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr; + } + } + function _timegm(tmPtr) { + _tzset(); + var time = Date.UTC( + HEAP32[tmPtr + 20 >> 2] + 1900, + HEAP32[tmPtr + 16 >> 2], + HEAP32[tmPtr + 12 >> 2], + HEAP32[tmPtr + 8 >> 2], + HEAP32[tmPtr + 4 >> 2], + HEAP32[tmPtr >> 2], + 0 + ); + var date = new Date(time); + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + return date.getTime() / 1e3 | 0; + } + var FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode; + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode; + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.staticInit(); + { + var fs = frozenFs; + var NODEJS_PATH = path__default.default; + NODEFS.staticInit(); + } + { + var _wrapNodeError = function(func) { + return function() { + try { + return func.apply(this, arguments); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }; + }; + var VFS = Object.assign({}, FS); + for (var _key in NODERAWFS) + FS[_key] = _wrapNodeError(NODERAWFS[_key]); + } + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array( + stringy, + u8array, + 0, + u8array.length + ); + if (dontAddNull) + u8array.length = numBytesWritten; + return u8array; + } + function intArrayFromBase64(s) { + { + var buf; + try { + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); + } + return new Uint8Array( + buf["buffer"], + buf["byteOffset"], + buf["byteLength"] + ); + } + } + function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); + } + var asmLibraryArg = { + s: ___gmtime_r, + p: ___sys_chmod, + e: ___sys_fcntl64, + k: ___sys_fstat64, + o: ___sys_ioctl, + q: ___sys_open, + i: ___sys_rename, + r: ___sys_rmdir, + c: ___sys_stat64, + h: ___sys_unlink, + l: _emscripten_memcpy_big, + m: _emscripten_resize_heap, + f: _fd_close, + j: _fd_fdstat_get, + g: _fd_read, + n: _fd_seek, + d: _fd_write, + a: _setTempRet0, + b: _time, + t: _timegm + }; + var asm = createWasm(); + Module["___wasm_call_ctors"] = asm["v"]; + Module["_zip_ext_count_symlinks"] = asm["w"]; + Module["_zip_file_get_external_attributes"] = asm["x"]; + Module["_zipstruct_stat"] = asm["y"]; + Module["_zipstruct_statS"] = asm["z"]; + Module["_zipstruct_stat_name"] = asm["A"]; + Module["_zipstruct_stat_index"] = asm["B"]; + Module["_zipstruct_stat_size"] = asm["C"]; + Module["_zipstruct_stat_mtime"] = asm["D"]; + Module["_zipstruct_stat_crc"] = asm["E"]; + Module["_zipstruct_error"] = asm["F"]; + Module["_zipstruct_errorS"] = asm["G"]; + Module["_zipstruct_error_code_zip"] = asm["H"]; + Module["_zipstruct_stat_comp_size"] = asm["I"]; + Module["_zipstruct_stat_comp_method"] = asm["J"]; + Module["_zip_close"] = asm["K"]; + Module["_zip_delete"] = asm["L"]; + Module["_zip_dir_add"] = asm["M"]; + Module["_zip_discard"] = asm["N"]; + Module["_zip_error_init_with_code"] = asm["O"]; + Module["_zip_get_error"] = asm["P"]; + Module["_zip_file_get_error"] = asm["Q"]; + Module["_zip_error_strerror"] = asm["R"]; + Module["_zip_fclose"] = asm["S"]; + Module["_zip_file_add"] = asm["T"]; + Module["_free"] = asm["U"]; + var _malloc = Module["_malloc"] = asm["V"]; + var ___errno_location = Module["___errno_location"] = asm["W"]; + Module["_zip_source_error"] = asm["X"]; + Module["_zip_source_seek"] = asm["Y"]; + Module["_zip_file_set_external_attributes"] = asm["Z"]; + Module["_zip_file_set_mtime"] = asm["_"]; + Module["_zip_fopen"] = asm["$"]; + Module["_zip_fopen_index"] = asm["aa"]; + Module["_zip_fread"] = asm["ba"]; + Module["_zip_get_name"] = asm["ca"]; + Module["_zip_get_num_entries"] = asm["da"]; + Module["_zip_source_read"] = asm["ea"]; + Module["_zip_name_locate"] = asm["fa"]; + Module["_zip_open"] = asm["ga"]; + Module["_zip_open_from_source"] = asm["ha"]; + Module["_zip_set_file_compression"] = asm["ia"]; + Module["_zip_source_buffer"] = asm["ja"]; + Module["_zip_source_buffer_create"] = asm["ka"]; + Module["_zip_source_close"] = asm["la"]; + Module["_zip_source_free"] = asm["ma"]; + Module["_zip_source_keep"] = asm["na"]; + Module["_zip_source_open"] = asm["oa"]; + Module["_zip_source_set_mtime"] = asm["qa"]; + Module["_zip_source_tell"] = asm["ra"]; + Module["_zip_stat"] = asm["sa"]; + Module["_zip_stat_index"] = asm["ta"]; + var __get_tzname = Module["__get_tzname"] = asm["ua"]; + var __get_daylight = Module["__get_daylight"] = asm["va"]; + var __get_timezone = Module["__get_timezone"] = asm["wa"]; + var stackSave = Module["stackSave"] = asm["xa"]; + var stackRestore = Module["stackRestore"] = asm["ya"]; + var stackAlloc = Module["stackAlloc"] = asm["za"]; + Module["cwrap"] = cwrap; + Module["getValue"] = getValue; + var calledRun; + dependenciesFulfilled = function runCaller() { + if (!calledRun) + run(); + if (!calledRun) + dependenciesFulfilled = runCaller; + }; + function run(args) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) + return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) + return; + initRuntime(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) + Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + } + Module["run"] = run; + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + } + run(); + return createModule2; + }; +}(); +module.exports = createModule; +}(libzipSync)); + +const createModule = libzipSync.exports; + +const number64 = [ + `number`, + `number` +]; +var Errors = /* @__PURE__ */ ((Errors2) => { + Errors2[Errors2["ZIP_ER_OK"] = 0] = "ZIP_ER_OK"; + Errors2[Errors2["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK"; + Errors2[Errors2["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME"; + Errors2[Errors2["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE"; + Errors2[Errors2["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK"; + Errors2[Errors2["ZIP_ER_READ"] = 5] = "ZIP_ER_READ"; + Errors2[Errors2["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE"; + Errors2[Errors2["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC"; + Errors2[Errors2["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED"; + Errors2[Errors2["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT"; + Errors2[Errors2["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS"; + Errors2[Errors2["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN"; + Errors2[Errors2["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN"; + Errors2[Errors2["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB"; + Errors2[Errors2["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY"; + Errors2[Errors2["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED"; + Errors2[Errors2["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP"; + Errors2[Errors2["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF"; + Errors2[Errors2["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL"; + Errors2[Errors2["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP"; + Errors2[Errors2["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL"; + Errors2[Errors2["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS"; + Errors2[Errors2["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE"; + Errors2[Errors2["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED"; + Errors2[Errors2["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP"; + Errors2[Errors2["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY"; + Errors2[Errors2["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD"; + Errors2[Errors2["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD"; + Errors2[Errors2["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP"; + Errors2[Errors2["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE"; + Errors2[Errors2["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL"; + Errors2[Errors2["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA"; + return Errors2; +})(Errors || {}); +const makeInterface = (libzip) => ({ + get HEAP8() { + return libzip.HEAP8; + }, + get HEAPU8() { + return libzip.HEAPU8; + }, + errors: Errors, + SEEK_SET: 0, + SEEK_CUR: 1, + SEEK_END: 2, + ZIP_CHECKCONS: 4, + ZIP_CREATE: 1, + ZIP_EXCL: 2, + ZIP_TRUNCATE: 8, + ZIP_RDONLY: 16, + ZIP_FL_OVERWRITE: 8192, + ZIP_FL_COMPRESSED: 4, + ZIP_OPSYS_DOS: 0, + ZIP_OPSYS_AMIGA: 1, + ZIP_OPSYS_OPENVMS: 2, + ZIP_OPSYS_UNIX: 3, + ZIP_OPSYS_VM_CMS: 4, + ZIP_OPSYS_ATARI_ST: 5, + ZIP_OPSYS_OS_2: 6, + ZIP_OPSYS_MACINTOSH: 7, + ZIP_OPSYS_Z_SYSTEM: 8, + ZIP_OPSYS_CPM: 9, + ZIP_OPSYS_WINDOWS_NTFS: 10, + ZIP_OPSYS_MVS: 11, + ZIP_OPSYS_VSE: 12, + ZIP_OPSYS_ACORN_RISC: 13, + ZIP_OPSYS_VFAT: 14, + ZIP_OPSYS_ALTERNATE_MVS: 15, + ZIP_OPSYS_BEOS: 16, + ZIP_OPSYS_TANDEM: 17, + ZIP_OPSYS_OS_400: 18, + ZIP_OPSYS_OS_X: 19, + ZIP_CM_DEFAULT: -1, + ZIP_CM_STORE: 0, + ZIP_CM_DEFLATE: 8, + uint08S: libzip._malloc(1), + uint16S: libzip._malloc(2), + uint32S: libzip._malloc(4), + uint64S: libzip._malloc(8), + malloc: libzip._malloc, + free: libzip._free, + getValue: libzip.getValue, + open: libzip.cwrap(`zip_open`, `number`, [`string`, `number`, `number`]), + openFromSource: libzip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), + close: libzip.cwrap(`zip_close`, `number`, [`number`]), + discard: libzip.cwrap(`zip_discard`, null, [`number`]), + getError: libzip.cwrap(`zip_get_error`, `number`, [`number`]), + getName: libzip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), + getNumEntries: libzip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), + delete: libzip.cwrap(`zip_delete`, `number`, [`number`, `number`]), + stat: libzip.cwrap(`zip_stat`, `number`, [`number`, `string`, `number`, `number`]), + statIndex: libzip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), + fopen: libzip.cwrap(`zip_fopen`, `number`, [`number`, `string`, `number`]), + fopenIndex: libzip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), + fread: libzip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), + fclose: libzip.cwrap(`zip_fclose`, `number`, [`number`]), + dir: { + add: libzip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) + }, + file: { + add: libzip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), + getError: libzip.cwrap(`zip_file_get_error`, `number`, [`number`]), + getExternalAttributes: libzip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setExternalAttributes: libzip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setMtime: libzip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), + setCompression: libzip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) + }, + ext: { + countSymlinks: libzip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]) + }, + error: { + initWithCode: libzip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), + strerror: libzip.cwrap(`zip_error_strerror`, `string`, [`number`]) + }, + name: { + locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) + }, + source: { + fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, `number`, `number`, `number`]), + fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), + free: libzip.cwrap(`zip_source_free`, null, [`number`]), + keep: libzip.cwrap(`zip_source_keep`, null, [`number`]), + open: libzip.cwrap(`zip_source_open`, `number`, [`number`]), + close: libzip.cwrap(`zip_source_close`, `number`, [`number`]), + seek: libzip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]), + tell: libzip.cwrap(`zip_source_tell`, `number`, [`number`]), + read: libzip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]), + error: libzip.cwrap(`zip_source_error`, `number`, [`number`]), + setMtime: libzip.cwrap(`zip_source_set_mtime`, `number`, [`number`, `number`]) + }, + struct: { + stat: libzip.cwrap(`zipstruct_stat`, `number`, []), + statS: libzip.cwrap(`zipstruct_statS`, `number`, []), + statName: libzip.cwrap(`zipstruct_stat_name`, `string`, [`number`]), + statIndex: libzip.cwrap(`zipstruct_stat_index`, `number`, [`number`]), + statSize: libzip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), + statCompSize: libzip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]), + statCompMethod: libzip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]), + statMtime: libzip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), + statCrc: libzip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]), + error: libzip.cwrap(`zipstruct_error`, `number`, []), + errorS: libzip.cwrap(`zipstruct_errorS`, `number`, []), + errorCodeZip: libzip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]) + } +}); + +let mod = null; +function getLibzipSync() { + if (mod === null) + mod = makeInterface(createModule()); + return mod; +} + +var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => { + ErrorCode2["API_ERROR"] = `API_ERROR`; + ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`; + ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`; + ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`; + ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`; + ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`; + ErrorCode2["INTERNAL"] = `INTERNAL`; + ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`; + ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`; + return ErrorCode2; +})(ErrorCode || {}); +const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ + "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */, + "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */, + "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */, + "QUALIFIED_PATH_RESOLUTION_FAILED" /* QUALIFIED_PATH_RESOLUTION_FAILED */, + "UNDECLARED_DEPENDENCY" /* UNDECLARED_DEPENDENCY */ +]); +function makeError(pnpCode, message, data = {}, code) { + code != null ? code : code = MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; + const propertySpec = { + configurable: true, + writable: true, + enumerable: false + }; + return Object.defineProperties(new Error(message), { + code: { + ...propertySpec, + value: code + }, + pnpCode: { + ...propertySpec, + value: pnpCode + }, + data: { + ...propertySpec, + value: data + } + }); +} +function getIssuerModule(parent) { + let issuer = parent; + while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) + issuer = issuer.parent; + return issuer || null; +} +function getPathForDisplay(p) { + return npath.normalize(npath.fromPortablePath(p)); +} + +const builtinModules = new Set(require$$0.Module.builtinModules || Object.keys(process.binding(`natives`))); +const isBuiltinModule = (request) => request.startsWith(`node:`) || builtinModules.has(request); +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs__default.default.existsSync(jsonPath)) + return null; + return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`)); +} +function ERR_REQUIRE_ESM(filename, parentPath = null) { + const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename); + const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported. +Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`; + const err = new Error(msg); + err.code = `ERR_REQUIRE_ESM`; + return err; +} + +const shouldReportRequiredModules = process.env.WATCH_REPORT_DEPENDENCIES; +function reportModuleToWatchMode(filename) { + if (shouldReportRequiredModules && process.send) { + process.send({ "watch:require": npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))) }); + } +} +function applyPatch(pnpapi, opts) { + const defaultCache = {}; + let enableNativeHooks = true; + process.versions.pnp = String(pnpapi.VERSIONS.std); + const moduleExports = require$$0__default.default; + moduleExports.findPnpApi = (lookupSource) => { + const lookupPath = lookupSource instanceof url.URL ? url.fileURLToPath(lookupSource) : lookupSource; + const apiPath = opts.manager.findApiPathFor(lookupPath); + if (apiPath === null) + return null; + const apiEntry = opts.manager.getApiEntry(apiPath, true); + return apiEntry.instance.findPackageLocator(lookupPath) ? apiEntry.instance : null; + }; + function getRequireStack(parent) { + const requireStack = []; + for (let cursor = parent; cursor; cursor = cursor.parent) + requireStack.push(cursor.filename || cursor.id); + return requireStack; + } + const originalModuleLoad = require$$0.Module._load; + require$$0.Module._load = function(request, parent, isMain) { + if (!enableNativeHooks) + return originalModuleLoad.call(require$$0.Module, request, parent, isMain); + if (isBuiltinModule(request)) { + try { + enableNativeHooks = false; + return originalModuleLoad.call(require$$0.Module, request, parent, isMain); + } finally { + enableNativeHooks = true; + } + } + const parentApiPath = opts.manager.getApiPathFromParent(parent); + const parentApi = parentApiPath !== null ? opts.manager.getApiEntry(parentApiPath, true).instance : null; + if (parentApi === null) + return originalModuleLoad(request, parent, isMain); + if (request === `pnpapi`) + return parentApi; + const modulePath = require$$0.Module._resolveFilename(request, parent, isMain); + const isOwnedByRuntime = parentApi !== null ? parentApi.findPackageLocator(modulePath) !== null : false; + const moduleApiPath = isOwnedByRuntime ? parentApiPath : opts.manager.findApiPathFor(npath.dirname(modulePath)); + const entry = moduleApiPath !== null ? opts.manager.getApiEntry(moduleApiPath) : { instance: null, cache: defaultCache }; + const cacheEntry = entry.cache[modulePath]; + if (cacheEntry) { + if (cacheEntry.loaded === false && cacheEntry.isLoading !== true) { + try { + cacheEntry.isLoading = true; + if (isMain) { + process.mainModule = cacheEntry; + cacheEntry.id = `.`; + } + cacheEntry.load(modulePath); + } finally { + cacheEntry.isLoading = false; + } + } + return cacheEntry.exports; + } + const module = new require$$0.Module(modulePath, parent != null ? parent : void 0); + module.pnpApiPath = moduleApiPath; + reportModuleToWatchMode(modulePath); + entry.cache[modulePath] = module; + if (isMain) { + process.mainModule = module; + module.id = `.`; + } + let hasThrown = true; + try { + module.isLoading = true; + module.load(modulePath); + hasThrown = false; + } finally { + module.isLoading = false; + if (hasThrown) { + delete require$$0.Module._cache[modulePath]; + } + } + return module.exports; + }; + function getIssuerSpecsFromPaths(paths) { + return paths.map((path) => ({ + apiPath: opts.manager.findApiPathFor(path), + path, + module: null + })); + } + function getIssuerSpecsFromModule(module) { + var _a; + if (module && module.id !== `` && module.id !== `internal/preload` && !module.parent && !module.filename && module.paths.length > 0) { + return [{ + apiPath: opts.manager.findApiPathFor(module.paths[0]), + path: module.paths[0], + module + }]; + } + const issuer = getIssuerModule(module); + if (issuer !== null) { + const path = npath.dirname(issuer.filename); + const apiPath = opts.manager.getApiPathFromParent(issuer); + return [{ apiPath, path, module }]; + } else { + const path = process.cwd(); + const apiPath = (_a = opts.manager.findApiPathFor(npath.join(path, `[file]`))) != null ? _a : opts.manager.getApiPathFromParent(null); + return [{ apiPath, path, module }]; + } + } + function makeFakeParent(path) { + const fakeParent = new require$$0.Module(``); + const fakeFilePath = npath.join(path, `[file]`); + fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath); + return fakeParent; + } + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const originalModuleResolveFilename = require$$0.Module._resolveFilename; + require$$0.Module._resolveFilename = function(request, parent, isMain, options) { + if (isBuiltinModule(request)) + return request; + if (!enableNativeHooks) + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options); + if (options && options.plugnplay === false) { + const { plugnplay, ...rest } = options; + const forwardedOptions = Object.keys(rest).length > 0 ? rest : void 0; + try { + enableNativeHooks = false; + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions); + } finally { + enableNativeHooks = true; + } + } + if (options) { + const optionNames = new Set(Object.keys(options)); + optionNames.delete(`paths`); + optionNames.delete(`plugnplay`); + if (optionNames.size > 0) { + throw makeError( + ErrorCode.UNSUPPORTED, + `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})` + ); + } + } + const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent); + if (request.match(pathRegExp) === null) { + const parentDirectory = (parent == null ? void 0 : parent.filename) != null ? npath.dirname(parent.filename) : null; + const absoluteRequest = npath.isAbsolute(request) ? request : parentDirectory !== null ? npath.resolve(parentDirectory, request) : null; + if (absoluteRequest !== null) { + const apiPath = parentDirectory === npath.dirname(absoluteRequest) && (parent == null ? void 0 : parent.pnpApiPath) ? parent.pnpApiPath : opts.manager.findApiPathFor(absoluteRequest); + if (apiPath !== null) { + issuerSpecs.unshift({ + apiPath, + path: parentDirectory, + module: null + }); + } + } + } + let firstError; + for (const { apiPath, path, module } of issuerSpecs) { + let resolution; + const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null; + try { + if (issuerApi !== null) { + resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null); + } else { + if (path === null) + throw new Error(`Assertion failed: Expected the path to be set`); + resolution = originalModuleResolveFilename.call(require$$0.Module, request, module || makeFakeParent(path), isMain); + } + } catch (error) { + firstError = firstError || error; + continue; + } + if (resolution !== null) { + return resolution; + } + } + const requireStack = getRequireStack(parent); + Object.defineProperty(firstError, `requireStack`, { + configurable: true, + writable: true, + enumerable: false, + value: requireStack + }); + if (requireStack.length > 0) + firstError.message += ` +Require stack: +- ${requireStack.join(` +- `)}`; + if (typeof firstError.pnpCode === `string`) + Error.captureStackTrace(firstError); + throw firstError; + }; + const originalFindPath = require$$0.Module._findPath; + require$$0.Module._findPath = function(request, paths, isMain) { + if (request === `pnpapi`) + return false; + if (!enableNativeHooks) + return originalFindPath.call(require$$0.Module, request, paths, isMain); + const isAbsolute = npath.isAbsolute(request); + if (isAbsolute) + paths = [``]; + else if (!paths || paths.length === 0) + return false; + for (const path of paths) { + let resolution; + try { + const pnpApiPath = opts.manager.findApiPathFor(isAbsolute ? request : path); + if (pnpApiPath !== null) { + const api = opts.manager.getApiEntry(pnpApiPath, true).instance; + resolution = api.resolveRequest(request, path) || false; + } else { + resolution = originalFindPath.call(require$$0.Module, request, [path], isMain); + } + } catch (error) { + continue; + } + if (resolution) { + return resolution; + } + } + return false; + }; + const originalExtensionJSFunction = require$$0.Module._extensions[`.js`]; + require$$0.Module._extensions[`.js`] = function(module, filename) { + var _a, _b; + if (filename.endsWith(`.js`)) { + const pkg = readPackageScope(filename); + if (pkg && ((_a = pkg.data) == null ? void 0 : _a.type) === `module`) { + const err = ERR_REQUIRE_ESM(filename, (_b = module.parent) == null ? void 0 : _b.filename); + Error.captureStackTrace(err); + throw err; + } + } + originalExtensionJSFunction.call(this, module, filename); + }; + const originalDlopen = process.dlopen; + process.dlopen = function(...args) { + const [module, filename, ...rest] = args; + return originalDlopen.call( + this, + module, + npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))), + ...rest + ); + }; + const originalEmit = process.emit; + process.emit = function(name, data, ...args) { + if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`))) + return false; + return originalEmit.apply(process, arguments); + }; + patchFs(fs__default.default, new PosixFS(opts.fakeFs)); +} + +function hydrateRuntimeState(data, { basePath }) { + const portablePath = npath.toPortablePath(basePath); + const absolutePortablePath = ppath.resolve(portablePath); + const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null; + const packageLocatorsByLocations = /* @__PURE__ */ new Map(); + const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { + return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { + var _a; + if (packageName === null !== (packageReference === null)) + throw new Error(`Assertion failed: The name and reference should be null, or neither should`); + const discardFromLookup = (_a = packageInformationData.discardFromLookup) != null ? _a : false; + const packageLocator = { name: packageName, reference: packageReference }; + const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation); + if (!entry) { + packageLocatorsByLocations.set(packageInformationData.packageLocation, { locator: packageLocator, discardFromLookup }); + } else { + entry.discardFromLookup = entry.discardFromLookup && discardFromLookup; + if (!discardFromLookup) { + entry.locator = packageLocator; + } + } + let resolvedPackageLocation = null; + return [packageReference, { + packageDependencies: new Map(packageInformationData.packageDependencies), + packagePeers: new Set(packageInformationData.packagePeers), + linkType: packageInformationData.linkType, + discardFromLookup, + get packageLocation() { + return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation)); + } + }]; + }))]; + })); + const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => { + return [packageName, new Set(packageReferences)]; + })); + const fallbackPool = new Map(data.fallbackPool); + const dependencyTreeRoots = data.dependencyTreeRoots; + const enableTopLevelFallback = data.enableTopLevelFallback; + return { + basePath: portablePath, + dependencyTreeRoots, + enableTopLevelFallback, + fallbackExclusionList, + fallbackPool, + ignorePattern, + packageLocatorsByLocations, + packageRegistry + }; +} + +/** + * @param {object} exports + * @param {Set} keys + */ +function loop(exports, keys) { + if (typeof exports === 'string') { + return exports; + } + + if (exports) { + let idx, tmp; + if (Array.isArray(exports)) { + for (idx=0; idx < exports.length; idx++) { + if (tmp = loop(exports[idx], keys)) return tmp; + } + } else { + for (idx in exports) { + if (keys.has(idx)) { + return loop(exports[idx], keys); + } + } + } + } +} + +/** + * @param {string} name The package name + * @param {string} entry The target entry, eg "." + * @param {number} [condition] Unmatched condition? + */ +function bail(name, entry, condition) { + throw new Error( + condition + ? `No known conditions for "${entry}" entry in "${name}" package` + : `Missing "${entry}" export in "${name}" package` + ); +} + +/** + * @param {string} name the package name + * @param {string} entry the target path/import + */ +function toName(name, entry) { + return entry === name ? '.' + : entry[0] === '.' ? entry + : entry.replace(new RegExp('^' + name + '\/'), './'); +} + +/** + * @param {object} pkg package.json contents + * @param {string} [entry] entry name or import path + * @param {object} [options] + * @param {boolean} [options.browser] + * @param {boolean} [options.require] + * @param {string[]} [options.conditions] + * @param {boolean} [options.unsafe] + */ +function resolve(pkg, entry='.', options={}) { + let { name, exports } = pkg; + + if (exports) { + let { browser, require, unsafe, conditions=[] } = options; + + let target = toName(name, entry); + if (target[0] !== '.') target = './' + target; + + if (typeof exports === 'string') { + return target === '.' ? exports : bail(name, target); + } + + let allows = new Set(['default', ...conditions]); + unsafe || allows.add(require ? 'require' : 'import'); + unsafe || allows.add(browser ? 'browser' : 'node'); + + let key, tmp, isSingle=false; + + for (key in exports) { + isSingle = key[0] !== '.'; + break; + } + + if (isSingle) { + return target === '.' + ? loop(exports, allows) || bail(name, target, 1) + : bail(name, target); + } + + if (tmp = exports[target]) { + return loop(tmp, allows) || bail(name, target, 1); + } + + for (key in exports) { + tmp = key[key.length - 1]; + if (tmp === '/' && target.startsWith(key)) { + return (tmp = loop(exports[key], allows)) + ? (tmp + target.substring(key.length)) + : bail(name, target, 1); + } + if (tmp === '*' && target.startsWith(key.slice(0, -1))) { + // do not trigger if no *content* to inject + if (target.substring(key.length - 1).length > 0) { + return (tmp = loop(exports[key], allows)) + ? tmp.replace('*', target.substring(key.length - 1)) + : bail(name, target, 1); + } + } + } + + return bail(name, target); + } +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const JSONParse = JSON.parse; + +function createErrorType(code, messageCreator, errorType) { + return class extends errorType { + constructor(...args) { + super(messageCreator(...args)); + this.code = code; + this.name = `${errorType.name} [${code}]`; + } + }; +} +const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( + `ERR_PACKAGE_IMPORT_NOT_DEFINED`, + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; + }, + TypeError +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const ERR_INVALID_PACKAGE_TARGET = createErrorType( + `ERR_INVALID_PACKAGE_TARGET`, + (pkgPath, key, target, isImport = false, base = void 0) => { + const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); + if (key === `.`) { + assert__default.default(isImport === false); + return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + } + return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( + target + )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + }, + Error +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); + +function filterOwnProperties(source, keys) { + const filtered = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (ObjectPrototypeHasOwnProperty(source, key)) { + filtered[key] = source[key]; + } + } + return filtered; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; + if (typeof imports !== "object" || imports === null) { + imports = void 0; + } + if (typeof main !== "string") { + main = void 0; + } + if (typeof name !== "string") { + name = void 0; + } + if (type !== "module" && type !== "commonjs") { + type = "none"; + } + const packageConfig = { + pjsonPath: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, packageConfig); + return packageConfig; +} +function getPackageScopeConfig(resolved, readFileSyncFn) { + let packageJSONUrl = new URL("./package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { + break; + } + const packageConfig2 = getPackageConfig( + url.fileURLToPath(packageJSONUrl), + resolved, + void 0, + readFileSyncFn + ); + if (packageConfig2.exists) { + return packageConfig2; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = url.fileURLToPath(packageJSONUrl); + const packageConfig = { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(packageJSONPath, packageConfig); + return packageConfig; +} + +/** + @license + Copyright Node.js contributors. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +function throwImportNotDefined(specifier, packageJSONUrl, base) { + throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)), + url.fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && url.fileURLToPath(base) + ); +} +function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { + if (typeof target === "object" && target !== null) { + target = JSONStringify(target, null, ""); + } else { + target = `${target}`; + } + throw new ERR_INVALID_PACKAGE_TARGET( + url.fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && url.fileURLToPath(base) + ); +} +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const patternRegEx = /\*/g; +function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (!StringPrototypeStartsWith(target, "./")) { + if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { + let isURL = false; + try { + new URL(target); + isURL = true; + } catch { + } + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; + return exportTarget; + } + } + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + } + if (RegExpPrototypeExec( + invalidSegmentRegEx, + StringPrototypeSlice(target, 2) + ) !== null) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + const resolved = new URL(target, packageJSONUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL(".", packageJSONUrl).pathname; + if (!StringPrototypeStartsWith(resolvedPath, packagePath)) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (subpath === "") + return resolved; + if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { + const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; + throwInvalidSubpath(request, packageJSONUrl, internal, base); + } + if (pattern) { + return new URL( + RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) + ); + } + return new URL(subpath, resolved); +} +function isArrayIndex(key) { + const keyNum = +key; + if (`${keyNum}` !== key) + return false; + return keyNum >= 0 && keyNum < 4294967295; +} +function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJSONUrl, + base, + pattern, + internal); + } else if (ArrayIsArray(target)) { + if (target.length === 0) { + return null; + } + let lastException; + for (let i = 0; i < target.length; i++) { + const targetItem = target[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJSONUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + } catch (e) { + lastException = e; + if (e.code === "ERR_INVALID_PACKAGE_TARGET") { + continue; + } + throw e; + } + if (resolveResult === void 0) { + continue; + } + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) + return lastException; + throw lastException; + } else if (typeof target === "object" && target !== null) { + const keys = ObjectGetOwnPropertyNames(target); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG( + url.fileURLToPath(packageJSONUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === "default" || conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + if (resolveResult === void 0) + continue; + return resolveResult; + } + } + return void 0; + } else if (target === null) { + return null; + } + throwInvalidPackageTarget( + packageSubpath, + target, + packageJSONUrl, + internal, + base + ); +} +function patternKeyCompare(a, b) { + const aPatternIndex = StringPrototypeIndexOf(a, "*"); + const bPatternIndex = StringPrototypeIndexOf(b, "*"); + const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) + return -1; + if (baseLenB > baseLenA) + return 1; + if (aPatternIndex === -1) + return 1; + if (bPatternIndex === -1) + return -1; + if (a.length > b.length) + return -1; + if (b.length > a.length) + return 1; + return 0; +} +function packageImportsResolve({ + name, + base, + conditions, + readFileSyncFn +}) { + if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { + const resolveResult = resolvePackageTarget( + packageJSONUrl, + imports[name], + "", + name, + base, + false, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(imports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + name, + StringPrototypeSlice(key, 0, patternIndex) + )) { + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + name, + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } + } + } + } + throwImportNotDefined(name, packageJSONUrl, base); +} + +function makeApi(runtimeState, opts) { + const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; + const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/; + const isDirRegExp = /\/$/; + const isRelativeRegexp = /^\.{0,2}\//; + const topLevelLocator = { name: null, reference: null }; + const fallbackLocators = []; + const emittedWarnings = /* @__PURE__ */ new Set(); + if (runtimeState.enableTopLevelFallback === true) + fallbackLocators.push(topLevelLocator); + if (opts.compatibilityMode !== false) { + for (const name of [`react-scripts`, `gatsby`]) { + const packageStore = runtimeState.packageRegistry.get(name); + if (packageStore) { + for (const reference of packageStore.keys()) { + if (reference === null) { + throw new Error(`Assertion failed: This reference shouldn't be null`); + } else { + fallbackLocators.push({ name, reference }); + } + } + } + } + } + const { + ignorePattern, + packageRegistry, + packageLocatorsByLocations + } = runtimeState; + function makeLogEntry(name, args) { + return { + fn: name, + args, + error: null, + result: null + }; + } + function trace(entry) { + var _a, _b, _c, _d, _e, _f; + const colors = (_c = (_b = (_a = process.stderr) == null ? void 0 : _a.hasColors) == null ? void 0 : _b.call(_a)) != null ? _c : process.stdout.isTTY; + const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`; + const error = entry.error; + if (error) + console.error(c(`31;1`, `\u2716 ${(_d = entry.error) == null ? void 0 : _d.message.replace(/\n.*/s, ``)}`)); + else + console.error(c(`33;1`, `\u203C Resolution`)); + if (entry.args.length > 0) + console.error(); + for (const arg of entry.args) + console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { colors, compact: true })}`); + if (entry.result) { + console.error(); + console.error(` ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`); + } + const stack = (_f = (_e = new Error().stack.match(/(?<=^ +)at.*/gm)) == null ? void 0 : _e.slice(2)) != null ? _f : []; + if (stack.length > 0) { + console.error(); + for (const line of stack) { + console.error(` ${c(`38;5;244`, line)}`); + } + } + console.error(); + } + function maybeLog(name, fn) { + if (opts.allowDebug === false) + return fn; + if (Number.isFinite(debugLevel)) { + if (debugLevel >= 2) { + return (...args) => { + const logEntry = makeLogEntry(name, args); + try { + return logEntry.result = fn(...args); + } catch (error) { + throw logEntry.error = error; + } finally { + trace(logEntry); + } + }; + } else if (debugLevel >= 1) { + return (...args) => { + try { + return fn(...args); + } catch (error) { + const logEntry = makeLogEntry(name, args); + logEntry.error = error; + trace(logEntry); + throw error; + } + }; + } + } + return fn; + } + function getPackageInformationSafe(packageLocator) { + const packageInformation = getPackageInformation(packageLocator); + if (!packageInformation) { + throw makeError( + ErrorCode.INTERNAL, + `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)` + ); + } + return packageInformation; + } + function isDependencyTreeRoot(packageLocator) { + if (packageLocator.name === null) + return true; + for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) + if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) + return true; + return false; + } + const defaultExportsConditions = /* @__PURE__ */ new Set([`default`, `node`, `require`]); + function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions) { + const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { + resolveIgnored: true, + includeDiscardFromLookup: true + }); + if (locator === null) { + throw makeError( + ErrorCode.INTERNAL, + `The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)` + ); + } + const { packageLocation } = getPackageInformationSafe(locator); + const manifestPath = ppath.join(packageLocation, Filename.manifest); + if (!opts.fakeFs.existsSync(manifestPath)) + return null; + const pkgJson = JSON.parse(opts.fakeFs.readFileSync(manifestPath, `utf8`)); + let subpath = ppath.contains(packageLocation, unqualifiedPath); + if (subpath === null) { + throw makeError( + ErrorCode.INTERNAL, + `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)` + ); + } + if (!isRelativeRegexp.test(subpath)) + subpath = `./${subpath}`; + let resolvedExport; + try { + resolvedExport = resolve(pkgJson, ppath.normalize(subpath), { + conditions, + unsafe: true + }); + } catch (error) { + throw makeError( + ErrorCode.EXPORTS_RESOLUTION_FAILED, + error.message, + { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions }, + `ERR_PACKAGE_PATH_NOT_EXPORTED` + ); + } + if (typeof resolvedExport === `string`) + return ppath.join(packageLocation, resolvedExport); + return null; + } + function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) { + let stat; + try { + candidates.push(unqualifiedPath); + stat = opts.fakeFs.statSync(unqualifiedPath); + } catch (error) { + } + if (stat && !stat.isDirectory()) + return opts.fakeFs.realpathSync(unqualifiedPath); + if (stat && stat.isDirectory()) { + let pkgJson; + try { + pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`)); + } catch (error) { + } + let nextUnqualifiedPath; + if (pkgJson && pkgJson.main) + nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main); + if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { + const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions }); + if (resolution !== null) { + return resolution; + } + } + } + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = `${unqualifiedPath}${extensions[i]}`; + candidates.push(candidateFile); + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + if (stat && stat.isDirectory()) { + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = ppath.format({ dir: unqualifiedPath, name: `index`, ext: extensions[i] }); + candidates.push(candidateFile); + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + } + return null; + } + function makeFakeModule(path) { + const fakeModule = new require$$0.Module(path, null); + fakeModule.filename = path; + fakeModule.paths = require$$0.Module._nodeModulePaths(path); + return fakeModule; + } + function callNativeResolution(request, issuer) { + if (issuer.endsWith(`/`)) + issuer = ppath.join(issuer, `internal.js`); + return require$$0.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false }); + } + function isPathIgnored(path) { + if (ignorePattern === null) + return false; + const subPath = ppath.contains(runtimeState.basePath, path); + if (subPath === null) + return false; + if (ignorePattern.test(subPath.replace(/\/$/, ``))) { + return true; + } else { + return false; + } + } + const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 }; + const topLevel = topLevelLocator; + function getPackageInformation({ name, reference }) { + const packageInformationStore = packageRegistry.get(name); + if (!packageInformationStore) + return null; + const packageInformation = packageInformationStore.get(reference); + if (!packageInformation) + return null; + return packageInformation; + } + function findPackageDependents({ name, reference }) { + const dependents = []; + for (const [dependentName, packageInformationStore] of packageRegistry) { + if (dependentName === null) + continue; + for (const [dependentReference, packageInformation] of packageInformationStore) { + if (dependentReference === null) + continue; + const dependencyReference = packageInformation.packageDependencies.get(name); + if (dependencyReference !== reference) + continue; + if (dependentName === name && dependentReference === reference) + continue; + dependents.push({ + name: dependentName, + reference: dependentReference + }); + } + } + return dependents; + } + function findBrokenPeerDependencies(dependency, initialPackage) { + const brokenPackages = /* @__PURE__ */ new Map(); + const alreadyVisited = /* @__PURE__ */ new Set(); + const traversal = (currentPackage) => { + const identifier = JSON.stringify(currentPackage.name); + if (alreadyVisited.has(identifier)) + return; + alreadyVisited.add(identifier); + const dependents = findPackageDependents(currentPackage); + for (const dependent of dependents) { + const dependentInformation = getPackageInformationSafe(dependent); + if (dependentInformation.packagePeers.has(dependency)) { + traversal(dependent); + } else { + let brokenSet = brokenPackages.get(dependent.name); + if (typeof brokenSet === `undefined`) + brokenPackages.set(dependent.name, brokenSet = /* @__PURE__ */ new Set()); + brokenSet.add(dependent.reference); + } + } + }; + traversal(initialPackage); + const brokenList = []; + for (const name of [...brokenPackages.keys()].sort()) + for (const reference of [...brokenPackages.get(name)].sort()) + brokenList.push({ name, reference }); + return brokenList; + } + function findPackageLocator(location, { resolveIgnored = false, includeDiscardFromLookup = false } = {}) { + if (isPathIgnored(location) && !resolveIgnored) + return null; + let relativeLocation = ppath.relative(runtimeState.basePath, location); + if (!relativeLocation.match(isStrictRegExp)) + relativeLocation = `./${relativeLocation}`; + if (!relativeLocation.endsWith(`/`)) + relativeLocation = `${relativeLocation}/`; + do { + const entry = packageLocatorsByLocations.get(relativeLocation); + if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) { + relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1); + continue; + } + return entry.locator; + } while (relativeLocation !== ``); + return null; + } + function tryReadFile(filePath) { + try { + return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } + } + function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) { + if (request.startsWith(`#`)) + throw new Error(`resolveToUnqualified can not handle private import mappings`); + if (request === `pnpapi`) + return npath.toPortablePath(opts.pnpapiResolution); + if (considerBuiltins && isBuiltinModule(request)) + return null; + const requestForDisplay = getPathForDisplay(request); + const issuerForDisplay = issuer && getPathForDisplay(issuer); + if (issuer && isPathIgnored(issuer)) { + if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw makeError( + ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, + `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + } + let unqualifiedPath; + const dependencyNameMatch = request.match(pathRegExp); + if (!dependencyNameMatch) { + if (ppath.isAbsolute(request)) { + unqualifiedPath = ppath.normalize(request); + } else { + if (!issuer) { + throw makeError( + ErrorCode.API_ERROR, + `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + const absoluteIssuer = ppath.resolve(issuer); + if (issuer.match(isDirRegExp)) { + unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request)); + } else { + unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request)); + } + } + } else { + if (!issuer) { + throw makeError( + ErrorCode.API_ERROR, + `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + const [, dependencyName, subPath] = dependencyNameMatch; + const issuerLocator = findPackageLocator(issuer); + if (!issuerLocator) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw makeError( + ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, + `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + const issuerInformation = getPackageInformationSafe(issuerLocator); + let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); + let fallbackReference = null; + if (dependencyReference == null) { + if (issuerLocator.name !== null) { + const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name); + const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference); + if (canUseFallbacks) { + for (let t = 0, T = fallbackLocators.length; t < T; ++t) { + const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]); + const reference = fallbackInformation.packageDependencies.get(dependencyName); + if (reference == null) + continue; + if (alwaysWarnOnFallback) + fallbackReference = reference; + else + dependencyReference = reference; + break; + } + if (runtimeState.enableTopLevelFallback) { + if (dependencyReference == null && fallbackReference === null) { + const reference = runtimeState.fallbackPool.get(dependencyName); + if (reference != null) { + fallbackReference = reference; + } + } + } + } + } + } + let error = null; + if (dependencyReference === null) { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); + if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } else { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) + +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } + } + } else if (dependencyReference === void 0) { + if (!considerBuiltins && isBuiltinModule(request)) { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } + ); + } + } else { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } + ); + } + } + } + if (dependencyReference == null) { + if (fallbackReference === null || error === null) + throw error || new Error(`Assertion failed: Expected an error to have been set`); + dependencyReference = fallbackReference; + const message = error.message.replace(/\n.*/g, ``); + error.message = message; + if (!emittedWarnings.has(message) && debugLevel !== 0) { + emittedWarnings.add(message); + process.emitWarning(error); + } + } + const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference }; + const dependencyInformation = getPackageInformationSafe(dependencyLocator); + if (!dependencyInformation.packageLocation) { + throw makeError( + ErrorCode.MISSING_DEPENDENCY, + `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) } + ); + } + const dependencyLocation = dependencyInformation.packageLocation; + if (subPath) { + unqualifiedPath = ppath.join(dependencyLocation, subPath); + } else { + unqualifiedPath = dependencyLocation; + } + } + return ppath.normalize(unqualifiedPath); + } + function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions) { + if (isStrictRegExp.test(request)) + return unqualifiedPath; + const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions); + if (unqualifiedExportPath) { + return ppath.normalize(unqualifiedExportPath); + } else { + return unqualifiedPath; + } + } + function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(require$$0.Module._extensions) } = {}) { + var _a, _b; + const candidates = []; + const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }); + if (qualifiedPath) { + return ppath.normalize(qualifiedPath); + } else { + const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); + const containingPackage = findPackageLocator(unqualifiedPath); + if (containingPackage) { + const { packageLocation } = getPackageInformationSafe(containingPackage); + let exists = true; + try { + opts.fakeFs.accessSync(packageLocation); + } catch (err) { + if ((err == null ? void 0 : err.code) === `ENOENT`) { + exists = false; + } else { + const readableError = ((_b = (_a = err == null ? void 0 : err.message) != null ? _a : err) != null ? _b : `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase()); + throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}). + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, { unqualifiedPath: unqualifiedPathForDisplay, extensions }); + } + } + if (!exists) { + const errorMessage = packageLocation.includes(`/unplugged/`) ? `Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).` : `Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.`; + throw makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `${errorMessage} + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + throw makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${unqualifiedPathForDisplay} +${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)} +`).join(``)}`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + function resolvePrivateRequest(request, issuer, opts2) { + var _a; + if (!issuer) + throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`); + const resolved = packageImportsResolve({ + name: request, + base: url.pathToFileURL(npath.fromPortablePath(issuer)), + conditions: (_a = opts2.conditions) != null ? _a : defaultExportsConditions, + readFileSyncFn: tryReadFile + }); + if (resolved instanceof URL) { + return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions }); + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolveRequest(resolved, issuer, opts2); + } + } + function resolveRequest(request, issuer, opts2 = {}) { + try { + if (request.startsWith(`#`)) + return resolvePrivateRequest(request, issuer, opts2); + const { considerBuiltins, extensions, conditions } = opts2; + const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins }); + if (request === `pnpapi`) + return unqualifiedPath; + if (unqualifiedPath === null) + return null; + const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false; + const remappedPath = (!considerBuiltins || !isBuiltinModule(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions) : unqualifiedPath; + return resolveUnqualified(remappedPath, { extensions }); + } catch (error) { + if (Object.prototype.hasOwnProperty.call(error, `pnpCode`)) + Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) }); + throw error; + } + } + function resolveVirtual(request) { + const normalized = ppath.normalize(request); + const resolved = VirtualFS.resolveVirtual(normalized); + return resolved !== normalized ? resolved : null; + } + return { + VERSIONS, + topLevel, + getLocator: (name, referencish) => { + if (Array.isArray(referencish)) { + return { name: referencish[0], reference: referencish[1] }; + } else { + return { name, reference: referencish }; + } + }, + getDependencyTreeRoots: () => { + return [...runtimeState.dependencyTreeRoots]; + }, + getAllLocators() { + const locators = []; + for (const [name, entry] of packageRegistry) + for (const reference of entry.keys()) + if (name !== null && reference !== null) + locators.push({ name, reference }); + return locators; + }, + getPackageInformation: (locator) => { + const info = getPackageInformation(locator); + if (info === null) + return null; + const packageLocation = npath.fromPortablePath(info.packageLocation); + const nativeInfo = { ...info, packageLocation }; + return nativeInfo; + }, + findPackageLocator: (path) => { + return findPackageLocator(npath.toPortablePath(path)); + }, + resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2); + if (resolution === null) + return null; + return npath.fromPortablePath(resolution); + }), + resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => { + return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2)); + }), + resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2); + if (resolution === null) + return null; + return npath.fromPortablePath(resolution); + }), + resolveVirtual: maybeLog(`resolveVirtual`, (path) => { + const result = resolveVirtual(npath.toPortablePath(path)); + if (result !== null) { + return npath.fromPortablePath(result); + } else { + return null; + } + }) + }; +} + +function makeManager(pnpapi, opts) { + const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); + const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); + const apiMetadata = /* @__PURE__ */ new Map([ + [initialApiPath, { + cache: require$$0.Module._cache, + instance: pnpapi, + stats: initialApiStats, + lastRefreshCheck: Date.now() + }] + ]); + function loadApiInstance(pnpApiPath) { + const nativePath = npath.fromPortablePath(pnpApiPath); + const module = new require$$0.Module(nativePath, null); + module.load(nativePath); + return module.exports; + } + function refreshApiEntry(pnpApiPath, apiEntry) { + const timeNow = Date.now(); + if (timeNow - apiEntry.lastRefreshCheck < 500) + return; + apiEntry.lastRefreshCheck = timeNow; + const stats = opts.fakeFs.statSync(pnpApiPath); + if (stats.mtime > apiEntry.stats.mtime) { + process.emitWarning(`[Warning] The runtime detected new informations in a PnP file; reloading the API instance (${npath.fromPortablePath(pnpApiPath)})`); + apiEntry.stats = stats; + apiEntry.instance = loadApiInstance(pnpApiPath); + } + } + function getApiEntry(pnpApiPath, refresh = false) { + let apiEntry = apiMetadata.get(pnpApiPath); + if (typeof apiEntry !== `undefined`) { + if (refresh) { + refreshApiEntry(pnpApiPath, apiEntry); + } + } else { + apiMetadata.set(pnpApiPath, apiEntry = { + cache: {}, + instance: loadApiInstance(pnpApiPath), + stats: opts.fakeFs.statSync(pnpApiPath), + lastRefreshCheck: Date.now() + }); + } + return apiEntry; + } + const findApiPathCache = /* @__PURE__ */ new Map(); + function addToCacheAndReturn(start, end, target) { + if (target !== null) + target = VirtualFS.resolveVirtual(target); + let curr; + let next = start; + do { + curr = next; + findApiPathCache.set(curr, target); + next = ppath.dirname(curr); + } while (curr !== end); + return target; + } + function findApiPathFor(modulePath) { + let bestCandidate = null; + for (const [apiPath, apiEntry] of apiMetadata) { + const locator = apiEntry.instance.findPackageLocator(modulePath); + if (!locator) + continue; + if (apiMetadata.size === 1) + return apiPath; + const packageInformation = apiEntry.instance.getPackageInformation(locator); + if (!packageInformation) + throw new Error(`Assertion failed: Couldn't get package information for '${modulePath}'`); + if (!bestCandidate) + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [] }; + if (packageInformation.packageLocation === bestCandidate.packageLocation) { + bestCandidate.apiPaths.push(apiPath); + } else if (packageInformation.packageLocation.length > bestCandidate.packageLocation.length) { + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [apiPath] }; + } + } + if (bestCandidate) { + if (bestCandidate.apiPaths.length === 1) + return bestCandidate.apiPaths[0]; + const controlSegment = bestCandidate.apiPaths.map((apiPath) => ` ${npath.fromPortablePath(apiPath)}`).join(` +`); + throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances. +This is usually caused by using the global cache (enableGlobalCache: true) + +Controlled by: +${controlSegment} +`); + } + const start = ppath.resolve(npath.toPortablePath(modulePath)); + let curr; + let next = start; + do { + curr = next; + const cached = findApiPathCache.get(curr); + if (cached !== void 0) + return addToCacheAndReturn(start, curr, cached); + const cjsCandidate = ppath.join(curr, Filename.pnpCjs); + if (opts.fakeFs.existsSync(cjsCandidate) && opts.fakeFs.statSync(cjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, cjsCandidate); + const legacyCjsCandidate = ppath.join(curr, Filename.pnpJs); + if (opts.fakeFs.existsSync(legacyCjsCandidate) && opts.fakeFs.statSync(legacyCjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, legacyCjsCandidate); + next = ppath.dirname(curr); + } while (curr !== PortablePath.root); + return addToCacheAndReturn(start, curr, null); + } + function getApiPathFromParent(parent) { + if (parent == null) + return initialApiPath; + if (typeof parent.pnpApiPath === `undefined`) { + if (parent.filename !== null) { + return parent.pnpApiPath = findApiPathFor(parent.filename); + } else { + return initialApiPath; + } + } + if (parent.pnpApiPath !== null) + return parent.pnpApiPath; + return null; + } + return { + getApiPathFromParent, + findApiPathFor, + getApiEntry + }; +} + +const localFs = { ...fs__default.default }; +const nodeFs = new NodeFS(localFs); +const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); +const defaultPnpapiResolution = __filename; +const defaultFsLayer = new VirtualFS({ + baseFs: new ZipOpenFS({ + baseFs: nodeFs, + libzip: () => getLibzipSync(), + maxOpenFiles: 80, + readOnlyArchives: true + }) +}); +class DynamicFS extends ProxiedFS { + constructor() { + super(ppath); + this.baseFs = defaultFsLayer; + } + mapToBase(p) { + return p; + } + mapFromBase(p) { + return p; + } +} +const dynamicFsLayer = new DynamicFS(); +let manager; +const defaultApi = Object.assign(makeApi(defaultRuntimeState, { + fakeFs: dynamicFsLayer, + pnpapiResolution: defaultPnpapiResolution +}), { + makeApi: ({ + basePath = void 0, + fakeFs = dynamicFsLayer, + pnpapiResolution = defaultPnpapiResolution, + ...rest + }) => { + const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; + return makeApi(apiRuntimeState, { + fakeFs, + pnpapiResolution, + ...rest + }); + }, + setup: (api) => { + applyPatch(api || defaultApi, { + fakeFs: defaultFsLayer, + manager + }); + dynamicFsLayer.baseFs = new NodeFS(fs__default.default); + } +}); +manager = makeManager(defaultApi, { + fakeFs: dynamicFsLayer +}); +if (module.parent && module.parent.id === `internal/preload`) { + defaultApi.setup(); + if (module.filename) { + delete require$$0__default.default._cache[module.filename]; + } +} +if (process.mainModule === module) { + const reportError = (code, message, data) => { + process.stdout.write(`${JSON.stringify([{ code, message, data }, null])} +`); + }; + const reportSuccess = (resolution) => { + process.stdout.write(`${JSON.stringify([null, resolution])} +`); + }; + const processResolution = (request, issuer) => { + try { + reportSuccess(defaultApi.resolveRequest(request, issuer)); + } catch (error) { + reportError(error.code, error.message, error.data); + } + }; + const processRequest = (data) => { + try { + const [request, issuer] = JSON.parse(data); + processResolution(request, issuer); + } catch (error) { + reportError(`INVALID_JSON`, error.message, error.data); + } + }; + if (process.argv.length > 2) { + if (process.argv.length !== 4) { + process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} +`); + process.exitCode = 64; + } else { + processResolution(process.argv[2], process.argv[3]); + } + } else { + let buffer = ``; + const decoder = new StringDecoder__default.default.StringDecoder(); + process.stdin.on(`data`, (chunk) => { + buffer += decoder.write(chunk); + do { + const index = buffer.indexOf(` +`); + if (index === -1) + break; + const line = buffer.slice(0, index); + buffer = buffer.slice(index + 1); + processRequest(line); + } while (true); + }); + } +} + +module.exports = defaultApi; diff --git a/melting-pot-vue/.pnp.loader.mjs b/melting-pot-vue/.pnp.loader.mjs new file mode 100644 index 0000000..dbd09dd --- /dev/null +++ b/melting-pot-vue/.pnp.loader.mjs @@ -0,0 +1,2040 @@ +import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url'; +import fs from 'fs'; +import path from 'path'; +import moduleExports, { Module } from 'module'; +import { EOL } from 'os'; +import assert from 'assert'; + +const SAFE_TIME = 456789e3; + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const npath = Object.create(path); +const ppath = Object.create(path.posix); +npath.cwd = () => process.cwd(); +ppath.cwd = () => toPortablePath(process.cwd()); +ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path.posix.resolve(...segments); + } else { + return path.posix.resolve(ppath.cwd(), ...segments); + } +}; +const contains = function(pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) + return `.`; + if (!from.endsWith(pathUtils.sep)) + from = from + pathUtils.sep; + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +npath.contains = (from, to) => contains(npath, from, to); +ppath.contains = (from, to) => contains(ppath, from, to); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; +function fromPortablePath(p) { + if (process.platform !== `win32`) + return p; + let portablePathMatch, uncPortablePathMatch; + if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) + p = portablePathMatch[1]; + else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) + p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; + else + return p; + return p.replace(/\//g, `\\`); +} +function toPortablePath(p) { + if (process.platform !== `win32`) + return p; + p = p.replace(/\\/g, `/`); + let windowsPathMatch, uncWindowsPathMatch; + if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) + p = `/${windowsPathMatch[1]}`; + else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) + p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; + return p; +} +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const prelayout = []; + const postlayout = []; + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); + const updateTime = typeof destinationFs.lutimesPromise === `function` ? destinationFs.lutimesPromise.bind(destinationFs) : destinationFs.utimesPromise.bind(destinationFs); + await copyImpl(prelayout, postlayout, updateTime, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); + for (const operation of prelayout) + await operation(); + await Promise.all(postlayout.map((operation) => { + return operation(); + })); +} +async function copyImpl(prelayout, postlayout, updateTime, destinationFs, destination, sourceFs, source, opts) { + var _a, _b; + const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; + const sourceStat = await sourceFs.lstatPromise(source); + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; + let updated; + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + default: + { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + } + if (updated || ((_a = destinationStat == null ? void 0 : destinationStat.mtime) == null ? void 0 : _a.getTime()) !== mtime.getTime() || ((_b = destinationStat == null ? void 0 : destinationStat.atime) == null ? void 0 : _b.getTime()) !== atime.getTime()) { + postlayout.push(() => updateTime(destination, atime, mtime)); + updated = true; + } + if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); + updated = true; + } + return updated; +} +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} +async function copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + let updated = false; + if (destinationStat === null) { + prelayout.push(async () => { + try { + await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); + } catch (err) { + if (err.code !== `EEXIST`) { + throw err; + } + } + }); + updated = true; + } + const entries = await sourceFs.readdirPromise(source); + const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { + await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); + })); + if (entriesUpdateStatus.some((status) => status)) { + updated = true; + } + } + return updated; +} +const isCloneSupportedCache = /* @__PURE__ */ new WeakMap(); +function makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + return async () => { + await opFs.linkPromise(source, destination); + if (linkStrategy === "readOnly" /* ReadOnly */) { + sourceStat.mode &= ~146; + await opFs.chmodPromise(destination, sourceStat.mode); + } + }; +} +function makeCloneLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + const isCloneSupported = isCloneSupportedCache.get(opFs); + if (typeof isCloneSupported === `undefined`) { + return async () => { + try { + await opFs.copyFilePromise(source, destination, fs.constants.COPYFILE_FICLONE_FORCE); + isCloneSupportedCache.set(opFs, true); + } catch (err) { + if (err.code === `ENOSYS` || err.code === `ENOTSUP`) { + isCloneSupportedCache.set(opFs, false); + await makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy)(); + } else { + throw err; + } + } + }; + } else { + if (isCloneSupported) { + return async () => opFs.copyFilePromise(source, destination, fs.constants.COPYFILE_FICLONE_FORCE); + } else { + return makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy); + } + } +} +async function copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + var _a; + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + const linkStrategy = (_a = opts.linkStrategy) != null ? _a : null; + const op = destinationFs === sourceFs ? linkStrategy !== null ? makeCloneLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.copyFilePromise(source, destination, fs.constants.COPYFILE_FICLONE) : linkStrategy !== null ? makeLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.writeFilePromise(destination, await sourceFs.readFilePromise(source)); + prelayout.push(async () => op()); + return true; +} +async function copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +function makeError(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { code }); +} +function ENOSYS(message, reason) { + return makeError(`ENOSYS`, `${message}, ${reason}`); +} + +class FakeFS { + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + async *genTraversePromise(init, { stableSort = false } = {}) { + const stack = [init]; + while (stack.length > 0) { + const p = stack.shift(); + const entry = await this.lstatPromise(p); + if (entry.isDirectory()) { + const entries = await this.readdirPromise(p); + if (stableSort) { + for (const entry2 of entries.sort()) { + stack.push(this.pathUtils.join(p, entry2)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { + let stat; + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) { + const entries = await this.readdirPromise(p); + await Promise.all(entries.map((entry) => { + return this.removePromise(this.pathUtils.resolve(p, entry)); + })); + } + for (let t = 0; t <= maxRetries; t++) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { + throw error; + } else if (t < maxRetries) { + await new Promise((resolve) => setTimeout(resolve, t * 100)); + } + } + } + } else { + await this.unlinkPromise(p); + } + } + removeSync(p, { recursive = true } = {}) { + let stat; + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) + for (const entry of this.readdirSync(p)) + this.removeSync(this.pathUtils.resolve(p, entry)); + this.rmdirSync(p); + } else { + this.unlinkSync(p); + } + } + async mkdirpPromise(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory != null ? createdDirectory : createdDirectory = subPath; + if (chmod != null) + await this.chmodPromise(subPath, chmod); + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + mkdirpSync(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory != null ? createdDirectory : createdDirectory = subPath; + if (chmod != null) + this.chmodSync(subPath, chmod); + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { + return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); + } + copySync(destination, source, { baseFs = this, overwrite = true } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync(convertPath(this.pathUtils, target), destination); + } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); + } + const mode = stat.mode & 511; + this.chmodSync(destination, mode); + } + async changeFilePromise(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferPromise(p, content, opts); + } else { + return this.changeFileTextPromise(p, content, opts); + } + } + async changeFileBufferPromise(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = await this.readFilePromise(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + await this.writeFilePromise(p, content, { mode }); + } + async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { + let current = ``; + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + await this.writeFilePromise(p, normalizedContent, { mode }); + } + changeFileSync(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferSync(p, content, opts); + } else { + return this.changeFileTextSync(p, content, opts); + } + } + changeFileBufferSync(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = this.readFileSync(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + this.writeFileSync(p, content, { mode }); + } + changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { + let current = ``; + try { + current = this.readFileSync(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + this.writeFileSync(p, normalizedContent, { mode }); + } + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; + } + } + } + moveSync(fromP, toP) { + try { + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; + } + } + } + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1e3 / 60; + const startTime = Date.now(); + let fd = null; + const isAlive = async () => { + let pid; + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + return Date.now() - startTime < 500; + } + try { + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!await isAlive()) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error2) { + } + } + if (Date.now() - startTime < 60 * 1e3) { + await new Promise((resolve) => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } + } + await this.writePromise(fd, JSON.stringify([process.pid])); + try { + return await callback(); + } finally { + try { + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) { + } + } + } + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + async writeJsonPromise(p, data) { + return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)} +`); + } + writeJsonSync(p, data) { + return this.writeFileSync(p, `${JSON.stringify(data, null, 2)} +`); + } + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) + p = result; + if (this.lutimesPromise) { + await this.lutimesPromise(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + await this.utimesPromise(p, stat.atime, stat.mtime); + } + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + if (this.lutimesSync) { + this.lutimesSync(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + this.utimesSync(p, stat.atime, stat.mtime); + } + } +} +class BasePortableFakeFS extends FakeFS { + constructor() { + super(ppath); + } +} +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) + return EOL; + const crlf = matches.filter((nl) => nl === `\r +`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r +` : ` +`; +} +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +class NodeFS extends BasePortableFakeFS { + constructor(realFs = fs) { + super(); + this.realFs = realFs; + if (typeof this.realFs.lutimes !== `undefined`) { + this.lutimesPromise = this.lutimesPromiseImpl; + this.lutimesSync = this.lutimesSyncImpl; + } + } + getExtractHint() { + return false; + } + getRealPath() { + return PortablePath.root; + } + resolve(p) { + return ppath.resolve(p); + } + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + openSync(p, flags, mode) { + return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); + } + async opendirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (typeof opts !== `undefined`) { + this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }).then((dir) => { + return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true }); + }); + } + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true }); + } + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); + } else { + return this.realFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + closeSync(fd) { + this.realFs.closeSync(fd); + } + createReadStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + createWriteStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + realpathSync(p) { + return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); + } + async existsPromise(p) { + return await new Promise((resolve) => { + this.realFs.exists(npath.fromPortablePath(p), resolve); + }); + } + accessSync(p, mode) { + return this.realFs.accessSync(npath.fromPortablePath(p), mode); + } + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + existsSync(p) { + return this.realFs.existsSync(npath.fromPortablePath(p)); + } + async statPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + statSync(p, opts) { + if (opts) { + return this.realFs.statSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.statSync(npath.fromPortablePath(p)); + } + } + async fstatPromise(fd, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + fstatSync(fd, opts) { + if (opts) { + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + lstatSync(p, opts) { + if (opts) { + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + async fchmodPromise(fd, mask) { + return await new Promise((resolve, reject) => { + this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); + }); + } + fchmodSync(fd, mask) { + return this.realFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + chmodSync(p, mask) { + return this.realFs.chmodSync(npath.fromPortablePath(p), mask); + } + async fchownPromise(fd, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); + }); + } + fchownSync(fd, uid, gid) { + return this.realFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); + }); + } + chownSync(p, uid, gid) { + return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); + } + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + renameSync(oldP, newP) { + return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); + } + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); + } + } + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); + } + } + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + unlinkSync(p) { + return this.realFs.unlinkSync(npath.fromPortablePath(p)); + } + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); + } + async lutimesPromiseImpl(p, atime, mtime) { + const lutimes = this.realFs.lutimes; + if (typeof lutimes === `undefined`) + throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + return await new Promise((resolve, reject) => { + lutimes.call(this.realFs, npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + lutimesSyncImpl(p, atime, mtime) { + const lutimesSync = this.realFs.lutimesSync; + if (typeof lutimesSync === `undefined`) + throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + lutimesSync.call(this.realFs, npath.fromPortablePath(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + mkdirSync(p, opts) { + return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); + } + async rmdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmdirSync(p, opts) { + return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); + } + async linkPromise(existingP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + linkSync(existingP, newP) { + return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); + } + async symlinkPromise(target, p, type) { + return await new Promise((resolve, reject) => { + this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); + }); + } + symlinkSync(target, p, type) { + return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); + } + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + async readdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts == null ? void 0 : opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), { withFileTypes: true }, this.makeCallback(resolve, reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback((value) => resolve(value), reject)); + } + }); + } + readdirSync(p, opts) { + if (opts == null ? void 0 : opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), { withFileTypes: true }); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p)); + } + } + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + readlinkSync(p) { + return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); + } + async truncatePromise(p, len) { + return await new Promise((resolve, reject) => { + this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); + }); + } + truncateSync(p, len) { + return this.realFs.truncateSync(npath.fromPortablePath(p), len); + } + async ftruncatePromise(fd, len) { + return await new Promise((resolve, reject) => { + this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); + }); + } + ftruncateSync(fd, len) { + return this.realFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.realFs.watch( + npath.fromPortablePath(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.realFs.watchFile( + npath.fromPortablePath(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); + } + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + async openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + async opendirPromise(p, opts) { + return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); + } + opendirSync(p, opts) { + return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); + } + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + return this.baseFs.closePromise(fd); + } + closeSync(fd) { + this.baseFs.closeSync(fd); + } + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + async realpathPromise(p) { + return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); + } + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + async existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + async accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + async statPromise(p, opts) { + return this.baseFs.statPromise(this.mapToBase(p), opts); + } + statSync(p, opts) { + return this.baseFs.statSync(this.mapToBase(p), opts); + } + async fstatPromise(fd, opts) { + return this.baseFs.fstatPromise(fd, opts); + } + fstatSync(fd, opts) { + return this.baseFs.fstatSync(fd, opts); + } + lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + async fchmodPromise(fd, mask) { + return this.baseFs.fchmodPromise(fd, mask); + } + fchmodSync(fd, mask) { + return this.baseFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + async fchownPromise(fd, uid, gid) { + return this.baseFs.fchownPromise(fd, uid, gid); + } + fchownSync(fd, uid, gid) { + return this.baseFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); + } + chownSync(p, uid, gid) { + return this.baseFs.chownSync(this.mapToBase(p), uid, gid); + } + async renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + async appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + async writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + async unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + async utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + async rmdirPromise(p, opts) { + return this.baseFs.rmdirPromise(this.mapToBase(p), opts); + } + rmdirSync(p, opts) { + return this.baseFs.rmdirSync(this.mapToBase(p), opts); + } + async linkPromise(existingP, newP) { + return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); + } + linkSync(existingP, newP) { + return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); + } + async symlinkPromise(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); + } + symlinkSync(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkSync(mappedTarget, mappedP, type); + } + async readFilePromise(p, encoding) { + if (encoding === `utf8`) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + } + readFileSync(p, encoding) { + if (encoding === `utf8`) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + } + async readdirPromise(p, opts) { + return this.baseFs.readdirPromise(this.mapToBase(p), opts); + } + readdirSync(p, opts) { + return this.baseFs.readdirSync(this.mapToBase(p), opts); + } + async readlinkPromise(p) { + return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); + } + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + async truncatePromise(p, len) { + return this.baseFs.truncatePromise(this.mapToBase(p), len); + } + truncateSync(p, len) { + return this.baseFs.truncateSync(this.mapToBase(p), len); + } + async ftruncatePromise(fd, len) { + return this.baseFs.ftruncatePromise(fd, len); + } + ftruncateSync(fd, len) { + return this.baseFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.baseFs.watch( + this.mapToBase(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.baseFs.watchFile( + this.mapToBase(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.baseFs.unwatchFile(this.mapToBase(p), cb); + } + fsMapToBase(p) { + if (typeof p === `number`) { + return p; + } else { + return this.mapToBase(p); + } + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + constructor({ baseFs = new NodeFS() } = {}) { + super(ppath); + this.baseFs = baseFs; + } + static makeVirtualPath(base, component, to) { + if (ppath.basename(base) !== `__virtual__`) + throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); + if (!ppath.basename(component).match(VALID_COMPONENT)) + throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); + let depth = 0; + while (depth < segments.length && segments[depth] === `..`) + depth += 1; + const finalSegments = segments.slice(depth); + const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) + return p; + const target = ppath.dirname(match[1]); + if (!match[3] || !match[4]) + return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) + return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return this.baseFs.realpathSync(p); + if (!match[5]) + return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return await this.baseFs.realpathPromise(p); + if (!match[5]) + return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + mapToBase(p) { + if (p === ``) + return p; + if (this.pathUtils.isAbsolute(p)) + return VirtualFS.resolveVirtual(p); + const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); + const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); + return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; + } + mapFromBase(p) { + return p; + } +} + +const builtinModules = new Set(Module.builtinModules || Object.keys(process.binding(`natives`))); +const isBuiltinModule = (request) => request.startsWith(`node:`) || builtinModules.has(request); +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs.existsSync(jsonPath)) + return null; + return JSON.parse(fs.readFileSync(jsonPath, `utf8`)); +} + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const HAS_CONSOLIDATED_HOOKS = major > 16 || major === 16 && minor >= 12; +const HAS_UNFLAGGED_JSON_MODULES = major > 17 || major === 17 && minor >= 5 || major === 16 && minor >= 15; +const HAS_JSON_IMPORT_ASSERTION_REQUIREMENT = major > 17 || major === 17 && minor >= 1 || major === 16 && minor > 14; + +async function tryReadFile$1(path2) { + try { + return await fs.promises.readFile(path2, `utf8`); + } catch (error) { + if (error.code === `ENOENT`) + return null; + throw error; + } +} +function tryParseURL(str, base) { + try { + return new URL$1(str, base); + } catch { + return null; + } +} +let entrypointPath = null; +function setEntrypointPath(file) { + entrypointPath = file; +} +function getFileFormat(filepath) { + var _a, _b; + const ext = path.extname(filepath); + switch (ext) { + case `.mjs`: { + return `module`; + } + case `.cjs`: { + return `commonjs`; + } + case `.wasm`: { + throw new Error( + `Unknown file extension ".wasm" for ${filepath}` + ); + } + case `.json`: { + if (HAS_UNFLAGGED_JSON_MODULES) + return `json`; + throw new Error( + `Unknown file extension ".json" for ${filepath}` + ); + } + case `.js`: { + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + return (_a = pkg.data.type) != null ? _a : `commonjs`; + } + default: { + if (entrypointPath !== filepath) + return null; + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + if (pkg.data.type === `module`) + return null; + return (_b = pkg.data.type) != null ? _b : `commonjs`; + } + } +} + +async function getFormat$1(resolved, context, defaultGetFormat) { + const url = tryParseURL(resolved); + if ((url == null ? void 0 : url.protocol) !== `file:`) + return defaultGetFormat(resolved, context, defaultGetFormat); + const format = getFileFormat(fileURLToPath(url)); + if (format) { + return { + format + }; + } + return defaultGetFormat(resolved, context, defaultGetFormat); +} + +async function getSource$1(urlString, context, defaultGetSource) { + const url = tryParseURL(urlString); + if ((url == null ? void 0 : url.protocol) !== `file:`) + return defaultGetSource(urlString, context, defaultGetSource); + return { + source: await fs.promises.readFile(fileURLToPath(url), `utf8`) + }; +} + +async function load$1(urlString, context, nextLoad) { + var _a; + const url = tryParseURL(urlString); + if ((url == null ? void 0 : url.protocol) !== `file:`) + return nextLoad(urlString, context, nextLoad); + const filePath = fileURLToPath(url); + const format = getFileFormat(filePath); + if (!format) + return nextLoad(urlString, context, nextLoad); + if (HAS_JSON_IMPORT_ASSERTION_REQUIREMENT && format === `json` && ((_a = context.importAssertions) == null ? void 0 : _a.type) !== `json`) { + const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import assertion of type "json"`); + err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`; + throw err; + } + if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { + process.send({ + "watch:import": pathToFileURL( + npath.fromPortablePath( + VirtualFS.resolveVirtual(npath.toPortablePath(filePath)) + ) + ).href + }); + } + return { + format, + source: await fs.promises.readFile(filePath, `utf8`), + shortCircuit: true + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const JSONParse = JSON.parse; + +function createErrorType(code, messageCreator, errorType) { + return class extends errorType { + constructor(...args) { + super(messageCreator(...args)); + this.code = code; + this.name = `${errorType.name} [${code}]`; + } + }; +} +const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( + `ERR_PACKAGE_IMPORT_NOT_DEFINED`, + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; + }, + TypeError +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const ERR_INVALID_PACKAGE_TARGET = createErrorType( + `ERR_INVALID_PACKAGE_TARGET`, + (pkgPath, key, target, isImport = false, base = void 0) => { + const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); + if (key === `.`) { + assert(isImport === false); + return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + } + return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( + target + )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + }, + Error +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); + +function filterOwnProperties(source, keys) { + const filtered = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (ObjectPrototypeHasOwnProperty(source, key)) { + filtered[key] = source[key]; + } + } + return filtered; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; + if (typeof imports !== "object" || imports === null) { + imports = void 0; + } + if (typeof main !== "string") { + main = void 0; + } + if (typeof name !== "string") { + name = void 0; + } + if (type !== "module" && type !== "commonjs") { + type = "none"; + } + const packageConfig = { + pjsonPath: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, packageConfig); + return packageConfig; +} +function getPackageScopeConfig(resolved, readFileSyncFn) { + let packageJSONUrl = new URL("./package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { + break; + } + const packageConfig2 = getPackageConfig( + fileURLToPath(packageJSONUrl), + resolved, + void 0, + readFileSyncFn + ); + if (packageConfig2.exists) { + return packageConfig2; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = fileURLToPath(packageJSONUrl); + const packageConfig = { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(packageJSONPath, packageConfig); + return packageConfig; +} + +/** + @license + Copyright Node.js contributors. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +function throwImportNotDefined(specifier, packageJSONUrl, base) { + throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJSONUrl && fileURLToPath(new URL(".", packageJSONUrl)), + fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && fileURLToPath(base) + ); +} +function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { + if (typeof target === "object" && target !== null) { + target = JSONStringify(target, null, ""); + } else { + target = `${target}`; + } + throw new ERR_INVALID_PACKAGE_TARGET( + fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && fileURLToPath(base) + ); +} +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const patternRegEx = /\*/g; +function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (!StringPrototypeStartsWith(target, "./")) { + if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { + let isURL = false; + try { + new URL(target); + isURL = true; + } catch { + } + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; + return exportTarget; + } + } + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + } + if (RegExpPrototypeExec( + invalidSegmentRegEx, + StringPrototypeSlice(target, 2) + ) !== null) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + const resolved = new URL(target, packageJSONUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL(".", packageJSONUrl).pathname; + if (!StringPrototypeStartsWith(resolvedPath, packagePath)) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (subpath === "") + return resolved; + if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { + const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; + throwInvalidSubpath(request, packageJSONUrl, internal, base); + } + if (pattern) { + return new URL( + RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) + ); + } + return new URL(subpath, resolved); +} +function isArrayIndex(key) { + const keyNum = +key; + if (`${keyNum}` !== key) + return false; + return keyNum >= 0 && keyNum < 4294967295; +} +function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJSONUrl, + base, + pattern, + internal); + } else if (ArrayIsArray(target)) { + if (target.length === 0) { + return null; + } + let lastException; + for (let i = 0; i < target.length; i++) { + const targetItem = target[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJSONUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + } catch (e) { + lastException = e; + if (e.code === "ERR_INVALID_PACKAGE_TARGET") { + continue; + } + throw e; + } + if (resolveResult === void 0) { + continue; + } + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) + return lastException; + throw lastException; + } else if (typeof target === "object" && target !== null) { + const keys = ObjectGetOwnPropertyNames(target); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG( + fileURLToPath(packageJSONUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === "default" || conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + if (resolveResult === void 0) + continue; + return resolveResult; + } + } + return void 0; + } else if (target === null) { + return null; + } + throwInvalidPackageTarget( + packageSubpath, + target, + packageJSONUrl, + internal, + base + ); +} +function patternKeyCompare(a, b) { + const aPatternIndex = StringPrototypeIndexOf(a, "*"); + const bPatternIndex = StringPrototypeIndexOf(b, "*"); + const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) + return -1; + if (baseLenB > baseLenA) + return 1; + if (aPatternIndex === -1) + return 1; + if (bPatternIndex === -1) + return -1; + if (a.length > b.length) + return -1; + if (b.length > a.length) + return 1; + return 0; +} +function packageImportsResolve({ + name, + base, + conditions, + readFileSyncFn +}) { + if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = pathToFileURL(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { + const resolveResult = resolvePackageTarget( + packageJSONUrl, + imports[name], + "", + name, + base, + false, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(imports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + name, + StringPrototypeSlice(key, 0, patternIndex) + )) { + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + name, + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } + } + } + } + throwImportNotDefined(name, packageJSONUrl, base); +} + +const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; +const isRelativeRegexp = /^\.{0,2}\//; +function tryReadFile(filePath) { + try { + return fs.readFileSync(filePath, `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } +} +async function resolvePrivateRequest(specifier, issuer, context, nextResolve) { + const resolved = packageImportsResolve({ + name: specifier, + base: pathToFileURL(issuer), + conditions: new Set(context.conditions), + readFileSyncFn: tryReadFile + }); + if (resolved instanceof URL) { + return { url: resolved.href, shortCircuit: true }; + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolve$1(resolved, context, nextResolve); + } +} +async function resolve$1(originalSpecifier, context, nextResolve) { + var _a; + const { findPnpApi } = moduleExports; + if (!findPnpApi || isBuiltinModule(originalSpecifier)) + return nextResolve(originalSpecifier, context, nextResolve); + let specifier = originalSpecifier; + const url = tryParseURL(specifier, isRelativeRegexp.test(specifier) ? context.parentURL : void 0); + if (url) { + if (url.protocol !== `file:`) + return nextResolve(originalSpecifier, context, nextResolve); + specifier = fileURLToPath(url); + } + const { parentURL, conditions = [] } = context; + const issuer = parentURL ? fileURLToPath(parentURL) : process.cwd(); + const pnpapi = (_a = findPnpApi(issuer)) != null ? _a : url ? findPnpApi(specifier) : null; + if (!pnpapi) + return nextResolve(originalSpecifier, context, nextResolve); + if (specifier.startsWith(`#`)) + return resolvePrivateRequest(specifier, issuer, context, nextResolve); + const dependencyNameMatch = specifier.match(pathRegExp); + let allowLegacyResolve = false; + if (dependencyNameMatch) { + const [, dependencyName, subPath] = dependencyNameMatch; + if (subPath === ``) { + const resolved = pnpapi.resolveToUnqualified(`${dependencyName}/package.json`, issuer); + if (resolved) { + const content = await tryReadFile$1(resolved); + if (content) { + const pkg = JSON.parse(content); + allowLegacyResolve = pkg.exports == null; + } + } + } + } + const result = pnpapi.resolveRequest(specifier, issuer, { + conditions: new Set(conditions), + extensions: allowLegacyResolve ? void 0 : [] + }); + if (!result) + throw new Error(`Resolving '${specifier}' from '${issuer}' failed`); + const resultURL = pathToFileURL(result); + if (url) { + resultURL.search = url.search; + resultURL.hash = url.hash; + } + if (!parentURL) + setEntrypointPath(fileURLToPath(resultURL)); + return { + url: resultURL.href, + shortCircuit: true + }; +} + +const binding = process.binding(`fs`); +const originalfstat = binding.fstat; +const ZIP_MASK = 4278190080; +const ZIP_MAGIC = 704643072; +binding.fstat = function(...args) { + const [fd, useBigint, req] = args; + if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) { + try { + const stats = fs.fstatSync(fd); + return new Float64Array([ + stats.dev, + stats.mode, + stats.nlink, + stats.uid, + stats.gid, + stats.rdev, + stats.blksize, + stats.ino, + stats.size, + stats.blocks + ]); + } catch { + } + } + return originalfstat.apply(this, args); +}; + +const resolve = resolve$1; +const getFormat = HAS_CONSOLIDATED_HOOKS ? void 0 : getFormat$1; +const getSource = HAS_CONSOLIDATED_HOOKS ? void 0 : getSource$1; +const load = HAS_CONSOLIDATED_HOOKS ? load$1 : void 0; + +export { getFormat, getSource, load, resolve }; diff --git a/melting-pot-vue/.prettierrc.json b/melting-pot-vue/.prettierrc.json new file mode 100644 index 0000000..66e2335 --- /dev/null +++ b/melting-pot-vue/.prettierrc.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "semi": false, + "tabWidth": 2, + "singleQuote": true, + "printWidth": 100, + "trailingComma": "none" +} \ No newline at end of file diff --git a/melting-pot-vue/.yarn/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-ada901b9e7.zip b/melting-pot-vue/.yarn/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-ada901b9e7.zip new file mode 100644 index 0000000..9334304 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-ada901b9e7.zip differ diff --git a/melting-pot-vue/.yarn/cache/@babel-helper-string-parser-npm-7.23.4-b1f0d030c3-c0641144cf.zip b/melting-pot-vue/.yarn/cache/@babel-helper-string-parser-npm-7.23.4-b1f0d030c3-c0641144cf.zip new file mode 100644 index 0000000..1cf46fb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@babel-helper-string-parser-npm-7.23.4-b1f0d030c3-c0641144cf.zip differ diff --git a/melting-pot-vue/.yarn/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-136412784d.zip b/melting-pot-vue/.yarn/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-136412784d.zip new file mode 100644 index 0000000..53d7fc0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-136412784d.zip differ diff --git a/melting-pot-vue/.yarn/cache/@babel-parser-npm-7.23.9-720a0b56cb-e7cd4960ac.zip b/melting-pot-vue/.yarn/cache/@babel-parser-npm-7.23.9-720a0b56cb-e7cd4960ac.zip new file mode 100644 index 0000000..7b6c44f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@babel-parser-npm-7.23.9-720a0b56cb-e7cd4960ac.zip differ diff --git a/melting-pot-vue/.yarn/cache/@babel-types-npm-7.23.9-c32aeb5f36-0a9b008e9b.zip b/melting-pot-vue/.yarn/cache/@babel-types-npm-7.23.9-c32aeb5f36-0a9b008e9b.zip new file mode 100644 index 0000000..4571d0c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@babel-types-npm-7.23.9-c32aeb5f36-0a9b008e9b.zip differ diff --git a/melting-pot-vue/.yarn/cache/@colors-colors-npm-1.5.0-875af3a8b4-d64d5260be.zip b/melting-pot-vue/.yarn/cache/@colors-colors-npm-1.5.0-875af3a8b4-d64d5260be.zip new file mode 100644 index 0000000..c1edd32 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@colors-colors-npm-1.5.0-875af3a8b4-d64d5260be.zip differ diff --git a/melting-pot-vue/.yarn/cache/@cypress-request-npm-3.0.1-7528f5a10a-7175522ebd.zip b/melting-pot-vue/.yarn/cache/@cypress-request-npm-3.0.1-7528f5a10a-7175522ebd.zip new file mode 100644 index 0000000..5fcd437 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@cypress-request-npm-3.0.1-7528f5a10a-7175522ebd.zip differ diff --git a/melting-pot-vue/.yarn/cache/@cypress-xvfb-npm-1.2.4-396a3691f7-7bdcdaeb1b.zip b/melting-pot-vue/.yarn/cache/@cypress-xvfb-npm-1.2.4-396a3691f7-7bdcdaeb1b.zip new file mode 100644 index 0000000..f5fc2cd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@cypress-xvfb-npm-1.2.4-396a3691f7-7bdcdaeb1b.zip differ diff --git a/melting-pot-vue/.yarn/cache/@esbuild-linux-x64-npm-0.19.12-59062fdb38-8.zip b/melting-pot-vue/.yarn/cache/@esbuild-linux-x64-npm-0.19.12-59062fdb38-8.zip new file mode 100644 index 0000000..29164d0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@esbuild-linux-x64-npm-0.19.12-59062fdb38-8.zip differ diff --git a/melting-pot-vue/.yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip b/melting-pot-vue/.yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip new file mode 100644 index 0000000..4e48357 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-cdfe3ae42b.zip differ diff --git a/melting-pot-vue/.yarn/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-2a6e345429.zip b/melting-pot-vue/.yarn/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-2a6e345429.zip new file mode 100644 index 0000000..7ef5a48 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-2a6e345429.zip differ diff --git a/melting-pot-vue/.yarn/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-10957c7592.zip b/melting-pot-vue/.yarn/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-10957c7592.zip new file mode 100644 index 0000000..58788ff Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-10957c7592.zip differ diff --git a/melting-pot-vue/.yarn/cache/@eslint-js-npm-8.57.0-00ead3710a-315dc65b0e.zip b/melting-pot-vue/.yarn/cache/@eslint-js-npm-8.57.0-00ead3710a-315dc65b0e.zip new file mode 100644 index 0000000..82eab16 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@eslint-js-npm-8.57.0-00ead3710a-315dc65b0e.zip differ diff --git a/melting-pot-vue/.yarn/cache/@hapi-hoek-npm-9.3.0-447eb8d274-4771c7a776.zip b/melting-pot-vue/.yarn/cache/@hapi-hoek-npm-9.3.0-447eb8d274-4771c7a776.zip new file mode 100644 index 0000000..ff8a0ee Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@hapi-hoek-npm-9.3.0-447eb8d274-4771c7a776.zip differ diff --git a/melting-pot-vue/.yarn/cache/@hapi-topo-npm-5.1.0-5e0b776809-604dfd5dde.zip b/melting-pot-vue/.yarn/cache/@hapi-topo-npm-5.1.0-5e0b776809-604dfd5dde.zip new file mode 100644 index 0000000..de25bd9 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@hapi-topo-npm-5.1.0-5e0b776809-604dfd5dde.zip differ diff --git a/melting-pot-vue/.yarn/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-861ccce9ea.zip b/melting-pot-vue/.yarn/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-861ccce9ea.zip new file mode 100644 index 0000000..166fee4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-861ccce9ea.zip differ diff --git a/melting-pot-vue/.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-0fd22007db.zip b/melting-pot-vue/.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-0fd22007db.zip new file mode 100644 index 0000000..7adb1e9 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-0fd22007db.zip differ diff --git a/melting-pot-vue/.yarn/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-2fc1150336.zip b/melting-pot-vue/.yarn/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-2fc1150336.zip new file mode 100644 index 0000000..cf6847c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-2fc1150336.zip differ diff --git a/melting-pot-vue/.yarn/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-4a473b9b32.zip b/melting-pot-vue/.yarn/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-4a473b9b32.zip new file mode 100644 index 0000000..d19176f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-4a473b9b32.zip differ diff --git a/melting-pot-vue/.yarn/cache/@jest-schemas-npm-29.6.3-292730e442-910040425f.zip b/melting-pot-vue/.yarn/cache/@jest-schemas-npm-29.6.3-292730e442-910040425f.zip new file mode 100644 index 0000000..ce56da4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@jest-schemas-npm-29.6.3-292730e442-910040425f.zip differ diff --git a/melting-pot-vue/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-b881c7e503.zip b/melting-pot-vue/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-b881c7e503.zip new file mode 100644 index 0000000..402f52b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-b881c7e503.zip differ diff --git a/melting-pot-vue/.yarn/cache/@mapbox-geojson-rewind-npm-0.5.2-716dd1ae97-721470ab5e.zip b/melting-pot-vue/.yarn/cache/@mapbox-geojson-rewind-npm-0.5.2-716dd1ae97-721470ab5e.zip new file mode 100644 index 0000000..d2a7b92 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@mapbox-geojson-rewind-npm-0.5.2-716dd1ae97-721470ab5e.zip differ diff --git a/melting-pot-vue/.yarn/cache/@mapbox-jsonlint-lines-primitives-npm-2.0.2-f48e04c479-4eb31edd3c.zip b/melting-pot-vue/.yarn/cache/@mapbox-jsonlint-lines-primitives-npm-2.0.2-f48e04c479-4eb31edd3c.zip new file mode 100644 index 0000000..dc53f5e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@mapbox-jsonlint-lines-primitives-npm-2.0.2-f48e04c479-4eb31edd3c.zip differ diff --git a/melting-pot-vue/.yarn/cache/@mapbox-point-geometry-npm-0.1.0-d0fd1852be-ed41c1ce01.zip b/melting-pot-vue/.yarn/cache/@mapbox-point-geometry-npm-0.1.0-d0fd1852be-ed41c1ce01.zip new file mode 100644 index 0000000..dedee08 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@mapbox-point-geometry-npm-0.1.0-d0fd1852be-ed41c1ce01.zip differ diff --git a/melting-pot-vue/.yarn/cache/@mapbox-tiny-sdf-npm-2.0.6-7a6b0597e9-efff5b5a75.zip b/melting-pot-vue/.yarn/cache/@mapbox-tiny-sdf-npm-2.0.6-7a6b0597e9-efff5b5a75.zip new file mode 100644 index 0000000..aa64a7a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@mapbox-tiny-sdf-npm-2.0.6-7a6b0597e9-efff5b5a75.zip differ diff --git a/melting-pot-vue/.yarn/cache/@mapbox-unitbezier-npm-0.0.1-4d3f0f5e22-bf104c85db.zip b/melting-pot-vue/.yarn/cache/@mapbox-unitbezier-npm-0.0.1-4d3f0f5e22-bf104c85db.zip new file mode 100644 index 0000000..acfc668 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@mapbox-unitbezier-npm-0.0.1-4d3f0f5e22-bf104c85db.zip differ diff --git a/melting-pot-vue/.yarn/cache/@mapbox-vector-tile-npm-1.3.1-c7cbcaf846-7093d4fa7d.zip b/melting-pot-vue/.yarn/cache/@mapbox-vector-tile-npm-1.3.1-c7cbcaf846-7093d4fa7d.zip new file mode 100644 index 0000000..7896be9 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@mapbox-vector-tile-npm-1.3.1-c7cbcaf846-7093d4fa7d.zip differ diff --git a/melting-pot-vue/.yarn/cache/@mapbox-whoots-js-npm-3.1.0-25c0fa7510-c1837c04ef.zip b/melting-pot-vue/.yarn/cache/@mapbox-whoots-js-npm-3.1.0-25c0fa7510-c1837c04ef.zip new file mode 100644 index 0000000..0278f24 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@mapbox-whoots-js-npm-3.1.0-25c0fa7510-c1837c04ef.zip differ diff --git a/melting-pot-vue/.yarn/cache/@maplibre-maplibre-gl-style-spec-npm-20.1.1-4eff87a6ec-6462a5bcc0.zip b/melting-pot-vue/.yarn/cache/@maplibre-maplibre-gl-style-spec-npm-20.1.1-4eff87a6ec-6462a5bcc0.zip new file mode 100644 index 0000000..0a7a989 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@maplibre-maplibre-gl-style-spec-npm-20.1.1-4eff87a6ec-6462a5bcc0.zip differ diff --git a/melting-pot-vue/.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-a970d595bd.zip b/melting-pot-vue/.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-a970d595bd.zip new file mode 100644 index 0000000..99f6bc1 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-a970d595bd.zip differ diff --git a/melting-pot-vue/.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip b/melting-pot-vue/.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip new file mode 100644 index 0000000..e86d01e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip differ diff --git a/melting-pot-vue/.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-190c643f15.zip b/melting-pot-vue/.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-190c643f15.zip new file mode 100644 index 0000000..1750003 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-190c643f15.zip differ diff --git a/melting-pot-vue/.yarn/cache/@npmcli-agent-npm-2.2.1-8af33193ae-c69aca42db.zip b/melting-pot-vue/.yarn/cache/@npmcli-agent-npm-2.2.1-8af33193ae-c69aca42db.zip new file mode 100644 index 0000000..9af9467 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@npmcli-agent-npm-2.2.1-8af33193ae-c69aca42db.zip differ diff --git a/melting-pot-vue/.yarn/cache/@npmcli-fs-npm-3.1.0-0844a57978-a50a6818de.zip b/melting-pot-vue/.yarn/cache/@npmcli-fs-npm-3.1.0-0844a57978-a50a6818de.zip new file mode 100644 index 0000000..2fca778 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@npmcli-fs-npm-3.1.0-0844a57978-a50a6818de.zip differ diff --git a/melting-pot-vue/.yarn/cache/@one-ini-wasm-npm-0.1.1-cee8120e33-11de17108e.zip b/melting-pot-vue/.yarn/cache/@one-ini-wasm-npm-0.1.1-cee8120e33-11de17108e.zip new file mode 100644 index 0000000..636d881 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@one-ini-wasm-npm-0.1.1-cee8120e33-11de17108e.zip differ diff --git a/melting-pot-vue/.yarn/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-6ad6a00fc4.zip b/melting-pot-vue/.yarn/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-6ad6a00fc4.zip new file mode 100644 index 0000000..96f576f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-6ad6a00fc4.zip differ diff --git a/melting-pot-vue/.yarn/cache/@pkgr-core-npm-0.1.1-844d1f59d1-6f25fd2e30.zip b/melting-pot-vue/.yarn/cache/@pkgr-core-npm-0.1.1-844d1f59d1-6f25fd2e30.zip new file mode 100644 index 0000000..cd6b4a4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@pkgr-core-npm-0.1.1-844d1f59d1-6f25fd2e30.zip differ diff --git a/melting-pot-vue/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.12.0-8984040333-8.zip b/melting-pot-vue/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.12.0-8984040333-8.zip new file mode 100644 index 0000000..5975c0d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.12.0-8984040333-8.zip differ diff --git a/melting-pot-vue/.yarn/cache/@rushstack-eslint-patch-npm-1.7.2-e0ac536367-9c773e712c.zip b/melting-pot-vue/.yarn/cache/@rushstack-eslint-patch-npm-1.7.2-e0ac536367-9c773e712c.zip new file mode 100644 index 0000000..be4225a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@rushstack-eslint-patch-npm-1.7.2-e0ac536367-9c773e712c.zip differ diff --git a/melting-pot-vue/.yarn/cache/@sideway-address-npm-4.1.5-a3852745c8-3e3ea0f00b.zip b/melting-pot-vue/.yarn/cache/@sideway-address-npm-4.1.5-a3852745c8-3e3ea0f00b.zip new file mode 100644 index 0000000..5f8f3d4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@sideway-address-npm-4.1.5-a3852745c8-3e3ea0f00b.zip differ diff --git a/melting-pot-vue/.yarn/cache/@sideway-formula-npm-3.0.1-ee371b2ddf-e4beeebc9d.zip b/melting-pot-vue/.yarn/cache/@sideway-formula-npm-3.0.1-ee371b2ddf-e4beeebc9d.zip new file mode 100644 index 0000000..c483576 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@sideway-formula-npm-3.0.1-ee371b2ddf-e4beeebc9d.zip differ diff --git a/melting-pot-vue/.yarn/cache/@sideway-pinpoint-npm-2.0.0-66d94e687e-0f4491e589.zip b/melting-pot-vue/.yarn/cache/@sideway-pinpoint-npm-2.0.0-66d94e687e-0f4491e589.zip new file mode 100644 index 0000000..dec4ec2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@sideway-pinpoint-npm-2.0.0-66d94e687e-0f4491e589.zip differ diff --git a/melting-pot-vue/.yarn/cache/@sinclair-typebox-npm-0.27.8-23e206d653-00bd7362a3.zip b/melting-pot-vue/.yarn/cache/@sinclair-typebox-npm-0.27.8-23e206d653-00bd7362a3.zip new file mode 100644 index 0000000..6576452 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@sinclair-typebox-npm-0.27.8-23e206d653-00bd7362a3.zip differ diff --git a/melting-pot-vue/.yarn/cache/@tsconfig-node20-npm-20.1.2-f53f26df5a-fc126e15f0.zip b/melting-pot-vue/.yarn/cache/@tsconfig-node20-npm-20.1.2-f53f26df5a-fc126e15f0.zip new file mode 100644 index 0000000..739b775 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@tsconfig-node20-npm-20.1.2-f53f26df5a-fc126e15f0.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-dd8b5bed28.zip b/melting-pot-vue/.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-dd8b5bed28.zip new file mode 100644 index 0000000..ebfecb5 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-estree-npm-1.0.5-5b7faed3b4-dd8b5bed28.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-geojson-npm-7946.0.14-cb659a9fdf-ae511bee64.zip b/melting-pot-vue/.yarn/cache/@types-geojson-npm-7946.0.14-cb659a9fdf-ae511bee64.zip new file mode 100644 index 0000000..34e2675 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-geojson-npm-7946.0.14-cb659a9fdf-ae511bee64.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-geojson-vt-npm-3.2.5-c10dbfd5e3-3c77f52c4a.zip b/melting-pot-vue/.yarn/cache/@types-geojson-vt-npm-3.2.5-c10dbfd5e3-3c77f52c4a.zip new file mode 100644 index 0000000..85bc8e6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-geojson-vt-npm-3.2.5-c10dbfd5e3-3c77f52c4a.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-jsdom-npm-21.1.6-29114a659c-d6fbaab306.zip b/melting-pot-vue/.yarn/cache/@types-jsdom-npm-21.1.6-29114a659c-d6fbaab306.zip new file mode 100644 index 0000000..af720cf Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-jsdom-npm-21.1.6-29114a659c-d6fbaab306.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-json-schema-npm-7.0.15-fd16381786-97ed0cb44d.zip b/melting-pot-vue/.yarn/cache/@types-json-schema-npm-7.0.15-fd16381786-97ed0cb44d.zip new file mode 100644 index 0000000..dbab109 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-json-schema-npm-7.0.15-fd16381786-97ed0cb44d.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-mapbox__point-geometry-npm-0.1.4-5fa761d79c-d315f3e396.zip b/melting-pot-vue/.yarn/cache/@types-mapbox__point-geometry-npm-0.1.4-5fa761d79c-d315f3e396.zip new file mode 100644 index 0000000..f2d54ea Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-mapbox__point-geometry-npm-0.1.4-5fa761d79c-d315f3e396.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-mapbox__vector-tile-npm-1.3.4-fe276c6c9b-5715d9da88.zip b/melting-pot-vue/.yarn/cache/@types-mapbox__vector-tile-npm-1.3.4-fe276c6c9b-5715d9da88.zip new file mode 100644 index 0000000..1d96ab3 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-mapbox__vector-tile-npm-1.3.4-fe276c6c9b-5715d9da88.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-node-npm-20.11.20-0036cdf1c0-79d339622f.zip b/melting-pot-vue/.yarn/cache/@types-node-npm-20.11.20-0036cdf1c0-79d339622f.zip new file mode 100644 index 0000000..4141a62 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-node-npm-20.11.20-0036cdf1c0-79d339622f.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-pbf-npm-3.0.5-be36bd95c4-9115eb3cc6.zip b/melting-pot-vue/.yarn/cache/@types-pbf-npm-3.0.5-be36bd95c4-9115eb3cc6.zip new file mode 100644 index 0000000..9230c41 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-pbf-npm-3.0.5-be36bd95c4-9115eb3cc6.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-semver-npm-7.5.8-26073743d7-ea6f5276f5.zip b/melting-pot-vue/.yarn/cache/@types-semver-npm-7.5.8-26073743d7-ea6f5276f5.zip new file mode 100644 index 0000000..7b60103 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-semver-npm-7.5.8-26073743d7-ea6f5276f5.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-sinonjs__fake-timers-npm-8.1.1-95ac9b59b5-ca09d54d47.zip b/melting-pot-vue/.yarn/cache/@types-sinonjs__fake-timers-npm-8.1.1-95ac9b59b5-ca09d54d47.zip new file mode 100644 index 0000000..f862c6b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-sinonjs__fake-timers-npm-8.1.1-95ac9b59b5-ca09d54d47.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-sizzle-npm-2.3.8-b4e813dde8-2ac62443dc.zip b/melting-pot-vue/.yarn/cache/@types-sizzle-npm-2.3.8-b4e813dde8-2ac62443dc.zip new file mode 100644 index 0000000..6c97546 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-sizzle-npm-2.3.8-b4e813dde8-2ac62443dc.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-supercluster-npm-7.1.3-79beee5ea1-724188fb6e.zip b/melting-pot-vue/.yarn/cache/@types-supercluster-npm-7.1.3-79beee5ea1-724188fb6e.zip new file mode 100644 index 0000000..96286e3 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-supercluster-npm-7.1.3-79beee5ea1-724188fb6e.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-tough-cookie-npm-4.0.5-8c5e2162e1-f19409d019.zip b/melting-pot-vue/.yarn/cache/@types-tough-cookie-npm-4.0.5-8c5e2162e1-f19409d019.zip new file mode 100644 index 0000000..483f4a1 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-tough-cookie-npm-4.0.5-8c5e2162e1-f19409d019.zip differ diff --git a/melting-pot-vue/.yarn/cache/@types-yauzl-npm-2.10.3-4b633e1ddc-5ee966ea7b.zip b/melting-pot-vue/.yarn/cache/@types-yauzl-npm-2.10.3-4b633e1ddc-5ee966ea7b.zip new file mode 100644 index 0000000..1530a2b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@types-yauzl-npm-2.10.3-4b633e1ddc-5ee966ea7b.zip differ diff --git a/melting-pot-vue/.yarn/cache/@typescript-eslint-eslint-plugin-npm-6.21.0-eed10a6c66-5ef2c50225.zip b/melting-pot-vue/.yarn/cache/@typescript-eslint-eslint-plugin-npm-6.21.0-eed10a6c66-5ef2c50225.zip new file mode 100644 index 0000000..59dd4fa Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@typescript-eslint-eslint-plugin-npm-6.21.0-eed10a6c66-5ef2c50225.zip differ diff --git a/melting-pot-vue/.yarn/cache/@typescript-eslint-parser-npm-6.21.0-d7ff8425ee-162fe3a867.zip b/melting-pot-vue/.yarn/cache/@typescript-eslint-parser-npm-6.21.0-d7ff8425ee-162fe3a867.zip new file mode 100644 index 0000000..d2377dd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@typescript-eslint-parser-npm-6.21.0-d7ff8425ee-162fe3a867.zip differ diff --git a/melting-pot-vue/.yarn/cache/@typescript-eslint-scope-manager-npm-6.21.0-60aa61cad2-71028b757d.zip b/melting-pot-vue/.yarn/cache/@typescript-eslint-scope-manager-npm-6.21.0-60aa61cad2-71028b757d.zip new file mode 100644 index 0000000..624a2a4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@typescript-eslint-scope-manager-npm-6.21.0-60aa61cad2-71028b757d.zip differ diff --git a/melting-pot-vue/.yarn/cache/@typescript-eslint-type-utils-npm-6.21.0-b5d74d2e4c-77025473f4.zip b/melting-pot-vue/.yarn/cache/@typescript-eslint-type-utils-npm-6.21.0-b5d74d2e4c-77025473f4.zip new file mode 100644 index 0000000..b1226da Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@typescript-eslint-type-utils-npm-6.21.0-b5d74d2e4c-77025473f4.zip differ diff --git a/melting-pot-vue/.yarn/cache/@typescript-eslint-types-npm-6.21.0-4d08954078-9501b47d74.zip b/melting-pot-vue/.yarn/cache/@typescript-eslint-types-npm-6.21.0-4d08954078-9501b47d74.zip new file mode 100644 index 0000000..2c27339 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@typescript-eslint-types-npm-6.21.0-4d08954078-9501b47d74.zip differ diff --git a/melting-pot-vue/.yarn/cache/@typescript-eslint-typescript-estree-npm-6.21.0-04a199adba-dec02dc107.zip b/melting-pot-vue/.yarn/cache/@typescript-eslint-typescript-estree-npm-6.21.0-04a199adba-dec02dc107.zip new file mode 100644 index 0000000..05a058f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@typescript-eslint-typescript-estree-npm-6.21.0-04a199adba-dec02dc107.zip differ diff --git a/melting-pot-vue/.yarn/cache/@typescript-eslint-utils-npm-6.21.0-b19969b8aa-b129b3a4ae.zip b/melting-pot-vue/.yarn/cache/@typescript-eslint-utils-npm-6.21.0-b19969b8aa-b129b3a4ae.zip new file mode 100644 index 0000000..b1aa3a8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@typescript-eslint-utils-npm-6.21.0-b19969b8aa-b129b3a4ae.zip differ diff --git a/melting-pot-vue/.yarn/cache/@typescript-eslint-visitor-keys-npm-6.21.0-b36d99336e-67c7e6003d.zip b/melting-pot-vue/.yarn/cache/@typescript-eslint-visitor-keys-npm-6.21.0-b36d99336e-67c7e6003d.zip new file mode 100644 index 0000000..36f5c22 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@typescript-eslint-visitor-keys-npm-6.21.0-b36d99336e-67c7e6003d.zip differ diff --git a/melting-pot-vue/.yarn/cache/@ungap-structured-clone-npm-1.2.0-648f0b82e0-4f656b7b46.zip b/melting-pot-vue/.yarn/cache/@ungap-structured-clone-npm-1.2.0-648f0b82e0-4f656b7b46.zip new file mode 100644 index 0000000..598a36e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@ungap-structured-clone-npm-1.2.0-648f0b82e0-4f656b7b46.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vitejs-plugin-vue-npm-5.0.4-e08dc8c74a-e2ec5446da.zip b/melting-pot-vue/.yarn/cache/@vitejs-plugin-vue-npm-5.0.4-e08dc8c74a-e2ec5446da.zip new file mode 100644 index 0000000..f41edca Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vitejs-plugin-vue-npm-5.0.4-e08dc8c74a-e2ec5446da.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vitest-expect-npm-1.3.1-973071a540-3626b02f04.zip b/melting-pot-vue/.yarn/cache/@vitest-expect-npm-1.3.1-973071a540-3626b02f04.zip new file mode 100644 index 0000000..ad71ad9 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vitest-expect-npm-1.3.1-973071a540-3626b02f04.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vitest-runner-npm-1.3.1-944c525608-86dfb4d485.zip b/melting-pot-vue/.yarn/cache/@vitest-runner-npm-1.3.1-944c525608-86dfb4d485.zip new file mode 100644 index 0000000..c9e6037 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vitest-runner-npm-1.3.1-944c525608-86dfb4d485.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vitest-snapshot-npm-1.3.1-acd68865ee-5feb485bce.zip b/melting-pot-vue/.yarn/cache/@vitest-snapshot-npm-1.3.1-acd68865ee-5feb485bce.zip new file mode 100644 index 0000000..684ad7f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vitest-snapshot-npm-1.3.1-acd68865ee-5feb485bce.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vitest-spy-npm-1.3.1-6cf3de14ab-f52e4d2382.zip b/melting-pot-vue/.yarn/cache/@vitest-spy-npm-1.3.1-6cf3de14ab-f52e4d2382.zip new file mode 100644 index 0000000..1e86d9e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vitest-spy-npm-1.3.1-6cf3de14ab-f52e4d2382.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vitest-utils-npm-1.3.1-9057d8d83a-dab1f66c22.zip b/melting-pot-vue/.yarn/cache/@vitest-utils-npm-1.3.1-9057d8d83a-dab1f66c22.zip new file mode 100644 index 0000000..d5138bf Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vitest-utils-npm-1.3.1-9057d8d83a-dab1f66c22.zip differ diff --git a/melting-pot-vue/.yarn/cache/@volar-language-core-npm-1.11.1-e30e50203f-7f98fbeb96.zip b/melting-pot-vue/.yarn/cache/@volar-language-core-npm-1.11.1-e30e50203f-7f98fbeb96.zip new file mode 100644 index 0000000..f73b57e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@volar-language-core-npm-1.11.1-e30e50203f-7f98fbeb96.zip differ diff --git a/melting-pot-vue/.yarn/cache/@volar-source-map-npm-1.11.1-19e27a8f3b-1ec1034432.zip b/melting-pot-vue/.yarn/cache/@volar-source-map-npm-1.11.1-19e27a8f3b-1ec1034432.zip new file mode 100644 index 0000000..7cf3ee2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@volar-source-map-npm-1.11.1-19e27a8f3b-1ec1034432.zip differ diff --git a/melting-pot-vue/.yarn/cache/@volar-typescript-npm-1.11.1-9a11b85d7c-0db2fc32db.zip b/melting-pot-vue/.yarn/cache/@volar-typescript-npm-1.11.1-9a11b85d7c-0db2fc32db.zip new file mode 100644 index 0000000..e3657ec Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@volar-typescript-npm-1.11.1-9a11b85d7c-0db2fc32db.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-compiler-core-npm-3.4.20-5b32abd493-4b37fae786.zip b/melting-pot-vue/.yarn/cache/@vue-compiler-core-npm-3.4.20-5b32abd493-4b37fae786.zip new file mode 100644 index 0000000..6464432 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-compiler-core-npm-3.4.20-5b32abd493-4b37fae786.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-compiler-dom-npm-3.4.20-a6d313e652-63a83525a5.zip b/melting-pot-vue/.yarn/cache/@vue-compiler-dom-npm-3.4.20-a6d313e652-63a83525a5.zip new file mode 100644 index 0000000..8243511 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-compiler-dom-npm-3.4.20-a6d313e652-63a83525a5.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-compiler-sfc-npm-3.4.20-9e9f7dea00-a8a70fd53f.zip b/melting-pot-vue/.yarn/cache/@vue-compiler-sfc-npm-3.4.20-9e9f7dea00-a8a70fd53f.zip new file mode 100644 index 0000000..3e75d41 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-compiler-sfc-npm-3.4.20-9e9f7dea00-a8a70fd53f.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-compiler-ssr-npm-3.4.20-956b892579-7cef07dcb8.zip b/melting-pot-vue/.yarn/cache/@vue-compiler-ssr-npm-3.4.20-956b892579-7cef07dcb8.zip new file mode 100644 index 0000000..36fc7a6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-compiler-ssr-npm-3.4.20-956b892579-7cef07dcb8.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-devtools-api-npm-6.6.1-ef3c82703e-cf12b5ebcc.zip b/melting-pot-vue/.yarn/cache/@vue-devtools-api-npm-6.6.1-ef3c82703e-cf12b5ebcc.zip new file mode 100644 index 0000000..f14e2cd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-devtools-api-npm-6.6.1-ef3c82703e-cf12b5ebcc.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-eslint-config-prettier-npm-8.0.0-c26e79ef64-26556b3dc7.zip b/melting-pot-vue/.yarn/cache/@vue-eslint-config-prettier-npm-8.0.0-c26e79ef64-26556b3dc7.zip new file mode 100644 index 0000000..61808dc Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-eslint-config-prettier-npm-8.0.0-c26e79ef64-26556b3dc7.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-eslint-config-typescript-npm-12.0.0-e317f94b8c-abe697b9bd.zip b/melting-pot-vue/.yarn/cache/@vue-eslint-config-typescript-npm-12.0.0-e317f94b8c-abe697b9bd.zip new file mode 100644 index 0000000..4badba5 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-eslint-config-typescript-npm-12.0.0-e317f94b8c-abe697b9bd.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-language-core-npm-1.8.27-9bfee75b73-8660c05319.zip b/melting-pot-vue/.yarn/cache/@vue-language-core-npm-1.8.27-9bfee75b73-8660c05319.zip new file mode 100644 index 0000000..f1becc0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-language-core-npm-1.8.27-9bfee75b73-8660c05319.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-reactivity-npm-3.4.20-93137b79e8-6f579b4b90.zip b/melting-pot-vue/.yarn/cache/@vue-reactivity-npm-3.4.20-93137b79e8-6f579b4b90.zip new file mode 100644 index 0000000..abb113d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-reactivity-npm-3.4.20-93137b79e8-6f579b4b90.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-runtime-core-npm-3.4.20-1cbe11be5c-48eb833895.zip b/melting-pot-vue/.yarn/cache/@vue-runtime-core-npm-3.4.20-1cbe11be5c-48eb833895.zip new file mode 100644 index 0000000..6c8a5b0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-runtime-core-npm-3.4.20-1cbe11be5c-48eb833895.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-runtime-dom-npm-3.4.20-5552ff641b-8782a55247.zip b/melting-pot-vue/.yarn/cache/@vue-runtime-dom-npm-3.4.20-5552ff641b-8782a55247.zip new file mode 100644 index 0000000..e272340 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-runtime-dom-npm-3.4.20-5552ff641b-8782a55247.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-server-renderer-npm-3.4.20-30158b0126-f840ef864a.zip b/melting-pot-vue/.yarn/cache/@vue-server-renderer-npm-3.4.20-30158b0126-f840ef864a.zip new file mode 100644 index 0000000..d9f83b4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-server-renderer-npm-3.4.20-30158b0126-f840ef864a.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-shared-npm-3.4.20-789f93b23c-fb621dfcb0.zip b/melting-pot-vue/.yarn/cache/@vue-shared-npm-3.4.20-789f93b23c-fb621dfcb0.zip new file mode 100644 index 0000000..5721b5a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-shared-npm-3.4.20-789f93b23c-fb621dfcb0.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-test-utils-npm-2.4.4-5dc39d2d67-edd444308a.zip b/melting-pot-vue/.yarn/cache/@vue-test-utils-npm-2.4.4-5dc39d2d67-edd444308a.zip new file mode 100644 index 0000000..77c592d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-test-utils-npm-2.4.4-5dc39d2d67-edd444308a.zip differ diff --git a/melting-pot-vue/.yarn/cache/@vue-tsconfig-npm-0.5.1-c8660c0790-1f8e51eae0.zip b/melting-pot-vue/.yarn/cache/@vue-tsconfig-npm-0.5.1-c8660c0790-1f8e51eae0.zip new file mode 100644 index 0000000..780404a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/@vue-tsconfig-npm-0.5.1-c8660c0790-1f8e51eae0.zip differ diff --git a/melting-pot-vue/.yarn/cache/abbrev-npm-2.0.0-0eb38a17e5-0e994ad2aa.zip b/melting-pot-vue/.yarn/cache/abbrev-npm-2.0.0-0eb38a17e5-0e994ad2aa.zip new file mode 100644 index 0000000..bcebdcb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/abbrev-npm-2.0.0-0eb38a17e5-0e994ad2aa.zip differ diff --git a/melting-pot-vue/.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-c3d3b2a89c.zip b/melting-pot-vue/.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-c3d3b2a89c.zip new file mode 100644 index 0000000..786b9ec Binary files /dev/null and b/melting-pot-vue/.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-c3d3b2a89c.zip differ diff --git a/melting-pot-vue/.yarn/cache/acorn-npm-8.11.3-0d7ab48b38-76d8e7d559.zip b/melting-pot-vue/.yarn/cache/acorn-npm-8.11.3-0d7ab48b38-76d8e7d559.zip new file mode 100644 index 0000000..af75d2b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/acorn-npm-8.11.3-0d7ab48b38-76d8e7d559.zip differ diff --git a/melting-pot-vue/.yarn/cache/acorn-walk-npm-8.3.2-df039a42bf-3626b9d26a.zip b/melting-pot-vue/.yarn/cache/acorn-walk-npm-8.3.2-df039a42bf-3626b9d26a.zip new file mode 100644 index 0000000..7a058a0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/acorn-walk-npm-8.3.2-df039a42bf-3626b9d26a.zip differ diff --git a/melting-pot-vue/.yarn/cache/agent-base-npm-7.1.0-4b12ba5111-f7828f9914.zip b/melting-pot-vue/.yarn/cache/agent-base-npm-7.1.0-4b12ba5111-f7828f9914.zip new file mode 100644 index 0000000..cfa8ee7 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/agent-base-npm-7.1.0-4b12ba5111-f7828f9914.zip differ diff --git a/melting-pot-vue/.yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zip b/melting-pot-vue/.yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zip new file mode 100644 index 0000000..7db0127 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zip differ diff --git a/melting-pot-vue/.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-874972efe5.zip b/melting-pot-vue/.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-874972efe5.zip new file mode 100644 index 0000000..16973dd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-874972efe5.zip differ diff --git a/melting-pot-vue/.yarn/cache/ansi-colors-npm-4.1.3-8ffd0ae6c7-a9c2ec8420.zip b/melting-pot-vue/.yarn/cache/ansi-colors-npm-4.1.3-8ffd0ae6c7-a9c2ec8420.zip new file mode 100644 index 0000000..cad48c8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ansi-colors-npm-4.1.3-8ffd0ae6c7-a9c2ec8420.zip differ diff --git a/melting-pot-vue/.yarn/cache/ansi-escapes-npm-4.3.2-3ad173702f-93111c4218.zip b/melting-pot-vue/.yarn/cache/ansi-escapes-npm-4.3.2-3ad173702f-93111c4218.zip new file mode 100644 index 0000000..6b90eff Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ansi-escapes-npm-4.3.2-3ad173702f-93111c4218.zip differ diff --git a/melting-pot-vue/.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip b/melting-pot-vue/.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip new file mode 100644 index 0000000..fffc17a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip differ diff --git a/melting-pot-vue/.yarn/cache/ansi-regex-npm-6.0.1-8d663a607d-1ff8b7667c.zip b/melting-pot-vue/.yarn/cache/ansi-regex-npm-6.0.1-8d663a607d-1ff8b7667c.zip new file mode 100644 index 0000000..088e552 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ansi-regex-npm-6.0.1-8d663a607d-1ff8b7667c.zip differ diff --git a/melting-pot-vue/.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-513b44c3b2.zip b/melting-pot-vue/.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-513b44c3b2.zip new file mode 100644 index 0000000..a18e3e6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-513b44c3b2.zip differ diff --git a/melting-pot-vue/.yarn/cache/ansi-styles-npm-5.2.0-72fc7003e3-d7f4e97ce0.zip b/melting-pot-vue/.yarn/cache/ansi-styles-npm-5.2.0-72fc7003e3-d7f4e97ce0.zip new file mode 100644 index 0000000..62c0903 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ansi-styles-npm-5.2.0-72fc7003e3-d7f4e97ce0.zip differ diff --git a/melting-pot-vue/.yarn/cache/ansi-styles-npm-6.2.1-d43647018c-ef940f2f0c.zip b/melting-pot-vue/.yarn/cache/ansi-styles-npm-6.2.1-d43647018c-ef940f2f0c.zip new file mode 100644 index 0000000..aa1bdfd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ansi-styles-npm-6.2.1-d43647018c-ef940f2f0c.zip differ diff --git a/melting-pot-vue/.yarn/cache/arch-npm-2.2.0-34797684d8-e21b763502.zip b/melting-pot-vue/.yarn/cache/arch-npm-2.2.0-34797684d8-e21b763502.zip new file mode 100644 index 0000000..e0f407e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/arch-npm-2.2.0-34797684d8-e21b763502.zip differ diff --git a/melting-pot-vue/.yarn/cache/arg-npm-5.0.2-2f5805a547-6c69ada1a9.zip b/melting-pot-vue/.yarn/cache/arg-npm-5.0.2-2f5805a547-6c69ada1a9.zip new file mode 100644 index 0000000..1ffd22e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/arg-npm-5.0.2-2f5805a547-6c69ada1a9.zip differ diff --git a/melting-pot-vue/.yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zip b/melting-pot-vue/.yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zip new file mode 100644 index 0000000..26a9ce4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zip differ diff --git a/melting-pot-vue/.yarn/cache/arr-union-npm-3.1.0-853ada9729-b5b0408c6e.zip b/melting-pot-vue/.yarn/cache/arr-union-npm-3.1.0-853ada9729-b5b0408c6e.zip new file mode 100644 index 0000000..0053841 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/arr-union-npm-3.1.0-853ada9729-b5b0408c6e.zip differ diff --git a/melting-pot-vue/.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip b/melting-pot-vue/.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip new file mode 100644 index 0000000..b51da2e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip differ diff --git a/melting-pot-vue/.yarn/cache/asn1-npm-0.2.6-bdd07356c4-39f2ae343b.zip b/melting-pot-vue/.yarn/cache/asn1-npm-0.2.6-bdd07356c4-39f2ae343b.zip new file mode 100644 index 0000000..a646396 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/asn1-npm-0.2.6-bdd07356c4-39f2ae343b.zip differ diff --git a/melting-pot-vue/.yarn/cache/assert-plus-npm-1.0.0-cac95ef098-19b4340cb8.zip b/melting-pot-vue/.yarn/cache/assert-plus-npm-1.0.0-cac95ef098-19b4340cb8.zip new file mode 100644 index 0000000..30c557d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/assert-plus-npm-1.0.0-cac95ef098-19b4340cb8.zip differ diff --git a/melting-pot-vue/.yarn/cache/assertion-error-npm-1.1.0-66b893015e-fd9429d3a3.zip b/melting-pot-vue/.yarn/cache/assertion-error-npm-1.1.0-66b893015e-fd9429d3a3.zip new file mode 100644 index 0000000..e7b45ee Binary files /dev/null and b/melting-pot-vue/.yarn/cache/assertion-error-npm-1.1.0-66b893015e-fd9429d3a3.zip differ diff --git a/melting-pot-vue/.yarn/cache/assign-symbols-npm-1.0.0-fd803ccdf1-c0eb895911.zip b/melting-pot-vue/.yarn/cache/assign-symbols-npm-1.0.0-fd803ccdf1-c0eb895911.zip new file mode 100644 index 0000000..6e72b81 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/assign-symbols-npm-1.0.0-fd803ccdf1-c0eb895911.zip differ diff --git a/melting-pot-vue/.yarn/cache/astral-regex-npm-2.0.0-f30d866aab-876231688c.zip b/melting-pot-vue/.yarn/cache/astral-regex-npm-2.0.0-f30d866aab-876231688c.zip new file mode 100644 index 0000000..1af622c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/astral-regex-npm-2.0.0-f30d866aab-876231688c.zip differ diff --git a/melting-pot-vue/.yarn/cache/async-npm-3.2.5-f5dbdabdfc-5ec77f1312.zip b/melting-pot-vue/.yarn/cache/async-npm-3.2.5-f5dbdabdfc-5ec77f1312.zip new file mode 100644 index 0000000..a0ee3e0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/async-npm-3.2.5-f5dbdabdfc-5ec77f1312.zip differ diff --git a/melting-pot-vue/.yarn/cache/asynckit-npm-0.4.0-c718858525-7b78c451df.zip b/melting-pot-vue/.yarn/cache/asynckit-npm-0.4.0-c718858525-7b78c451df.zip new file mode 100644 index 0000000..bb08c24 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/asynckit-npm-0.4.0-c718858525-7b78c451df.zip differ diff --git a/melting-pot-vue/.yarn/cache/at-least-node-npm-1.0.0-2b36e661fa-463e2f8e43.zip b/melting-pot-vue/.yarn/cache/at-least-node-npm-1.0.0-2b36e661fa-463e2f8e43.zip new file mode 100644 index 0000000..bc54975 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/at-least-node-npm-1.0.0-2b36e661fa-463e2f8e43.zip differ diff --git a/melting-pot-vue/.yarn/cache/aws-sign2-npm-0.7.0-656c6cb84d-b148b0bb07.zip b/melting-pot-vue/.yarn/cache/aws-sign2-npm-0.7.0-656c6cb84d-b148b0bb07.zip new file mode 100644 index 0000000..6d41947 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/aws-sign2-npm-0.7.0-656c6cb84d-b148b0bb07.zip differ diff --git a/melting-pot-vue/.yarn/cache/aws4-npm-1.12.0-af8e48a2ab-68f79708ac.zip b/melting-pot-vue/.yarn/cache/aws4-npm-1.12.0-af8e48a2ab-68f79708ac.zip new file mode 100644 index 0000000..c730171 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/aws4-npm-1.12.0-af8e48a2ab-68f79708ac.zip differ diff --git a/melting-pot-vue/.yarn/cache/axios-npm-1.6.7-d7b9974d1b-87d4d42992.zip b/melting-pot-vue/.yarn/cache/axios-npm-1.6.7-d7b9974d1b-87d4d42992.zip new file mode 100644 index 0000000..9e10f04 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/axios-npm-1.6.7-d7b9974d1b-87d4d42992.zip differ diff --git a/melting-pot-vue/.yarn/cache/balanced-match-npm-1.0.2-a53c126459-9706c088a2.zip b/melting-pot-vue/.yarn/cache/balanced-match-npm-1.0.2-a53c126459-9706c088a2.zip new file mode 100644 index 0000000..0693b6d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/balanced-match-npm-1.0.2-a53c126459-9706c088a2.zip differ diff --git a/melting-pot-vue/.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip b/melting-pot-vue/.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip new file mode 100644 index 0000000..a49ec87 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/base64-js-npm-1.5.1-b2f7275641-669632eb37.zip differ diff --git a/melting-pot-vue/.yarn/cache/bcrypt-pbkdf-npm-1.0.2-80db8b16ed-4edfc9fe7d.zip b/melting-pot-vue/.yarn/cache/bcrypt-pbkdf-npm-1.0.2-80db8b16ed-4edfc9fe7d.zip new file mode 100644 index 0000000..7515252 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/bcrypt-pbkdf-npm-1.0.2-80db8b16ed-4edfc9fe7d.zip differ diff --git a/melting-pot-vue/.yarn/cache/blob-util-npm-2.0.2-8026c830fe-d543e6b92e.zip b/melting-pot-vue/.yarn/cache/blob-util-npm-2.0.2-8026c830fe-d543e6b92e.zip new file mode 100644 index 0000000..a750b13 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/blob-util-npm-2.0.2-8026c830fe-d543e6b92e.zip differ diff --git a/melting-pot-vue/.yarn/cache/bluebird-npm-3.7.2-6a54136ee3-869417503c.zip b/melting-pot-vue/.yarn/cache/bluebird-npm-3.7.2-6a54136ee3-869417503c.zip new file mode 100644 index 0000000..f49f62c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/bluebird-npm-3.7.2-6a54136ee3-869417503c.zip differ diff --git a/melting-pot-vue/.yarn/cache/boolbase-npm-1.0.0-965fe9af6d-3e25c80ef6.zip b/melting-pot-vue/.yarn/cache/boolbase-npm-1.0.0-965fe9af6d-3e25c80ef6.zip new file mode 100644 index 0000000..199099e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/boolbase-npm-1.0.0-965fe9af6d-3e25c80ef6.zip differ diff --git a/melting-pot-vue/.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip b/melting-pot-vue/.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip new file mode 100644 index 0000000..9deab64 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip differ diff --git a/melting-pot-vue/.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip b/melting-pot-vue/.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip new file mode 100644 index 0000000..11d5bd0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip differ diff --git a/melting-pot-vue/.yarn/cache/braces-npm-3.0.2-782240b28a-e2a8e769a8.zip b/melting-pot-vue/.yarn/cache/braces-npm-3.0.2-782240b28a-e2a8e769a8.zip new file mode 100644 index 0000000..92998e3 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/braces-npm-3.0.2-782240b28a-e2a8e769a8.zip differ diff --git a/melting-pot-vue/.yarn/cache/buffer-crc32-npm-0.2.13-c4b6fceac1-06252347ae.zip b/melting-pot-vue/.yarn/cache/buffer-crc32-npm-0.2.13-c4b6fceac1-06252347ae.zip new file mode 100644 index 0000000..96da9d8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/buffer-crc32-npm-0.2.13-c4b6fceac1-06252347ae.zip differ diff --git a/melting-pot-vue/.yarn/cache/buffer-npm-5.7.1-513ef8259e-e2cf8429e1.zip b/melting-pot-vue/.yarn/cache/buffer-npm-5.7.1-513ef8259e-e2cf8429e1.zip new file mode 100644 index 0000000..15c7810 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/buffer-npm-5.7.1-513ef8259e-e2cf8429e1.zip differ diff --git a/melting-pot-vue/.yarn/cache/bytewise-core-npm-1.2.3-56e9d2eb62-e0d28fb7ff.zip b/melting-pot-vue/.yarn/cache/bytewise-core-npm-1.2.3-56e9d2eb62-e0d28fb7ff.zip new file mode 100644 index 0000000..a41c5ff Binary files /dev/null and b/melting-pot-vue/.yarn/cache/bytewise-core-npm-1.2.3-56e9d2eb62-e0d28fb7ff.zip differ diff --git a/melting-pot-vue/.yarn/cache/bytewise-npm-1.1.0-482e95ead9-20d7387ecf.zip b/melting-pot-vue/.yarn/cache/bytewise-npm-1.1.0-482e95ead9-20d7387ecf.zip new file mode 100644 index 0000000..436a6a1 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/bytewise-npm-1.1.0-482e95ead9-20d7387ecf.zip differ diff --git a/melting-pot-vue/.yarn/cache/cac-npm-6.7.14-c46284e425-45a2496a94.zip b/melting-pot-vue/.yarn/cache/cac-npm-6.7.14-c46284e425-45a2496a94.zip new file mode 100644 index 0000000..2ec9f9f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/cac-npm-6.7.14-c46284e425-45a2496a94.zip differ diff --git a/melting-pot-vue/.yarn/cache/cacache-npm-18.0.2-d6329a1b9d-0250df80e1.zip b/melting-pot-vue/.yarn/cache/cacache-npm-18.0.2-d6329a1b9d-0250df80e1.zip new file mode 100644 index 0000000..172f0ca Binary files /dev/null and b/melting-pot-vue/.yarn/cache/cacache-npm-18.0.2-d6329a1b9d-0250df80e1.zip differ diff --git a/melting-pot-vue/.yarn/cache/cachedir-npm-2.4.0-389d656608-43198514ea.zip b/melting-pot-vue/.yarn/cache/cachedir-npm-2.4.0-389d656608-43198514ea.zip new file mode 100644 index 0000000..78756cb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/cachedir-npm-2.4.0-389d656608-43198514ea.zip differ diff --git a/melting-pot-vue/.yarn/cache/call-bind-npm-1.0.7-762763ef96-295c0c62b9.zip b/melting-pot-vue/.yarn/cache/call-bind-npm-1.0.7-762763ef96-295c0c62b9.zip new file mode 100644 index 0000000..acc617c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/call-bind-npm-1.0.7-762763ef96-295c0c62b9.zip differ diff --git a/melting-pot-vue/.yarn/cache/callsites-npm-3.1.0-268f989910-072d17b6ab.zip b/melting-pot-vue/.yarn/cache/callsites-npm-3.1.0-268f989910-072d17b6ab.zip new file mode 100644 index 0000000..be6414c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/callsites-npm-3.1.0-268f989910-072d17b6ab.zip differ diff --git a/melting-pot-vue/.yarn/cache/caseless-npm-0.12.0-e83bc5df83-b43bd4c440.zip b/melting-pot-vue/.yarn/cache/caseless-npm-0.12.0-e83bc5df83-b43bd4c440.zip new file mode 100644 index 0000000..a12be75 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/caseless-npm-0.12.0-e83bc5df83-b43bd4c440.zip differ diff --git a/melting-pot-vue/.yarn/cache/chai-npm-4.4.1-ffd006b4b1-9ab84f36eb.zip b/melting-pot-vue/.yarn/cache/chai-npm-4.4.1-ffd006b4b1-9ab84f36eb.zip new file mode 100644 index 0000000..963380e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/chai-npm-4.4.1-ffd006b4b1-9ab84f36eb.zip differ diff --git a/melting-pot-vue/.yarn/cache/chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip b/melting-pot-vue/.yarn/cache/chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip new file mode 100644 index 0000000..03d46b8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip differ diff --git a/melting-pot-vue/.yarn/cache/check-error-npm-1.0.3-137994eabc-e2131025cf.zip b/melting-pot-vue/.yarn/cache/check-error-npm-1.0.3-137994eabc-e2131025cf.zip new file mode 100644 index 0000000..4a3d2b5 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/check-error-npm-1.0.3-137994eabc-e2131025cf.zip differ diff --git a/melting-pot-vue/.yarn/cache/check-more-types-npm-2.24.0-fa2e491b27-b09080ec34.zip b/melting-pot-vue/.yarn/cache/check-more-types-npm-2.24.0-fa2e491b27-b09080ec34.zip new file mode 100644 index 0000000..6f5e29a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/check-more-types-npm-2.24.0-fa2e491b27-b09080ec34.zip differ diff --git a/melting-pot-vue/.yarn/cache/chownr-npm-2.0.0-638f1c9c61-c57cf9dd07.zip b/melting-pot-vue/.yarn/cache/chownr-npm-2.0.0-638f1c9c61-c57cf9dd07.zip new file mode 100644 index 0000000..e074b2f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/chownr-npm-2.0.0-638f1c9c61-c57cf9dd07.zip differ diff --git a/melting-pot-vue/.yarn/cache/ci-info-npm-3.9.0-646784ca0e-6b19dc9b29.zip b/melting-pot-vue/.yarn/cache/ci-info-npm-3.9.0-646784ca0e-6b19dc9b29.zip new file mode 100644 index 0000000..48c6624 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ci-info-npm-3.9.0-646784ca0e-6b19dc9b29.zip differ diff --git a/melting-pot-vue/.yarn/cache/clean-stack-npm-2.2.0-a8ce435a5c-2ac8cd2b2f.zip b/melting-pot-vue/.yarn/cache/clean-stack-npm-2.2.0-a8ce435a5c-2ac8cd2b2f.zip new file mode 100644 index 0000000..c510995 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/clean-stack-npm-2.2.0-a8ce435a5c-2ac8cd2b2f.zip differ diff --git a/melting-pot-vue/.yarn/cache/cli-cursor-npm-3.1.0-fee1e46b5e-2692784c6c.zip b/melting-pot-vue/.yarn/cache/cli-cursor-npm-3.1.0-fee1e46b5e-2692784c6c.zip new file mode 100644 index 0000000..2a8723c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/cli-cursor-npm-3.1.0-fee1e46b5e-2692784c6c.zip differ diff --git a/melting-pot-vue/.yarn/cache/cli-table3-npm-0.6.3-1dca7f9152-09897f6846.zip b/melting-pot-vue/.yarn/cache/cli-table3-npm-0.6.3-1dca7f9152-09897f6846.zip new file mode 100644 index 0000000..d575669 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/cli-table3-npm-0.6.3-1dca7f9152-09897f6846.zip differ diff --git a/melting-pot-vue/.yarn/cache/cli-truncate-npm-2.1.0-72184d3467-bf1e4e6195.zip b/melting-pot-vue/.yarn/cache/cli-truncate-npm-2.1.0-72184d3467-bf1e4e6195.zip new file mode 100644 index 0000000..f8c20f3 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/cli-truncate-npm-2.1.0-72184d3467-bf1e4e6195.zip differ diff --git a/melting-pot-vue/.yarn/cache/color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip b/melting-pot-vue/.yarn/cache/color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip new file mode 100644 index 0000000..b3499ad Binary files /dev/null and b/melting-pot-vue/.yarn/cache/color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip differ diff --git a/melting-pot-vue/.yarn/cache/color-name-npm-1.1.4-025792b0ea-b044585952.zip b/melting-pot-vue/.yarn/cache/color-name-npm-1.1.4-025792b0ea-b044585952.zip new file mode 100644 index 0000000..ce1ffc4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/color-name-npm-1.1.4-025792b0ea-b044585952.zip differ diff --git a/melting-pot-vue/.yarn/cache/colorette-npm-2.0.20-692d428726-0c016fea2b.zip b/melting-pot-vue/.yarn/cache/colorette-npm-2.0.20-692d428726-0c016fea2b.zip new file mode 100644 index 0000000..3de261a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/colorette-npm-2.0.20-692d428726-0c016fea2b.zip differ diff --git a/melting-pot-vue/.yarn/cache/combined-stream-npm-1.0.8-dc14d4a63a-49fa4aeb49.zip b/melting-pot-vue/.yarn/cache/combined-stream-npm-1.0.8-dc14d4a63a-49fa4aeb49.zip new file mode 100644 index 0000000..89c8caa Binary files /dev/null and b/melting-pot-vue/.yarn/cache/combined-stream-npm-1.0.8-dc14d4a63a-49fa4aeb49.zip differ diff --git a/melting-pot-vue/.yarn/cache/commander-npm-10.0.1-f17613b72b-436901d64a.zip b/melting-pot-vue/.yarn/cache/commander-npm-10.0.1-f17613b72b-436901d64a.zip new file mode 100644 index 0000000..6e5dd26 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/commander-npm-10.0.1-f17613b72b-436901d64a.zip differ diff --git a/melting-pot-vue/.yarn/cache/commander-npm-6.2.1-d5b635f237-d7090410c0.zip b/melting-pot-vue/.yarn/cache/commander-npm-6.2.1-d5b635f237-d7090410c0.zip new file mode 100644 index 0000000..17e5a12 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/commander-npm-6.2.1-d5b635f237-d7090410c0.zip differ diff --git a/melting-pot-vue/.yarn/cache/common-tags-npm-1.8.2-2c30ba69b3-767a6255a8.zip b/melting-pot-vue/.yarn/cache/common-tags-npm-1.8.2-2c30ba69b3-767a6255a8.zip new file mode 100644 index 0000000..3b1eefb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/common-tags-npm-1.8.2-2c30ba69b3-767a6255a8.zip differ diff --git a/melting-pot-vue/.yarn/cache/computeds-npm-0.0.1-bef3a1eb28-9d81c5850b.zip b/melting-pot-vue/.yarn/cache/computeds-npm-0.0.1-bef3a1eb28-9d81c5850b.zip new file mode 100644 index 0000000..29643ff Binary files /dev/null and b/melting-pot-vue/.yarn/cache/computeds-npm-0.0.1-bef3a1eb28-9d81c5850b.zip differ diff --git a/melting-pot-vue/.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-902a9f5d89.zip b/melting-pot-vue/.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-902a9f5d89.zip new file mode 100644 index 0000000..66b4c32 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-902a9f5d89.zip differ diff --git a/melting-pot-vue/.yarn/cache/config-chain-npm-1.1.13-82e06afbc4-828137a28e.zip b/melting-pot-vue/.yarn/cache/config-chain-npm-1.1.13-82e06afbc4-828137a28e.zip new file mode 100644 index 0000000..b6b3d5f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/config-chain-npm-1.1.13-82e06afbc4-828137a28e.zip differ diff --git a/melting-pot-vue/.yarn/cache/core-util-is-npm-1.0.2-9fc2b94dc3-7a4c925b49.zip b/melting-pot-vue/.yarn/cache/core-util-is-npm-1.0.2-9fc2b94dc3-7a4c925b49.zip new file mode 100644 index 0000000..00b0792 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/core-util-is-npm-1.0.2-9fc2b94dc3-7a4c925b49.zip differ diff --git a/melting-pot-vue/.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-671cc7c728.zip b/melting-pot-vue/.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-671cc7c728.zip new file mode 100644 index 0000000..9613e38 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-671cc7c728.zip differ diff --git a/melting-pot-vue/.yarn/cache/cssesc-npm-3.0.0-15ec56f86f-f8c4ababff.zip b/melting-pot-vue/.yarn/cache/cssesc-npm-3.0.0-15ec56f86f-f8c4ababff.zip new file mode 100644 index 0000000..ba053ed Binary files /dev/null and b/melting-pot-vue/.yarn/cache/cssesc-npm-3.0.0-15ec56f86f-f8c4ababff.zip differ diff --git a/melting-pot-vue/.yarn/cache/cssstyle-npm-4.0.1-b3be47925f-4b2fdd81c5.zip b/melting-pot-vue/.yarn/cache/cssstyle-npm-4.0.1-b3be47925f-4b2fdd81c5.zip new file mode 100644 index 0000000..4dc5e71 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/cssstyle-npm-4.0.1-b3be47925f-4b2fdd81c5.zip differ diff --git a/melting-pot-vue/.yarn/cache/csstype-npm-3.1.3-e9a1c85013-8db785cc92.zip b/melting-pot-vue/.yarn/cache/csstype-npm-3.1.3-e9a1c85013-8db785cc92.zip new file mode 100644 index 0000000..9853f0c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/csstype-npm-3.1.3-e9a1c85013-8db785cc92.zip differ diff --git a/melting-pot-vue/.yarn/cache/cypress-npm-13.6.6-746c2ee2e9-8a7db7d294.zip b/melting-pot-vue/.yarn/cache/cypress-npm-13.6.6-746c2ee2e9-8a7db7d294.zip new file mode 100644 index 0000000..a0fced0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/cypress-npm-13.6.6-746c2ee2e9-8a7db7d294.zip differ diff --git a/melting-pot-vue/.yarn/cache/dashdash-npm-1.14.1-be8f10a286-3634c24957.zip b/melting-pot-vue/.yarn/cache/dashdash-npm-1.14.1-be8f10a286-3634c24957.zip new file mode 100644 index 0000000..108f905 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/dashdash-npm-1.14.1-be8f10a286-3634c24957.zip differ diff --git a/melting-pot-vue/.yarn/cache/data-urls-npm-5.0.0-4b58b89bfe-5c40568c31.zip b/melting-pot-vue/.yarn/cache/data-urls-npm-5.0.0-4b58b89bfe-5c40568c31.zip new file mode 100644 index 0000000..2f5f097 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/data-urls-npm-5.0.0-4b58b89bfe-5c40568c31.zip differ diff --git a/melting-pot-vue/.yarn/cache/dayjs-npm-1.11.10-2b4382efc1-a6b5a3813b.zip b/melting-pot-vue/.yarn/cache/dayjs-npm-1.11.10-2b4382efc1-a6b5a3813b.zip new file mode 100644 index 0000000..08465c3 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/dayjs-npm-1.11.10-2b4382efc1-a6b5a3813b.zip differ diff --git a/melting-pot-vue/.yarn/cache/de-indent-npm-1.0.2-66cccde30f-8deacc0f4a.zip b/melting-pot-vue/.yarn/cache/de-indent-npm-1.0.2-66cccde30f-8deacc0f4a.zip new file mode 100644 index 0000000..522a69f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/de-indent-npm-1.0.2-66cccde30f-8deacc0f4a.zip differ diff --git a/melting-pot-vue/.yarn/cache/debug-npm-3.2.7-754e818c7a-b3d8c59407.zip b/melting-pot-vue/.yarn/cache/debug-npm-3.2.7-754e818c7a-b3d8c59407.zip new file mode 100644 index 0000000..b9eb5a9 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/debug-npm-3.2.7-754e818c7a-b3d8c59407.zip differ diff --git a/melting-pot-vue/.yarn/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip b/melting-pot-vue/.yarn/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip new file mode 100644 index 0000000..d3a11d8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip differ diff --git a/melting-pot-vue/.yarn/cache/decimal.js-npm-10.4.3-e7d483387c-796404dcfa.zip b/melting-pot-vue/.yarn/cache/decimal.js-npm-10.4.3-e7d483387c-796404dcfa.zip new file mode 100644 index 0000000..62560be Binary files /dev/null and b/melting-pot-vue/.yarn/cache/decimal.js-npm-10.4.3-e7d483387c-796404dcfa.zip differ diff --git a/melting-pot-vue/.yarn/cache/deep-eql-npm-4.1.3-020a64f862-7f6d30cb41.zip b/melting-pot-vue/.yarn/cache/deep-eql-npm-4.1.3-020a64f862-7f6d30cb41.zip new file mode 100644 index 0000000..754bfdf Binary files /dev/null and b/melting-pot-vue/.yarn/cache/deep-eql-npm-4.1.3-020a64f862-7f6d30cb41.zip differ diff --git a/melting-pot-vue/.yarn/cache/deep-is-npm-0.1.4-88938b5a67-edb65dd0d7.zip b/melting-pot-vue/.yarn/cache/deep-is-npm-0.1.4-88938b5a67-edb65dd0d7.zip new file mode 100644 index 0000000..2078a47 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/deep-is-npm-0.1.4-88938b5a67-edb65dd0d7.zip differ diff --git a/melting-pot-vue/.yarn/cache/define-data-property-npm-1.1.4-4cbd8efc51-8068ee6cab.zip b/melting-pot-vue/.yarn/cache/define-data-property-npm-1.1.4-4cbd8efc51-8068ee6cab.zip new file mode 100644 index 0000000..908aa3c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/define-data-property-npm-1.1.4-4cbd8efc51-8068ee6cab.zip differ diff --git a/melting-pot-vue/.yarn/cache/delayed-stream-npm-1.0.0-c5a4c4cc02-46fe6e83e2.zip b/melting-pot-vue/.yarn/cache/delayed-stream-npm-1.0.0-c5a4c4cc02-46fe6e83e2.zip new file mode 100644 index 0000000..7151434 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/delayed-stream-npm-1.0.0-c5a4c4cc02-46fe6e83e2.zip differ diff --git a/melting-pot-vue/.yarn/cache/diff-sequences-npm-29.6.3-18ab2c9949-f4914158e1.zip b/melting-pot-vue/.yarn/cache/diff-sequences-npm-29.6.3-18ab2c9949-f4914158e1.zip new file mode 100644 index 0000000..89803db Binary files /dev/null and b/melting-pot-vue/.yarn/cache/diff-sequences-npm-29.6.3-18ab2c9949-f4914158e1.zip differ diff --git a/melting-pot-vue/.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip b/melting-pot-vue/.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip new file mode 100644 index 0000000..e292fec Binary files /dev/null and b/melting-pot-vue/.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip differ diff --git a/melting-pot-vue/.yarn/cache/doctrine-npm-3.0.0-c6f1615f04-fd7673ca77.zip b/melting-pot-vue/.yarn/cache/doctrine-npm-3.0.0-c6f1615f04-fd7673ca77.zip new file mode 100644 index 0000000..25e0903 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/doctrine-npm-3.0.0-c6f1615f04-fd7673ca77.zip differ diff --git a/melting-pot-vue/.yarn/cache/duplexer-npm-0.1.2-952c810235-62ba61a830.zip b/melting-pot-vue/.yarn/cache/duplexer-npm-0.1.2-952c810235-62ba61a830.zip new file mode 100644 index 0000000..c6deccf Binary files /dev/null and b/melting-pot-vue/.yarn/cache/duplexer-npm-0.1.2-952c810235-62ba61a830.zip differ diff --git a/melting-pot-vue/.yarn/cache/earcut-npm-2.2.4-e823546b2f-aea0466cb2.zip b/melting-pot-vue/.yarn/cache/earcut-npm-2.2.4-e823546b2f-aea0466cb2.zip new file mode 100644 index 0000000..bd142a1 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/earcut-npm-2.2.4-e823546b2f-aea0466cb2.zip differ diff --git a/melting-pot-vue/.yarn/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-7d00d7cd8e.zip b/melting-pot-vue/.yarn/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-7d00d7cd8e.zip new file mode 100644 index 0000000..1038599 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-7d00d7cd8e.zip differ diff --git a/melting-pot-vue/.yarn/cache/ecc-jsbn-npm-0.1.2-85b7a7be89-22fef4b620.zip b/melting-pot-vue/.yarn/cache/ecc-jsbn-npm-0.1.2-85b7a7be89-22fef4b620.zip new file mode 100644 index 0000000..80e362a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ecc-jsbn-npm-0.1.2-85b7a7be89-22fef4b620.zip differ diff --git a/melting-pot-vue/.yarn/cache/editorconfig-npm-1.0.4-95c5a5b144-09904f1938.zip b/melting-pot-vue/.yarn/cache/editorconfig-npm-1.0.4-95c5a5b144-09904f1938.zip new file mode 100644 index 0000000..29db2cb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/editorconfig-npm-1.0.4-95c5a5b144-09904f1938.zip differ diff --git a/melting-pot-vue/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip b/melting-pot-vue/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip new file mode 100644 index 0000000..d02d887 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip differ diff --git a/melting-pot-vue/.yarn/cache/emoji-regex-npm-9.2.2-e6fac8d058-8487182da7.zip b/melting-pot-vue/.yarn/cache/emoji-regex-npm-9.2.2-e6fac8d058-8487182da7.zip new file mode 100644 index 0000000..e6b0ab4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/emoji-regex-npm-9.2.2-e6fac8d058-8487182da7.zip differ diff --git a/melting-pot-vue/.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip b/melting-pot-vue/.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip new file mode 100644 index 0000000..202e931 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip differ diff --git a/melting-pot-vue/.yarn/cache/end-of-stream-npm-1.4.4-497fc6dee1-530a5a5a1e.zip b/melting-pot-vue/.yarn/cache/end-of-stream-npm-1.4.4-497fc6dee1-530a5a5a1e.zip new file mode 100644 index 0000000..fecd228 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/end-of-stream-npm-1.4.4-497fc6dee1-530a5a5a1e.zip differ diff --git a/melting-pot-vue/.yarn/cache/enquirer-npm-2.4.1-d71b2b33c1-f080f11a74.zip b/melting-pot-vue/.yarn/cache/enquirer-npm-2.4.1-d71b2b33c1-f080f11a74.zip new file mode 100644 index 0000000..68ffa87 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/enquirer-npm-2.4.1-d71b2b33c1-f080f11a74.zip differ diff --git a/melting-pot-vue/.yarn/cache/entities-npm-4.5.0-7cdb83b832-853f8ebd5b.zip b/melting-pot-vue/.yarn/cache/entities-npm-4.5.0-7cdb83b832-853f8ebd5b.zip new file mode 100644 index 0000000..3772a45 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/entities-npm-4.5.0-7cdb83b832-853f8ebd5b.zip differ diff --git a/melting-pot-vue/.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip b/melting-pot-vue/.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip new file mode 100644 index 0000000..5fecf17 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip differ diff --git a/melting-pot-vue/.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-8b7b1be20d.zip b/melting-pot-vue/.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-8b7b1be20d.zip new file mode 100644 index 0000000..3058584 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-8b7b1be20d.zip differ diff --git a/melting-pot-vue/.yarn/cache/es-define-property-npm-1.0.0-e23aa9b242-f66ece0a88.zip b/melting-pot-vue/.yarn/cache/es-define-property-npm-1.0.0-e23aa9b242-f66ece0a88.zip new file mode 100644 index 0000000..67c2741 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/es-define-property-npm-1.0.0-e23aa9b242-f66ece0a88.zip differ diff --git a/melting-pot-vue/.yarn/cache/es-errors-npm-1.3.0-fda0c9b8a8-ec1414527a.zip b/melting-pot-vue/.yarn/cache/es-errors-npm-1.3.0-fda0c9b8a8-ec1414527a.zip new file mode 100644 index 0000000..0ed2323 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/es-errors-npm-1.3.0-fda0c9b8a8-ec1414527a.zip differ diff --git a/melting-pot-vue/.yarn/cache/esbuild-npm-0.19.12-fb5a3a4313-2936e29107.zip b/melting-pot-vue/.yarn/cache/esbuild-npm-0.19.12-fb5a3a4313-2936e29107.zip new file mode 100644 index 0000000..b479b5f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/esbuild-npm-0.19.12-fb5a3a4313-2936e29107.zip differ diff --git a/melting-pot-vue/.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-6092fda75c.zip b/melting-pot-vue/.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-6092fda75c.zip new file mode 100644 index 0000000..b7ea3be Binary files /dev/null and b/melting-pot-vue/.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-6092fda75c.zip differ diff --git a/melting-pot-vue/.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-98b48897d9.zip b/melting-pot-vue/.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-98b48897d9.zip new file mode 100644 index 0000000..c23e416 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-98b48897d9.zip differ diff --git a/melting-pot-vue/.yarn/cache/eslint-config-prettier-npm-8.10.0-c1aac67611-153266badd.zip b/melting-pot-vue/.yarn/cache/eslint-config-prettier-npm-8.10.0-c1aac67611-153266badd.zip new file mode 100644 index 0000000..d588f2d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/eslint-config-prettier-npm-8.10.0-c1aac67611-153266badd.zip differ diff --git a/melting-pot-vue/.yarn/cache/eslint-npm-8.57.0-4286e12a3a-3a48d7ff85.zip b/melting-pot-vue/.yarn/cache/eslint-npm-8.57.0-4286e12a3a-3a48d7ff85.zip new file mode 100644 index 0000000..73f8f9d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/eslint-npm-8.57.0-4286e12a3a-3a48d7ff85.zip differ diff --git a/melting-pot-vue/.yarn/cache/eslint-plugin-cypress-npm-2.15.1-90f777d9bd-3e66fa9a94.zip b/melting-pot-vue/.yarn/cache/eslint-plugin-cypress-npm-2.15.1-90f777d9bd-3e66fa9a94.zip new file mode 100644 index 0000000..13724ec Binary files /dev/null and b/melting-pot-vue/.yarn/cache/eslint-plugin-cypress-npm-2.15.1-90f777d9bd-3e66fa9a94.zip differ diff --git a/melting-pot-vue/.yarn/cache/eslint-plugin-prettier-npm-5.1.3-496c3b84df-eb2a7d46a1.zip b/melting-pot-vue/.yarn/cache/eslint-plugin-prettier-npm-5.1.3-496c3b84df-eb2a7d46a1.zip new file mode 100644 index 0000000..f05083d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/eslint-plugin-prettier-npm-5.1.3-496c3b84df-eb2a7d46a1.zip differ diff --git a/melting-pot-vue/.yarn/cache/eslint-plugin-vue-npm-9.22.0-2cdb92f3c1-5f1e94b412.zip b/melting-pot-vue/.yarn/cache/eslint-plugin-vue-npm-9.22.0-2cdb92f3c1-5f1e94b412.zip new file mode 100644 index 0000000..b0eff51 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/eslint-plugin-vue-npm-9.22.0-2cdb92f3c1-5f1e94b412.zip differ diff --git a/melting-pot-vue/.yarn/cache/eslint-scope-npm-7.2.2-53cb0df8e8-ec97dbf5fb.zip b/melting-pot-vue/.yarn/cache/eslint-scope-npm-7.2.2-53cb0df8e8-ec97dbf5fb.zip new file mode 100644 index 0000000..29b002e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/eslint-scope-npm-7.2.2-53cb0df8e8-ec97dbf5fb.zip differ diff --git a/melting-pot-vue/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-36e9ef87fc.zip b/melting-pot-vue/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-36e9ef87fc.zip new file mode 100644 index 0000000..7c61b81 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-36e9ef87fc.zip differ diff --git a/melting-pot-vue/.yarn/cache/espree-npm-9.6.1-a50722a5a9-eb8c149c7a.zip b/melting-pot-vue/.yarn/cache/espree-npm-9.6.1-a50722a5a9-eb8c149c7a.zip new file mode 100644 index 0000000..0014c05 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/espree-npm-9.6.1-a50722a5a9-eb8c149c7a.zip differ diff --git a/melting-pot-vue/.yarn/cache/esquery-npm-1.5.0-d8f8a06879-aefb0d2596.zip b/melting-pot-vue/.yarn/cache/esquery-npm-1.5.0-d8f8a06879-aefb0d2596.zip new file mode 100644 index 0000000..6006b96 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/esquery-npm-1.5.0-d8f8a06879-aefb0d2596.zip differ diff --git a/melting-pot-vue/.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-ebc17b1a33.zip b/melting-pot-vue/.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-ebc17b1a33.zip new file mode 100644 index 0000000..97e67b4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-ebc17b1a33.zip differ diff --git a/melting-pot-vue/.yarn/cache/estraverse-npm-5.3.0-03284f8f63-072780882d.zip b/melting-pot-vue/.yarn/cache/estraverse-npm-5.3.0-03284f8f63-072780882d.zip new file mode 100644 index 0000000..eb7c3cc Binary files /dev/null and b/melting-pot-vue/.yarn/cache/estraverse-npm-5.3.0-03284f8f63-072780882d.zip differ diff --git a/melting-pot-vue/.yarn/cache/estree-walker-npm-2.0.2-dfab42f65c-6151e6f982.zip b/melting-pot-vue/.yarn/cache/estree-walker-npm-2.0.2-dfab42f65c-6151e6f982.zip new file mode 100644 index 0000000..71b90a2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/estree-walker-npm-2.0.2-dfab42f65c-6151e6f982.zip differ diff --git a/melting-pot-vue/.yarn/cache/estree-walker-npm-3.0.3-0372979673-a65728d572.zip b/melting-pot-vue/.yarn/cache/estree-walker-npm-3.0.3-0372979673-a65728d572.zip new file mode 100644 index 0000000..45ecddd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/estree-walker-npm-3.0.3-0372979673-a65728d572.zip differ diff --git a/melting-pot-vue/.yarn/cache/esutils-npm-2.0.3-f865beafd5-22b5b08f74.zip b/melting-pot-vue/.yarn/cache/esutils-npm-2.0.3-f865beafd5-22b5b08f74.zip new file mode 100644 index 0000000..c163c32 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/esutils-npm-2.0.3-f865beafd5-22b5b08f74.zip differ diff --git a/melting-pot-vue/.yarn/cache/event-stream-npm-3.3.4-5a4db234bf-80b467820b.zip b/melting-pot-vue/.yarn/cache/event-stream-npm-3.3.4-5a4db234bf-80b467820b.zip new file mode 100644 index 0000000..a8321d6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/event-stream-npm-3.3.4-5a4db234bf-80b467820b.zip differ diff --git a/melting-pot-vue/.yarn/cache/eventemitter2-npm-6.4.7-ad2467adaa-1b36a77e13.zip b/melting-pot-vue/.yarn/cache/eventemitter2-npm-6.4.7-ad2467adaa-1b36a77e13.zip new file mode 100644 index 0000000..1e3458a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/eventemitter2-npm-6.4.7-ad2467adaa-1b36a77e13.zip differ diff --git a/melting-pot-vue/.yarn/cache/execa-npm-4.1.0-cc675b4189-e30d298934.zip b/melting-pot-vue/.yarn/cache/execa-npm-4.1.0-cc675b4189-e30d298934.zip new file mode 100644 index 0000000..bffd898 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/execa-npm-4.1.0-cc675b4189-e30d298934.zip differ diff --git a/melting-pot-vue/.yarn/cache/execa-npm-5.1.1-191347acf5-fba9022c8c.zip b/melting-pot-vue/.yarn/cache/execa-npm-5.1.1-191347acf5-fba9022c8c.zip new file mode 100644 index 0000000..2150a7b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/execa-npm-5.1.1-191347acf5-fba9022c8c.zip differ diff --git a/melting-pot-vue/.yarn/cache/execa-npm-8.0.1-0211bd404c-cac1bf8658.zip b/melting-pot-vue/.yarn/cache/execa-npm-8.0.1-0211bd404c-cac1bf8658.zip new file mode 100644 index 0000000..2473283 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/execa-npm-8.0.1-0211bd404c-cac1bf8658.zip differ diff --git a/melting-pot-vue/.yarn/cache/executable-npm-4.1.1-c06d32cd1b-f01927ce59.zip b/melting-pot-vue/.yarn/cache/executable-npm-4.1.1-c06d32cd1b-f01927ce59.zip new file mode 100644 index 0000000..63ff61c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/executable-npm-4.1.1-c06d32cd1b-f01927ce59.zip differ diff --git a/melting-pot-vue/.yarn/cache/exponential-backoff-npm-3.1.1-04df458b30-3d21519a4f.zip b/melting-pot-vue/.yarn/cache/exponential-backoff-npm-3.1.1-04df458b30-3d21519a4f.zip new file mode 100644 index 0000000..ea4828a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/exponential-backoff-npm-3.1.1-04df458b30-3d21519a4f.zip differ diff --git a/melting-pot-vue/.yarn/cache/extend-npm-3.0.2-e1ca07ac54-a50a8309ca.zip b/melting-pot-vue/.yarn/cache/extend-npm-3.0.2-e1ca07ac54-a50a8309ca.zip new file mode 100644 index 0000000..a33fb28 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/extend-npm-3.0.2-e1ca07ac54-a50a8309ca.zip differ diff --git a/melting-pot-vue/.yarn/cache/extend-shallow-npm-2.0.1-e6ef52b29c-8fb58d9d7a.zip b/melting-pot-vue/.yarn/cache/extend-shallow-npm-2.0.1-e6ef52b29c-8fb58d9d7a.zip new file mode 100644 index 0000000..ba82137 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/extend-shallow-npm-2.0.1-e6ef52b29c-8fb58d9d7a.zip differ diff --git a/melting-pot-vue/.yarn/cache/extend-shallow-npm-3.0.2-77bbe1bbf5-a920b0cd58.zip b/melting-pot-vue/.yarn/cache/extend-shallow-npm-3.0.2-77bbe1bbf5-a920b0cd58.zip new file mode 100644 index 0000000..ad15ea9 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/extend-shallow-npm-3.0.2-77bbe1bbf5-a920b0cd58.zip differ diff --git a/melting-pot-vue/.yarn/cache/extract-zip-npm-2.0.1-92a28e392b-8cbda9debd.zip b/melting-pot-vue/.yarn/cache/extract-zip-npm-2.0.1-92a28e392b-8cbda9debd.zip new file mode 100644 index 0000000..2169ae4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/extract-zip-npm-2.0.1-92a28e392b-8cbda9debd.zip differ diff --git a/melting-pot-vue/.yarn/cache/extsprintf-npm-1.3.0-61a92b324c-cee7a4a1e3.zip b/melting-pot-vue/.yarn/cache/extsprintf-npm-1.3.0-61a92b324c-cee7a4a1e3.zip new file mode 100644 index 0000000..e72ea1c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/extsprintf-npm-1.3.0-61a92b324c-cee7a4a1e3.zip differ diff --git a/melting-pot-vue/.yarn/cache/extsprintf-npm-1.4.1-140b2f27ab-a2f29b2419.zip b/melting-pot-vue/.yarn/cache/extsprintf-npm-1.4.1-140b2f27ab-a2f29b2419.zip new file mode 100644 index 0000000..21fa7b4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/extsprintf-npm-1.4.1-140b2f27ab-a2f29b2419.zip differ diff --git a/melting-pot-vue/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip b/melting-pot-vue/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip new file mode 100644 index 0000000..c060089 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip differ diff --git a/melting-pot-vue/.yarn/cache/fast-diff-npm-1.3.0-9f19e3b743-d22d371b99.zip b/melting-pot-vue/.yarn/cache/fast-diff-npm-1.3.0-9f19e3b743-d22d371b99.zip new file mode 100644 index 0000000..0e9ed0f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fast-diff-npm-1.3.0-9f19e3b743-d22d371b99.zip differ diff --git a/melting-pot-vue/.yarn/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-900e4979f4.zip b/melting-pot-vue/.yarn/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-900e4979f4.zip new file mode 100644 index 0000000..409893e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-900e4979f4.zip differ diff --git a/melting-pot-vue/.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-b191531e36.zip b/melting-pot-vue/.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-b191531e36.zip new file mode 100644 index 0000000..737d476 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-b191531e36.zip differ diff --git a/melting-pot-vue/.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-92cfec0a8d.zip b/melting-pot-vue/.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-92cfec0a8d.zip new file mode 100644 index 0000000..ffb76eb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-92cfec0a8d.zip differ diff --git a/melting-pot-vue/.yarn/cache/fastq-npm-1.17.1-56d4554993-a8c5b26788.zip b/melting-pot-vue/.yarn/cache/fastq-npm-1.17.1-56d4554993-a8c5b26788.zip new file mode 100644 index 0000000..cf59ffd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fastq-npm-1.17.1-56d4554993-a8c5b26788.zip differ diff --git a/melting-pot-vue/.yarn/cache/fd-slicer-npm-1.1.0-3cade0050a-c8585fd571.zip b/melting-pot-vue/.yarn/cache/fd-slicer-npm-1.1.0-3cade0050a-c8585fd571.zip new file mode 100644 index 0000000..1315962 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fd-slicer-npm-1.1.0-3cade0050a-c8585fd571.zip differ diff --git a/melting-pot-vue/.yarn/cache/figures-npm-3.2.0-85d357e955-85a6ad29e9.zip b/melting-pot-vue/.yarn/cache/figures-npm-3.2.0-85d357e955-85a6ad29e9.zip new file mode 100644 index 0000000..eac0ef7 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/figures-npm-3.2.0-85d357e955-85a6ad29e9.zip differ diff --git a/melting-pot-vue/.yarn/cache/file-entry-cache-npm-6.0.1-31965cf0af-f49701feaa.zip b/melting-pot-vue/.yarn/cache/file-entry-cache-npm-6.0.1-31965cf0af-f49701feaa.zip new file mode 100644 index 0000000..3748d0b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/file-entry-cache-npm-6.0.1-31965cf0af-f49701feaa.zip differ diff --git a/melting-pot-vue/.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-cc283f4e65.zip b/melting-pot-vue/.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-cc283f4e65.zip new file mode 100644 index 0000000..1da4a36 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-cc283f4e65.zip differ diff --git a/melting-pot-vue/.yarn/cache/find-up-npm-5.0.0-e03e9b796d-07955e3573.zip b/melting-pot-vue/.yarn/cache/find-up-npm-5.0.0-e03e9b796d-07955e3573.zip new file mode 100644 index 0000000..034f3a0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/find-up-npm-5.0.0-e03e9b796d-07955e3573.zip differ diff --git a/melting-pot-vue/.yarn/cache/flat-cache-npm-3.2.0-9a887f084e-e7e0f59801.zip b/melting-pot-vue/.yarn/cache/flat-cache-npm-3.2.0-9a887f084e-e7e0f59801.zip new file mode 100644 index 0000000..a9fe347 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/flat-cache-npm-3.2.0-9a887f084e-e7e0f59801.zip differ diff --git a/melting-pot-vue/.yarn/cache/flatted-npm-3.3.1-458870f59b-85ae718165.zip b/melting-pot-vue/.yarn/cache/flatted-npm-3.3.1-458870f59b-85ae718165.zip new file mode 100644 index 0000000..aa9503d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/flatted-npm-3.3.1-458870f59b-85ae718165.zip differ diff --git a/melting-pot-vue/.yarn/cache/follow-redirects-npm-1.15.5-9d14db76ca-5ca49b5ce6.zip b/melting-pot-vue/.yarn/cache/follow-redirects-npm-1.15.5-9d14db76ca-5ca49b5ce6.zip new file mode 100644 index 0000000..2c1e9bd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/follow-redirects-npm-1.15.5-9d14db76ca-5ca49b5ce6.zip differ diff --git a/melting-pot-vue/.yarn/cache/foreground-child-npm-3.1.1-77e78ed774-139d270bc8.zip b/melting-pot-vue/.yarn/cache/foreground-child-npm-3.1.1-77e78ed774-139d270bc8.zip new file mode 100644 index 0000000..a288850 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/foreground-child-npm-3.1.1-77e78ed774-139d270bc8.zip differ diff --git a/melting-pot-vue/.yarn/cache/forever-agent-npm-0.6.1-01dae53bf9-766ae6e220.zip b/melting-pot-vue/.yarn/cache/forever-agent-npm-0.6.1-01dae53bf9-766ae6e220.zip new file mode 100644 index 0000000..8250de6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/forever-agent-npm-0.6.1-01dae53bf9-766ae6e220.zip differ diff --git a/melting-pot-vue/.yarn/cache/form-data-npm-2.3.3-c016cc11c0-10c1780fa1.zip b/melting-pot-vue/.yarn/cache/form-data-npm-2.3.3-c016cc11c0-10c1780fa1.zip new file mode 100644 index 0000000..9e2c84d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/form-data-npm-2.3.3-c016cc11c0-10c1780fa1.zip differ diff --git a/melting-pot-vue/.yarn/cache/form-data-npm-4.0.0-916facec2d-01135bf867.zip b/melting-pot-vue/.yarn/cache/form-data-npm-4.0.0-916facec2d-01135bf867.zip new file mode 100644 index 0000000..8ae5189 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/form-data-npm-4.0.0-916facec2d-01135bf867.zip differ diff --git a/melting-pot-vue/.yarn/cache/from-npm-0.1.7-6dcf14a57d-b85125b789.zip b/melting-pot-vue/.yarn/cache/from-npm-0.1.7-6dcf14a57d-b85125b789.zip new file mode 100644 index 0000000..14d5b1c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/from-npm-0.1.7-6dcf14a57d-b85125b789.zip differ diff --git a/melting-pot-vue/.yarn/cache/fs-extra-npm-9.1.0-983c2ddb4c-ba71ba32e0.zip b/melting-pot-vue/.yarn/cache/fs-extra-npm-9.1.0-983c2ddb4c-ba71ba32e0.zip new file mode 100644 index 0000000..4a760ba Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fs-extra-npm-9.1.0-983c2ddb4c-ba71ba32e0.zip differ diff --git a/melting-pot-vue/.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip b/melting-pot-vue/.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip new file mode 100644 index 0000000..21a91aa Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip differ diff --git a/melting-pot-vue/.yarn/cache/fs-minipass-npm-3.0.3-d148d6ac19-8722a41109.zip b/melting-pot-vue/.yarn/cache/fs-minipass-npm-3.0.3-d148d6ac19-8722a41109.zip new file mode 100644 index 0000000..b87db2e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fs-minipass-npm-3.0.3-d148d6ac19-8722a41109.zip differ diff --git a/melting-pot-vue/.yarn/cache/fs.realpath-npm-1.0.0-c8f05d8126-99ddea01a7.zip b/melting-pot-vue/.yarn/cache/fs.realpath-npm-1.0.0-c8f05d8126-99ddea01a7.zip new file mode 100644 index 0000000..920c4ca Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fs.realpath-npm-1.0.0-c8f05d8126-99ddea01a7.zip differ diff --git a/melting-pot-vue/.yarn/cache/fsevents-npm-2.3.3-ce9fb0ffae-11e6ea6fea.zip b/melting-pot-vue/.yarn/cache/fsevents-npm-2.3.3-ce9fb0ffae-11e6ea6fea.zip new file mode 100644 index 0000000..044eb1b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/fsevents-npm-2.3.3-ce9fb0ffae-11e6ea6fea.zip differ diff --git a/melting-pot-vue/.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-2b0ff4ce70.zip b/melting-pot-vue/.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-2b0ff4ce70.zip new file mode 100644 index 0000000..55fbdad Binary files /dev/null and b/melting-pot-vue/.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-2b0ff4ce70.zip differ diff --git a/melting-pot-vue/.yarn/cache/geojson-vt-npm-3.2.1-80c8f60496-7c7973cfaf.zip b/melting-pot-vue/.yarn/cache/geojson-vt-npm-3.2.1-80c8f60496-7c7973cfaf.zip new file mode 100644 index 0000000..9ad23f8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/geojson-vt-npm-3.2.1-80c8f60496-7c7973cfaf.zip differ diff --git a/melting-pot-vue/.yarn/cache/get-func-name-npm-2.0.2-409dbe3703-3f62f4c236.zip b/melting-pot-vue/.yarn/cache/get-func-name-npm-2.0.2-409dbe3703-3f62f4c236.zip new file mode 100644 index 0000000..d80affc Binary files /dev/null and b/melting-pot-vue/.yarn/cache/get-func-name-npm-2.0.2-409dbe3703-3f62f4c236.zip differ diff --git a/melting-pot-vue/.yarn/cache/get-intrinsic-npm-1.2.4-1dad3427b2-414e3cdf2c.zip b/melting-pot-vue/.yarn/cache/get-intrinsic-npm-1.2.4-1dad3427b2-414e3cdf2c.zip new file mode 100644 index 0000000..1b76195 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/get-intrinsic-npm-1.2.4-1dad3427b2-414e3cdf2c.zip differ diff --git a/melting-pot-vue/.yarn/cache/get-stream-npm-5.2.0-2cfd3b452b-8bc1a23174.zip b/melting-pot-vue/.yarn/cache/get-stream-npm-5.2.0-2cfd3b452b-8bc1a23174.zip new file mode 100644 index 0000000..f5e0b29 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/get-stream-npm-5.2.0-2cfd3b452b-8bc1a23174.zip differ diff --git a/melting-pot-vue/.yarn/cache/get-stream-npm-6.0.1-83e51a4642-e04ecece32.zip b/melting-pot-vue/.yarn/cache/get-stream-npm-6.0.1-83e51a4642-e04ecece32.zip new file mode 100644 index 0000000..ca09fa2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/get-stream-npm-6.0.1-83e51a4642-e04ecece32.zip differ diff --git a/melting-pot-vue/.yarn/cache/get-stream-npm-8.0.1-c921b4840e-01e3d3cf29.zip b/melting-pot-vue/.yarn/cache/get-stream-npm-8.0.1-c921b4840e-01e3d3cf29.zip new file mode 100644 index 0000000..4101640 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/get-stream-npm-8.0.1-c921b4840e-01e3d3cf29.zip differ diff --git a/melting-pot-vue/.yarn/cache/get-value-npm-2.0.6-03cd422e0a-5c3b99cb53.zip b/melting-pot-vue/.yarn/cache/get-value-npm-2.0.6-03cd422e0a-5c3b99cb53.zip new file mode 100644 index 0000000..101e5bb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/get-value-npm-2.0.6-03cd422e0a-5c3b99cb53.zip differ diff --git a/melting-pot-vue/.yarn/cache/getos-npm-3.2.1-620c03aa34-42fd78a66d.zip b/melting-pot-vue/.yarn/cache/getos-npm-3.2.1-620c03aa34-42fd78a66d.zip new file mode 100644 index 0000000..ff87b0c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/getos-npm-3.2.1-620c03aa34-42fd78a66d.zip differ diff --git a/melting-pot-vue/.yarn/cache/getpass-npm-0.1.7-519164a3be-ab18d55661.zip b/melting-pot-vue/.yarn/cache/getpass-npm-0.1.7-519164a3be-ab18d55661.zip new file mode 100644 index 0000000..c0a0abf Binary files /dev/null and b/melting-pot-vue/.yarn/cache/getpass-npm-0.1.7-519164a3be-ab18d55661.zip differ diff --git a/melting-pot-vue/.yarn/cache/gl-matrix-npm-3.4.3-f2e6349faa-c47830ba72.zip b/melting-pot-vue/.yarn/cache/gl-matrix-npm-3.4.3-f2e6349faa-c47830ba72.zip new file mode 100644 index 0000000..77dec1b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/gl-matrix-npm-3.4.3-f2e6349faa-c47830ba72.zip differ diff --git a/melting-pot-vue/.yarn/cache/glob-npm-10.3.10-da1ef8b112-4f2fe2511e.zip b/melting-pot-vue/.yarn/cache/glob-npm-10.3.10-da1ef8b112-4f2fe2511e.zip new file mode 100644 index 0000000..c64c67d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/glob-npm-10.3.10-da1ef8b112-4f2fe2511e.zip differ diff --git a/melting-pot-vue/.yarn/cache/glob-npm-7.2.3-2d866d17a5-29452e97b3.zip b/melting-pot-vue/.yarn/cache/glob-npm-7.2.3-2d866d17a5-29452e97b3.zip new file mode 100644 index 0000000..b2fa0ac Binary files /dev/null and b/melting-pot-vue/.yarn/cache/glob-npm-7.2.3-2d866d17a5-29452e97b3.zip differ diff --git a/melting-pot-vue/.yarn/cache/glob-parent-npm-5.1.2-021ab32634-f4f2bfe242.zip b/melting-pot-vue/.yarn/cache/glob-parent-npm-5.1.2-021ab32634-f4f2bfe242.zip new file mode 100644 index 0000000..8a94317 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/glob-parent-npm-5.1.2-021ab32634-f4f2bfe242.zip differ diff --git a/melting-pot-vue/.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-c13ee97978.zip b/melting-pot-vue/.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-c13ee97978.zip new file mode 100644 index 0000000..2a4d60d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-c13ee97978.zip differ diff --git a/melting-pot-vue/.yarn/cache/global-dirs-npm-3.0.1-8918d35f86-70147b8026.zip b/melting-pot-vue/.yarn/cache/global-dirs-npm-3.0.1-8918d35f86-70147b8026.zip new file mode 100644 index 0000000..f143d81 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/global-dirs-npm-3.0.1-8918d35f86-70147b8026.zip differ diff --git a/melting-pot-vue/.yarn/cache/global-prefix-npm-3.0.0-68cf01e67d-8a82fc1d6f.zip b/melting-pot-vue/.yarn/cache/global-prefix-npm-3.0.0-68cf01e67d-8a82fc1d6f.zip new file mode 100644 index 0000000..39f936a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/global-prefix-npm-3.0.0-68cf01e67d-8a82fc1d6f.zip differ diff --git a/melting-pot-vue/.yarn/cache/globals-npm-13.24.0-cc7713139c-56066ef058.zip b/melting-pot-vue/.yarn/cache/globals-npm-13.24.0-cc7713139c-56066ef058.zip new file mode 100644 index 0000000..c8cb024 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/globals-npm-13.24.0-cc7713139c-56066ef058.zip differ diff --git a/melting-pot-vue/.yarn/cache/globby-npm-11.1.0-bdcdf20c71-b4be8885e0.zip b/melting-pot-vue/.yarn/cache/globby-npm-11.1.0-bdcdf20c71-b4be8885e0.zip new file mode 100644 index 0000000..8cd2b28 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/globby-npm-11.1.0-bdcdf20c71-b4be8885e0.zip differ diff --git a/melting-pot-vue/.yarn/cache/gopd-npm-1.0.1-10c1d0b534-a5ccfb8806.zip b/melting-pot-vue/.yarn/cache/gopd-npm-1.0.1-10c1d0b534-a5ccfb8806.zip new file mode 100644 index 0000000..cafca67 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/gopd-npm-1.0.1-10c1d0b534-a5ccfb8806.zip differ diff --git a/melting-pot-vue/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-ac85f94da9.zip b/melting-pot-vue/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-ac85f94da9.zip new file mode 100644 index 0000000..99f412b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-ac85f94da9.zip differ diff --git a/melting-pot-vue/.yarn/cache/graphemer-npm-1.4.0-0627732d35-bab8f0be9b.zip b/melting-pot-vue/.yarn/cache/graphemer-npm-1.4.0-0627732d35-bab8f0be9b.zip new file mode 100644 index 0000000..e04f8d3 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/graphemer-npm-1.4.0-0627732d35-bab8f0be9b.zip differ diff --git a/melting-pot-vue/.yarn/cache/has-flag-npm-4.0.0-32af9f0536-261a135703.zip b/melting-pot-vue/.yarn/cache/has-flag-npm-4.0.0-32af9f0536-261a135703.zip new file mode 100644 index 0000000..6f5845d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/has-flag-npm-4.0.0-32af9f0536-261a135703.zip differ diff --git a/melting-pot-vue/.yarn/cache/has-property-descriptors-npm-1.0.2-d7077d09f1-fcbb246ea2.zip b/melting-pot-vue/.yarn/cache/has-property-descriptors-npm-1.0.2-d7077d09f1-fcbb246ea2.zip new file mode 100644 index 0000000..c331755 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/has-property-descriptors-npm-1.0.2-d7077d09f1-fcbb246ea2.zip differ diff --git a/melting-pot-vue/.yarn/cache/has-proto-npm-1.0.3-b598da2961-fe7c3d50b3.zip b/melting-pot-vue/.yarn/cache/has-proto-npm-1.0.3-b598da2961-fe7c3d50b3.zip new file mode 100644 index 0000000..6e4ed68 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/has-proto-npm-1.0.3-b598da2961-fe7c3d50b3.zip differ diff --git a/melting-pot-vue/.yarn/cache/has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip b/melting-pot-vue/.yarn/cache/has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip new file mode 100644 index 0000000..d07bbd4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip differ diff --git a/melting-pot-vue/.yarn/cache/hasown-npm-2.0.1-1bf102e91f-9081c382a4.zip b/melting-pot-vue/.yarn/cache/hasown-npm-2.0.1-1bf102e91f-9081c382a4.zip new file mode 100644 index 0000000..ee2785a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/hasown-npm-2.0.1-1bf102e91f-9081c382a4.zip differ diff --git a/melting-pot-vue/.yarn/cache/he-npm-1.2.0-3b73a2ff07-3d4d6babcc.zip b/melting-pot-vue/.yarn/cache/he-npm-1.2.0-3b73a2ff07-3d4d6babcc.zip new file mode 100644 index 0000000..fe1d45f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/he-npm-1.2.0-3b73a2ff07-3d4d6babcc.zip differ diff --git a/melting-pot-vue/.yarn/cache/html-encoding-sniffer-npm-4.0.0-5f6627070d-3339b71dab.zip b/melting-pot-vue/.yarn/cache/html-encoding-sniffer-npm-4.0.0-5f6627070d-3339b71dab.zip new file mode 100644 index 0000000..374d809 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/html-encoding-sniffer-npm-4.0.0-5f6627070d-3339b71dab.zip differ diff --git a/melting-pot-vue/.yarn/cache/http-cache-semantics-npm-4.1.1-1120131375-83ac0bc60b.zip b/melting-pot-vue/.yarn/cache/http-cache-semantics-npm-4.1.1-1120131375-83ac0bc60b.zip new file mode 100644 index 0000000..19f1e0a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/http-cache-semantics-npm-4.1.1-1120131375-83ac0bc60b.zip differ diff --git a/melting-pot-vue/.yarn/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-670858c8f8.zip b/melting-pot-vue/.yarn/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-670858c8f8.zip new file mode 100644 index 0000000..39696ec Binary files /dev/null and b/melting-pot-vue/.yarn/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-670858c8f8.zip differ diff --git a/melting-pot-vue/.yarn/cache/http-signature-npm-1.3.6-5b2eff4373-10be2af476.zip b/melting-pot-vue/.yarn/cache/http-signature-npm-1.3.6-5b2eff4373-10be2af476.zip new file mode 100644 index 0000000..4496630 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/http-signature-npm-1.3.6-5b2eff4373-10be2af476.zip differ diff --git a/melting-pot-vue/.yarn/cache/https-proxy-agent-npm-7.0.4-a51e13f5dc-daaab857a9.zip b/melting-pot-vue/.yarn/cache/https-proxy-agent-npm-7.0.4-a51e13f5dc-daaab857a9.zip new file mode 100644 index 0000000..fa85ddd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/https-proxy-agent-npm-7.0.4-a51e13f5dc-daaab857a9.zip differ diff --git a/melting-pot-vue/.yarn/cache/human-signals-npm-1.1.1-616b2586c2-d587647c9e.zip b/melting-pot-vue/.yarn/cache/human-signals-npm-1.1.1-616b2586c2-d587647c9e.zip new file mode 100644 index 0000000..1dcc587 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/human-signals-npm-1.1.1-616b2586c2-d587647c9e.zip differ diff --git a/melting-pot-vue/.yarn/cache/human-signals-npm-2.1.0-f75815481d-b87fd89fce.zip b/melting-pot-vue/.yarn/cache/human-signals-npm-2.1.0-f75815481d-b87fd89fce.zip new file mode 100644 index 0000000..6346a18 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/human-signals-npm-2.1.0-f75815481d-b87fd89fce.zip differ diff --git a/melting-pot-vue/.yarn/cache/human-signals-npm-5.0.0-ed25a9f58c-6504560d5e.zip b/melting-pot-vue/.yarn/cache/human-signals-npm-5.0.0-ed25a9f58c-6504560d5e.zip new file mode 100644 index 0000000..0da98dd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/human-signals-npm-5.0.0-ed25a9f58c-6504560d5e.zip differ diff --git a/melting-pot-vue/.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip b/melting-pot-vue/.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip new file mode 100644 index 0000000..f3f767a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip differ diff --git a/melting-pot-vue/.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip b/melting-pot-vue/.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip new file mode 100644 index 0000000..74128ad Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-5144c0c981.zip differ diff --git a/melting-pot-vue/.yarn/cache/ignore-npm-5.3.1-f6947c5df7-71d7bb4c1d.zip b/melting-pot-vue/.yarn/cache/ignore-npm-5.3.1-f6947c5df7-71d7bb4c1d.zip new file mode 100644 index 0000000..75ba53a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ignore-npm-5.3.1-f6947c5df7-71d7bb4c1d.zip differ diff --git a/melting-pot-vue/.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip b/melting-pot-vue/.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip new file mode 100644 index 0000000..318d7b8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip differ diff --git a/melting-pot-vue/.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-7cae75c8cd.zip b/melting-pot-vue/.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-7cae75c8cd.zip new file mode 100644 index 0000000..9ddf4f8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-7cae75c8cd.zip differ diff --git a/melting-pot-vue/.yarn/cache/indent-string-npm-4.0.0-7b717435b2-824cfb9929.zip b/melting-pot-vue/.yarn/cache/indent-string-npm-4.0.0-7b717435b2-824cfb9929.zip new file mode 100644 index 0000000..eedfdb0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/indent-string-npm-4.0.0-7b717435b2-824cfb9929.zip differ diff --git a/melting-pot-vue/.yarn/cache/inflight-npm-1.0.6-ccedb4b908-f4f76aa072.zip b/melting-pot-vue/.yarn/cache/inflight-npm-1.0.6-ccedb4b908-f4f76aa072.zip new file mode 100644 index 0000000..c5a4bb0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/inflight-npm-1.0.6-ccedb4b908-f4f76aa072.zip differ diff --git a/melting-pot-vue/.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip b/melting-pot-vue/.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip new file mode 100644 index 0000000..62c31cb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip differ diff --git a/melting-pot-vue/.yarn/cache/ini-npm-1.3.8-fb5040b4c0-dfd98b0ca3.zip b/melting-pot-vue/.yarn/cache/ini-npm-1.3.8-fb5040b4c0-dfd98b0ca3.zip new file mode 100644 index 0000000..ee9245b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ini-npm-1.3.8-fb5040b4c0-dfd98b0ca3.zip differ diff --git a/melting-pot-vue/.yarn/cache/ini-npm-2.0.0-28f7426761-e7aadc5fb2.zip b/melting-pot-vue/.yarn/cache/ini-npm-2.0.0-28f7426761-e7aadc5fb2.zip new file mode 100644 index 0000000..377051d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ini-npm-2.0.0-28f7426761-e7aadc5fb2.zip differ diff --git a/melting-pot-vue/.yarn/cache/ip-address-npm-9.0.5-9fa024d42a-aa15f12cfd.zip b/melting-pot-vue/.yarn/cache/ip-address-npm-9.0.5-9fa024d42a-aa15f12cfd.zip new file mode 100644 index 0000000..172e78d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ip-address-npm-9.0.5-9fa024d42a-aa15f12cfd.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-ci-npm-3.0.1-d9aea361e1-192c66dc78.zip b/melting-pot-vue/.yarn/cache/is-ci-npm-3.0.1-d9aea361e1-192c66dc78.zip new file mode 100644 index 0000000..6e9e3af Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-ci-npm-3.0.1-d9aea361e1-192c66dc78.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-extendable-npm-0.1.1-322b4649ec-3875571d20.zip b/melting-pot-vue/.yarn/cache/is-extendable-npm-0.1.1-322b4649ec-3875571d20.zip new file mode 100644 index 0000000..e3eead3 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-extendable-npm-0.1.1-322b4649ec-3875571d20.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-extendable-npm-1.0.1-7095ad8b16-db07bc1e9d.zip b/melting-pot-vue/.yarn/cache/is-extendable-npm-1.0.1-7095ad8b16-db07bc1e9d.zip new file mode 100644 index 0000000..a2db00a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-extendable-npm-1.0.1-7095ad8b16-db07bc1e9d.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip b/melting-pot-vue/.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip new file mode 100644 index 0000000..0acbc56 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip b/melting-pot-vue/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip new file mode 100644 index 0000000..dccc80a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-d381c1319f.zip b/melting-pot-vue/.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-d381c1319f.zip new file mode 100644 index 0000000..52274ed Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-d381c1319f.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-installed-globally-npm-0.4.0-a30dd056c7-3359840d59.zip b/melting-pot-vue/.yarn/cache/is-installed-globally-npm-0.4.0-a30dd056c7-3359840d59.zip new file mode 100644 index 0000000..f94dbc0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-installed-globally-npm-0.4.0-a30dd056c7-3359840d59.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip b/melting-pot-vue/.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip new file mode 100644 index 0000000..f981b1b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-number-npm-7.0.0-060086935c-456ac6f8e0.zip b/melting-pot-vue/.yarn/cache/is-number-npm-7.0.0-060086935c-456ac6f8e0.zip new file mode 100644 index 0000000..e4ae048 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-number-npm-7.0.0-060086935c-456ac6f8e0.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-abd50f0618.zip b/melting-pot-vue/.yarn/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-abd50f0618.zip new file mode 100644 index 0000000..27f29d7 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-abd50f0618.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-plain-object-npm-2.0.4-da3265d804-2a401140cf.zip b/melting-pot-vue/.yarn/cache/is-plain-object-npm-2.0.4-da3265d804-2a401140cf.zip new file mode 100644 index 0000000..8b68965 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-plain-object-npm-2.0.4-da3265d804-2a401140cf.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-potential-custom-element-name-npm-1.0.1-f352f606f8-ced7bbbb64.zip b/melting-pot-vue/.yarn/cache/is-potential-custom-element-name-npm-1.0.1-f352f606f8-ced7bbbb64.zip new file mode 100644 index 0000000..ce2147e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-potential-custom-element-name-npm-1.0.1-f352f606f8-ced7bbbb64.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-stream-npm-2.0.1-c802db55e7-b8e05ccdf9.zip b/melting-pot-vue/.yarn/cache/is-stream-npm-2.0.1-c802db55e7-b8e05ccdf9.zip new file mode 100644 index 0000000..c5699a4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-stream-npm-2.0.1-c802db55e7-b8e05ccdf9.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-stream-npm-3.0.0-a77ac9a62e-172093fe99.zip b/melting-pot-vue/.yarn/cache/is-stream-npm-3.0.0-a77ac9a62e-172093fe99.zip new file mode 100644 index 0000000..71e7d65 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-stream-npm-3.0.0-a77ac9a62e-172093fe99.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-typedarray-npm-1.0.0-bbd99de5b6-3508c6cd0a.zip b/melting-pot-vue/.yarn/cache/is-typedarray-npm-1.0.0-bbd99de5b6-3508c6cd0a.zip new file mode 100644 index 0000000..09d0014 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-typedarray-npm-1.0.0-bbd99de5b6-3508c6cd0a.zip differ diff --git a/melting-pot-vue/.yarn/cache/is-unicode-supported-npm-0.1.0-0833e1bbfb-a2aab86ee7.zip b/melting-pot-vue/.yarn/cache/is-unicode-supported-npm-0.1.0-0833e1bbfb-a2aab86ee7.zip new file mode 100644 index 0000000..7425daa Binary files /dev/null and b/melting-pot-vue/.yarn/cache/is-unicode-supported-npm-0.1.0-0833e1bbfb-a2aab86ee7.zip differ diff --git a/melting-pot-vue/.yarn/cache/isexe-npm-2.0.0-b58870bd2e-26bf6c5480.zip b/melting-pot-vue/.yarn/cache/isexe-npm-2.0.0-b58870bd2e-26bf6c5480.zip new file mode 100644 index 0000000..077597d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/isexe-npm-2.0.0-b58870bd2e-26bf6c5480.zip differ diff --git a/melting-pot-vue/.yarn/cache/isexe-npm-3.1.1-9c0061eead-7fe1931ee4.zip b/melting-pot-vue/.yarn/cache/isexe-npm-3.1.1-9c0061eead-7fe1931ee4.zip new file mode 100644 index 0000000..7ea5462 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/isexe-npm-3.1.1-9c0061eead-7fe1931ee4.zip differ diff --git a/melting-pot-vue/.yarn/cache/isobject-npm-3.0.1-8145901fd2-db85c4c970.zip b/melting-pot-vue/.yarn/cache/isobject-npm-3.0.1-8145901fd2-db85c4c970.zip new file mode 100644 index 0000000..214104c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/isobject-npm-3.0.1-8145901fd2-db85c4c970.zip differ diff --git a/melting-pot-vue/.yarn/cache/isstream-npm-0.1.2-8581c75385-1eb2fe63a7.zip b/melting-pot-vue/.yarn/cache/isstream-npm-0.1.2-8581c75385-1eb2fe63a7.zip new file mode 100644 index 0000000..7c1a1e1 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/isstream-npm-0.1.2-8581c75385-1eb2fe63a7.zip differ diff --git a/melting-pot-vue/.yarn/cache/jackspeak-npm-2.3.6-42e1233172-57d43ad11e.zip b/melting-pot-vue/.yarn/cache/jackspeak-npm-2.3.6-42e1233172-57d43ad11e.zip new file mode 100644 index 0000000..7e9aaab Binary files /dev/null and b/melting-pot-vue/.yarn/cache/jackspeak-npm-2.3.6-42e1233172-57d43ad11e.zip differ diff --git a/melting-pot-vue/.yarn/cache/joi-npm-17.12.2-a5561bea50-5a5213c56d.zip b/melting-pot-vue/.yarn/cache/joi-npm-17.12.2-a5561bea50-5a5213c56d.zip new file mode 100644 index 0000000..b51dec6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/joi-npm-17.12.2-a5561bea50-5a5213c56d.zip differ diff --git a/melting-pot-vue/.yarn/cache/js-beautify-npm-1.15.1-08b0c631de-0428ea358c.zip b/melting-pot-vue/.yarn/cache/js-beautify-npm-1.15.1-08b0c631de-0428ea358c.zip new file mode 100644 index 0000000..967b210 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/js-beautify-npm-1.15.1-08b0c631de-0428ea358c.zip differ diff --git a/melting-pot-vue/.yarn/cache/js-cookie-npm-3.0.5-8fc8fcc9b4-2dbd2809c6.zip b/melting-pot-vue/.yarn/cache/js-cookie-npm-3.0.5-8fc8fcc9b4-2dbd2809c6.zip new file mode 100644 index 0000000..a8eacc4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/js-cookie-npm-3.0.5-8fc8fcc9b4-2dbd2809c6.zip differ diff --git a/melting-pot-vue/.yarn/cache/js-tokens-npm-8.0.3-d841c22eba-b749c80829.zip b/melting-pot-vue/.yarn/cache/js-tokens-npm-8.0.3-d841c22eba-b749c80829.zip new file mode 100644 index 0000000..52fb084 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/js-tokens-npm-8.0.3-d841c22eba-b749c80829.zip differ diff --git a/melting-pot-vue/.yarn/cache/js-yaml-npm-4.1.0-3606f32312-c7830dfd45.zip b/melting-pot-vue/.yarn/cache/js-yaml-npm-4.1.0-3606f32312-c7830dfd45.zip new file mode 100644 index 0000000..659c85d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/js-yaml-npm-4.1.0-3606f32312-c7830dfd45.zip differ diff --git a/melting-pot-vue/.yarn/cache/jsbn-npm-0.1.1-0eb7132404-e5ff29c1b8.zip b/melting-pot-vue/.yarn/cache/jsbn-npm-0.1.1-0eb7132404-e5ff29c1b8.zip new file mode 100644 index 0000000..8ec54a2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/jsbn-npm-0.1.1-0eb7132404-e5ff29c1b8.zip differ diff --git a/melting-pot-vue/.yarn/cache/jsbn-npm-1.1.0-1da0181838-944f924f2b.zip b/melting-pot-vue/.yarn/cache/jsbn-npm-1.1.0-1da0181838-944f924f2b.zip new file mode 100644 index 0000000..1b48c50 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/jsbn-npm-1.1.0-1da0181838-944f924f2b.zip differ diff --git a/melting-pot-vue/.yarn/cache/jsdom-npm-24.0.0-0398765e22-180cf672c1.zip b/melting-pot-vue/.yarn/cache/jsdom-npm-24.0.0-0398765e22-180cf672c1.zip new file mode 100644 index 0000000..44abeea Binary files /dev/null and b/melting-pot-vue/.yarn/cache/jsdom-npm-24.0.0-0398765e22-180cf672c1.zip differ diff --git a/melting-pot-vue/.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-9026b03edc.zip b/melting-pot-vue/.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-9026b03edc.zip new file mode 100644 index 0000000..f0961af Binary files /dev/null and b/melting-pot-vue/.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-9026b03edc.zip differ diff --git a/melting-pot-vue/.yarn/cache/json-parse-even-better-errors-npm-3.0.1-0bac4a1c62-bf74fa3f71.zip b/melting-pot-vue/.yarn/cache/json-parse-even-better-errors-npm-3.0.1-0bac4a1c62-bf74fa3f71.zip new file mode 100644 index 0000000..6cb0cb7 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/json-parse-even-better-errors-npm-3.0.1-0bac4a1c62-bf74fa3f71.zip differ diff --git a/melting-pot-vue/.yarn/cache/json-schema-npm-0.4.0-e776313070-66389434c3.zip b/melting-pot-vue/.yarn/cache/json-schema-npm-0.4.0-e776313070-66389434c3.zip new file mode 100644 index 0000000..1946e30 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/json-schema-npm-0.4.0-e776313070-66389434c3.zip differ diff --git a/melting-pot-vue/.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-7486074d3b.zip b/melting-pot-vue/.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-7486074d3b.zip new file mode 100644 index 0000000..54f0a7a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-7486074d3b.zip differ diff --git a/melting-pot-vue/.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-cff44156dd.zip b/melting-pot-vue/.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-cff44156dd.zip new file mode 100644 index 0000000..47d5852 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-cff44156dd.zip differ diff --git a/melting-pot-vue/.yarn/cache/json-stringify-pretty-compact-npm-4.0.0-ad70a71e3b-a10d5c423e.zip b/melting-pot-vue/.yarn/cache/json-stringify-pretty-compact-npm-4.0.0-ad70a71e3b-a10d5c423e.zip new file mode 100644 index 0000000..1def517 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/json-stringify-pretty-compact-npm-4.0.0-ad70a71e3b-a10d5c423e.zip differ diff --git a/melting-pot-vue/.yarn/cache/json-stringify-safe-npm-5.0.1-064ddd6ab4-48ec0adad5.zip b/melting-pot-vue/.yarn/cache/json-stringify-safe-npm-5.0.1-064ddd6ab4-48ec0adad5.zip new file mode 100644 index 0000000..bda01ed Binary files /dev/null and b/melting-pot-vue/.yarn/cache/json-stringify-safe-npm-5.0.1-064ddd6ab4-48ec0adad5.zip differ diff --git a/melting-pot-vue/.yarn/cache/jsonc-parser-npm-3.2.1-776f636a18-656d9027b9.zip b/melting-pot-vue/.yarn/cache/jsonc-parser-npm-3.2.1-776f636a18-656d9027b9.zip new file mode 100644 index 0000000..a9e7b29 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/jsonc-parser-npm-3.2.1-776f636a18-656d9027b9.zip differ diff --git a/melting-pot-vue/.yarn/cache/jsonfile-npm-6.1.0-20a4796cee-7af3b8e1ac.zip b/melting-pot-vue/.yarn/cache/jsonfile-npm-6.1.0-20a4796cee-7af3b8e1ac.zip new file mode 100644 index 0000000..eaf6e09 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/jsonfile-npm-6.1.0-20a4796cee-7af3b8e1ac.zip differ diff --git a/melting-pot-vue/.yarn/cache/jsprim-npm-2.0.2-8c40f3719c-d175f6b199.zip b/melting-pot-vue/.yarn/cache/jsprim-npm-2.0.2-8c40f3719c-d175f6b199.zip new file mode 100644 index 0000000..6a01400 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/jsprim-npm-2.0.2-8c40f3719c-d175f6b199.zip differ diff --git a/melting-pot-vue/.yarn/cache/kdbush-npm-4.0.2-e4894ed9f4-6782ef2cda.zip b/melting-pot-vue/.yarn/cache/kdbush-npm-4.0.2-e4894ed9f4-6782ef2cda.zip new file mode 100644 index 0000000..6042e18 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/kdbush-npm-4.0.2-e4894ed9f4-6782ef2cda.zip differ diff --git a/melting-pot-vue/.yarn/cache/keyv-npm-4.5.4-4c8e2cf7f7-74a24395b1.zip b/melting-pot-vue/.yarn/cache/keyv-npm-4.5.4-4c8e2cf7f7-74a24395b1.zip new file mode 100644 index 0000000..aa2c060 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/keyv-npm-4.5.4-4c8e2cf7f7-74a24395b1.zip differ diff --git a/melting-pot-vue/.yarn/cache/kind-of-npm-6.0.3-ab15f36220-3ab01e7b1d.zip b/melting-pot-vue/.yarn/cache/kind-of-npm-6.0.3-ab15f36220-3ab01e7b1d.zip new file mode 100644 index 0000000..90b2647 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/kind-of-npm-6.0.3-ab15f36220-3ab01e7b1d.zip differ diff --git a/melting-pot-vue/.yarn/cache/lazy-ass-npm-1.6.0-5cda93b8cb-5a3ebb1791.zip b/melting-pot-vue/.yarn/cache/lazy-ass-npm-1.6.0-5cda93b8cb-5a3ebb1791.zip new file mode 100644 index 0000000..8c28def Binary files /dev/null and b/melting-pot-vue/.yarn/cache/lazy-ass-npm-1.6.0-5cda93b8cb-5a3ebb1791.zip differ diff --git a/melting-pot-vue/.yarn/cache/levn-npm-0.4.1-d183b2d7bb-12c5021c85.zip b/melting-pot-vue/.yarn/cache/levn-npm-0.4.1-d183b2d7bb-12c5021c85.zip new file mode 100644 index 0000000..dda4d01 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/levn-npm-0.4.1-d183b2d7bb-12c5021c85.zip differ diff --git a/melting-pot-vue/.yarn/cache/listr2-npm-3.14.0-446f504112-fdb8b2d6bd.zip b/melting-pot-vue/.yarn/cache/listr2-npm-3.14.0-446f504112-fdb8b2d6bd.zip new file mode 100644 index 0000000..b783027 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/listr2-npm-3.14.0-446f504112-fdb8b2d6bd.zip differ diff --git a/melting-pot-vue/.yarn/cache/local-pkg-npm-0.5.0-c126c7ec8b-b0a6931e58.zip b/melting-pot-vue/.yarn/cache/local-pkg-npm-0.5.0-c126c7ec8b-b0a6931e58.zip new file mode 100644 index 0000000..bf3fb47 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/local-pkg-npm-0.5.0-c126c7ec8b-b0a6931e58.zip differ diff --git a/melting-pot-vue/.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-72eb661788.zip b/melting-pot-vue/.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-72eb661788.zip new file mode 100644 index 0000000..b67b774 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-72eb661788.zip differ diff --git a/melting-pot-vue/.yarn/cache/lodash-npm-4.17.21-6382451519-eb835a2e51.zip b/melting-pot-vue/.yarn/cache/lodash-npm-4.17.21-6382451519-eb835a2e51.zip new file mode 100644 index 0000000..22ac44c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/lodash-npm-4.17.21-6382451519-eb835a2e51.zip differ diff --git a/melting-pot-vue/.yarn/cache/lodash.merge-npm-4.6.2-77cb4416bf-ad580b4bdb.zip b/melting-pot-vue/.yarn/cache/lodash.merge-npm-4.6.2-77cb4416bf-ad580b4bdb.zip new file mode 100644 index 0000000..f6bc72b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/lodash.merge-npm-4.6.2-77cb4416bf-ad580b4bdb.zip differ diff --git a/melting-pot-vue/.yarn/cache/lodash.once-npm-4.1.1-d8ba329ead-d768fa9f9b.zip b/melting-pot-vue/.yarn/cache/lodash.once-npm-4.1.1-d8ba329ead-d768fa9f9b.zip new file mode 100644 index 0000000..8d6432c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/lodash.once-npm-4.1.1-d8ba329ead-d768fa9f9b.zip differ diff --git a/melting-pot-vue/.yarn/cache/log-symbols-npm-4.1.0-0a13492d8b-fce1497b31.zip b/melting-pot-vue/.yarn/cache/log-symbols-npm-4.1.0-0a13492d8b-fce1497b31.zip new file mode 100644 index 0000000..6a7e076 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/log-symbols-npm-4.1.0-0a13492d8b-fce1497b31.zip differ diff --git a/melting-pot-vue/.yarn/cache/log-update-npm-4.0.0-9d0554261c-ae2f85bbab.zip b/melting-pot-vue/.yarn/cache/log-update-npm-4.0.0-9d0554261c-ae2f85bbab.zip new file mode 100644 index 0000000..66a2c50 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/log-update-npm-4.0.0-9d0554261c-ae2f85bbab.zip differ diff --git a/melting-pot-vue/.yarn/cache/loupe-npm-2.3.7-f294c2ef33-96c058ec71.zip b/melting-pot-vue/.yarn/cache/loupe-npm-2.3.7-f294c2ef33-96c058ec71.zip new file mode 100644 index 0000000..92d878f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/loupe-npm-2.3.7-f294c2ef33-96c058ec71.zip differ diff --git a/melting-pot-vue/.yarn/cache/lru-cache-npm-10.2.0-b9f6b44740-eee7ddda4a.zip b/melting-pot-vue/.yarn/cache/lru-cache-npm-10.2.0-b9f6b44740-eee7ddda4a.zip new file mode 100644 index 0000000..3b57961 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/lru-cache-npm-10.2.0-b9f6b44740-eee7ddda4a.zip differ diff --git a/melting-pot-vue/.yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-f97f499f89.zip b/melting-pot-vue/.yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-f97f499f89.zip new file mode 100644 index 0000000..1635dac Binary files /dev/null and b/melting-pot-vue/.yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-f97f499f89.zip differ diff --git a/melting-pot-vue/.yarn/cache/magic-string-npm-0.30.7-0bb5819095-bdf102e36a.zip b/melting-pot-vue/.yarn/cache/magic-string-npm-0.30.7-0bb5819095-bdf102e36a.zip new file mode 100644 index 0000000..7d9e6ff Binary files /dev/null and b/melting-pot-vue/.yarn/cache/magic-string-npm-0.30.7-0bb5819095-bdf102e36a.zip differ diff --git a/melting-pot-vue/.yarn/cache/make-fetch-happen-npm-13.0.0-f87a92bb87-7c7a6d381c.zip b/melting-pot-vue/.yarn/cache/make-fetch-happen-npm-13.0.0-f87a92bb87-7c7a6d381c.zip new file mode 100644 index 0000000..fa4a892 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/make-fetch-happen-npm-13.0.0-f87a92bb87-7c7a6d381c.zip differ diff --git a/melting-pot-vue/.yarn/cache/map-stream-npm-0.1.0-e44450fc62-38abbe4eb8.zip b/melting-pot-vue/.yarn/cache/map-stream-npm-0.1.0-e44450fc62-38abbe4eb8.zip new file mode 100644 index 0000000..4329ff4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/map-stream-npm-0.1.0-e44450fc62-38abbe4eb8.zip differ diff --git a/melting-pot-vue/.yarn/cache/maplibre-gl-npm-4.0.2-8002b56793-3591f8d1fa.zip b/melting-pot-vue/.yarn/cache/maplibre-gl-npm-4.0.2-8002b56793-3591f8d1fa.zip new file mode 100644 index 0000000..62ccd5a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/maplibre-gl-npm-4.0.2-8002b56793-3591f8d1fa.zip differ diff --git a/melting-pot-vue/.yarn/cache/memorystream-npm-0.3.1-ae973f1d16-f18b42440d.zip b/melting-pot-vue/.yarn/cache/memorystream-npm-0.3.1-ae973f1d16-f18b42440d.zip new file mode 100644 index 0000000..30ee3e0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/memorystream-npm-0.3.1-ae973f1d16-f18b42440d.zip differ diff --git a/melting-pot-vue/.yarn/cache/merge-stream-npm-2.0.0-2ac83efea5-6fa4dcc8d8.zip b/melting-pot-vue/.yarn/cache/merge-stream-npm-2.0.0-2ac83efea5-6fa4dcc8d8.zip new file mode 100644 index 0000000..1cf9d57 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/merge-stream-npm-2.0.0-2ac83efea5-6fa4dcc8d8.zip differ diff --git a/melting-pot-vue/.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip b/melting-pot-vue/.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip new file mode 100644 index 0000000..76aa4f0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip differ diff --git a/melting-pot-vue/.yarn/cache/micromatch-npm-4.0.5-cfab5d7669-02a17b671c.zip b/melting-pot-vue/.yarn/cache/micromatch-npm-4.0.5-cfab5d7669-02a17b671c.zip new file mode 100644 index 0000000..060612a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/micromatch-npm-4.0.5-cfab5d7669-02a17b671c.zip differ diff --git a/melting-pot-vue/.yarn/cache/mime-db-npm-1.52.0-b5371d6fd2-0d99a03585.zip b/melting-pot-vue/.yarn/cache/mime-db-npm-1.52.0-b5371d6fd2-0d99a03585.zip new file mode 100644 index 0000000..8db7263 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/mime-db-npm-1.52.0-b5371d6fd2-0d99a03585.zip differ diff --git a/melting-pot-vue/.yarn/cache/mime-types-npm-2.1.35-dd9ea9f3e2-89a5b7f1de.zip b/melting-pot-vue/.yarn/cache/mime-types-npm-2.1.35-dd9ea9f3e2-89a5b7f1de.zip new file mode 100644 index 0000000..166d332 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/mime-types-npm-2.1.35-dd9ea9f3e2-89a5b7f1de.zip differ diff --git a/melting-pot-vue/.yarn/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-d2421a3444.zip b/melting-pot-vue/.yarn/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-d2421a3444.zip new file mode 100644 index 0000000..1cc2414 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-d2421a3444.zip differ diff --git a/melting-pot-vue/.yarn/cache/mimic-fn-npm-4.0.0-feaeda79f7-995dcece15.zip b/melting-pot-vue/.yarn/cache/mimic-fn-npm-4.0.0-feaeda79f7-995dcece15.zip new file mode 100644 index 0000000..f990f1d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/mimic-fn-npm-4.0.0-feaeda79f7-995dcece15.zip differ diff --git a/melting-pot-vue/.yarn/cache/minimatch-npm-3.1.2-9405269906-c154e56640.zip b/melting-pot-vue/.yarn/cache/minimatch-npm-3.1.2-9405269906-c154e56640.zip new file mode 100644 index 0000000..ba0c510 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minimatch-npm-3.1.2-9405269906-c154e56640.zip differ diff --git a/melting-pot-vue/.yarn/cache/minimatch-npm-9.0.1-277fdc6fbd-97f5f5284b.zip b/melting-pot-vue/.yarn/cache/minimatch-npm-9.0.1-277fdc6fbd-97f5f5284b.zip new file mode 100644 index 0000000..66cac93 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minimatch-npm-9.0.1-277fdc6fbd-97f5f5284b.zip differ diff --git a/melting-pot-vue/.yarn/cache/minimatch-npm-9.0.3-69d7d6fad5-253487976b.zip b/melting-pot-vue/.yarn/cache/minimatch-npm-9.0.3-69d7d6fad5-253487976b.zip new file mode 100644 index 0000000..265822f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minimatch-npm-9.0.3-69d7d6fad5-253487976b.zip differ diff --git a/melting-pot-vue/.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-75a6d645fb.zip b/melting-pot-vue/.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-75a6d645fb.zip new file mode 100644 index 0000000..bd385cb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minimist-npm-1.2.8-d7af7b1dce-75a6d645fb.zip differ diff --git a/melting-pot-vue/.yarn/cache/minipass-collect-npm-2.0.1-73d3907e40-b251bceea6.zip b/melting-pot-vue/.yarn/cache/minipass-collect-npm-2.0.1-73d3907e40-b251bceea6.zip new file mode 100644 index 0000000..96df703 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minipass-collect-npm-2.0.1-73d3907e40-b251bceea6.zip differ diff --git a/melting-pot-vue/.yarn/cache/minipass-fetch-npm-3.0.4-200ac7c66d-af7aad15d5.zip b/melting-pot-vue/.yarn/cache/minipass-fetch-npm-3.0.4-200ac7c66d-af7aad15d5.zip new file mode 100644 index 0000000..8eafd96 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minipass-fetch-npm-3.0.4-200ac7c66d-af7aad15d5.zip differ diff --git a/melting-pot-vue/.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip b/melting-pot-vue/.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip new file mode 100644 index 0000000..913b687 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip differ diff --git a/melting-pot-vue/.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a30d083c80.zip b/melting-pot-vue/.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a30d083c80.zip new file mode 100644 index 0000000..26e006f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a30d083c80.zip differ diff --git a/melting-pot-vue/.yarn/cache/minipass-npm-5.0.0-c64fb63c92-425dab2887.zip b/melting-pot-vue/.yarn/cache/minipass-npm-5.0.0-c64fb63c92-425dab2887.zip new file mode 100644 index 0000000..c49ee93 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minipass-npm-5.0.0-c64fb63c92-425dab2887.zip differ diff --git a/melting-pot-vue/.yarn/cache/minipass-npm-7.0.4-eacb4e042e-87585e258b.zip b/melting-pot-vue/.yarn/cache/minipass-npm-7.0.4-eacb4e042e-87585e258b.zip new file mode 100644 index 0000000..472202f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minipass-npm-7.0.4-eacb4e042e-87585e258b.zip differ diff --git a/melting-pot-vue/.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip b/melting-pot-vue/.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip new file mode 100644 index 0000000..4deae41 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip differ diff --git a/melting-pot-vue/.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-79076749fc.zip b/melting-pot-vue/.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-79076749fc.zip new file mode 100644 index 0000000..b6f4644 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-79076749fc.zip differ diff --git a/melting-pot-vue/.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-f1fdeac0b0.zip b/melting-pot-vue/.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-f1fdeac0b0.zip new file mode 100644 index 0000000..efb1b7f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-f1fdeac0b0.zip differ diff --git a/melting-pot-vue/.yarn/cache/mitt-npm-3.0.1-ce290ffa77-b55a489ac9.zip b/melting-pot-vue/.yarn/cache/mitt-npm-3.0.1-ce290ffa77-b55a489ac9.zip new file mode 100644 index 0000000..bde349b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/mitt-npm-3.0.1-ce290ffa77-b55a489ac9.zip differ diff --git a/melting-pot-vue/.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-a96865108c.zip b/melting-pot-vue/.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-a96865108c.zip new file mode 100644 index 0000000..4625e91 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-a96865108c.zip differ diff --git a/melting-pot-vue/.yarn/cache/mlly-npm-1.6.1-947df259c8-c40a547dba.zip b/melting-pot-vue/.yarn/cache/mlly-npm-1.6.1-947df259c8-c40a547dba.zip new file mode 100644 index 0000000..a0b2272 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/mlly-npm-1.6.1-947df259c8-c40a547dba.zip differ diff --git a/melting-pot-vue/.yarn/cache/ms-npm-2.1.2-ec0c1512ff-673cdb2c31.zip b/melting-pot-vue/.yarn/cache/ms-npm-2.1.2-ec0c1512ff-673cdb2c31.zip new file mode 100644 index 0000000..725e9b8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ms-npm-2.1.2-ec0c1512ff-673cdb2c31.zip differ diff --git a/melting-pot-vue/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip b/melting-pot-vue/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip new file mode 100644 index 0000000..2b635f2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip differ diff --git a/melting-pot-vue/.yarn/cache/muggle-string-npm-0.3.1-417964904f-f2357f906e.zip b/melting-pot-vue/.yarn/cache/muggle-string-npm-0.3.1-417964904f-f2357f906e.zip new file mode 100644 index 0000000..5f55286 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/muggle-string-npm-0.3.1-417964904f-f2357f906e.zip differ diff --git a/melting-pot-vue/.yarn/cache/murmurhash-js-npm-1.0.0-b1fa804bc0-083cea92a1.zip b/melting-pot-vue/.yarn/cache/murmurhash-js-npm-1.0.0-b1fa804bc0-083cea92a1.zip new file mode 100644 index 0000000..c4a3adf Binary files /dev/null and b/melting-pot-vue/.yarn/cache/murmurhash-js-npm-1.0.0-b1fa804bc0-083cea92a1.zip differ diff --git a/melting-pot-vue/.yarn/cache/nanoid-npm-3.3.7-98824ba130-d36c427e53.zip b/melting-pot-vue/.yarn/cache/nanoid-npm-3.3.7-98824ba130-d36c427e53.zip new file mode 100644 index 0000000..7b2fd6e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/nanoid-npm-3.3.7-98824ba130-d36c427e53.zip differ diff --git a/melting-pot-vue/.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-23ad088b08.zip b/melting-pot-vue/.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-23ad088b08.zip new file mode 100644 index 0000000..db454c3 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-23ad088b08.zip differ diff --git a/melting-pot-vue/.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip b/melting-pot-vue/.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip new file mode 100644 index 0000000..e8c5cf4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip differ diff --git a/melting-pot-vue/.yarn/cache/node-gyp-npm-10.0.1-48708ce70b-60a74e66d3.zip b/melting-pot-vue/.yarn/cache/node-gyp-npm-10.0.1-48708ce70b-60a74e66d3.zip new file mode 100644 index 0000000..a0fdba8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/node-gyp-npm-10.0.1-48708ce70b-60a74e66d3.zip differ diff --git a/melting-pot-vue/.yarn/cache/nopt-npm-7.2.0-dd734b678d-a9c0f57fb8.zip b/melting-pot-vue/.yarn/cache/nopt-npm-7.2.0-dd734b678d-a9c0f57fb8.zip new file mode 100644 index 0000000..ddae56f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/nopt-npm-7.2.0-dd734b678d-a9c0f57fb8.zip differ diff --git a/melting-pot-vue/.yarn/cache/npm-normalize-package-bin-npm-3.0.1-6c120b50f7-de416d720a.zip b/melting-pot-vue/.yarn/cache/npm-normalize-package-bin-npm-3.0.1-6c120b50f7-de416d720a.zip new file mode 100644 index 0000000..b1936ff Binary files /dev/null and b/melting-pot-vue/.yarn/cache/npm-normalize-package-bin-npm-3.0.1-6c120b50f7-de416d720a.zip differ diff --git a/melting-pot-vue/.yarn/cache/npm-run-all2-npm-6.1.2-5145e77577-dc595a8341.zip b/melting-pot-vue/.yarn/cache/npm-run-all2-npm-6.1.2-5145e77577-dc595a8341.zip new file mode 100644 index 0000000..bc212aa Binary files /dev/null and b/melting-pot-vue/.yarn/cache/npm-run-all2-npm-6.1.2-5145e77577-dc595a8341.zip differ diff --git a/melting-pot-vue/.yarn/cache/npm-run-path-npm-4.0.1-7aebd8bab3-5374c0cea4.zip b/melting-pot-vue/.yarn/cache/npm-run-path-npm-4.0.1-7aebd8bab3-5374c0cea4.zip new file mode 100644 index 0000000..18ef704 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/npm-run-path-npm-4.0.1-7aebd8bab3-5374c0cea4.zip differ diff --git a/melting-pot-vue/.yarn/cache/npm-run-path-npm-5.3.0-193efca236-ae8e7a89da.zip b/melting-pot-vue/.yarn/cache/npm-run-path-npm-5.3.0-193efca236-ae8e7a89da.zip new file mode 100644 index 0000000..997c8b8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/npm-run-path-npm-5.3.0-193efca236-ae8e7a89da.zip differ diff --git a/melting-pot-vue/.yarn/cache/nth-check-npm-2.1.1-f97afc8169-5afc3dafcd.zip b/melting-pot-vue/.yarn/cache/nth-check-npm-2.1.1-f97afc8169-5afc3dafcd.zip new file mode 100644 index 0000000..dc825e5 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/nth-check-npm-2.1.1-f97afc8169-5afc3dafcd.zip differ diff --git a/melting-pot-vue/.yarn/cache/nwsapi-npm-2.2.7-3bed340fab-cab25f7983.zip b/melting-pot-vue/.yarn/cache/nwsapi-npm-2.2.7-3bed340fab-cab25f7983.zip new file mode 100644 index 0000000..7e95cac Binary files /dev/null and b/melting-pot-vue/.yarn/cache/nwsapi-npm-2.2.7-3bed340fab-cab25f7983.zip differ diff --git a/melting-pot-vue/.yarn/cache/object-inspect-npm-1.13.1-fd038a2f0a-7d9fa9221d.zip b/melting-pot-vue/.yarn/cache/object-inspect-npm-1.13.1-fd038a2f0a-7d9fa9221d.zip new file mode 100644 index 0000000..1e1bbfb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/object-inspect-npm-1.13.1-fd038a2f0a-7d9fa9221d.zip differ diff --git a/melting-pot-vue/.yarn/cache/once-npm-1.4.0-ccf03ef07a-cd0a885013.zip b/melting-pot-vue/.yarn/cache/once-npm-1.4.0-ccf03ef07a-cd0a885013.zip new file mode 100644 index 0000000..1b943ee Binary files /dev/null and b/melting-pot-vue/.yarn/cache/once-npm-1.4.0-ccf03ef07a-cd0a885013.zip differ diff --git a/melting-pot-vue/.yarn/cache/onetime-npm-5.1.2-3ed148fa42-2478859ef8.zip b/melting-pot-vue/.yarn/cache/onetime-npm-5.1.2-3ed148fa42-2478859ef8.zip new file mode 100644 index 0000000..958e05b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/onetime-npm-5.1.2-3ed148fa42-2478859ef8.zip differ diff --git a/melting-pot-vue/.yarn/cache/onetime-npm-6.0.0-4f3684e29a-0846ce78e4.zip b/melting-pot-vue/.yarn/cache/onetime-npm-6.0.0-4f3684e29a-0846ce78e4.zip new file mode 100644 index 0000000..05f1320 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/onetime-npm-6.0.0-4f3684e29a-0846ce78e4.zip differ diff --git a/melting-pot-vue/.yarn/cache/optionator-npm-0.9.3-56c3a4bf80-0928199944.zip b/melting-pot-vue/.yarn/cache/optionator-npm-0.9.3-56c3a4bf80-0928199944.zip new file mode 100644 index 0000000..0626632 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/optionator-npm-0.9.3-56c3a4bf80-0928199944.zip differ diff --git a/melting-pot-vue/.yarn/cache/ospath-npm-1.2.2-c8f45523a8-505f48a4f4.zip b/melting-pot-vue/.yarn/cache/ospath-npm-1.2.2-c8f45523a8-505f48a4f4.zip new file mode 100644 index 0000000..0c1524c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ospath-npm-1.2.2-c8f45523a8-505f48a4f4.zip differ diff --git a/melting-pot-vue/.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-7c3690c4db.zip b/melting-pot-vue/.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-7c3690c4db.zip new file mode 100644 index 0000000..b87d97c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-7c3690c4db.zip differ diff --git a/melting-pot-vue/.yarn/cache/p-limit-npm-5.0.0-cc102b17d7-87bf5837de.zip b/melting-pot-vue/.yarn/cache/p-limit-npm-5.0.0-cc102b17d7-87bf5837de.zip new file mode 100644 index 0000000..92f9733 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/p-limit-npm-5.0.0-cc102b17d7-87bf5837de.zip differ diff --git a/melting-pot-vue/.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-1623088f36.zip b/melting-pot-vue/.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-1623088f36.zip new file mode 100644 index 0000000..077f1c6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-1623088f36.zip differ diff --git a/melting-pot-vue/.yarn/cache/p-map-npm-4.0.0-4677ae07c7-cb0ab21ec0.zip b/melting-pot-vue/.yarn/cache/p-map-npm-4.0.0-4677ae07c7-cb0ab21ec0.zip new file mode 100644 index 0000000..092fe42 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/p-map-npm-4.0.0-4677ae07c7-cb0ab21ec0.zip differ diff --git a/melting-pot-vue/.yarn/cache/parent-module-npm-1.0.1-1fae11b095-6ba8b25514.zip b/melting-pot-vue/.yarn/cache/parent-module-npm-1.0.1-1fae11b095-6ba8b25514.zip new file mode 100644 index 0000000..5b900e1 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/parent-module-npm-1.0.1-1fae11b095-6ba8b25514.zip differ diff --git a/melting-pot-vue/.yarn/cache/parse5-npm-7.1.2-aa9a92c270-59465dd05e.zip b/melting-pot-vue/.yarn/cache/parse5-npm-7.1.2-aa9a92c270-59465dd05e.zip new file mode 100644 index 0000000..d6319d9 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/parse5-npm-7.1.2-aa9a92c270-59465dd05e.zip differ diff --git a/melting-pot-vue/.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-c6d7fa3764.zip b/melting-pot-vue/.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-c6d7fa3764.zip new file mode 100644 index 0000000..7c06907 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/path-browserify-npm-1.0.1-f975d99a99-c6d7fa3764.zip differ diff --git a/melting-pot-vue/.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-505807199d.zip b/melting-pot-vue/.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-505807199d.zip new file mode 100644 index 0000000..b504841 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-505807199d.zip differ diff --git a/melting-pot-vue/.yarn/cache/path-is-absolute-npm-1.0.1-31bc695ffd-060840f92c.zip b/melting-pot-vue/.yarn/cache/path-is-absolute-npm-1.0.1-31bc695ffd-060840f92c.zip new file mode 100644 index 0000000..ce195de Binary files /dev/null and b/melting-pot-vue/.yarn/cache/path-is-absolute-npm-1.0.1-31bc695ffd-060840f92c.zip differ diff --git a/melting-pot-vue/.yarn/cache/path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip b/melting-pot-vue/.yarn/cache/path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip new file mode 100644 index 0000000..dd7212e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip differ diff --git a/melting-pot-vue/.yarn/cache/path-key-npm-4.0.0-2bce99f089-8e6c314ae6.zip b/melting-pot-vue/.yarn/cache/path-key-npm-4.0.0-2bce99f089-8e6c314ae6.zip new file mode 100644 index 0000000..271eb03 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/path-key-npm-4.0.0-2bce99f089-8e6c314ae6.zip differ diff --git a/melting-pot-vue/.yarn/cache/path-scurry-npm-1.10.1-52bd946f2e-e2557cff3a.zip b/melting-pot-vue/.yarn/cache/path-scurry-npm-1.10.1-52bd946f2e-e2557cff3a.zip new file mode 100644 index 0000000..e466a97 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/path-scurry-npm-1.10.1-52bd946f2e-e2557cff3a.zip differ diff --git a/melting-pot-vue/.yarn/cache/path-type-npm-4.0.0-10d47fc86a-5b1e2daa24.zip b/melting-pot-vue/.yarn/cache/path-type-npm-4.0.0-10d47fc86a-5b1e2daa24.zip new file mode 100644 index 0000000..f37ca5b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/path-type-npm-4.0.0-10d47fc86a-5b1e2daa24.zip differ diff --git a/melting-pot-vue/.yarn/cache/pathe-npm-1.1.2-b80d94db55-ec5f778d97.zip b/melting-pot-vue/.yarn/cache/pathe-npm-1.1.2-b80d94db55-ec5f778d97.zip new file mode 100644 index 0000000..b5d03c8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pathe-npm-1.1.2-b80d94db55-ec5f778d97.zip differ diff --git a/melting-pot-vue/.yarn/cache/pathval-npm-1.1.1-ce0311d7e0-090e314771.zip b/melting-pot-vue/.yarn/cache/pathval-npm-1.1.1-ce0311d7e0-090e314771.zip new file mode 100644 index 0000000..b5cdc46 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pathval-npm-1.1.1-ce0311d7e0-090e314771.zip differ diff --git a/melting-pot-vue/.yarn/cache/pause-stream-npm-0.0.11-d0e142313d-3c4a14052a.zip b/melting-pot-vue/.yarn/cache/pause-stream-npm-0.0.11-d0e142313d-3c4a14052a.zip new file mode 100644 index 0000000..fcd5de6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pause-stream-npm-0.0.11-d0e142313d-3c4a14052a.zip differ diff --git a/melting-pot-vue/.yarn/cache/pbf-npm-3.2.1-d33be8e429-8033f5e21f.zip b/melting-pot-vue/.yarn/cache/pbf-npm-3.2.1-d33be8e429-8033f5e21f.zip new file mode 100644 index 0000000..e577584 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pbf-npm-3.2.1-d33be8e429-8033f5e21f.zip differ diff --git a/melting-pot-vue/.yarn/cache/pend-npm-1.2.0-7a13d93266-6c72f52433.zip b/melting-pot-vue/.yarn/cache/pend-npm-1.2.0-7a13d93266-6c72f52433.zip new file mode 100644 index 0000000..03b6b6d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pend-npm-1.2.0-7a13d93266-6c72f52433.zip differ diff --git a/melting-pot-vue/.yarn/cache/performance-now-npm-2.1.0-45e3ce7e49-534e641aa8.zip b/melting-pot-vue/.yarn/cache/performance-now-npm-2.1.0-45e3ce7e49-534e641aa8.zip new file mode 100644 index 0000000..fa9ee04 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/performance-now-npm-2.1.0-45e3ce7e49-534e641aa8.zip differ diff --git a/melting-pot-vue/.yarn/cache/picocolors-npm-1.0.0-d81e0b1927-a2e8092dd8.zip b/melting-pot-vue/.yarn/cache/picocolors-npm-1.0.0-d81e0b1927-a2e8092dd8.zip new file mode 100644 index 0000000..2d7c3d5 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/picocolors-npm-1.0.0-d81e0b1927-a2e8092dd8.zip differ diff --git a/melting-pot-vue/.yarn/cache/picomatch-npm-2.3.1-c782cfd986-050c865ce8.zip b/melting-pot-vue/.yarn/cache/picomatch-npm-2.3.1-c782cfd986-050c865ce8.zip new file mode 100644 index 0000000..3384698 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/picomatch-npm-2.3.1-c782cfd986-050c865ce8.zip differ diff --git a/melting-pot-vue/.yarn/cache/pidtree-npm-0.6.0-3d92e16117-8fbc073ede.zip b/melting-pot-vue/.yarn/cache/pidtree-npm-0.6.0-3d92e16117-8fbc073ede.zip new file mode 100644 index 0000000..e8ebaaf Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pidtree-npm-0.6.0-3d92e16117-8fbc073ede.zip differ diff --git a/melting-pot-vue/.yarn/cache/pify-npm-2.3.0-8b63310934-9503aaeaf4.zip b/melting-pot-vue/.yarn/cache/pify-npm-2.3.0-8b63310934-9503aaeaf4.zip new file mode 100644 index 0000000..4cbc70a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pify-npm-2.3.0-8b63310934-9503aaeaf4.zip differ diff --git a/melting-pot-vue/.yarn/cache/pinia-npm-2.1.7-195409c154-1b7882aab2.zip b/melting-pot-vue/.yarn/cache/pinia-npm-2.1.7-195409c154-1b7882aab2.zip new file mode 100644 index 0000000..352e0a2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pinia-npm-2.1.7-195409c154-1b7882aab2.zip differ diff --git a/melting-pot-vue/.yarn/cache/pkg-types-npm-1.0.3-dce22a705c-4b305c834b.zip b/melting-pot-vue/.yarn/cache/pkg-types-npm-1.0.3-dce22a705c-4b305c834b.zip new file mode 100644 index 0000000..d464677 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pkg-types-npm-1.0.3-dce22a705c-4b305c834b.zip differ diff --git a/melting-pot-vue/.yarn/cache/postcss-npm-8.4.35-6bc1848fff-cf3c3124d3.zip b/melting-pot-vue/.yarn/cache/postcss-npm-8.4.35-6bc1848fff-cf3c3124d3.zip new file mode 100644 index 0000000..888dcce Binary files /dev/null and b/melting-pot-vue/.yarn/cache/postcss-npm-8.4.35-6bc1848fff-cf3c3124d3.zip differ diff --git a/melting-pot-vue/.yarn/cache/postcss-selector-parser-npm-6.0.15-0ec4819b4e-57decb9415.zip b/melting-pot-vue/.yarn/cache/postcss-selector-parser-npm-6.0.15-0ec4819b4e-57decb9415.zip new file mode 100644 index 0000000..c6d4546 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/postcss-selector-parser-npm-6.0.15-0ec4819b4e-57decb9415.zip differ diff --git a/melting-pot-vue/.yarn/cache/potpack-npm-2.0.0-751304d85e-6dd4169234.zip b/melting-pot-vue/.yarn/cache/potpack-npm-2.0.0-751304d85e-6dd4169234.zip new file mode 100644 index 0000000..f2809fd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/potpack-npm-2.0.0-751304d85e-6dd4169234.zip differ diff --git a/melting-pot-vue/.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-cd192ec0d0.zip b/melting-pot-vue/.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-cd192ec0d0.zip new file mode 100644 index 0000000..38e7969 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-cd192ec0d0.zip differ diff --git a/melting-pot-vue/.yarn/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-00ce8011cf.zip b/melting-pot-vue/.yarn/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-00ce8011cf.zip new file mode 100644 index 0000000..ec7b0a0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-00ce8011cf.zip differ diff --git a/melting-pot-vue/.yarn/cache/prettier-npm-3.2.5-6859110d6a-2ee4e14175.zip b/melting-pot-vue/.yarn/cache/prettier-npm-3.2.5-6859110d6a-2ee4e14175.zip new file mode 100644 index 0000000..b9085d2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/prettier-npm-3.2.5-6859110d6a-2ee4e14175.zip differ diff --git a/melting-pot-vue/.yarn/cache/pretty-bytes-npm-5.6.0-0061079c9f-9c082500d1.zip b/melting-pot-vue/.yarn/cache/pretty-bytes-npm-5.6.0-0061079c9f-9c082500d1.zip new file mode 100644 index 0000000..767e74f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pretty-bytes-npm-5.6.0-0061079c9f-9c082500d1.zip differ diff --git a/melting-pot-vue/.yarn/cache/pretty-format-npm-29.7.0-7d330b2ea2-032c160238.zip b/melting-pot-vue/.yarn/cache/pretty-format-npm-29.7.0-7d330b2ea2-032c160238.zip new file mode 100644 index 0000000..329581e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pretty-format-npm-29.7.0-7d330b2ea2-032c160238.zip differ diff --git a/melting-pot-vue/.yarn/cache/proc-log-npm-3.0.0-a8c21c2f0f-02b64e1b39.zip b/melting-pot-vue/.yarn/cache/proc-log-npm-3.0.0-a8c21c2f0f-02b64e1b39.zip new file mode 100644 index 0000000..0436b17 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/proc-log-npm-3.0.0-a8c21c2f0f-02b64e1b39.zip differ diff --git a/melting-pot-vue/.yarn/cache/process-npm-0.11.10-aeb3b641ae-bfcce49814.zip b/melting-pot-vue/.yarn/cache/process-npm-0.11.10-aeb3b641ae-bfcce49814.zip new file mode 100644 index 0000000..1bb2720 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/process-npm-0.11.10-aeb3b641ae-bfcce49814.zip differ diff --git a/melting-pot-vue/.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-f96a3f6d90.zip b/melting-pot-vue/.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-f96a3f6d90.zip new file mode 100644 index 0000000..9cefe07 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-f96a3f6d90.zip differ diff --git a/melting-pot-vue/.yarn/cache/proto-list-npm-1.2.4-a96a43df28-4d4826e171.zip b/melting-pot-vue/.yarn/cache/proto-list-npm-1.2.4-a96a43df28-4d4826e171.zip new file mode 100644 index 0000000..5c173ee Binary files /dev/null and b/melting-pot-vue/.yarn/cache/proto-list-npm-1.2.4-a96a43df28-4d4826e171.zip differ diff --git a/melting-pot-vue/.yarn/cache/protocol-buffers-schema-npm-3.6.0-af2f375e69-8713b5770f.zip b/melting-pot-vue/.yarn/cache/protocol-buffers-schema-npm-3.6.0-af2f375e69-8713b5770f.zip new file mode 100644 index 0000000..3670128 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/protocol-buffers-schema-npm-3.6.0-af2f375e69-8713b5770f.zip differ diff --git a/melting-pot-vue/.yarn/cache/proxy-from-env-npm-1.0.0-679b82b4ec-292e28d1de.zip b/melting-pot-vue/.yarn/cache/proxy-from-env-npm-1.0.0-679b82b4ec-292e28d1de.zip new file mode 100644 index 0000000..8015209 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/proxy-from-env-npm-1.0.0-679b82b4ec-292e28d1de.zip differ diff --git a/melting-pot-vue/.yarn/cache/proxy-from-env-npm-1.1.0-c13d07f26b-ed7fcc2ba0.zip b/melting-pot-vue/.yarn/cache/proxy-from-env-npm-1.1.0-c13d07f26b-ed7fcc2ba0.zip new file mode 100644 index 0000000..a58e6bf Binary files /dev/null and b/melting-pot-vue/.yarn/cache/proxy-from-env-npm-1.1.0-c13d07f26b-ed7fcc2ba0.zip differ diff --git a/melting-pot-vue/.yarn/cache/ps-tree-npm-1.2.0-3975e95bd6-e635dd00f5.zip b/melting-pot-vue/.yarn/cache/ps-tree-npm-1.2.0-3975e95bd6-e635dd00f5.zip new file mode 100644 index 0000000..1a42035 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ps-tree-npm-1.2.0-3975e95bd6-e635dd00f5.zip differ diff --git a/melting-pot-vue/.yarn/cache/psl-npm-1.9.0-a546edad1a-20c4277f64.zip b/melting-pot-vue/.yarn/cache/psl-npm-1.9.0-a546edad1a-20c4277f64.zip new file mode 100644 index 0000000..0b64b50 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/psl-npm-1.9.0-a546edad1a-20c4277f64.zip differ diff --git a/melting-pot-vue/.yarn/cache/pump-npm-3.0.0-0080bf6a7a-e42e9229fb.zip b/melting-pot-vue/.yarn/cache/pump-npm-3.0.0-0080bf6a7a-e42e9229fb.zip new file mode 100644 index 0000000..0585683 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/pump-npm-3.0.0-0080bf6a7a-e42e9229fb.zip differ diff --git a/melting-pot-vue/.yarn/cache/punycode-npm-2.3.1-97543c420d-bb0a0ceedc.zip b/melting-pot-vue/.yarn/cache/punycode-npm-2.3.1-97543c420d-bb0a0ceedc.zip new file mode 100644 index 0000000..84c1ad0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/punycode-npm-2.3.1-97543c420d-bb0a0ceedc.zip differ diff --git a/melting-pot-vue/.yarn/cache/qs-npm-6.10.4-9b6a538d57-31e4fedd75.zip b/melting-pot-vue/.yarn/cache/qs-npm-6.10.4-9b6a538d57-31e4fedd75.zip new file mode 100644 index 0000000..4752f23 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/qs-npm-6.10.4-9b6a538d57-31e4fedd75.zip differ diff --git a/melting-pot-vue/.yarn/cache/querystringify-npm-2.2.0-4e77c9f606-5641ea231b.zip b/melting-pot-vue/.yarn/cache/querystringify-npm-2.2.0-4e77c9f606-5641ea231b.zip new file mode 100644 index 0000000..492bf88 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/querystringify-npm-2.2.0-4e77c9f606-5641ea231b.zip differ diff --git a/melting-pot-vue/.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-b676f8c040.zip b/melting-pot-vue/.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-b676f8c040.zip new file mode 100644 index 0000000..3145328 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-b676f8c040.zip differ diff --git a/melting-pot-vue/.yarn/cache/quickselect-npm-2.0.0-620eb59fdc-ed2e784310.zip b/melting-pot-vue/.yarn/cache/quickselect-npm-2.0.0-620eb59fdc-ed2e784310.zip new file mode 100644 index 0000000..0ae1bfa Binary files /dev/null and b/melting-pot-vue/.yarn/cache/quickselect-npm-2.0.0-620eb59fdc-ed2e784310.zip differ diff --git a/melting-pot-vue/.yarn/cache/react-is-npm-18.2.0-0cc5edb910-e72d0ba81b.zip b/melting-pot-vue/.yarn/cache/react-is-npm-18.2.0-0cc5edb910-e72d0ba81b.zip new file mode 100644 index 0000000..97bc63a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/react-is-npm-18.2.0-0cc5edb910-e72d0ba81b.zip differ diff --git a/melting-pot-vue/.yarn/cache/read-package-json-fast-npm-3.0.2-1232471a07-8d406869f0.zip b/melting-pot-vue/.yarn/cache/read-package-json-fast-npm-3.0.2-1232471a07-8d406869f0.zip new file mode 100644 index 0000000..45cbd95 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/read-package-json-fast-npm-3.0.2-1232471a07-8d406869f0.zip differ diff --git a/melting-pot-vue/.yarn/cache/request-progress-npm-3.0.0-f79f1c9e67-6ea1761dcc.zip b/melting-pot-vue/.yarn/cache/request-progress-npm-3.0.0-f79f1c9e67-6ea1761dcc.zip new file mode 100644 index 0000000..422169a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/request-progress-npm-3.0.0-f79f1c9e67-6ea1761dcc.zip differ diff --git a/melting-pot-vue/.yarn/cache/requires-port-npm-1.0.0-fd036b488a-eee0e303ad.zip b/melting-pot-vue/.yarn/cache/requires-port-npm-1.0.0-fd036b488a-eee0e303ad.zip new file mode 100644 index 0000000..b130302 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/requires-port-npm-1.0.0-fd036b488a-eee0e303ad.zip differ diff --git a/melting-pot-vue/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-f4ba0b8494.zip b/melting-pot-vue/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-f4ba0b8494.zip new file mode 100644 index 0000000..86f591e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-f4ba0b8494.zip differ diff --git a/melting-pot-vue/.yarn/cache/resolve-protobuf-schema-npm-2.1.0-56c0d37a08-88fffab2a3.zip b/melting-pot-vue/.yarn/cache/resolve-protobuf-schema-npm-2.1.0-56c0d37a08-88fffab2a3.zip new file mode 100644 index 0000000..f9238ee Binary files /dev/null and b/melting-pot-vue/.yarn/cache/resolve-protobuf-schema-npm-2.1.0-56c0d37a08-88fffab2a3.zip differ diff --git a/melting-pot-vue/.yarn/cache/restore-cursor-npm-3.1.0-52c5a4c98f-f877dd8741.zip b/melting-pot-vue/.yarn/cache/restore-cursor-npm-3.1.0-52c5a4c98f-f877dd8741.zip new file mode 100644 index 0000000..f11afe9 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/restore-cursor-npm-3.1.0-52c5a4c98f-f877dd8741.zip differ diff --git a/melting-pot-vue/.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip b/melting-pot-vue/.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip new file mode 100644 index 0000000..12e25fc Binary files /dev/null and b/melting-pot-vue/.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip differ diff --git a/melting-pot-vue/.yarn/cache/reusify-npm-1.0.4-95ac4aec11-c3076ebcc2.zip b/melting-pot-vue/.yarn/cache/reusify-npm-1.0.4-95ac4aec11-c3076ebcc2.zip new file mode 100644 index 0000000..595aa09 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/reusify-npm-1.0.4-95ac4aec11-c3076ebcc2.zip differ diff --git a/melting-pot-vue/.yarn/cache/rfdc-npm-1.3.1-80aaa71f8d-d5d1e930ae.zip b/melting-pot-vue/.yarn/cache/rfdc-npm-1.3.1-80aaa71f8d-d5d1e930ae.zip new file mode 100644 index 0000000..f395387 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/rfdc-npm-1.3.1-80aaa71f8d-d5d1e930ae.zip differ diff --git a/melting-pot-vue/.yarn/cache/rimraf-npm-3.0.2-2cb7dac69a-87f4164e39.zip b/melting-pot-vue/.yarn/cache/rimraf-npm-3.0.2-2cb7dac69a-87f4164e39.zip new file mode 100644 index 0000000..6d2f541 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/rimraf-npm-3.0.2-2cb7dac69a-87f4164e39.zip differ diff --git a/melting-pot-vue/.yarn/cache/rollup-npm-4.12.0-f631a9b21e-a7398f072c.zip b/melting-pot-vue/.yarn/cache/rollup-npm-4.12.0-f631a9b21e-a7398f072c.zip new file mode 100644 index 0000000..fa8e82f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/rollup-npm-4.12.0-f631a9b21e-a7398f072c.zip differ diff --git a/melting-pot-vue/.yarn/cache/rrweb-cssom-npm-0.6.0-04bbb1169b-182312f6e4.zip b/melting-pot-vue/.yarn/cache/rrweb-cssom-npm-0.6.0-04bbb1169b-182312f6e4.zip new file mode 100644 index 0000000..8b3e1d4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/rrweb-cssom-npm-0.6.0-04bbb1169b-182312f6e4.zip differ diff --git a/melting-pot-vue/.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip b/melting-pot-vue/.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip new file mode 100644 index 0000000..fefbad5 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip differ diff --git a/melting-pot-vue/.yarn/cache/rw-npm-1.3.3-2197930a8d-c20d82421f.zip b/melting-pot-vue/.yarn/cache/rw-npm-1.3.3-2197930a8d-c20d82421f.zip new file mode 100644 index 0000000..a1362e0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/rw-npm-1.3.3-2197930a8d-c20d82421f.zip differ diff --git a/melting-pot-vue/.yarn/cache/rxjs-npm-7.8.1-41c443a75b-de4b53db10.zip b/melting-pot-vue/.yarn/cache/rxjs-npm-7.8.1-41c443a75b-de4b53db10.zip new file mode 100644 index 0000000..0bd98ba Binary files /dev/null and b/melting-pot-vue/.yarn/cache/rxjs-npm-7.8.1-41c443a75b-de4b53db10.zip differ diff --git a/melting-pot-vue/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip b/melting-pot-vue/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip new file mode 100644 index 0000000..c80798a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip differ diff --git a/melting-pot-vue/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip b/melting-pot-vue/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip new file mode 100644 index 0000000..1a93be6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip differ diff --git a/melting-pot-vue/.yarn/cache/saxes-npm-6.0.0-31558949f5-d3fa3e2aaf.zip b/melting-pot-vue/.yarn/cache/saxes-npm-6.0.0-31558949f5-d3fa3e2aaf.zip new file mode 100644 index 0000000..487af08 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/saxes-npm-6.0.0-31558949f5-d3fa3e2aaf.zip differ diff --git a/melting-pot-vue/.yarn/cache/semver-npm-7.6.0-f4630729f6-7427f05b70.zip b/melting-pot-vue/.yarn/cache/semver-npm-7.6.0-f4630729f6-7427f05b70.zip new file mode 100644 index 0000000..a5494e1 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/semver-npm-7.6.0-f4630729f6-7427f05b70.zip differ diff --git a/melting-pot-vue/.yarn/cache/set-function-length-npm-1.2.1-5131ef7312-23742476d6.zip b/melting-pot-vue/.yarn/cache/set-function-length-npm-1.2.1-5131ef7312-23742476d6.zip new file mode 100644 index 0000000..6a372d7 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/set-function-length-npm-1.2.1-5131ef7312-23742476d6.zip differ diff --git a/melting-pot-vue/.yarn/cache/set-value-npm-2.0.1-35da5f8180-09a4bc72c9.zip b/melting-pot-vue/.yarn/cache/set-value-npm-2.0.1-35da5f8180-09a4bc72c9.zip new file mode 100644 index 0000000..6647983 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/set-value-npm-2.0.1-35da5f8180-09a4bc72c9.zip differ diff --git a/melting-pot-vue/.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip b/melting-pot-vue/.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip new file mode 100644 index 0000000..727c547 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip differ diff --git a/melting-pot-vue/.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1a2bcae50d.zip b/melting-pot-vue/.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1a2bcae50d.zip new file mode 100644 index 0000000..3e891cd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1a2bcae50d.zip differ diff --git a/melting-pot-vue/.yarn/cache/shell-quote-npm-1.8.1-fcccf06093-5f01201f4e.zip b/melting-pot-vue/.yarn/cache/shell-quote-npm-1.8.1-fcccf06093-5f01201f4e.zip new file mode 100644 index 0000000..3ed7b53 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/shell-quote-npm-1.8.1-fcccf06093-5f01201f4e.zip differ diff --git a/melting-pot-vue/.yarn/cache/side-channel-npm-1.0.5-ac07c0c62d-640446b4e5.zip b/melting-pot-vue/.yarn/cache/side-channel-npm-1.0.5-ac07c0c62d-640446b4e5.zip new file mode 100644 index 0000000..b1c1290 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/side-channel-npm-1.0.5-ac07c0c62d-640446b4e5.zip differ diff --git a/melting-pot-vue/.yarn/cache/siginfo-npm-2.0.0-9bbac931f8-8aa5a98640.zip b/melting-pot-vue/.yarn/cache/siginfo-npm-2.0.0-9bbac931f8-8aa5a98640.zip new file mode 100644 index 0000000..eee5d01 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/siginfo-npm-2.0.0-9bbac931f8-8aa5a98640.zip differ diff --git a/melting-pot-vue/.yarn/cache/signal-exit-npm-3.0.7-bd270458a3-a2f098f247.zip b/melting-pot-vue/.yarn/cache/signal-exit-npm-3.0.7-bd270458a3-a2f098f247.zip new file mode 100644 index 0000000..98720bd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/signal-exit-npm-3.0.7-bd270458a3-a2f098f247.zip differ diff --git a/melting-pot-vue/.yarn/cache/signal-exit-npm-4.1.0-61fb957687-64c757b498.zip b/melting-pot-vue/.yarn/cache/signal-exit-npm-4.1.0-61fb957687-64c757b498.zip new file mode 100644 index 0000000..7242dbc Binary files /dev/null and b/melting-pot-vue/.yarn/cache/signal-exit-npm-4.1.0-61fb957687-64c757b498.zip differ diff --git a/melting-pot-vue/.yarn/cache/slash-npm-3.0.0-b87de2279a-94a93fff61.zip b/melting-pot-vue/.yarn/cache/slash-npm-3.0.0-b87de2279a-94a93fff61.zip new file mode 100644 index 0000000..40d6b51 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/slash-npm-3.0.0-b87de2279a-94a93fff61.zip differ diff --git a/melting-pot-vue/.yarn/cache/slice-ansi-npm-3.0.0-d9999864af-5ec6d022d1.zip b/melting-pot-vue/.yarn/cache/slice-ansi-npm-3.0.0-d9999864af-5ec6d022d1.zip new file mode 100644 index 0000000..0129e70 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/slice-ansi-npm-3.0.0-d9999864af-5ec6d022d1.zip differ diff --git a/melting-pot-vue/.yarn/cache/slice-ansi-npm-4.0.0-6eeca1d10e-4a82d7f085.zip b/melting-pot-vue/.yarn/cache/slice-ansi-npm-4.0.0-6eeca1d10e-4a82d7f085.zip new file mode 100644 index 0000000..ef2012f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/slice-ansi-npm-4.0.0-6eeca1d10e-4a82d7f085.zip differ diff --git a/melting-pot-vue/.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-b5167a7142.zip b/melting-pot-vue/.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-b5167a7142.zip new file mode 100644 index 0000000..d587b3d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-b5167a7142.zip differ diff --git a/melting-pot-vue/.yarn/cache/socks-npm-2.8.1-3b253d7256-29586d42e9.zip b/melting-pot-vue/.yarn/cache/socks-npm-2.8.1-3b253d7256-29586d42e9.zip new file mode 100644 index 0000000..8ab1c77 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/socks-npm-2.8.1-3b253d7256-29586d42e9.zip differ diff --git a/melting-pot-vue/.yarn/cache/socks-proxy-agent-npm-8.0.2-df165543cf-4fb165df08.zip b/melting-pot-vue/.yarn/cache/socks-proxy-agent-npm-8.0.2-df165543cf-4fb165df08.zip new file mode 100644 index 0000000..a8e45c4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/socks-proxy-agent-npm-8.0.2-df165543cf-4fb165df08.zip differ diff --git a/melting-pot-vue/.yarn/cache/sort-asc-npm-0.2.0-9885fe57db-b3610ab695.zip b/melting-pot-vue/.yarn/cache/sort-asc-npm-0.2.0-9885fe57db-b3610ab695.zip new file mode 100644 index 0000000..52716e6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/sort-asc-npm-0.2.0-9885fe57db-b3610ab695.zip differ diff --git a/melting-pot-vue/.yarn/cache/sort-desc-npm-0.2.0-aa28355ab4-fb2c02ea38.zip b/melting-pot-vue/.yarn/cache/sort-desc-npm-0.2.0-aa28355ab4-fb2c02ea38.zip new file mode 100644 index 0000000..0088a84 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/sort-desc-npm-0.2.0-aa28355ab4-fb2c02ea38.zip differ diff --git a/melting-pot-vue/.yarn/cache/sort-object-npm-3.0.3-d2dfd1e36a-381a6b6fe2.zip b/melting-pot-vue/.yarn/cache/sort-object-npm-3.0.3-d2dfd1e36a-381a6b6fe2.zip new file mode 100644 index 0000000..d60bf82 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/sort-object-npm-3.0.3-d2dfd1e36a-381a6b6fe2.zip differ diff --git a/melting-pot-vue/.yarn/cache/source-map-js-npm-1.0.2-ee4f9f9b30-c049a7fc4d.zip b/melting-pot-vue/.yarn/cache/source-map-js-npm-1.0.2-ee4f9f9b30-c049a7fc4d.zip new file mode 100644 index 0000000..061ccc6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/source-map-js-npm-1.0.2-ee4f9f9b30-c049a7fc4d.zip differ diff --git a/melting-pot-vue/.yarn/cache/split-npm-0.3.3-847dc2ba97-2e076634c9.zip b/melting-pot-vue/.yarn/cache/split-npm-0.3.3-847dc2ba97-2e076634c9.zip new file mode 100644 index 0000000..6b4954a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/split-npm-0.3.3-847dc2ba97-2e076634c9.zip differ diff --git a/melting-pot-vue/.yarn/cache/split-string-npm-3.1.0-df5d83450e-ae5af5c91b.zip b/melting-pot-vue/.yarn/cache/split-string-npm-3.1.0-df5d83450e-ae5af5c91b.zip new file mode 100644 index 0000000..4777e83 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/split-string-npm-3.1.0-df5d83450e-ae5af5c91b.zip differ diff --git a/melting-pot-vue/.yarn/cache/sprintf-js-npm-1.1.3-b99efd75b2-a3fdac7b49.zip b/melting-pot-vue/.yarn/cache/sprintf-js-npm-1.1.3-b99efd75b2-a3fdac7b49.zip new file mode 100644 index 0000000..8e2aa35 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/sprintf-js-npm-1.1.3-b99efd75b2-a3fdac7b49.zip differ diff --git a/melting-pot-vue/.yarn/cache/sshpk-npm-1.18.0-e75427668c-01d43374ee.zip b/melting-pot-vue/.yarn/cache/sshpk-npm-1.18.0-e75427668c-01d43374ee.zip new file mode 100644 index 0000000..cbbced2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/sshpk-npm-1.18.0-e75427668c-01d43374ee.zip differ diff --git a/melting-pot-vue/.yarn/cache/ssri-npm-10.0.5-1a7557d04d-0a31b65f21.zip b/melting-pot-vue/.yarn/cache/ssri-npm-10.0.5-1a7557d04d-0a31b65f21.zip new file mode 100644 index 0000000..29bd203 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ssri-npm-10.0.5-1a7557d04d-0a31b65f21.zip differ diff --git a/melting-pot-vue/.yarn/cache/stackback-npm-0.0.2-73273dc92e-2d4dc4e64e.zip b/melting-pot-vue/.yarn/cache/stackback-npm-0.0.2-73273dc92e-2d4dc4e64e.zip new file mode 100644 index 0000000..4bd2185 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/stackback-npm-0.0.2-73273dc92e-2d4dc4e64e.zip differ diff --git a/melting-pot-vue/.yarn/cache/start-server-and-test-npm-2.0.3-0dbea6192f-8e2844a1fa.zip b/melting-pot-vue/.yarn/cache/start-server-and-test-npm-2.0.3-0dbea6192f-8e2844a1fa.zip new file mode 100644 index 0000000..5f4a172 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/start-server-and-test-npm-2.0.3-0dbea6192f-8e2844a1fa.zip differ diff --git a/melting-pot-vue/.yarn/cache/std-env-npm-3.7.0-5261c3c3c3-4f489d13ff.zip b/melting-pot-vue/.yarn/cache/std-env-npm-3.7.0-5261c3c3c3-4f489d13ff.zip new file mode 100644 index 0000000..0c89ab0 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/std-env-npm-3.7.0-5261c3c3c3-4f489d13ff.zip differ diff --git a/melting-pot-vue/.yarn/cache/stream-combiner-npm-0.0.4-0176779791-844b622cfe.zip b/melting-pot-vue/.yarn/cache/stream-combiner-npm-0.0.4-0176779791-844b622cfe.zip new file mode 100644 index 0000000..5ad2a97 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/stream-combiner-npm-0.0.4-0176779791-844b622cfe.zip differ diff --git a/melting-pot-vue/.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip b/melting-pot-vue/.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip new file mode 100644 index 0000000..9b4c088 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip differ diff --git a/melting-pot-vue/.yarn/cache/string-width-npm-5.1.2-bf60531341-7369deaa29.zip b/melting-pot-vue/.yarn/cache/string-width-npm-5.1.2-bf60531341-7369deaa29.zip new file mode 100644 index 0000000..bd88405 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/string-width-npm-5.1.2-bf60531341-7369deaa29.zip differ diff --git a/melting-pot-vue/.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-f3cd25890a.zip b/melting-pot-vue/.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-f3cd25890a.zip new file mode 100644 index 0000000..1a63f3b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-f3cd25890a.zip differ diff --git a/melting-pot-vue/.yarn/cache/strip-ansi-npm-7.1.0-7453b80b79-859c73fcf2.zip b/melting-pot-vue/.yarn/cache/strip-ansi-npm-7.1.0-7453b80b79-859c73fcf2.zip new file mode 100644 index 0000000..2cc856e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/strip-ansi-npm-7.1.0-7453b80b79-859c73fcf2.zip differ diff --git a/melting-pot-vue/.yarn/cache/strip-final-newline-npm-2.0.0-340c4f7c66-69412b5e25.zip b/melting-pot-vue/.yarn/cache/strip-final-newline-npm-2.0.0-340c4f7c66-69412b5e25.zip new file mode 100644 index 0000000..9253442 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/strip-final-newline-npm-2.0.0-340c4f7c66-69412b5e25.zip differ diff --git a/melting-pot-vue/.yarn/cache/strip-final-newline-npm-3.0.0-7972cbec8b-23ee263adf.zip b/melting-pot-vue/.yarn/cache/strip-final-newline-npm-3.0.0-7972cbec8b-23ee263adf.zip new file mode 100644 index 0000000..9cbcced Binary files /dev/null and b/melting-pot-vue/.yarn/cache/strip-final-newline-npm-3.0.0-7972cbec8b-23ee263adf.zip differ diff --git a/melting-pot-vue/.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-492f73e272.zip b/melting-pot-vue/.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-492f73e272.zip new file mode 100644 index 0000000..e74ed10 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-492f73e272.zip differ diff --git a/melting-pot-vue/.yarn/cache/strip-literal-npm-2.0.0-6cd33982c0-1d07844088.zip b/melting-pot-vue/.yarn/cache/strip-literal-npm-2.0.0-6cd33982c0-1d07844088.zip new file mode 100644 index 0000000..dee07af Binary files /dev/null and b/melting-pot-vue/.yarn/cache/strip-literal-npm-2.0.0-6cd33982c0-1d07844088.zip differ diff --git a/melting-pot-vue/.yarn/cache/supercluster-npm-8.0.1-32b2d8d364-39d141f768.zip b/melting-pot-vue/.yarn/cache/supercluster-npm-8.0.1-32b2d8d364-39d141f768.zip new file mode 100644 index 0000000..f465c2d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/supercluster-npm-8.0.1-32b2d8d364-39d141f768.zip differ diff --git a/melting-pot-vue/.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-3dda818de0.zip b/melting-pot-vue/.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-3dda818de0.zip new file mode 100644 index 0000000..1fd9e12 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-3dda818de0.zip differ diff --git a/melting-pot-vue/.yarn/cache/supports-color-npm-8.1.1-289e937149-c052193a7e.zip b/melting-pot-vue/.yarn/cache/supports-color-npm-8.1.1-289e937149-c052193a7e.zip new file mode 100644 index 0000000..3fd0d6c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/supports-color-npm-8.1.1-289e937149-c052193a7e.zip differ diff --git a/melting-pot-vue/.yarn/cache/symbol-tree-npm-3.2.4-fe70cdb75b-6e8fc7e148.zip b/melting-pot-vue/.yarn/cache/symbol-tree-npm-3.2.4-fe70cdb75b-6e8fc7e148.zip new file mode 100644 index 0000000..a52eafa Binary files /dev/null and b/melting-pot-vue/.yarn/cache/symbol-tree-npm-3.2.4-fe70cdb75b-6e8fc7e148.zip differ diff --git a/melting-pot-vue/.yarn/cache/synckit-npm-0.8.8-f5ee4a6dac-9ed5d33abb.zip b/melting-pot-vue/.yarn/cache/synckit-npm-0.8.8-f5ee4a6dac-9ed5d33abb.zip new file mode 100644 index 0000000..8c14450 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/synckit-npm-0.8.8-f5ee4a6dac-9ed5d33abb.zip differ diff --git a/melting-pot-vue/.yarn/cache/tar-npm-6.2.0-3eb25205a7-db4d9fe74a.zip b/melting-pot-vue/.yarn/cache/tar-npm-6.2.0-3eb25205a7-db4d9fe74a.zip new file mode 100644 index 0000000..6fece5e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/tar-npm-6.2.0-3eb25205a7-db4d9fe74a.zip differ diff --git a/melting-pot-vue/.yarn/cache/text-table-npm-0.2.0-d92a778b59-b6937a38c8.zip b/melting-pot-vue/.yarn/cache/text-table-npm-0.2.0-d92a778b59-b6937a38c8.zip new file mode 100644 index 0000000..08df483 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/text-table-npm-0.2.0-d92a778b59-b6937a38c8.zip differ diff --git a/melting-pot-vue/.yarn/cache/throttleit-npm-1.0.1-3e2cafb459-32e0b12ca5.zip b/melting-pot-vue/.yarn/cache/throttleit-npm-1.0.1-3e2cafb459-32e0b12ca5.zip new file mode 100644 index 0000000..a7afb9d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/throttleit-npm-1.0.1-3e2cafb459-32e0b12ca5.zip differ diff --git a/melting-pot-vue/.yarn/cache/through-npm-2.3.8-df5f72a16e-a38c3e0598.zip b/melting-pot-vue/.yarn/cache/through-npm-2.3.8-df5f72a16e-a38c3e0598.zip new file mode 100644 index 0000000..425b87e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/through-npm-2.3.8-df5f72a16e-a38c3e0598.zip differ diff --git a/melting-pot-vue/.yarn/cache/tinybench-npm-2.6.0-293d20bf58-a621ac66ac.zip b/melting-pot-vue/.yarn/cache/tinybench-npm-2.6.0-293d20bf58-a621ac66ac.zip new file mode 100644 index 0000000..9b86453 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/tinybench-npm-2.6.0-293d20bf58-a621ac66ac.zip differ diff --git a/melting-pot-vue/.yarn/cache/tinypool-npm-0.8.2-f1447938a8-b0993207b8.zip b/melting-pot-vue/.yarn/cache/tinypool-npm-0.8.2-f1447938a8-b0993207b8.zip new file mode 100644 index 0000000..d22c56b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/tinypool-npm-0.8.2-f1447938a8-b0993207b8.zip differ diff --git a/melting-pot-vue/.yarn/cache/tinyqueue-npm-2.0.3-ceed389145-0b6bda46b6.zip b/melting-pot-vue/.yarn/cache/tinyqueue-npm-2.0.3-ceed389145-0b6bda46b6.zip new file mode 100644 index 0000000..b4985fc Binary files /dev/null and b/melting-pot-vue/.yarn/cache/tinyqueue-npm-2.0.3-ceed389145-0b6bda46b6.zip differ diff --git a/melting-pot-vue/.yarn/cache/tinyspy-npm-2.2.1-1079b8de54-170d6232e8.zip b/melting-pot-vue/.yarn/cache/tinyspy-npm-2.2.1-1079b8de54-170d6232e8.zip new file mode 100644 index 0000000..3e9fe36 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/tinyspy-npm-2.2.1-1079b8de54-170d6232e8.zip differ diff --git a/melting-pot-vue/.yarn/cache/tmp-npm-0.2.1-a9c8d9c0ca-8b12146541.zip b/melting-pot-vue/.yarn/cache/tmp-npm-0.2.1-a9c8d9c0ca-8b12146541.zip new file mode 100644 index 0000000..d47a229 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/tmp-npm-0.2.1-a9c8d9c0ca-8b12146541.zip differ diff --git a/melting-pot-vue/.yarn/cache/to-fast-properties-npm-2.0.0-0dc60cc481-be2de62fe5.zip b/melting-pot-vue/.yarn/cache/to-fast-properties-npm-2.0.0-0dc60cc481-be2de62fe5.zip new file mode 100644 index 0000000..bed5e12 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/to-fast-properties-npm-2.0.0-0dc60cc481-be2de62fe5.zip differ diff --git a/melting-pot-vue/.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-f76fa01b3d.zip b/melting-pot-vue/.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-f76fa01b3d.zip new file mode 100644 index 0000000..acdc963 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-f76fa01b3d.zip differ diff --git a/melting-pot-vue/.yarn/cache/tough-cookie-npm-4.1.3-08285e2518-c9226afff3.zip b/melting-pot-vue/.yarn/cache/tough-cookie-npm-4.1.3-08285e2518-c9226afff3.zip new file mode 100644 index 0000000..d20af08 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/tough-cookie-npm-4.1.3-08285e2518-c9226afff3.zip differ diff --git a/melting-pot-vue/.yarn/cache/tr46-npm-5.0.0-d15754040d-8d8b021f8e.zip b/melting-pot-vue/.yarn/cache/tr46-npm-5.0.0-d15754040d-8d8b021f8e.zip new file mode 100644 index 0000000..b573c95 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/tr46-npm-5.0.0-d15754040d-8d8b021f8e.zip differ diff --git a/melting-pot-vue/.yarn/cache/ts-api-utils-npm-1.2.1-edd799bde4-17a2a4454d.zip b/melting-pot-vue/.yarn/cache/ts-api-utils-npm-1.2.1-edd799bde4-17a2a4454d.zip new file mode 100644 index 0000000..c5bdcc3 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ts-api-utils-npm-1.2.1-edd799bde4-17a2a4454d.zip differ diff --git a/melting-pot-vue/.yarn/cache/tslib-npm-2.6.2-4fc8c068d9-329ea56123.zip b/melting-pot-vue/.yarn/cache/tslib-npm-2.6.2-4fc8c068d9-329ea56123.zip new file mode 100644 index 0000000..3424b44 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/tslib-npm-2.6.2-4fc8c068d9-329ea56123.zip differ diff --git a/melting-pot-vue/.yarn/cache/tunnel-agent-npm-0.6.0-64345ab7eb-05f6510358.zip b/melting-pot-vue/.yarn/cache/tunnel-agent-npm-0.6.0-64345ab7eb-05f6510358.zip new file mode 100644 index 0000000..5256e20 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/tunnel-agent-npm-0.6.0-64345ab7eb-05f6510358.zip differ diff --git a/melting-pot-vue/.yarn/cache/tweetnacl-npm-0.14.5-a3f766c0d1-6061daba17.zip b/melting-pot-vue/.yarn/cache/tweetnacl-npm-0.14.5-a3f766c0d1-6061daba17.zip new file mode 100644 index 0000000..2811987 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/tweetnacl-npm-0.14.5-a3f766c0d1-6061daba17.zip differ diff --git a/melting-pot-vue/.yarn/cache/type-check-npm-0.4.0-60565800ce-ec688ebfc9.zip b/melting-pot-vue/.yarn/cache/type-check-npm-0.4.0-60565800ce-ec688ebfc9.zip new file mode 100644 index 0000000..85a0295 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/type-check-npm-0.4.0-60565800ce-ec688ebfc9.zip differ diff --git a/melting-pot-vue/.yarn/cache/type-detect-npm-4.0.8-8d8127b901-62b5628bff.zip b/melting-pot-vue/.yarn/cache/type-detect-npm-4.0.8-8d8127b901-62b5628bff.zip new file mode 100644 index 0000000..a3c01d8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/type-detect-npm-4.0.8-8d8127b901-62b5628bff.zip differ diff --git a/melting-pot-vue/.yarn/cache/type-fest-npm-0.20.2-b36432617f-4fb3272df2.zip b/melting-pot-vue/.yarn/cache/type-fest-npm-0.20.2-b36432617f-4fb3272df2.zip new file mode 100644 index 0000000..8222fdc Binary files /dev/null and b/melting-pot-vue/.yarn/cache/type-fest-npm-0.20.2-b36432617f-4fb3272df2.zip differ diff --git a/melting-pot-vue/.yarn/cache/type-fest-npm-0.21.3-5ff2a9c6fd-e6b32a3b38.zip b/melting-pot-vue/.yarn/cache/type-fest-npm-0.21.3-5ff2a9c6fd-e6b32a3b38.zip new file mode 100644 index 0000000..89f3fd5 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/type-fest-npm-0.21.3-5ff2a9c6fd-e6b32a3b38.zip differ diff --git a/melting-pot-vue/.yarn/cache/typescript-npm-5.3.3-6b23a5da18-2007ccb6e5.zip b/melting-pot-vue/.yarn/cache/typescript-npm-5.3.3-6b23a5da18-2007ccb6e5.zip new file mode 100644 index 0000000..eebdd9e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/typescript-npm-5.3.3-6b23a5da18-2007ccb6e5.zip differ diff --git a/melting-pot-vue/.yarn/cache/typescript-patch-4071bbae55-f61375590b.zip b/melting-pot-vue/.yarn/cache/typescript-patch-4071bbae55-f61375590b.zip new file mode 100644 index 0000000..5f94a45 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/typescript-patch-4071bbae55-f61375590b.zip differ diff --git a/melting-pot-vue/.yarn/cache/typewise-core-npm-1.2.0-2d78106a1c-c21e835445.zip b/melting-pot-vue/.yarn/cache/typewise-core-npm-1.2.0-2d78106a1c-c21e835445.zip new file mode 100644 index 0000000..98bc2e2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/typewise-core-npm-1.2.0-2d78106a1c-c21e835445.zip differ diff --git a/melting-pot-vue/.yarn/cache/typewise-npm-1.0.3-1ac558ed34-eb3452b138.zip b/melting-pot-vue/.yarn/cache/typewise-npm-1.0.3-1ac558ed34-eb3452b138.zip new file mode 100644 index 0000000..b005f64 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/typewise-npm-1.0.3-1ac558ed34-eb3452b138.zip differ diff --git a/melting-pot-vue/.yarn/cache/ufo-npm-1.4.0-ca057b1d71-7c7ca3d823.zip b/melting-pot-vue/.yarn/cache/ufo-npm-1.4.0-ca057b1d71-7c7ca3d823.zip new file mode 100644 index 0000000..2129803 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ufo-npm-1.4.0-ca057b1d71-7c7ca3d823.zip differ diff --git a/melting-pot-vue/.yarn/cache/undici-types-npm-5.26.5-de4f7c7bb9-3192ef6f3f.zip b/melting-pot-vue/.yarn/cache/undici-types-npm-5.26.5-de4f7c7bb9-3192ef6f3f.zip new file mode 100644 index 0000000..6ab5ae6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/undici-types-npm-5.26.5-de4f7c7bb9-3192ef6f3f.zip differ diff --git a/melting-pot-vue/.yarn/cache/union-value-npm-1.0.1-76c6e8a88f-a3464097d3.zip b/melting-pot-vue/.yarn/cache/union-value-npm-1.0.1-76c6e8a88f-a3464097d3.zip new file mode 100644 index 0000000..c2d8d49 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/union-value-npm-1.0.1-76c6e8a88f-a3464097d3.zip differ diff --git a/melting-pot-vue/.yarn/cache/unique-filename-npm-3.0.0-77d68e0a45-8e2f59b356.zip b/melting-pot-vue/.yarn/cache/unique-filename-npm-3.0.0-77d68e0a45-8e2f59b356.zip new file mode 100644 index 0000000..bb91bbf Binary files /dev/null and b/melting-pot-vue/.yarn/cache/unique-filename-npm-3.0.0-77d68e0a45-8e2f59b356.zip differ diff --git a/melting-pot-vue/.yarn/cache/unique-slug-npm-4.0.0-e6b08f28aa-0884b58365.zip b/melting-pot-vue/.yarn/cache/unique-slug-npm-4.0.0-e6b08f28aa-0884b58365.zip new file mode 100644 index 0000000..9d1cb9f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/unique-slug-npm-4.0.0-e6b08f28aa-0884b58365.zip differ diff --git a/melting-pot-vue/.yarn/cache/universalify-npm-0.2.0-9984e61c10-e86134cb12.zip b/melting-pot-vue/.yarn/cache/universalify-npm-0.2.0-9984e61c10-e86134cb12.zip new file mode 100644 index 0000000..7f1d80c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/universalify-npm-0.2.0-9984e61c10-e86134cb12.zip differ diff --git a/melting-pot-vue/.yarn/cache/universalify-npm-2.0.1-040ba5a21e-ecd8469fe0.zip b/melting-pot-vue/.yarn/cache/universalify-npm-2.0.1-040ba5a21e-ecd8469fe0.zip new file mode 100644 index 0000000..510873c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/universalify-npm-2.0.1-040ba5a21e-ecd8469fe0.zip differ diff --git a/melting-pot-vue/.yarn/cache/untildify-npm-4.0.0-4a8b569825-39ced9c418.zip b/melting-pot-vue/.yarn/cache/untildify-npm-4.0.0-4a8b569825-39ced9c418.zip new file mode 100644 index 0000000..a88f9ac Binary files /dev/null and b/melting-pot-vue/.yarn/cache/untildify-npm-4.0.0-4a8b569825-39ced9c418.zip differ diff --git a/melting-pot-vue/.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-7167432de6.zip b/melting-pot-vue/.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-7167432de6.zip new file mode 100644 index 0000000..bd21deb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-7167432de6.zip differ diff --git a/melting-pot-vue/.yarn/cache/url-parse-npm-1.5.10-64fa2bcd6d-fbdba6b1d8.zip b/melting-pot-vue/.yarn/cache/url-parse-npm-1.5.10-64fa2bcd6d-fbdba6b1d8.zip new file mode 100644 index 0000000..a0666e4 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/url-parse-npm-1.5.10-64fa2bcd6d-fbdba6b1d8.zip differ diff --git a/melting-pot-vue/.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip b/melting-pot-vue/.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip new file mode 100644 index 0000000..c2309cf Binary files /dev/null and b/melting-pot-vue/.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip differ diff --git a/melting-pot-vue/.yarn/cache/uuid-npm-8.3.2-eca0baba53-5575a8a75c.zip b/melting-pot-vue/.yarn/cache/uuid-npm-8.3.2-eca0baba53-5575a8a75c.zip new file mode 100644 index 0000000..9b58328 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/uuid-npm-8.3.2-eca0baba53-5575a8a75c.zip differ diff --git a/melting-pot-vue/.yarn/cache/verror-npm-1.10.0-c3f839c579-c431df0bed.zip b/melting-pot-vue/.yarn/cache/verror-npm-1.10.0-c3f839c579-c431df0bed.zip new file mode 100644 index 0000000..e81972b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/verror-npm-1.10.0-c3f839c579-c431df0bed.zip differ diff --git a/melting-pot-vue/.yarn/cache/vite-node-npm-1.3.1-d8d3f8afc1-62a0bd2cdb.zip b/melting-pot-vue/.yarn/cache/vite-node-npm-1.3.1-d8d3f8afc1-62a0bd2cdb.zip new file mode 100644 index 0000000..5ca6ea8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vite-node-npm-1.3.1-d8d3f8afc1-62a0bd2cdb.zip differ diff --git a/melting-pot-vue/.yarn/cache/vite-npm-5.1.4-330f2f209c-fb8b944c69.zip b/melting-pot-vue/.yarn/cache/vite-npm-5.1.4-330f2f209c-fb8b944c69.zip new file mode 100644 index 0000000..a18d31f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vite-npm-5.1.4-330f2f209c-fb8b944c69.zip differ diff --git a/melting-pot-vue/.yarn/cache/vitest-npm-1.3.1-f654c79bcc-6f760296d8.zip b/melting-pot-vue/.yarn/cache/vitest-npm-1.3.1-f654c79bcc-6f760296d8.zip new file mode 100644 index 0000000..62d6232 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vitest-npm-1.3.1-f654c79bcc-6f760296d8.zip differ diff --git a/melting-pot-vue/.yarn/cache/vt-pbf-npm-3.1.3-6b659628e6-83375b7ffe.zip b/melting-pot-vue/.yarn/cache/vt-pbf-npm-3.1.3-6b659628e6-83375b7ffe.zip new file mode 100644 index 0000000..a0a17f2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vt-pbf-npm-3.1.3-6b659628e6-83375b7ffe.zip differ diff --git a/melting-pot-vue/.yarn/cache/vue-component-type-helpers-npm-1.8.27-ee89220676-71245a41a1.zip b/melting-pot-vue/.yarn/cache/vue-component-type-helpers-npm-1.8.27-ee89220676-71245a41a1.zip new file mode 100644 index 0000000..5c144d7 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vue-component-type-helpers-npm-1.8.27-ee89220676-71245a41a1.zip differ diff --git a/melting-pot-vue/.yarn/cache/vue-demi-npm-0.14.7-25711b34f0-6819b1cd52.zip b/melting-pot-vue/.yarn/cache/vue-demi-npm-0.14.7-25711b34f0-6819b1cd52.zip new file mode 100644 index 0000000..40b4c1f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vue-demi-npm-0.14.7-25711b34f0-6819b1cd52.zip differ diff --git a/melting-pot-vue/.yarn/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-67f14c8ea1.zip b/melting-pot-vue/.yarn/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-67f14c8ea1.zip new file mode 100644 index 0000000..9ec85e1 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-67f14c8ea1.zip differ diff --git a/melting-pot-vue/.yarn/cache/vue-maplibre-gl-npm-3.1.3-0625a4dcf3-cc49b6ef4b.zip b/melting-pot-vue/.yarn/cache/vue-maplibre-gl-npm-3.1.3-0625a4dcf3-cc49b6ef4b.zip new file mode 100644 index 0000000..3904808 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vue-maplibre-gl-npm-3.1.3-0625a4dcf3-cc49b6ef4b.zip differ diff --git a/melting-pot-vue/.yarn/cache/vue-npm-3.4.20-bb7775897e-3e69bd06fa.zip b/melting-pot-vue/.yarn/cache/vue-npm-3.4.20-bb7775897e-3e69bd06fa.zip new file mode 100644 index 0000000..fd9368d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vue-npm-3.4.20-bb7775897e-3e69bd06fa.zip differ diff --git a/melting-pot-vue/.yarn/cache/vue-router-npm-4.3.0-b765d40138-0059261d39.zip b/melting-pot-vue/.yarn/cache/vue-router-npm-4.3.0-b765d40138-0059261d39.zip new file mode 100644 index 0000000..6b93953 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vue-router-npm-4.3.0-b765d40138-0059261d39.zip differ diff --git a/melting-pot-vue/.yarn/cache/vue-template-compiler-npm-2.7.16-f59aa20e7d-a0d52ecbb9.zip b/melting-pot-vue/.yarn/cache/vue-template-compiler-npm-2.7.16-f59aa20e7d-a0d52ecbb9.zip new file mode 100644 index 0000000..69229cb Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vue-template-compiler-npm-2.7.16-f59aa20e7d-a0d52ecbb9.zip differ diff --git a/melting-pot-vue/.yarn/cache/vue-tsc-npm-1.8.27-e0ee1a8eb3-98c2986df0.zip b/melting-pot-vue/.yarn/cache/vue-tsc-npm-1.8.27-e0ee1a8eb3-98c2986df0.zip new file mode 100644 index 0000000..485f183 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/vue-tsc-npm-1.8.27-e0ee1a8eb3-98c2986df0.zip differ diff --git a/melting-pot-vue/.yarn/cache/w3c-xmlserializer-npm-5.0.0-589edd7bff-593acc1fda.zip b/melting-pot-vue/.yarn/cache/w3c-xmlserializer-npm-5.0.0-589edd7bff-593acc1fda.zip new file mode 100644 index 0000000..cb29d3d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/w3c-xmlserializer-npm-5.0.0-589edd7bff-593acc1fda.zip differ diff --git a/melting-pot-vue/.yarn/cache/wait-on-npm-7.2.0-672226c2e5-69ec1432bb.zip b/melting-pot-vue/.yarn/cache/wait-on-npm-7.2.0-672226c2e5-69ec1432bb.zip new file mode 100644 index 0000000..31e512a Binary files /dev/null and b/melting-pot-vue/.yarn/cache/wait-on-npm-7.2.0-672226c2e5-69ec1432bb.zip differ diff --git a/melting-pot-vue/.yarn/cache/webidl-conversions-npm-7.0.0-e8c8e30c68-f05588567a.zip b/melting-pot-vue/.yarn/cache/webidl-conversions-npm-7.0.0-e8c8e30c68-f05588567a.zip new file mode 100644 index 0000000..a2753a8 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/webidl-conversions-npm-7.0.0-e8c8e30c68-f05588567a.zip differ diff --git a/melting-pot-vue/.yarn/cache/whatwg-encoding-npm-3.1.1-7dfe21cf7d-f75a614224.zip b/melting-pot-vue/.yarn/cache/whatwg-encoding-npm-3.1.1-7dfe21cf7d-f75a614224.zip new file mode 100644 index 0000000..13fdfcd Binary files /dev/null and b/melting-pot-vue/.yarn/cache/whatwg-encoding-npm-3.1.1-7dfe21cf7d-f75a614224.zip differ diff --git a/melting-pot-vue/.yarn/cache/whatwg-mimetype-npm-4.0.0-ebb293a688-f97edd4b4e.zip b/melting-pot-vue/.yarn/cache/whatwg-mimetype-npm-4.0.0-ebb293a688-f97edd4b4e.zip new file mode 100644 index 0000000..8ef2ab2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/whatwg-mimetype-npm-4.0.0-ebb293a688-f97edd4b4e.zip differ diff --git a/melting-pot-vue/.yarn/cache/whatwg-url-npm-14.0.0-fc3d13d5f4-4b5887e50f.zip b/melting-pot-vue/.yarn/cache/whatwg-url-npm-14.0.0-fc3d13d5f4-4b5887e50f.zip new file mode 100644 index 0000000..b474bc6 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/whatwg-url-npm-14.0.0-fc3d13d5f4-4b5887e50f.zip differ diff --git a/melting-pot-vue/.yarn/cache/which-npm-1.3.1-f0ebb8bdd8-f2e185c624.zip b/melting-pot-vue/.yarn/cache/which-npm-1.3.1-f0ebb8bdd8-f2e185c624.zip new file mode 100644 index 0000000..08d0d36 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/which-npm-1.3.1-f0ebb8bdd8-f2e185c624.zip differ diff --git a/melting-pot-vue/.yarn/cache/which-npm-2.0.2-320ddf72f7-1a5c563d3c.zip b/melting-pot-vue/.yarn/cache/which-npm-2.0.2-320ddf72f7-1a5c563d3c.zip new file mode 100644 index 0000000..389ec5e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/which-npm-2.0.2-320ddf72f7-1a5c563d3c.zip differ diff --git a/melting-pot-vue/.yarn/cache/which-npm-4.0.0-dd31cd4928-f17e84c042.zip b/melting-pot-vue/.yarn/cache/which-npm-4.0.0-dd31cd4928-f17e84c042.zip new file mode 100644 index 0000000..093e6f5 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/which-npm-4.0.0-dd31cd4928-f17e84c042.zip differ diff --git a/melting-pot-vue/.yarn/cache/why-is-node-running-npm-2.2.2-881f898bf3-50820428f6.zip b/melting-pot-vue/.yarn/cache/why-is-node-running-npm-2.2.2-881f898bf3-50820428f6.zip new file mode 100644 index 0000000..a5d3b46 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/why-is-node-running-npm-2.2.2-881f898bf3-50820428f6.zip differ diff --git a/melting-pot-vue/.yarn/cache/wrap-ansi-npm-6.2.0-439a7246d8-6cd96a4101.zip b/melting-pot-vue/.yarn/cache/wrap-ansi-npm-6.2.0-439a7246d8-6cd96a4101.zip new file mode 100644 index 0000000..aa06055 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/wrap-ansi-npm-6.2.0-439a7246d8-6cd96a4101.zip differ diff --git a/melting-pot-vue/.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-a790b846fd.zip b/melting-pot-vue/.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-a790b846fd.zip new file mode 100644 index 0000000..ab6ea6e Binary files /dev/null and b/melting-pot-vue/.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-a790b846fd.zip differ diff --git a/melting-pot-vue/.yarn/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-371733296d.zip b/melting-pot-vue/.yarn/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-371733296d.zip new file mode 100644 index 0000000..2ee78f3 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-371733296d.zip differ diff --git a/melting-pot-vue/.yarn/cache/wrappy-npm-1.0.2-916de4d4b3-159da4805f.zip b/melting-pot-vue/.yarn/cache/wrappy-npm-1.0.2-916de4d4b3-159da4805f.zip new file mode 100644 index 0000000..6072a9f Binary files /dev/null and b/melting-pot-vue/.yarn/cache/wrappy-npm-1.0.2-916de4d4b3-159da4805f.zip differ diff --git a/melting-pot-vue/.yarn/cache/ws-npm-8.16.0-46943f6199-feb3eecd2b.zip b/melting-pot-vue/.yarn/cache/ws-npm-8.16.0-46943f6199-feb3eecd2b.zip new file mode 100644 index 0000000..cfe988b Binary files /dev/null and b/melting-pot-vue/.yarn/cache/ws-npm-8.16.0-46943f6199-feb3eecd2b.zip differ diff --git a/melting-pot-vue/.yarn/cache/xml-name-validator-npm-4.0.0-0857c21729-af100b79c2.zip b/melting-pot-vue/.yarn/cache/xml-name-validator-npm-4.0.0-0857c21729-af100b79c2.zip new file mode 100644 index 0000000..abb3efe Binary files /dev/null and b/melting-pot-vue/.yarn/cache/xml-name-validator-npm-4.0.0-0857c21729-af100b79c2.zip differ diff --git a/melting-pot-vue/.yarn/cache/xml-name-validator-npm-5.0.0-0e0ec66944-86effcc702.zip b/melting-pot-vue/.yarn/cache/xml-name-validator-npm-5.0.0-0e0ec66944-86effcc702.zip new file mode 100644 index 0000000..ee05df2 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/xml-name-validator-npm-5.0.0-0e0ec66944-86effcc702.zip differ diff --git a/melting-pot-vue/.yarn/cache/xmlchars-npm-2.2.0-8b78f0f5e4-8c70ac9407.zip b/melting-pot-vue/.yarn/cache/xmlchars-npm-2.2.0-8b78f0f5e4-8c70ac9407.zip new file mode 100644 index 0000000..ed29738 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/xmlchars-npm-2.2.0-8b78f0f5e4-8c70ac9407.zip differ diff --git a/melting-pot-vue/.yarn/cache/yallist-npm-4.0.0-b493d9e907-343617202a.zip b/melting-pot-vue/.yarn/cache/yallist-npm-4.0.0-b493d9e907-343617202a.zip new file mode 100644 index 0000000..f2d3306 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/yallist-npm-4.0.0-b493d9e907-343617202a.zip differ diff --git a/melting-pot-vue/.yarn/cache/yauzl-npm-2.10.0-72e70ea021-7f21fe0bba.zip b/melting-pot-vue/.yarn/cache/yauzl-npm-2.10.0-72e70ea021-7f21fe0bba.zip new file mode 100644 index 0000000..7a5f10c Binary files /dev/null and b/melting-pot-vue/.yarn/cache/yauzl-npm-2.10.0-72e70ea021-7f21fe0bba.zip differ diff --git a/melting-pot-vue/.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-f77b3d8d00.zip b/melting-pot-vue/.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-f77b3d8d00.zip new file mode 100644 index 0000000..f56730d Binary files /dev/null and b/melting-pot-vue/.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-f77b3d8d00.zip differ diff --git a/melting-pot-vue/.yarn/cache/yocto-queue-npm-1.0.0-7b502f1987-2cac84540f.zip b/melting-pot-vue/.yarn/cache/yocto-queue-npm-1.0.0-7b502f1987-2cac84540f.zip new file mode 100644 index 0000000..c08ff19 Binary files /dev/null and b/melting-pot-vue/.yarn/cache/yocto-queue-npm-1.0.0-7b502f1987-2cac84540f.zip differ diff --git a/melting-pot-vue/.yarn/install-state.gz b/melting-pot-vue/.yarn/install-state.gz new file mode 100644 index 0000000..14db673 Binary files /dev/null and b/melting-pot-vue/.yarn/install-state.gz differ diff --git a/melting-pot-vue/README.md b/melting-pot-vue/README.md new file mode 100644 index 0000000..e084942 --- /dev/null +++ b/melting-pot-vue/README.md @@ -0,0 +1,68 @@ +# melting-pot-vue + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. + +If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: + +1. Disable the built-in TypeScript Extension + 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette + 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` +2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` + +### Run Unit Tests with [Vitest](https://vitest.dev/) + +```sh +npm run test:unit +``` + +### Run End-to-End Tests with [Cypress](https://www.cypress.io/) + +```sh +npm run test:e2e:dev +``` + +This runs the end-to-end tests against the Vite development server. +It is much faster than the production build. + +But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): + +```sh +npm run build +npm run test:e2e +``` + +### Lint with [ESLint](https://eslint.org/) + +```sh +npm run lint +``` diff --git a/melting-pot-vue/cypress.config.ts b/melting-pot-vue/cypress.config.ts new file mode 100644 index 0000000..0f66080 --- /dev/null +++ b/melting-pot-vue/cypress.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'cypress' + +export default defineConfig({ + e2e: { + specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', + baseUrl: 'http://localhost:4173' + } +}) diff --git a/melting-pot-vue/cypress/e2e/example.cy.ts b/melting-pot-vue/cypress/e2e/example.cy.ts new file mode 100644 index 0000000..7554c35 --- /dev/null +++ b/melting-pot-vue/cypress/e2e/example.cy.ts @@ -0,0 +1,8 @@ +// https://on.cypress.io/api + +describe('My First Test', () => { + it('visits the app root url', () => { + cy.visit('/') + cy.contains('h1', 'You did it!') + }) +}) diff --git a/melting-pot-vue/cypress/e2e/tsconfig.json b/melting-pot-vue/cypress/e2e/tsconfig.json new file mode 100644 index 0000000..37748fe --- /dev/null +++ b/melting-pot-vue/cypress/e2e/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["./**/*", "../support/**/*"], + "compilerOptions": { + "isolatedModules": false, + "target": "es5", + "lib": ["es5", "dom"], + "types": ["cypress"] + } +} diff --git a/melting-pot-vue/cypress/fixtures/example.json b/melting-pot-vue/cypress/fixtures/example.json new file mode 100644 index 0000000..02e4254 --- /dev/null +++ b/melting-pot-vue/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/melting-pot-vue/cypress/support/commands.ts b/melting-pot-vue/cypress/support/commands.ts new file mode 100644 index 0000000..9b7bb8e --- /dev/null +++ b/melting-pot-vue/cypress/support/commands.ts @@ -0,0 +1,39 @@ +/// +// *********************************************** +// This example commands.ts shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) +// +// declare global { +// namespace Cypress { +// interface Chainable { +// login(email: string, password: string): Chainable +// drag(subject: string, options?: Partial): Chainable +// dismiss(subject: string, options?: Partial): Chainable +// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable +// } +// } +// } + +export {} diff --git a/melting-pot-vue/cypress/support/e2e.ts b/melting-pot-vue/cypress/support/e2e.ts new file mode 100644 index 0000000..d68db96 --- /dev/null +++ b/melting-pot-vue/cypress/support/e2e.ts @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') diff --git a/melting-pot-vue/env.d.ts b/melting-pot-vue/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/melting-pot-vue/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/melting-pot-vue/index.html b/melting-pot-vue/index.html new file mode 100644 index 0000000..a888544 --- /dev/null +++ b/melting-pot-vue/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/melting-pot-vue/package-lock.json b/melting-pot-vue/package-lock.json new file mode 100644 index 0000000..c689534 --- /dev/null +++ b/melting-pot-vue/package-lock.json @@ -0,0 +1,7230 @@ +{ + "name": "melting-pot-vue", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "melting-pot-vue", + "version": "0.0.0", + "dependencies": { + "pinia": "^2.1.7", + "vue": "^3.4.15", + "vue-maplibre-gl": "^3.1.3", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@rushstack/eslint-patch": "^1.3.3", + "@tsconfig/node20": "^20.1.2", + "@types/jsdom": "^21.1.6", + "@types/leaflet": "^1.9.8", + "@types/node": "^20.11.10", + "@vitejs/plugin-vue": "^5.0.3", + "@vue-leaflet/vue-leaflet": "^0.10.1", + "@vue/eslint-config-prettier": "^8.0.0", + "@vue/eslint-config-typescript": "^12.0.0", + "@vue/test-utils": "^2.4.4", + "@vue/tsconfig": "^0.5.1", + "cypress": "^13.6.3", + "eslint": "^8.49.0", + "eslint-plugin-cypress": "^2.15.1", + "eslint-plugin-vue": "^9.17.0", + "jsdom": "^24.0.0", + "leaflet": "^1.9.4", + "npm-run-all2": "^6.1.1", + "prettier": "^3.0.3", + "sass": "^1.71.1", + "start-server-and-test": "^2.0.3", + "typescript": "~5.3.0", + "vite": "^5.0.11", + "vitest": "^1.2.2", + "vue-tsc": "^1.8.27" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cypress/request": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", + "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "6.10.4", + "safe-buffer": "^5.1.2", + "tough-cookie": "^4.1.3", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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 + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@mapbox/geojson-rewind": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", + "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", + "peer": true, + "dependencies": { + "get-stream": "^6.0.1", + "minimist": "^1.2.6" + }, + "bin": { + "geojson-rewind": "geojson-rewind" + } + }, + "node_modules/@mapbox/geojson-rewind/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "peer": true + }, + "node_modules/@mapbox/tiny-sdf": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.6.tgz", + "integrity": "sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==", + "peer": true + }, + "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==", + "peer": true + }, + "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==", + "peer": true, + "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==", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "19.3.3", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-19.3.3.tgz", + "integrity": "sha512-cOZZOVhDSulgK0meTsTkmNXb1ahVvmTmWmfx9gRBwc6hq98wS9JP35ESIoNq3xqEan+UN+gn8187Z6E4NKhLsw==", + "peer": true, + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^3.0.0", + "minimist": "^1.2.8", + "rw": "^1.3.3", + "sort-object": "^3.0.3" + }, + "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/@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, + "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, + "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, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "dev": true + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", + "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", + "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", + "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", + "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", + "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", + "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", + "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", + "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", + "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", + "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", + "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", + "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", + "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.7.2.tgz", + "integrity": "sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==", + "dev": true + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@tsconfig/node20": { + "version": "20.1.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.2.tgz", + "integrity": "sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/geojson": { + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + }, + "node_modules/@types/jsdom": { + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.6.tgz", + "integrity": "sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "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 + }, + "node_modules/@types/leaflet": { + "version": "1.9.8", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.8.tgz", + "integrity": "sha512-EXdsL4EhoUtGm2GC2ZYtXn+Fzc6pluVgagvo2VC1RHWToLGlTRwVYoDpqS/7QXa01rmDyBjJk3Catpf60VMkwg==", + "dev": true, + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/mapbox__point-geometry": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.4.tgz", + "integrity": "sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==", + "peer": true + }, + "node_modules/@types/mapbox__vector-tile": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__vector-tile/-/mapbox__vector-tile-1.3.4.tgz", + "integrity": "sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==", + "peer": true, + "dependencies": { + "@types/geojson": "*", + "@types/mapbox__point-geometry": "*", + "@types/pbf": "*" + } + }, + "node_modules/@types/node": { + "version": "20.11.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz", + "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/pbf": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.5.tgz", + "integrity": "sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==", + "peer": true + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "node_modules/@types/sizzle": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", + "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==", + "dev": true + }, + "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==", + "peer": true, + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz", + "integrity": "sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitest/expect": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz", + "integrity": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==", + "dev": true, + "dependencies": { + "@vitest/spy": "1.3.1", + "@vitest/utils": "1.3.1", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.1.tgz", + "integrity": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==", + "dev": true, + "dependencies": { + "@vitest/utils": "1.3.1", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.1.tgz", + "integrity": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz", + "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==", + "dev": true, + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz", + "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@volar/language-core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", + "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "dev": true, + "dependencies": { + "@volar/source-map": "1.11.1" + } + }, + "node_modules/@volar/source-map": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", + "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "dev": true, + "dependencies": { + "muggle-string": "^0.3.1" + } + }, + "node_modules/@volar/typescript": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", + "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.11.1", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@vue-leaflet/vue-leaflet": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@vue-leaflet/vue-leaflet/-/vue-leaflet-0.10.1.tgz", + "integrity": "sha512-RNEDk8TbnwrJl8ujdbKgZRFygLCxd0aBcWLQ05q/pGv4+d0jamE3KXQgQBqGAteE1mbQsk3xoNcqqUgaIGfWVg==", + "dev": true, + "dependencies": { + "vue": "^3.2.25" + }, + "peerDependencies": { + "@types/leaflet": "^1.5.7", + "leaflet": "^1.6.0" + }, + "peerDependenciesMeta": { + "@types/leaflet": { + "optional": true + } + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.20.tgz", + "integrity": "sha512-l7M+xUuL8hrGtRLkrf+62d9zucAdgqNBTbJ/NufCOIuJQhauhfyAKH9ra/qUctCXcULwmclGAVpvmxjbBO30qg==", + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.20", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.20.tgz", + "integrity": "sha512-/cSBGL79HFBYgDnqCNKErOav3bPde3n0sJwJM2Z09rXlkiowV/2SG1tgDAiWS1CatS4Cvo0o74e1vNeCK1R3RA==", + "dependencies": { + "@vue/compiler-core": "3.4.20", + "@vue/shared": "3.4.20" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.20.tgz", + "integrity": "sha512-nPuTZz0yxTPzjyYe+9nQQsFYImcz/57UX8N3jyhl5oIUUs2jqqAMaULsAlJwve3qNYfjQzq0bwy3pqJrN9ecZw==", + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.20", + "@vue/compiler-dom": "3.4.20", + "@vue/compiler-ssr": "3.4.20", + "@vue/shared": "3.4.20", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.7", + "postcss": "^8.4.35", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.20.tgz", + "integrity": "sha512-b3gFQPiHLvI12C56otzBPpQhZ5kgkJ5RMv/zpLjLC2BIFwX5GktDqYQ7xg0Q2grP6uFI8al3beVKvAVxFtXmIg==", + "dependencies": { + "@vue/compiler-dom": "3.4.20", + "@vue/shared": "3.4.20" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.1.tgz", + "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==" + }, + "node_modules/@vue/eslint-config-prettier": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-8.0.0.tgz", + "integrity": "sha512-55dPqtC4PM/yBjhAr+yEw6+7KzzdkBuLmnhBrDfp4I48+wy+Giqqj9yUr5T2uD/BkBROjjmqnLZmXRdOx/VtQg==", + "dev": true, + "dependencies": { + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^5.0.0" + }, + "peerDependencies": { + "eslint": ">= 8.0.0", + "prettier": ">= 3.0.0" + } + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-12.0.0.tgz", + "integrity": "sha512-StxLFet2Qe97T8+7L8pGlhYBBr8Eg05LPuTDVopQV6il+SK6qqom59BA/rcFipUef2jD8P2X44Vd8tMFytfvlg==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "^6.7.0", + "@typescript-eslint/parser": "^6.7.0", + "vue-eslint-parser": "^9.3.1" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0", + "eslint-plugin-vue": "^9.0.0", + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/language-core": { + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", + "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", + "dev": true, + "dependencies": { + "@volar/language-core": "~1.11.1", + "@volar/source-map": "~1.11.1", + "@vue/compiler-dom": "^3.3.0", + "@vue/shared": "^3.3.0", + "computeds": "^0.0.1", + "minimatch": "^9.0.3", + "muggle-string": "^0.3.1", + "path-browserify": "^1.0.1", + "vue-template-compiler": "^2.7.14" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.20.tgz", + "integrity": "sha512-P5LJcxUkG6inlHr6MHVA4AVFAmRYJQ7ONGWJILNjMjoYuEXFhYviSCb9BEMyszSG/1kWCZbtWQlKSLasFRpThw==", + "dependencies": { + "@vue/shared": "3.4.20" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.20.tgz", + "integrity": "sha512-MPvsQpGAxoBqLHjqopt4YPtUYBpq0K6oAWDTwIR1CTNZ3y9O/J2ZVh+i2JpxKNYwANJBiZ20O99NE20uisB7xw==", + "dependencies": { + "@vue/reactivity": "3.4.20", + "@vue/shared": "3.4.20" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.20.tgz", + "integrity": "sha512-OkbPVP69H+8m74543zMAAx/LIkajxufYyow41gc0s5iF0uplT5uTQ4llDYu1GeJZEI8wjL5ueiPQruk4qwOMmA==", + "dependencies": { + "@vue/runtime-core": "3.4.20", + "@vue/shared": "3.4.20", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.20.tgz", + "integrity": "sha512-w3VH2GuwxQHA6pJo/HCV22OfVC8Mw4oeHQM+vKeqtRK0OPE1Wilnh+P/SDVGGxPjJsGmyfphi0dbw8UKZQJH9w==", + "dependencies": { + "@vue/compiler-ssr": "3.4.20", + "@vue/shared": "3.4.20" + }, + "peerDependencies": { + "vue": "3.4.20" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.20.tgz", + "integrity": "sha512-KTEngal0aiUvNJ6I1Chk5Ew5XqChsFsxP4GKAYXWb99zKJWjNU72p2FWEOmZWHxHcqtniOJsgnpd3zizdpfEag==" + }, + "node_modules/@vue/test-utils": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.4.tgz", + "integrity": "sha512-8jkRxz8pNhClAf4Co4ZrpAoFISdvT3nuSkUlY6Ys6rmTpw3DMWG/X3mw3gQ7QJzgCZO9f+zuE2kW57fi09MW7Q==", + "dev": true, + "dependencies": { + "js-beautify": "^1.14.9", + "vue-component-type-helpers": "^1.8.21" + }, + "peerDependencies": { + "@vue/server-renderer": "^3.0.1", + "vue": "^3.0.1" + }, + "peerDependenciesMeta": { + "@vue/server-renderer": { + "optional": true + } + } + }, + "node_modules/@vue/tsconfig": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.5.1.tgz", + "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==", + "dev": true + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "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, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "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-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "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" + } + ] + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/axios": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/axios/node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "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 + }, + "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==", + "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" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/bytewise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz", + "integrity": "sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==", + "peer": true, + "dependencies": { + "bytewise-core": "^1.2.2", + "typewise": "^1.0.3" + } + }, + "node_modules/bytewise-core": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz", + "integrity": "sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==", + "peer": true, + "dependencies": { + "typewise-core": "^1.2" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cachedir": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", + "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "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, + "engines": { + "node": ">=6" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, + "engines": { + "node": ">=4" + } + }, + "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, + "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/chalk/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "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 + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/computeds": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", + "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", + "dev": true + }, + "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 + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/config-chain/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssstyle": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz", + "integrity": "sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==", + "dev": true, + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/cypress": { + "version": "13.6.6", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.6.tgz", + "integrity": "sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@cypress/request": "^3.0.0", + "@cypress/xvfb": "^1.2.4", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.7.1", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.1", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.8", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "process": "^0.11.10", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.5.3", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", + "dev": true + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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 + }, + "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, + "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/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/earcut": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "peer": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/editorconfig": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", + "dev": true, + "dependencies": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" + }, + "bin": { + "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "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, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-cypress": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.1.tgz", + "integrity": "sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w==", + "dev": true, + "dependencies": { + "globals": "^13.20.0" + }, + "peerDependencies": { + "eslint": ">= 3.2.1" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.22.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.22.0.tgz", + "integrity": "sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.15", + "semver": "^7.6.0", + "vue-eslint-parser": "^9.4.2", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "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, + "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, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "peer": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.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 + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "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, + "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 + }, + "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 + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "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, + "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": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/geojson-vt": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", + "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==", + "peer": true + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "dependencies": { + "async": "^3.2.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/gl-matrix": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", + "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==", + "peer": true + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "peer": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "peer": true + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "peer": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "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 + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "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, + "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, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "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, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "peer": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/joi": { + "version": "17.12.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", + "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-beautify": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz", + "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==", + "dev": true, + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.3.3", + "js-cookie": "^3.0.5", + "nopt": "^7.2.0" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/js-tokens": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", + "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/jsdom": { + "version": "24.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.0.0.tgz", + "integrity": "sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==", + "dev": true, + "dependencies": { + "cssstyle": "^4.0.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.7", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.3", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.16.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^2.11.2" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "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 + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "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 + }, + "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 + }, + "node_modules/json-stringify-pretty-compact": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-3.0.0.tgz", + "integrity": "sha512-Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==", + "peer": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/kdbush": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", + "peer": true + }, + "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, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "engines": { + "node": "> 0.8" + } + }, + "node_modules/leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", + "dev": true + }, + "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, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "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, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "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 + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/magic-string": { + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", + "dev": true + }, + "node_modules/maplibre-gl": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-3.6.2.tgz", + "integrity": "sha512-krg2KFIdOpLPngONDhP6ixCoWl5kbdMINP0moMSJFVX7wX1Clm2M9hlNKXS8vBGlVWwR5R3ZfI6IPrYz7c+aCQ==", + "peer": true, + "dependencies": { + "@mapbox/geojson-rewind": "^0.5.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/tiny-sdf": "^2.0.6", + "@mapbox/unitbezier": "^0.0.1", + "@mapbox/vector-tile": "^1.3.1", + "@mapbox/whoots-js": "^3.1.0", + "@maplibre/maplibre-gl-style-spec": "^19.3.3", + "@types/geojson": "^7946.0.13", + "@types/mapbox__point-geometry": "^0.1.4", + "@types/mapbox__vector-tile": "^1.3.4", + "@types/pbf": "^3.0.5", + "@types/supercluster": "^7.1.3", + "earcut": "^2.2.4", + "geojson-vt": "^3.2.1", + "gl-matrix": "^3.4.3", + "global-prefix": "^3.0.0", + "kdbush": "^4.0.2", + "murmurhash-js": "^1.0.0", + "pbf": "^3.2.1", + "potpack": "^2.0.0", + "quickselect": "^2.0.0", + "supercluster": "^8.0.1", + "tinyqueue": "^2.0.3", + "vt-pbf": "^3.1.3" + }, + "engines": { + "node": ">=16.14.0", + "npm": ">=8.1.0" + }, + "funding": { + "url": "https://github.com/maplibre/maplibre-gl-js?sponsor=1" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "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, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "peer": true + }, + "node_modules/mlly": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", + "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true + }, + "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==", + "peer": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "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 + }, + "node_modules/nopt": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", + "dev": true, + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-run-all2": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-6.1.2.tgz", + "integrity": "sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.3", + "memorystream": "^0.3.1", + "minimatch": "^9.0.0", + "pidtree": "^0.6.0", + "read-package-json-fast": "^3.0.2", + "shell-quote": "^1.7.3" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0", + "npm": ">= 8" + } + }, + "node_modules/npm-run-all2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "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, + "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, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dev": true, + "dependencies": { + "through": "~2.3" + } + }, + "node_modules/pbf": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", + "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", + "peer": true, + "dependencies": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinia": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.7.tgz", + "integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==", + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": ">=0.14.5" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "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" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/potpack": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.0.0.tgz", + "integrity": "sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==", + "peer": true + }, + "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, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true + }, + "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==", + "peer": true + }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "node_modules/ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "dependencies": { + "event-stream": "=3.3.4" + }, + "bin": { + "ps-tree": "bin/ps-tree.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "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, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "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" + } + ] + }, + "node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", + "peer": true + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "dev": true, + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "dependencies": { + "throttleit": "^1.0.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "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, + "engines": { + "node": ">=4" + } + }, + "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==", + "peer": true, + "dependencies": { + "protocol-buffers-schema": "^3.3.1" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/rollup": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz", + "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.12.0", + "@rollup/rollup-android-arm64": "4.12.0", + "@rollup/rollup-darwin-arm64": "4.12.0", + "@rollup/rollup-darwin-x64": "4.12.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", + "@rollup/rollup-linux-arm64-gnu": "4.12.0", + "@rollup/rollup-linux-arm64-musl": "4.12.0", + "@rollup/rollup-linux-riscv64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-musl": "4.12.0", + "@rollup/rollup-win32-arm64-msvc": "4.12.0", + "@rollup/rollup-win32-ia32-msvc": "4.12.0", + "@rollup/rollup-win32-x64-msvc": "4.12.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true + }, + "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" + } + ], + "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==", + "peer": true + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.71.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz", + "integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "peer": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", + "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sort-asc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.2.0.tgz", + "integrity": "sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-desc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.2.0.tgz", + "integrity": "sha512-NqZqyvL4VPW+RAxxXnB8gvE1kyikh8+pR+T+CXLksVRN9eiQqkQlPwqWYU0mF9Jm7UnctShlxLyAt1CaBOTL1w==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-object": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-3.0.3.tgz", + "integrity": "sha512-nK7WOY8jik6zaG9CRwZTaD5O7ETWDLZYMM12pqY8htll+7dYeqGfEUPcUBHOpSJg2vJOrvFIY2Dl5cX2ih1hAQ==", + "peer": true, + "dependencies": { + "bytewise": "^1.1.0", + "get-value": "^2.0.2", + "is-extendable": "^0.1.1", + "sort-asc": "^0.2.0", + "sort-desc": "^0.2.0", + "union-value": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "dev": true, + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "peer": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "peer": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "peer": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "node_modules/start-server-and-test": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.3.tgz", + "integrity": "sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==", + "dev": true, + "dependencies": { + "arg": "^5.0.2", + "bluebird": "3.7.2", + "check-more-types": "2.24.0", + "debug": "4.3.4", + "execa": "5.1.1", + "lazy-ass": "1.6.0", + "ps-tree": "1.2.0", + "wait-on": "7.2.0" + }, + "bin": { + "server-test": "src/bin/start.js", + "start-server-and-test": "src/bin/start.js", + "start-test": "src/bin/start.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/start-server-and-test/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/start-server-and-test/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/start-server-and-test/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, + "node_modules/stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", + "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", + "dev": true, + "dependencies": { + "js-tokens": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/supercluster": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", + "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", + "peer": true, + "dependencies": { + "kdbush": "^4.0.2" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/throttleit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", + "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tinybench": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", + "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", + "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyqueue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", + "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", + "peer": true + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", + "dev": true, + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/ts-api-utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", + "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "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, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typewise": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", + "integrity": "sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==", + "peer": true, + "dependencies": { + "typewise-core": "^1.2.0" + } + }, + "node_modules/typewise-core": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz", + "integrity": "sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==", + "peer": true + }, + "node_modules/ufo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==", + "dev": true + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "peer": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "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==", + "dev": true + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vite": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz", + "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.1.tgz", + "integrity": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitest": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.1.tgz", + "integrity": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==", + "dev": true, + "dependencies": { + "@vitest/expect": "1.3.1", + "@vitest/runner": "1.3.1", + "@vitest/snapshot": "1.3.1", + "@vitest/spy": "1.3.1", + "@vitest/utils": "1.3.1", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.2", + "vite": "^5.0.0", + "vite-node": "1.3.1", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.3.1", + "@vitest/ui": "1.3.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/vitest/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/vitest/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vitest/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/vitest/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vt-pbf": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz", + "integrity": "sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==", + "peer": true, + "dependencies": { + "@mapbox/point-geometry": "0.1.0", + "@mapbox/vector-tile": "^1.3.1", + "pbf": "^3.2.1" + } + }, + "node_modules/vue": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.20.tgz", + "integrity": "sha512-xF4zDKXp67NjgORFX/HOuaiaKYjgxkaToK0KWglFQEYlCw9AqgBlj1yu5xa6YaRek47w2IGiuvpvrGg/XuQFCw==", + "dependencies": { + "@vue/compiler-dom": "3.4.20", + "@vue/compiler-sfc": "3.4.20", + "@vue/runtime-dom": "3.4.20", + "@vue/server-renderer": "3.4.20", + "@vue/shared": "3.4.20" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-component-type-helpers": { + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-1.8.27.tgz", + "integrity": "sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==", + "dev": true + }, + "node_modules/vue-eslint-parser": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-maplibre-gl": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vue-maplibre-gl/-/vue-maplibre-gl-3.1.3.tgz", + "integrity": "sha512-8/PbADfNylurKfvr2El1GVcAorWiXglJjo6djq/rDVffmr8zTAMsRHph7g/bCuHVcpiGmM1HDPJjdQs2TVR+Kw==", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "maplibre-gl": "^3.0.0", + "mitt": "^3.0.0", + "vue": "^3.4.18" + } + }, + "node_modules/vue-router": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.0.tgz", + "integrity": "sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==", + "dependencies": { + "@vue/devtools-api": "^6.5.1" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", + "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.27.tgz", + "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==", + "dev": true, + "dependencies": { + "@volar/typescript": "~1.11.1", + "@vue/language-core": "1.8.27", + "semver": "^7.5.4" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/wait-on": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", + "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", + "dev": true, + "dependencies": { + "axios": "^1.6.1", + "joi": "^17.11.0", + "lodash": "^4.17.21", + "minimist": "^1.2.8", + "rxjs": "^7.8.1" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", + "dev": true, + "dependencies": { + "tr46": "^5.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "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, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/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 + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/melting-pot-vue/package.json b/melting-pot-vue/package.json new file mode 100644 index 0000000..93fb62a --- /dev/null +++ b/melting-pot-vue/package.json @@ -0,0 +1,51 @@ +{ + "name": "melting-pot-vue", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "test:unit": "vitest", + "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", + "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", + "build-only": "vite build", + "type-check": "vue-tsc --build --force", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", + "format": "prettier --write src/" + }, + "dependencies": { + "pinia": "^2.1.7", + "vue": "^3.4.15", + "vue-maplibre-gl": "^3.1.3", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@rushstack/eslint-patch": "^1.3.3", + "@tsconfig/node20": "^20.1.2", + "@types/jsdom": "^21.1.6", + "@types/leaflet": "^1.9.8", + "@types/node": "^20.11.10", + "@vitejs/plugin-vue": "^5.0.3", + "@vue-leaflet/vue-leaflet": "^0.10.1", + "@vue/eslint-config-prettier": "^8.0.0", + "@vue/eslint-config-typescript": "^12.0.0", + "@vue/test-utils": "^2.4.4", + "@vue/tsconfig": "^0.5.1", + "cypress": "^13.6.3", + "eslint": "^8.49.0", + "eslint-plugin-cypress": "^2.15.1", + "eslint-plugin-vue": "^9.17.0", + "jsdom": "^24.0.0", + "leaflet": "^1.9.4", + "npm-run-all2": "^6.1.1", + "prettier": "^3.0.3", + "sass": "^1.71.1", + "start-server-and-test": "^2.0.3", + "typescript": "~5.3.0", + "vite": "^5.0.11", + "vitest": "^1.2.2", + "vue-tsc": "^1.8.27" + } +} diff --git a/melting-pot-vue/pnpm-lock.yaml b/melting-pot-vue/pnpm-lock.yaml new file mode 100644 index 0000000..65b9a77 --- /dev/null +++ b/melting-pot-vue/pnpm-lock.yaml @@ -0,0 +1,4409 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + maplibre-gl: + specifier: ^4.0.2 + version: 4.0.2 + mitt: + specifier: ^3.0.1 + version: 3.0.1 + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.3.2)(vue@3.4.15) + vue: + specifier: ^3.4.15 + version: 3.4.15(typescript@5.3.2) + vue-maplibre-gl: + specifier: ^3.1.3 + version: 3.1.3(maplibre-gl@4.0.2)(mitt@3.0.1)(vue@3.4.15) + vue-router: + specifier: ^4.2.5 + version: 4.2.5(vue@3.4.15) + +devDependencies: + '@rushstack/eslint-patch': + specifier: ^1.3.3 + version: 1.3.3 + '@tsconfig/node20': + specifier: ^20.1.2 + version: 20.1.2 + '@types/jsdom': + specifier: ^21.1.6 + version: 21.1.6 + '@types/node': + specifier: ^20.11.10 + version: 20.11.10 + '@vitejs/plugin-vue': + specifier: ^5.0.3 + version: 5.0.3(vite@5.0.11)(vue@3.4.15) + '@vue/eslint-config-prettier': + specifier: ^8.0.0 + version: 8.0.0(eslint@8.49.0)(prettier@3.0.3) + '@vue/eslint-config-typescript': + specifier: ^12.0.0 + version: 12.0.0(eslint-plugin-vue@9.17.0)(eslint@8.49.0)(typescript@5.3.2) + '@vue/test-utils': + specifier: ^2.4.4 + version: 2.4.4(vue@3.4.15) + '@vue/tsconfig': + specifier: ^0.5.1 + version: 0.5.1 + cypress: + specifier: ^13.6.3 + version: 13.6.3 + eslint: + specifier: ^8.49.0 + version: 8.49.0 + eslint-plugin-cypress: + specifier: ^2.15.1 + version: 2.15.1(eslint@8.49.0) + eslint-plugin-vue: + specifier: ^9.17.0 + version: 9.17.0(eslint@8.49.0) + jsdom: + specifier: ^24.0.0 + version: 24.0.0 + npm-run-all2: + specifier: ^6.1.1 + version: 6.1.1 + prettier: + specifier: ^3.0.3 + version: 3.0.3 + start-server-and-test: + specifier: ^2.0.3 + version: 2.0.3 + typescript: + specifier: ~5.3.0 + version: 5.3.2 + vite: + specifier: ^5.0.11 + version: 5.0.11(@types/node@20.11.10) + vitest: + specifier: ^1.2.2 + version: 1.2.2(@types/node@20.11.10)(jsdom@24.0.0) + vue-tsc: + specifier: ^1.8.27 + version: 1.8.27(typescript@5.3.2) + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.9 + + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@colors/colors@1.5.0: + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + requiresBuild: true + dev: true + optional: true + + /@cypress/request@3.0.1: + resolution: {integrity: sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==} + engines: {node: '>= 6'} + dependencies: + aws-sign2: 0.7.0 + aws4: 1.12.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + http-signature: 1.3.6 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + performance-now: 2.1.0 + qs: 6.10.4 + safe-buffer: 5.2.1 + tough-cookie: 4.1.3 + tunnel-agent: 0.6.0 + uuid: 8.3.2 + dev: true + + /@cypress/xvfb@1.2.4(supports-color@8.1.1): + resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} + dependencies: + debug: 3.2.7(supports-color@8.1.1) + lodash.once: 4.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.49.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.49.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@8.1.1) + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.49.0: + resolution: {integrity: sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@hapi/hoek@9.3.0: + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + dev: true + + /@hapi/topo@5.1.0: + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + dependencies: + '@hapi/hoek': 9.3.0 + dev: true + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4(supports-color@8.1.1) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@mapbox/geojson-rewind@0.5.2: + resolution: {integrity: sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==} + hasBin: true + dependencies: + get-stream: 6.0.1 + minimist: 1.2.8 + dev: false + + /@mapbox/jsonlint-lines-primitives@2.0.2: + resolution: {integrity: sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==} + engines: {node: '>= 0.6'} + dev: false + + /@mapbox/point-geometry@0.1.0: + resolution: {integrity: sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==} + dev: false + + /@mapbox/tiny-sdf@2.0.6: + resolution: {integrity: sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==} + dev: false + + /@mapbox/unitbezier@0.0.1: + resolution: {integrity: sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==} + dev: false + + /@mapbox/vector-tile@1.3.1: + resolution: {integrity: sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==} + dependencies: + '@mapbox/point-geometry': 0.1.0 + dev: false + + /@mapbox/whoots-js@3.1.0: + resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==} + engines: {node: '>=6.0.0'} + dev: false + + /@maplibre/maplibre-gl-style-spec@20.1.1: + resolution: {integrity: sha512-z85ARNPCBI2Cs5cPOS3DSbraTN+ue8zrcYVoSWBuNrD/mA+2SKAJ+hIzI22uN7gac6jBMnCdpPKRxS/V0KSZVQ==} + hasBin: true + dependencies: + '@mapbox/jsonlint-lines-primitives': 2.0.2 + '@mapbox/unitbezier': 0.0.1 + json-stringify-pretty-compact: 4.0.0 + minimist: 1.2.8 + rw: 1.3.3 + sort-object: 3.0.3 + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@one-ini/wasm@0.1.1: + resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} + dev: true + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/eslint-patch@1.3.3: + resolution: {integrity: sha512-0xd7qez0AQ+MbHatZTlI1gu5vkG8r7MYRUJAHPAHJBmGLs16zpkrpAVLvjQKQOqaXPDUBwOiJzNc00znHSCVBw==} + dev: true + + /@sideway/address@4.1.5: + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + dependencies: + '@hapi/hoek': 9.3.0 + dev: true + + /@sideway/formula@3.0.1: + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + dev: true + + /@sideway/pinpoint@2.0.0: + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + dev: true + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@tsconfig/node20@20.1.2: + resolution: {integrity: sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/geojson-vt@3.2.5: + resolution: {integrity: sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==} + dependencies: + '@types/geojson': 7946.0.14 + dev: false + + /@types/geojson@7946.0.14: + resolution: {integrity: sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==} + dev: false + + /@types/jsdom@21.1.6: + resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==} + dependencies: + '@types/node': 20.11.10 + '@types/tough-cookie': 4.0.5 + parse5: 7.1.2 + dev: true + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + + /@types/mapbox__point-geometry@0.1.4: + resolution: {integrity: sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==} + dev: false + + /@types/mapbox__vector-tile@1.3.4: + resolution: {integrity: sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==} + dependencies: + '@types/geojson': 7946.0.14 + '@types/mapbox__point-geometry': 0.1.4 + '@types/pbf': 3.0.5 + dev: false + + /@types/node@20.11.10: + resolution: {integrity: sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==} + dependencies: + undici-types: 5.26.5 + dev: true + + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true + + /@types/pbf@3.0.5: + resolution: {integrity: sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==} + dev: false + + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + dev: true + + /@types/sinonjs__fake-timers@8.1.1: + resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} + dev: true + + /@types/sizzle@2.3.8: + resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==} + dev: true + + /@types/supercluster@7.1.3: + resolution: {integrity: sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==} + dependencies: + '@types/geojson': 7946.0.14 + dev: false + + /@types/tough-cookie@4.0.5: + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + dev: true + + /@types/yauzl@2.10.3: + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + requiresBuild: true + dependencies: + '@types/node': 20.11.10 + dev: true + optional: true + + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.49.0)(typescript@5.3.2): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.49.0)(typescript@5.3.2) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.49.0)(typescript@5.3.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.49.0)(typescript@5.3.2) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.49.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.2) + typescript: 5.3.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.21.0(eslint@8.49.0)(typescript@5.3.2): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.2) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.49.0 + typescript: 5.3.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + dev: true + + /@typescript-eslint/type-utils@6.21.0(eslint@8.49.0)(typescript@5.3.2): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.49.0)(typescript@5.3.2) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.49.0 + ts-api-utils: 1.2.1(typescript@5.3.2) + typescript: 5.3.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.2): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.2) + typescript: 5.3.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@6.21.0(eslint@8.49.0)(typescript@5.3.2): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.2) + eslint: 8.49.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@vitejs/plugin-vue@5.0.3(vite@5.0.11)(vue@3.4.15): + resolution: {integrity: sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.0.11(@types/node@20.11.10) + vue: 3.4.15(typescript@5.3.2) + dev: true + + /@vitest/expect@1.2.2: + resolution: {integrity: sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==} + dependencies: + '@vitest/spy': 1.2.2 + '@vitest/utils': 1.2.2 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.2.2: + resolution: {integrity: sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==} + dependencies: + '@vitest/utils': 1.2.2 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.2.2: + resolution: {integrity: sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==} + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.2.2: + resolution: {integrity: sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.2.2: + resolution: {integrity: sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + dependencies: + '@volar/source-map': 1.11.1 + dev: true + + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + dependencies: + muggle-string: 0.3.1 + dev: true + + /@volar/typescript@1.11.1: + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + dev: true + + /@vue/compiler-core@3.4.15: + resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.15 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-core@3.4.20: + resolution: {integrity: sha512-l7M+xUuL8hrGtRLkrf+62d9zucAdgqNBTbJ/NufCOIuJQhauhfyAKH9ra/qUctCXcULwmclGAVpvmxjbBO30qg==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/shared': 3.4.20 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-dom@3.4.15: + resolution: {integrity: sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==} + dependencies: + '@vue/compiler-core': 3.4.15 + '@vue/shared': 3.4.15 + + /@vue/compiler-dom@3.4.20: + resolution: {integrity: sha512-/cSBGL79HFBYgDnqCNKErOav3bPde3n0sJwJM2Z09rXlkiowV/2SG1tgDAiWS1CatS4Cvo0o74e1vNeCK1R3RA==} + dependencies: + '@vue/compiler-core': 3.4.20 + '@vue/shared': 3.4.20 + dev: true + + /@vue/compiler-sfc@3.4.15: + resolution: {integrity: sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==} + dependencies: + '@babel/parser': 7.23.9 + '@vue/compiler-core': 3.4.15 + '@vue/compiler-dom': 3.4.15 + '@vue/compiler-ssr': 3.4.15 + '@vue/shared': 3.4.15 + estree-walker: 2.0.2 + magic-string: 0.30.7 + postcss: 8.4.35 + source-map-js: 1.0.2 + + /@vue/compiler-ssr@3.4.15: + resolution: {integrity: sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==} + dependencies: + '@vue/compiler-dom': 3.4.15 + '@vue/shared': 3.4.15 + + /@vue/devtools-api@6.6.1: + resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} + dev: false + + /@vue/eslint-config-prettier@8.0.0(eslint@8.49.0)(prettier@3.0.3): + resolution: {integrity: sha512-55dPqtC4PM/yBjhAr+yEw6+7KzzdkBuLmnhBrDfp4I48+wy+Giqqj9yUr5T2uD/BkBROjjmqnLZmXRdOx/VtQg==} + peerDependencies: + eslint: '>= 8.0.0' + prettier: '>= 3.0.0' + dependencies: + eslint: 8.49.0 + eslint-config-prettier: 8.10.0(eslint@8.49.0) + eslint-plugin-prettier: 5.1.3(eslint-config-prettier@8.10.0)(eslint@8.49.0)(prettier@3.0.3) + prettier: 3.0.3 + transitivePeerDependencies: + - '@types/eslint' + dev: true + + /@vue/eslint-config-typescript@12.0.0(eslint-plugin-vue@9.17.0)(eslint@8.49.0)(typescript@5.3.2): + resolution: {integrity: sha512-StxLFet2Qe97T8+7L8pGlhYBBr8Eg05LPuTDVopQV6il+SK6qqom59BA/rcFipUef2jD8P2X44Vd8tMFytfvlg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + eslint-plugin-vue: ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.49.0)(typescript@5.3.2) + '@typescript-eslint/parser': 6.21.0(eslint@8.49.0)(typescript@5.3.2) + eslint: 8.49.0 + eslint-plugin-vue: 9.17.0(eslint@8.49.0) + typescript: 5.3.2 + vue-eslint-parser: 9.4.2(eslint@8.49.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@vue/language-core@1.8.27(typescript@5.3.2): + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.20 + '@vue/shared': 3.4.20 + computeds: 0.0.1 + minimatch: 9.0.3 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + typescript: 5.3.2 + vue-template-compiler: 2.7.16 + dev: true + + /@vue/reactivity@3.4.15: + resolution: {integrity: sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==} + dependencies: + '@vue/shared': 3.4.15 + + /@vue/runtime-core@3.4.15: + resolution: {integrity: sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==} + dependencies: + '@vue/reactivity': 3.4.15 + '@vue/shared': 3.4.15 + + /@vue/runtime-dom@3.4.15: + resolution: {integrity: sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==} + dependencies: + '@vue/runtime-core': 3.4.15 + '@vue/shared': 3.4.15 + csstype: 3.1.3 + + /@vue/server-renderer@3.4.15(vue@3.4.15): + resolution: {integrity: sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==} + peerDependencies: + vue: 3.4.15 + dependencies: + '@vue/compiler-ssr': 3.4.15 + '@vue/shared': 3.4.15 + vue: 3.4.15(typescript@5.3.2) + + /@vue/shared@3.4.15: + resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==} + + /@vue/shared@3.4.20: + resolution: {integrity: sha512-KTEngal0aiUvNJ6I1Chk5Ew5XqChsFsxP4GKAYXWb99zKJWjNU72p2FWEOmZWHxHcqtniOJsgnpd3zizdpfEag==} + dev: true + + /@vue/test-utils@2.4.4(vue@3.4.15): + resolution: {integrity: sha512-8jkRxz8pNhClAf4Co4ZrpAoFISdvT3nuSkUlY6Ys6rmTpw3DMWG/X3mw3gQ7QJzgCZO9f+zuE2kW57fi09MW7Q==} + peerDependencies: + '@vue/server-renderer': ^3.0.1 + vue: ^3.0.1 + peerDependenciesMeta: + '@vue/server-renderer': + optional: true + dependencies: + js-beautify: 1.15.1 + vue: 3.4.15(typescript@5.3.2) + vue-component-type-helpers: 1.8.27 + dev: true + + /@vue/tsconfig@0.5.1: + resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==} + dev: true + + /abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /agent-base@7.1.0: + resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + engines: {node: '>= 14'} + dependencies: + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + dev: true + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + dev: false + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + dev: false + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true + + /at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true + + /aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + dev: true + + /aws4@1.12.0: + resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + dev: true + + /axios@1.6.7(debug@4.3.4): + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} + dependencies: + follow-redirects: 1.15.5(debug@4.3.4) + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + dependencies: + tweetnacl: 0.14.5 + dev: true + + /blob-util@2.0.2: + resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==} + dev: true + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /bytewise-core@1.2.3: + resolution: {integrity: sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==} + dependencies: + typewise-core: 1.2.0 + dev: false + + /bytewise@1.1.0: + resolution: {integrity: sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==} + dependencies: + bytewise-core: 1.2.3 + typewise: 1.0.3 + dev: false + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /cachedir@2.4.0: + resolution: {integrity: sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==} + engines: {node: '>=6'} + dev: true + + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.1 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: true + + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /check-more-types@2.24.0: + resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==} + engines: {node: '>= 0.8.0'} + dev: true + + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-table3@0.6.3: + resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} + engines: {node: 10.* || >= 12.*} + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + dev: true + + /cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + + /commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + dev: true + + /common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + dev: true + + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + dev: true + + /core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /cssstyle@4.0.1: + resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} + engines: {node: '>=18'} + dependencies: + rrweb-cssom: 0.6.0 + dev: true + + /csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + /cypress@13.6.3: + resolution: {integrity: sha512-d/pZvgwjAyZsoyJ3FOsJT5lDsqnxQ/clMqnNc++rkHjbkkiF2h9s0JsZSyyH4QXhVFW3zPFg82jD25roFLOdZA==} + engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} + hasBin: true + requiresBuild: true + dependencies: + '@cypress/request': 3.0.1 + '@cypress/xvfb': 1.2.4(supports-color@8.1.1) + '@types/sinonjs__fake-timers': 8.1.1 + '@types/sizzle': 2.3.8 + arch: 2.2.0 + blob-util: 2.0.2 + bluebird: 3.7.2 + buffer: 5.7.1 + cachedir: 2.4.0 + chalk: 4.1.2 + check-more-types: 2.24.0 + cli-cursor: 3.1.0 + cli-table3: 0.6.3 + commander: 6.2.1 + common-tags: 1.8.2 + dayjs: 1.11.10 + debug: 4.3.4(supports-color@8.1.1) + enquirer: 2.4.1 + eventemitter2: 6.4.7 + execa: 4.1.0 + executable: 4.1.1 + extract-zip: 2.0.1(supports-color@8.1.1) + figures: 3.2.0 + fs-extra: 9.1.0 + getos: 3.2.1 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + lazy-ass: 1.6.0 + listr2: 3.14.0(enquirer@2.4.1) + lodash: 4.17.21 + log-symbols: 4.1.0 + minimist: 1.2.8 + ospath: 1.2.2 + pretty-bytes: 5.6.0 + process: 0.11.10 + proxy-from-env: 1.0.0 + request-progress: 3.0.0 + semver: 7.6.0 + supports-color: 8.1.1 + tmp: 0.2.1 + untildify: 4.0.0 + yauzl: 2.10.0 + dev: true + + /dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + dev: true + + /data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} + dependencies: + whatwg-mimetype: 4.0.0 + whatwg-url: 14.0.0 + dev: true + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: true + + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + + /debug@3.2.7(supports-color@8.1.1): + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + supports-color: 8.1.1 + dev: true + + /debug@4.3.4(supports-color@8.1.1): + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + supports-color: 8.1.1 + dev: true + + /decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + dev: true + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /earcut@2.2.4: + resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==} + dev: false + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: true + + /editorconfig@1.0.4: + resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@one-ini/wasm': 0.1.1 + commander: 10.0.1 + minimatch: 9.0.1 + semver: 7.6.0 + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@8.10.0(eslint@8.49.0): + resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.49.0 + dev: true + + /eslint-plugin-cypress@2.15.1(eslint@8.49.0): + resolution: {integrity: sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w==} + peerDependencies: + eslint: '>= 3.2.1' + dependencies: + eslint: 8.49.0 + globals: 13.24.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@8.10.0)(eslint@8.49.0)(prettier@3.0.3): + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.49.0 + eslint-config-prettier: 8.10.0(eslint@8.49.0) + prettier: 3.0.3 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-plugin-vue@9.17.0(eslint@8.49.0): + resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) + eslint: 8.49.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.15 + semver: 7.6.0 + vue-eslint-parser: 9.4.2(eslint@8.49.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.49.0: + resolution: {integrity: sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.49.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@8.1.1) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /event-stream@3.3.4: + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + dependencies: + duplexer: 0.1.2 + from: 0.1.7 + map-stream: 0.1.0 + pause-stream: 0.0.11 + split: 0.3.3 + stream-combiner: 0.0.4 + through: 2.3.8 + dev: true + + /eventemitter2@6.4.7: + resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==} + dev: true + + /execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /executable@4.1.1: + resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} + engines: {node: '>=4'} + dependencies: + pify: 2.3.0 + dev: true + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: false + + /extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: false + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true + + /extract-zip@2.0.1(supports-color@8.1.1): + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + dependencies: + debug: 4.3.4(supports-color@8.1.1) + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + dev: true + + /extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + dev: true + + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: true + + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /follow-redirects@1.15.5(debug@4.3.4): + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 4.3.4(supports-color@8.1.1) + dev: true + + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + dev: true + + /form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /from@0.1.7: + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + dev: true + + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /geojson-vt@3.2.1: + resolution: {integrity: sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==} + dev: false + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.1 + dev: true + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + dev: false + + /getos@3.2.1: + resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==} + dependencies: + async: 3.2.5 + dev: true + + /getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + dependencies: + assert-plus: 1.0.0 + dev: true + + /gl-matrix@3.4.3: + resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==} + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + dependencies: + ini: 2.0.0 + dev: true + + /global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + dev: false + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.0 + dev: true + + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /hosted-git-info@7.0.1: + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + lru-cache: 10.2.0 + dev: true + + /html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} + dependencies: + whatwg-encoding: 3.1.1 + dev: true + + /http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: true + + /http-signature@1.3.6: + resolution: {integrity: sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + jsprim: 2.0.2 + sshpk: 1.18.0 + dev: true + + /https-proxy-agent@7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + dev: true + + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + /ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + dependencies: + ci-info: 3.9.0 + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.1 + dev: true + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: false + + /is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: 2.0.4 + dev: false + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: false + + /is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: false + + /isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + dev: true + + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /joi@17.12.2: + resolution: {integrity: sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==} + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + dev: true + + /js-beautify@1.15.1: + resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==} + engines: {node: '>=14'} + hasBin: true + dependencies: + config-chain: 1.1.13 + editorconfig: 1.0.4 + glob: 10.3.10 + js-cookie: 3.0.5 + nopt: 7.2.0 + dev: true + + /js-cookie@3.0.5: + resolution: {integrity: sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==} + engines: {node: '>=14'} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + dev: true + + /jsdom@24.0.0: + resolution: {integrity: sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==} + engines: {node: '>=18'} + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + cssstyle: 4.0.1 + data-urls: 5.0.0 + decimal.js: 10.4.3 + form-data: 4.0.0 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.7 + parse5: 7.1.2 + rrweb-cssom: 0.6.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.3 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.0.0 + ws: 8.16.0 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-even-better-errors@3.0.1: + resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json-stringify-pretty-compact@4.0.0: + resolution: {integrity: sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==} + dev: false + + /json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true + + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsprim@2.0.2: + resolution: {integrity: sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + dev: true + + /kdbush@4.0.2: + resolution: {integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==} + dev: false + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: false + + /lazy-ass@1.6.0: + resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} + engines: {node: '> 0.8'} + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /listr2@3.14.0(enquirer@2.4.1): + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.20 + enquirer: 2.4.1 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.3.1 + rxjs: 7.8.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /map-stream@0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + dev: true + + /maplibre-gl@4.0.2: + resolution: {integrity: sha512-1HlJJyfPIbAwK1OlNzKDyuNf1NKlEwsjZZhPYpazX4yoP6ud1aC7DNct62fMSkn+hd6mRekIqzYEzIfOCC31QQ==} + engines: {node: '>=16.14.0', npm: '>=8.1.0'} + dependencies: + '@mapbox/geojson-rewind': 0.5.2 + '@mapbox/jsonlint-lines-primitives': 2.0.2 + '@mapbox/point-geometry': 0.1.0 + '@mapbox/tiny-sdf': 2.0.6 + '@mapbox/unitbezier': 0.0.1 + '@mapbox/vector-tile': 1.3.1 + '@mapbox/whoots-js': 3.1.0 + '@maplibre/maplibre-gl-style-spec': 20.1.1 + '@types/geojson': 7946.0.14 + '@types/geojson-vt': 3.2.5 + '@types/mapbox__point-geometry': 0.1.4 + '@types/mapbox__vector-tile': 1.3.4 + '@types/pbf': 3.0.5 + '@types/supercluster': 7.1.3 + earcut: 2.2.4 + geojson-vt: 3.2.1 + gl-matrix: 3.4.3 + global-prefix: 3.0.0 + kdbush: 4.0.2 + murmurhash-js: 1.0.0 + pbf: 3.2.1 + potpack: 2.0.0 + quickselect: 2.0.0 + supercluster: 8.0.1 + tinyqueue: 2.0.3 + vt-pbf: 3.1.3 + dev: false + + /memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@9.0.1: + resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: false + + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true + + /murmurhash-js@1.0.0: + resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==} + dev: false + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /nopt@7.2.0: + resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + abbrev: 2.0.0 + dev: true + + /normalize-package-data@6.0.0: + resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.1 + is-core-module: 2.13.1 + semver: 7.6.0 + validate-npm-package-license: 3.0.4 + dev: true + + /npm-run-all2@6.1.1: + resolution: {integrity: sha512-lWLbkPZ5BSdXtN8lR+0rc8caKoPdymycpZksyDEC9MOBvfdwTXZ0uVhb7bMcGeXv2/BKtfQuo6Zn3zfc8rxNXA==} + engines: {node: ^14.18.0 || >=16.0.0, npm: '>= 8'} + hasBin: true + dependencies: + ansi-styles: 6.2.1 + cross-spawn: 7.0.3 + memorystream: 0.3.1 + minimatch: 9.0.3 + pidtree: 0.6.0 + read-pkg: 8.1.0 + shell-quote: 1.8.1 + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /nwsapi@2.2.7: + resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + dev: true + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ospath@1.2.2: + resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@7.1.1: + resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} + engines: {node: '>=16'} + dependencies: + '@babel/code-frame': 7.23.5 + error-ex: 1.3.2 + json-parse-even-better-errors: 3.0.1 + lines-and-columns: 2.0.4 + type-fest: 3.13.1 + dev: true + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 + dev: true + + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pause-stream@0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + dependencies: + through: 2.3.8 + dev: true + + /pbf@3.2.1: + resolution: {integrity: sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==} + hasBin: true + dependencies: + ieee754: 1.2.1 + resolve-protobuf-schema: 2.1.0 + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: true + + /performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pinia@2.1.7(typescript@5.3.2)(vue@3.4.15): + resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.6.1 + typescript: 5.3.2 + vue: 3.4.15(typescript@5.3.2) + vue-demi: 0.14.7(vue@3.4.15) + dev: false + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /potpack@2.0.0: + resolution: {integrity: sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==} + dev: false + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.0.3: + resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: true + + /proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + dev: true + + /protocol-buffers-schema@3.6.0: + resolution: {integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==} + dev: false + + /proxy-from-env@1.0.0: + resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==} + dev: true + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: true + + /ps-tree@1.2.0: + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} + hasBin: true + dependencies: + event-stream: 3.3.4 + dev: true + + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /qs@6.10.4: + resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.5 + dev: true + + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quickselect@2.0.0: + resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==} + dev: false + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /read-pkg@8.1.0: + resolution: {integrity: sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==} + engines: {node: '>=16'} + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 6.0.0 + parse-json: 7.1.1 + type-fest: 4.10.3 + dev: true + + /request-progress@3.0.0: + resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} + dependencies: + throttleit: 1.0.1 + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-protobuf-schema@2.1.0: + resolution: {integrity: sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==} + dependencies: + protocol-buffers-schema: 3.6.0 + dev: false + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 + fsevents: 2.3.3 + dev: true + + /rrweb-cssom@0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + dev: false + + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + dependencies: + tslib: 2.6.2 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + dependencies: + xmlchars: 2.2.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /set-function-length@1.2.1: + resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} + engines: {node: '>= 0.4'} + 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 + dev: true + + /set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: true + + /side-channel@1.0.5: + resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + dev: true + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /sort-asc@0.2.0: + resolution: {integrity: sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==} + engines: {node: '>=0.10.0'} + dev: false + + /sort-desc@0.2.0: + resolution: {integrity: sha512-NqZqyvL4VPW+RAxxXnB8gvE1kyikh8+pR+T+CXLksVRN9eiQqkQlPwqWYU0mF9Jm7UnctShlxLyAt1CaBOTL1w==} + engines: {node: '>=0.10.0'} + dev: false + + /sort-object@3.0.3: + resolution: {integrity: sha512-nK7WOY8jik6zaG9CRwZTaD5O7ETWDLZYMM12pqY8htll+7dYeqGfEUPcUBHOpSJg2vJOrvFIY2Dl5cX2ih1hAQ==} + engines: {node: '>=0.10.0'} + dependencies: + bytewise: 1.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + sort-asc: 0.2.0 + sort-desc: 0.2.0 + union-value: 1.0.1 + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.17 + dev: true + + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 + dev: true + + /spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + dev: true + + /split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + dev: false + + /split@0.3.3: + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + dependencies: + through: 2.3.8 + dev: true + + /sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /start-server-and-test@2.0.3: + resolution: {integrity: sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==} + engines: {node: '>=16'} + hasBin: true + dependencies: + arg: 5.0.2 + bluebird: 3.7.2 + check-more-types: 2.24.0 + debug: 4.3.4(supports-color@8.1.1) + execa: 5.1.1 + lazy-ass: 1.6.0 + ps-tree: 1.2.0 + wait-on: 7.2.0(debug@4.3.4) + transitivePeerDependencies: + - supports-color + dev: true + + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + + /stream-combiner@0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + dependencies: + duplexer: 0.1.2 + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + dependencies: + acorn: 8.11.3 + dev: true + + /supercluster@8.0.1: + resolution: {integrity: sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==} + dependencies: + kdbush: 4.0.2 + dev: false + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: true + + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /throttleit@1.0.1: + resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==} + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + dev: true + + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyqueue@2.0.3: + resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==} + dev: false + + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + + /tmp@0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + dependencies: + rimraf: 3.0.2 + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /tough-cookie@4.1.3: + resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + engines: {node: '>=6'} + dependencies: + psl: 1.9.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + dev: true + + /tr46@5.0.0: + resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} + engines: {node: '>=18'} + dependencies: + punycode: 2.3.1 + dev: true + + /ts-api-utils@1.2.1(typescript@5.3.2): + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.3.2 + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + dev: true + + /type-fest@4.10.3: + resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} + engines: {node: '>=16'} + dev: true + + /typescript@5.3.2: + resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==} + engines: {node: '>=14.17'} + hasBin: true + + /typewise-core@1.2.0: + resolution: {integrity: sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==} + dev: false + + /typewise@1.0.3: + resolution: {integrity: sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==} + dependencies: + typewise-core: 1.2.0 + dev: false + + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + dev: false + + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + + /vite-node@1.2.2(@types/node@20.11.10): + resolution: {integrity: sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4(supports-color@8.1.1) + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.0.11(@types/node@20.11.10) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.0.11(@types/node@20.11.10): + resolution: {integrity: sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.10 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.2.2(@types/node@20.11.10)(jsdom@24.0.0): + resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': ^1.0.0 + '@vitest/ui': ^1.0.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.11.10 + '@vitest/expect': 1.2.2 + '@vitest/runner': 1.2.2 + '@vitest/snapshot': 1.2.2 + '@vitest/spy': 1.2.2 + '@vitest/utils': 1.2.2 + acorn-walk: 8.3.2 + cac: 6.7.14 + chai: 4.4.1 + debug: 4.3.4(supports-color@8.1.1) + execa: 8.0.1 + jsdom: 24.0.0 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 1.3.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.0.11(@types/node@20.11.10) + vite-node: 1.2.2(@types/node@20.11.10) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vt-pbf@3.1.3: + resolution: {integrity: sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==} + dependencies: + '@mapbox/point-geometry': 0.1.0 + '@mapbox/vector-tile': 1.3.1 + pbf: 3.2.1 + dev: false + + /vue-component-type-helpers@1.8.27: + resolution: {integrity: sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==} + dev: true + + /vue-demi@0.14.7(vue@3.4.15): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.4.15(typescript@5.3.2) + dev: false + + /vue-eslint-parser@9.4.2(eslint@8.49.0): + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.49.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + dev: true + + /vue-maplibre-gl@3.1.3(maplibre-gl@4.0.2)(mitt@3.0.1)(vue@3.4.15): + resolution: {integrity: sha512-8/PbADfNylurKfvr2El1GVcAorWiXglJjo6djq/rDVffmr8zTAMsRHph7g/bCuHVcpiGmM1HDPJjdQs2TVR+Kw==} + engines: {node: '>=18'} + peerDependencies: + maplibre-gl: ^3.0.0 + mitt: ^3.0.0 + vue: ^3.4.18 + dependencies: + maplibre-gl: 4.0.2 + mitt: 3.0.1 + vue: 3.4.15(typescript@5.3.2) + dev: false + + /vue-router@4.2.5(vue@3.4.15): + resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.6.1 + vue: 3.4.15(typescript@5.3.2) + dev: false + + /vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-tsc@1.8.27(typescript@5.3.2): + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@5.3.2) + semver: 7.6.0 + typescript: 5.3.2 + dev: true + + /vue@3.4.15(typescript@5.3.2): + resolution: {integrity: sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.4.15 + '@vue/compiler-sfc': 3.4.15 + '@vue/runtime-dom': 3.4.15 + '@vue/server-renderer': 3.4.15(vue@3.4.15) + '@vue/shared': 3.4.15 + typescript: 5.3.2 + + /w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} + dependencies: + xml-name-validator: 5.0.0 + dev: true + + /wait-on@7.2.0(debug@4.3.4): + resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + axios: 1.6.7(debug@4.3.4) + joi: 17.12.2 + lodash: 4.17.21 + minimist: 1.2.8 + rxjs: 7.8.1 + transitivePeerDependencies: + - debug + dev: true + + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + dev: true + + /whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + dependencies: + iconv-lite: 0.6.3 + dev: true + + /whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + dev: true + + /whatwg-url@14.0.0: + resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} + engines: {node: '>=18'} + dependencies: + tr46: 5.0.0 + webidl-conversions: 7.0.0 + dev: true + + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: false + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} + dev: true + + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true diff --git a/melting-pot-vue/public/favicon.ico b/melting-pot-vue/public/favicon.ico new file mode 100644 index 0000000..df36fcf Binary files /dev/null and b/melting-pot-vue/public/favicon.ico differ diff --git a/melting-pot-vue/src/App.vue b/melting-pot-vue/src/App.vue new file mode 100644 index 0000000..459cbcc --- /dev/null +++ b/melting-pot-vue/src/App.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/melting-pot-vue/src/assets/base.css b/melting-pot-vue/src/assets/base.css new file mode 100644 index 0000000..8816868 --- /dev/null +++ b/melting-pot-vue/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/melting-pot-vue/src/assets/data/metro14.js b/melting-pot-vue/src/assets/data/metro14.js new file mode 100644 index 0000000..9bbe11d --- /dev/null +++ b/melting-pot-vue/src/assets/data/metro14.js @@ -0,0 +1,134 @@ +export default [ + [ + 2.3816097, + 48.8313769 + ], + [ + 2.3823803, + 48.8315602 + ], + [ + 2.3831555, + 48.8317895 + ], + [ + 2.383997, + 48.8320718 + ], + [ + 2.3843391, + 48.832217 + ], + [ + 2.3846949, + 48.8324252 + ], + [ + 2.3852536, + 48.8328404 + ], + [ + 2.3856907, + 48.8332195 + ], + [ + 2.3859541, + 48.8335481 + ], + [ + 2.3861807, + 48.8338097 + ], + [ + 2.3865549, + 48.8341944 + ], + [ + 2.3868902, + 48.8345657 + ], + [ + 2.3871587, + 48.8348434 + ], + [ + 2.387283, + 48.8350874 + ], + [ + 2.3873412, + 48.8353286 + ], + [ + 2.3873224, + 48.8356361 + ], + [ + 2.3873062, + 48.8358275 + ], + [ + 2.3872623, + 48.8359478 + ], + [ + 2.3870393, + 48.8361503 + ], + [ + 2.386746, + 48.8364291 + ], + [ + 2.3865003, + 48.8366003 + ], + [ + 2.3859, + 48.8368621 + ], + [ + 2.3852911, + 48.8370482 + ], + [ + 2.3848498, + 48.8372082 + ], + [ + 2.3839864, + 48.8375149 + ], + [ + 2.3836074, + 48.8376415 + ], + [ + 2.382953, + 48.8378568 + ], + [ + 2.3823782, + 48.8380423 + ], + [ + 2.3818397, + 48.8382731 + ], + [ + 2.3812743, + 48.8386592 + ], + [ + 2.3801164, + 48.8395493 + ], + [ + 2.3795807, + 48.8399806 + ], + [ + 2.3791368, + 48.8402939 + ] +] \ No newline at end of file diff --git a/melting-pot-vue/src/assets/data/metro_paris.json b/melting-pot-vue/src/assets/data/metro_paris.json new file mode 100644 index 0000000..e5f1c96 --- /dev/null +++ b/melting-pot-vue/src/assets/data/metro_paris.json @@ -0,0 +1,51707 @@ +{ + "type": "FeatureCollection", + "generator": "overpass-turbo", + "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.", + "timestamp": "2024-02-26T15:28:30Z", + "features": [ + { + "type": "Feature", + "properties": { + "@id": "way/3839425", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "source": "BDOrtho IGN 2016", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3702909, + 48.8785649 + ], + [ + 2.3702675, + 48.8802461 + ] + ] + }, + "id": "way/3839425" + }, + { + "type": "Feature", + "properties": { + "@id": "way/20326938", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-1", + "name": "Métro 1", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3681596, + 48.8522391 + ], + [ + 2.3681813, + 48.8522065 + ], + [ + 2.3682096, + 48.8521735 + ], + [ + 2.3682423, + 48.8521415 + ], + [ + 2.3682693, + 48.8521203 + ], + [ + 2.3683165, + 48.8520892 + ], + [ + 2.3683671, + 48.8520622 + ], + [ + 2.3684135, + 48.8520459 + ], + [ + 2.3684506, + 48.8520351 + ], + [ + 2.3685326, + 48.8520149 + ] + ] + }, + "id": "way/20326938" + }, + { + "type": "Feature", + "properties": { + "@id": "way/21840944", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3365749, + 48.8330321 + ], + [ + 2.3375557, + 48.8327635 + ], + [ + 2.339577, + 48.83221 + ] + ] + }, + "id": "way/21840944" + }, + { + "type": "Feature", + "properties": { + "@id": "way/23368036", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3676625, + 48.8453576 + ], + [ + 2.3679907, + 48.845248 + ], + [ + 2.3681623, + 48.8451882 + ], + [ + 2.3682795, + 48.8451331 + ], + [ + 2.3683756, + 48.8450659 + ], + [ + 2.3685565, + 48.8449333 + ], + [ + 2.3686345, + 48.844872 + ], + [ + 2.3687069, + 48.8448016 + ], + [ + 2.3687373, + 48.8447663 + ], + [ + 2.3687626, + 48.8447314 + ], + [ + 2.3687917, + 48.8446887 + ], + [ + 2.3688167, + 48.8446408 + ], + [ + 2.3688448, + 48.8445758 + ] + ] + }, + "id": "way/23368036" + }, + { + "type": "Feature", + "properties": { + "@id": "way/23368037", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3650347, + 48.8421762 + ], + [ + 2.3648067, + 48.8420974 + ], + [ + 2.3645692, + 48.8420346 + ], + [ + 2.3642035, + 48.8419525 + ], + [ + 2.363972, + 48.8419025 + ], + [ + 2.3637689, + 48.8418492 + ], + [ + 2.3636403, + 48.8418028 + ], + [ + 2.3635399, + 48.8417562 + ], + [ + 2.3634545, + 48.8417042 + ], + [ + 2.363393, + 48.8416633 + ], + [ + 2.3633058, + 48.8415767 + ], + [ + 2.3631868, + 48.8414428 + ], + [ + 2.3630324, + 48.841247 + ], + [ + 2.3626701, + 48.8407581 + ], + [ + 2.3620277, + 48.8398924 + ] + ] + }, + "id": "way/23368037" + }, + { + "type": "Feature", + "properties": { + "@id": "way/23368038", + "bridge": "yes", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3660883, + 48.8425829 + ], + [ + 2.3655558, + 48.842376 + ], + [ + 2.3650347, + 48.8421762 + ] + ] + }, + "id": "way/23368038" + }, + { + "type": "Feature", + "properties": { + "@id": "way/23368039", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3688448, + 48.8445758 + ], + [ + 2.3688578, + 48.8445103 + ], + [ + 2.3688639, + 48.8444582 + ], + [ + 2.3688591, + 48.8443865 + ], + [ + 2.3688471, + 48.844327 + ], + [ + 2.3688257, + 48.844265 + ], + [ + 2.3687923, + 48.8442026 + ], + [ + 2.3687435, + 48.844135 + ], + [ + 2.3686831, + 48.8440733 + ], + [ + 2.3686235, + 48.8440223 + ], + [ + 2.3685763, + 48.8439866 + ], + [ + 2.368514, + 48.8439465 + ], + [ + 2.3668529, + 48.8429713 + ] + ] + }, + "id": "way/23368039" + }, + { + "type": "Feature", + "properties": { + "@id": "way/23368043", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3612057, + 48.838796 + ], + [ + 2.3610618, + 48.8386089 + ], + [ + 2.3608186, + 48.8382857 + ], + [ + 2.3592566, + 48.8365596 + ], + [ + 2.3584049, + 48.8354155 + ], + [ + 2.3581842, + 48.8351227 + ], + [ + 2.3579632, + 48.8348297 + ], + [ + 2.3578622, + 48.8346958 + ], + [ + 2.3578128, + 48.8346334 + ], + [ + 2.3577627, + 48.8345757 + ], + [ + 2.3571108, + 48.8338795 + ], + [ + 2.3569819, + 48.8337331 + ], + [ + 2.356866, + 48.8335876 + ], + [ + 2.3562769, + 48.8327924 + ], + [ + 2.3560722, + 48.8324944 + ], + [ + 2.3559944, + 48.8323803 + ], + [ + 2.3559199, + 48.8323006 + ], + [ + 2.3558579, + 48.8322434 + ], + [ + 2.3557777, + 48.832194 + ], + [ + 2.3556863, + 48.8321512 + ], + [ + 2.3556048, + 48.8321258 + ], + [ + 2.3551653, + 48.8320099 + ], + [ + 2.3548767, + 48.831933 + ], + [ + 2.3547245, + 48.8318771 + ], + [ + 2.3546152, + 48.8318223 + ], + [ + 2.3545188, + 48.831758 + ], + [ + 2.3544275, + 48.8316704 + ], + [ + 2.354397, + 48.8316249 + ], + [ + 2.3543597, + 48.8315692 + ], + [ + 2.3543285, + 48.831465 + ], + [ + 2.3543226, + 48.8313633 + ], + [ + 2.3543428, + 48.8312453 + ], + [ + 2.3543803, + 48.8311703 + ], + [ + 2.3544309, + 48.8310999 + ], + [ + 2.3544877, + 48.8310445 + ] + ] + }, + "id": "way/23368043" + }, + { + "type": "Feature", + "properties": { + "@id": "way/23622326", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4004102, + 48.8400904 + ], + [ + 2.4003831, + 48.8400479 + ], + [ + 2.4003161, + 48.8399629 + ], + [ + 2.4002477, + 48.8398957 + ], + [ + 2.4001494, + 48.8398211 + ], + [ + 2.4000859, + 48.8397843 + ], + [ + 2.4000211, + 48.839756 + ], + [ + 2.3999584, + 48.839731 + ], + [ + 2.3998495, + 48.8396971 + ], + [ + 2.3997839, + 48.8396826 + ], + [ + 2.3997096, + 48.8396703 + ], + [ + 2.3995957, + 48.8396511 + ], + [ + 2.39949, + 48.8396432 + ], + [ + 2.3993658, + 48.8396404 + ], + [ + 2.3971357, + 48.8395753 + ], + [ + 2.3965751, + 48.8395509 + ], + [ + 2.3958933, + 48.8395177 + ], + [ + 2.3953369, + 48.8394837 + ], + [ + 2.3949114, + 48.8394577 + ], + [ + 2.394224, + 48.8394092 + ], + [ + 2.3902255, + 48.8390835 + ], + [ + 2.3896971, + 48.8390465 + ], + [ + 2.3890257, + 48.8389996 + ], + [ + 2.3887835, + 48.8389834 + ], + [ + 2.3886418, + 48.8389744 + ], + [ + 2.3885035, + 48.8389687 + ], + [ + 2.3883894, + 48.8389669 + ], + [ + 2.388265, + 48.8389685 + ], + [ + 2.3881307, + 48.8389785 + ], + [ + 2.3879849, + 48.8389953 + ], + [ + 2.3878701, + 48.8390113 + ], + [ + 2.3877379, + 48.8390335 + ], + [ + 2.3875603, + 48.8390647 + ], + [ + 2.3843011, + 48.8396488 + ], + [ + 2.3839213, + 48.8397162 + ], + [ + 2.3811682, + 48.8402046 + ], + [ + 2.3810343, + 48.8402283 + ], + [ + 2.3806011, + 48.8403052 + ], + [ + 2.3803422, + 48.8403526 + ], + [ + 2.3802299, + 48.840371 + ], + [ + 2.3801735, + 48.8403779 + ], + [ + 2.3800516, + 48.8403929 + ], + [ + 2.3799406, + 48.8404015 + ], + [ + 2.3798284, + 48.8404056 + ], + [ + 2.3797038, + 48.8404071 + ], + [ + 2.3795753, + 48.8404009 + ], + [ + 2.3794574, + 48.8403889 + ], + [ + 2.3793292, + 48.8403719 + ], + [ + 2.3792419, + 48.8403557 + ], + [ + 2.3791599, + 48.8403379 + ], + [ + 2.379072, + 48.8403137 + ], + [ + 2.3789913, + 48.8402878 + ] + ] + }, + "id": "way/23622326" + }, + { + "type": "Feature", + "properties": { + "@id": "way/23814819", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3667523, + 48.8457923 + ], + [ + 2.3669022, + 48.84568 + ], + [ + 2.3670713, + 48.8455808 + ], + [ + 2.3673171, + 48.8454709 + ], + [ + 2.3676625, + 48.8453576 + ] + ] + }, + "id": "way/23814819" + }, + { + "type": "Feature", + "properties": { + "@id": "way/23814820", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "voltage": "750", + "wikidata": "Q3396422", + "wikipedia": "fr:Pont-métro Morland" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3656201, + 48.8467544 + ], + [ + 2.3656701, + 48.8466834 + ], + [ + 2.365723, + 48.8466212 + ], + [ + 2.3657787, + 48.8465632 + ], + [ + 2.3658858, + 48.8464731 + ], + [ + 2.3661298, + 48.8462775 + ], + [ + 2.3667523, + 48.8457923 + ] + ] + }, + "id": "way/23814820" + }, + { + "type": "Feature", + "properties": { + "@id": "way/24044831", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4016835, + 48.8434887 + ], + [ + 2.4007843, + 48.8410582 + ], + [ + 2.4004853, + 48.8402501 + ], + [ + 2.4004667, + 48.8401998 + ], + [ + 2.4004361, + 48.8401321 + ], + [ + 2.4004102, + 48.8400904 + ] + ] + }, + "id": "way/24044831" + }, + { + "type": "Feature", + "properties": { + "@id": "way/24046308", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3702909, + 48.8785649 + ], + [ + 2.3703176, + 48.8783886 + ] + ] + }, + "id": "way/24046308" + }, + { + "type": "Feature", + "properties": { + "@id": "way/24331466", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "name": "Métro 12", + "name:ru": "Линия 12", + "old_name": "Ligne A", + "old_operator": "Nord-Sud", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2731713, + 48.8241474 + ], + [ + 2.2744393, + 48.8245619 + ], + [ + 2.2754518, + 48.8248983 + ], + [ + 2.2759521, + 48.8250617 + ], + [ + 2.276628, + 48.8253972 + ], + [ + 2.2773374, + 48.8257451 + ], + [ + 2.2780362, + 48.8261115 + ], + [ + 2.2784626, + 48.8264081 + ], + [ + 2.2789441, + 48.8267516 + ], + [ + 2.2793746, + 48.8270526 + ], + [ + 2.2807076, + 48.8278331 + ], + [ + 2.2827005, + 48.8289932 + ], + [ + 2.2839263, + 48.8297666 + ], + [ + 2.2850823, + 48.8305082 + ], + [ + 2.2868231, + 48.8316558 + ], + [ + 2.2879898, + 48.8324292 + ], + [ + 2.28941, + 48.8333729 + ], + [ + 2.2899023, + 48.8336982 + ], + [ + 2.2908632, + 48.8343331 + ], + [ + 2.2922049, + 48.8351543 + ], + [ + 2.2927686, + 48.83548 + ], + [ + 2.2932161, + 48.8357219 + ], + [ + 2.293825, + 48.8360159 + ], + [ + 2.2939785, + 48.8360839 + ], + [ + 2.2940594, + 48.8361197 + ], + [ + 2.2943729, + 48.8362542 + ], + [ + 2.2947262, + 48.8364078 + ], + [ + 2.2957213, + 48.8368509 + ], + [ + 2.2962742, + 48.8371317 + ], + [ + 2.2963175, + 48.8371543 + ], + [ + 2.2963487, + 48.8371706 + ], + [ + 2.2966255, + 48.8373115 + ], + [ + 2.2975827, + 48.8378387 + ], + [ + 2.2992377, + 48.838694 + ], + [ + 2.2999203, + 48.8390427 + ], + [ + 2.3003736, + 48.8392678 + ], + [ + 2.3007786, + 48.8394037 + ], + [ + 2.3012923, + 48.8395785 + ], + [ + 2.3018139, + 48.8397453 + ], + [ + 2.3048712, + 48.8405965 + ], + [ + 2.3049699, + 48.840624 + ], + [ + 2.3050686, + 48.8406514 + ], + [ + 2.3051636, + 48.8406779 + ], + [ + 2.3056723, + 48.8408195 + ], + [ + 2.3067503, + 48.8411386 + ], + [ + 2.3080031, + 48.8415194 + ], + [ + 2.3109618, + 48.8424204 + ], + [ + 2.3115254, + 48.8425823 + ], + [ + 2.3128216, + 48.8430045 + ], + [ + 2.3155736, + 48.843831 + ], + [ + 2.3165825, + 48.844137 + ] + ] + }, + "id": "way/24331466" + }, + { + "type": "Feature", + "properties": { + "@id": "way/24380451", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 10", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.254753, + 48.8452229 + ], + [ + 2.2551048, + 48.8452922 + ], + [ + 2.2554427, + 48.845339 + ], + [ + 2.2558813, + 48.8453751 + ], + [ + 2.2563145, + 48.8453778 + ], + [ + 2.2591898, + 48.8453072 + ], + [ + 2.2602305, + 48.8452827 + ], + [ + 2.2603064, + 48.8452808 + ], + [ + 2.261744, + 48.845247 + ], + [ + 2.261895, + 48.8452434 + ], + [ + 2.2657411, + 48.8451386 + ], + [ + 2.2660871, + 48.8451501 + ], + [ + 2.2663821, + 48.8451924 + ], + [ + 2.2666383, + 48.8452525 + ], + [ + 2.267172, + 48.845414 + ], + [ + 2.2700474, + 48.8462948 + ], + [ + 2.2707461, + 48.8464872 + ], + [ + 2.2717155, + 48.8468038 + ], + [ + 2.2725047, + 48.8470573 + ] + ] + }, + "id": "way/24380451" + }, + { + "type": "Feature", + "properties": { + "@id": "way/24380725", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 10", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "start_date": "1980", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.254753, + 48.8452229 + ], + [ + 2.2538453, + 48.8450209 + ], + [ + 2.253447, + 48.8449303 + ], + [ + 2.25236, + 48.8447073 + ], + [ + 2.2504171, + 48.8442981 + ], + [ + 2.2501722, + 48.8442441 + ], + [ + 2.2501288, + 48.8442343 + ], + [ + 2.250078, + 48.8442229 + ], + [ + 2.2499244, + 48.8441888 + ], + [ + 2.2498268, + 48.8441672 + ], + [ + 2.2467054, + 48.843475 + ], + [ + 2.2437774, + 48.8429556 + ], + [ + 2.2403949, + 48.8422989 + ] + ] + }, + "id": "way/24380725" + }, + { + "type": "Feature", + "properties": { + "@id": "way/24395322", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.365638, + 48.847571 + ], + [ + 2.3654793, + 48.847302 + ] + ] + }, + "id": "way/24395322" + }, + { + "type": "Feature", + "properties": { + "@id": "way/24395988", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 7", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750", + "wikidata": "Q50748", + "wikipedia": "fr:Ligne 7 du métro de Paris" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3670909, + 48.7863934 + ], + [ + 2.3673857, + 48.7869402 + ], + [ + 2.3681827, + 48.7885895 + ], + [ + 2.3684058, + 48.7889627 + ], + [ + 2.3695038, + 48.7910862 + ], + [ + 2.3696583, + 48.7916517 + ], + [ + 2.3694265, + 48.7925451 + ], + [ + 2.3690152, + 48.7941536 + ], + [ + 2.3685775, + 48.7954597 + ], + [ + 2.3683565, + 48.7961557 + ], + [ + 2.368011, + 48.7971389 + ], + [ + 2.3677034, + 48.7978691 + ], + [ + 2.3675845, + 48.7981449 + ], + [ + 2.3674265, + 48.7983891 + ], + [ + 2.367185, + 48.7986529 + ], + [ + 2.3669295, + 48.798869 + ], + [ + 2.3662174, + 48.7993577 + ], + [ + 2.365816, + 48.7996354 + ], + [ + 2.3657374, + 48.7996914 + ], + [ + 2.365663, + 48.7997466 + ], + [ + 2.3655274, + 48.7998578 + ], + [ + 2.3654453, + 48.7999474 + ], + [ + 2.3653742, + 48.8000496 + ], + [ + 2.3653023, + 48.8001894 + ], + [ + 2.3652306, + 48.8004144 + ], + [ + 2.3651523, + 48.8006721 + ], + [ + 2.3649427, + 48.8014342 + ], + [ + 2.3648692, + 48.8016759 + ], + [ + 2.3647567, + 48.8019757 + ], + [ + 2.3647447, + 48.80202 + ], + [ + 2.3646983, + 48.8021665 + ], + [ + 2.3646341, + 48.8023762 + ], + [ + 2.3637903, + 48.8051317 + ], + [ + 2.3631887, + 48.8071419 + ], + [ + 2.3630516, + 48.8076111 + ], + [ + 2.3628056, + 48.8084135 + ], + [ + 2.3623788, + 48.8097863 + ], + [ + 2.3622359, + 48.810328 + ], + [ + 2.3619025, + 48.8113813 + ], + [ + 2.3617625, + 48.8119217 + ], + [ + 2.3607607, + 48.8148346 + ], + [ + 2.3606559, + 48.8152277 + ], + [ + 2.3605952, + 48.8154146 + ], + [ + 2.3600551, + 48.8174935 + ], + [ + 2.359533, + 48.8190866 + ] + ] + }, + "id": "way/24395988" + }, + { + "type": "Feature", + "properties": { + "@id": "way/24397854", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 7bis", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3657982, + 48.8815943 + ], + [ + 2.3662743, + 48.8817221 + ], + [ + 2.3688153, + 48.8824021 + ], + [ + 2.369099, + 48.8824719 + ], + [ + 2.3693813, + 48.8825157 + ], + [ + 2.3696887, + 48.8825323 + ], + [ + 2.3699383, + 48.8825215 + ], + [ + 2.3701831, + 48.8824962 + ], + [ + 2.370463, + 48.8824267 + ], + [ + 2.3707307, + 48.8823269 + ], + [ + 2.3710498, + 48.8821884 + ], + [ + 2.3715501, + 48.8819661 + ], + [ + 2.3732868, + 48.8812015 + ], + [ + 2.3739077, + 48.8809263 + ], + [ + 2.3767804, + 48.8796607 + ], + [ + 2.3780062, + 48.8791174 + ], + [ + 2.378375, + 48.8789358 + ], + [ + 2.3790281, + 48.8785927 + ], + [ + 2.3794814, + 48.8783536 + ], + [ + 2.3796141, + 48.8782787 + ], + [ + 2.3797603, + 48.8782257 + ], + [ + 2.3798797, + 48.8781949 + ], + [ + 2.3800259, + 48.8781754 + ], + [ + 2.3802256, + 48.8781799 + ], + [ + 2.3804324, + 48.8782055 + ], + [ + 2.3807375, + 48.8782748 + ], + [ + 2.3812008, + 48.8783961 + ], + [ + 2.3816607, + 48.8785265 + ], + [ + 2.382004, + 48.8786271 + ], + [ + 2.3829903, + 48.8789511 + ], + [ + 2.383254, + 48.8790318 + ], + [ + 2.3835154, + 48.8790985 + ], + [ + 2.3838601, + 48.8791748 + ], + [ + 2.3842865, + 48.8792586 + ], + [ + 2.3849486, + 48.8793522 + ], + [ + 2.3853403, + 48.8793982 + ], + [ + 2.3858111, + 48.8794406 + ], + [ + 2.3862536, + 48.8794737 + ], + [ + 2.3869946, + 48.8794953 + ], + [ + 2.3876082, + 48.879512 + ], + [ + 2.3885871, + 48.879514 + ], + [ + 2.3892135, + 48.8795088 + ] + ] + }, + "id": "way/24397854" + }, + { + "type": "Feature", + "properties": { + "@id": "way/24397962", + "electrified": "rail", + "frequency": "0", + "layer": "-2", + "name": "Métro 3bis", + "operator": "RATP", + "railway": "subway", + "source": "archives;survey", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4044016, + 48.8717231 + ], + [ + 2.4043104, + 48.8715218 + ], + [ + 2.4027739, + 48.8697857 + ], + [ + 2.4013152, + 48.8680997 + ], + [ + 2.4010616, + 48.8677965 + ], + [ + 2.4004348, + 48.8671518 + ], + [ + 2.3998852, + 48.8665024 + ], + [ + 2.3995074, + 48.8660516 + ], + [ + 2.3989183, + 48.8653873 + ], + [ + 2.3987056, + 48.8652176 + ], + [ + 2.3986564, + 48.8651886 + ], + [ + 2.3985462, + 48.8651235 + ] + ] + }, + "id": "way/24397962" + }, + { + "type": "Feature", + "properties": { + "@id": "way/27408185", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 8", + "name:ru": "Линия 8", + "operator": "RATP", + "railway": "subway", + "source": "https://www.iledefrance-mobilites.fr/", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.406201, + 48.8264064 + ], + [ + 2.4027503, + 48.8286048 + ], + [ + 2.4010552, + 48.8297145 + ], + [ + 2.3993381, + 48.8308145 + ], + [ + 2.3989805, + 48.8310397 + ], + [ + 2.3988155, + 48.8311995 + ], + [ + 2.3987176, + 48.831361 + ], + [ + 2.3986627, + 48.8315446 + ], + [ + 2.3986627, + 48.8317212 + ], + [ + 2.3987378, + 48.831911 + ], + [ + 2.3988115, + 48.8320258 + ], + [ + 2.3988973, + 48.8321176 + ], + [ + 2.3990408, + 48.8322315 + ], + [ + 2.3992138, + 48.8323198 + ], + [ + 2.4003551, + 48.8327514 + ], + [ + 2.4017083, + 48.8332555 + ], + [ + 2.4033565, + 48.8338779 + ], + [ + 2.404467, + 48.834291 + ], + [ + 2.4047875, + 48.8344296 + ], + [ + 2.4060246, + 48.8351733 + ], + [ + 2.4061775, + 48.8352765 + ], + [ + 2.4062513, + 48.8353719 + ], + [ + 2.4062861, + 48.8354654 + ], + [ + 2.4062633, + 48.8355705 + ], + [ + 2.4061896, + 48.8356685 + ], + [ + 2.4060488, + 48.835755 + ], + [ + 2.4053889, + 48.8359933 + ], + [ + 2.4033773, + 48.8367436 + ], + [ + 2.4024586, + 48.8370694 + ], + [ + 2.3969574, + 48.8391226 + ], + [ + 2.3966007, + 48.839255 + ], + [ + 2.3963217, + 48.8393795 + ], + [ + 2.3959529, + 48.8395675 + ], + [ + 2.3955922, + 48.8397855 + ], + [ + 2.3952368, + 48.8400468 + ], + [ + 2.3945971, + 48.8405879 + ], + [ + 2.3937663, + 48.8412961 + ], + [ + 2.3926451, + 48.8422458 + ], + [ + 2.3923869, + 48.8424676 + ], + [ + 2.3921886, + 48.8426293 + ], + [ + 2.3921156, + 48.8426906 + ], + [ + 2.3911994, + 48.8434603 + ], + [ + 2.3901962, + 48.844304 + ], + [ + 2.3894257, + 48.8449549 + ], + [ + 2.3878352, + 48.8463052 + ], + [ + 2.3874503, + 48.8466759 + ], + [ + 2.3872947, + 48.8468427 + ], + [ + 2.387048, + 48.8471031 + ], + [ + 2.3868105, + 48.8473535 + ], + [ + 2.3867999, + 48.8473669 + ], + [ + 2.3859556, + 48.8484476 + ], + [ + 2.3851, + 48.849571 + ], + [ + 2.3848774, + 48.8498534 + ], + [ + 2.3847332, + 48.8499633 + ], + [ + 2.3846018, + 48.85004 + ], + [ + 2.3844516, + 48.8501027 + ], + [ + 2.3842222, + 48.8501609 + ], + [ + 2.383895, + 48.8501998 + ], + [ + 2.3830796, + 48.8502721 + ], + [ + 2.3818297, + 48.8503886 + ], + [ + 2.3813442, + 48.8504274 + ], + [ + 2.3808051, + 48.8504407 + ], + [ + 2.3803089, + 48.8504592 + ], + [ + 2.3799736, + 48.8504857 + ], + [ + 2.379574, + 48.8505369 + ], + [ + 2.3786272, + 48.8507178 + ], + [ + 2.377911, + 48.8508749 + ], + [ + 2.3770581, + 48.8510637 + ], + [ + 2.3760274, + 48.8512945 + ], + [ + 2.3737757, + 48.8518636 + ], + [ + 2.3721463, + 48.8523393 + ], + [ + 2.3717922, + 48.8524743 + ], + [ + 2.3715441, + 48.8525881 + ], + [ + 2.3713054, + 48.8526923 + ], + [ + 2.3710171, + 48.8528317 + ], + [ + 2.3707596, + 48.852972 + ], + [ + 2.3705485, + 48.8530654 + ], + [ + 2.3701997, + 48.8531913 + ], + [ + 2.3698275, + 48.8532989 + ], + [ + 2.3696069, + 48.8533889 + ], + [ + 2.3693957, + 48.8535147 + ], + [ + 2.3691871, + 48.8536788 + ], + [ + 2.3690456, + 48.8538469 + ], + [ + 2.3689789, + 48.8539548 + ], + [ + 2.3689203, + 48.8540968 + ], + [ + 2.3681408, + 48.8574434 + ], + [ + 2.367234, + 48.8611816 + ], + [ + 2.3668885, + 48.8625724 + ], + [ + 2.3667595, + 48.8631092 + ], + [ + 2.3666323, + 48.8633194 + ], + [ + 2.365435, + 48.8653371 + ], + [ + 2.3653906, + 48.8654083 + ] + ] + }, + "id": "way/27408185" + }, + { + "type": "Feature", + "properties": { + "@id": "way/28660069", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "30", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "start_date": "1911-02-26", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3257537, + 48.8871746 + ], + [ + 2.3257025, + 48.8873384 + ], + [ + 2.3256756, + 48.8874941 + ], + [ + 2.3256859, + 48.8876419 + ], + [ + 2.3257233, + 48.8878041 + ] + ] + }, + "id": "way/28660069" + }, + { + "type": "Feature", + "properties": { + "@id": "way/30097441", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3230125, + 48.8751252 + ], + [ + 2.322138, + 48.875095 + ], + [ + 2.3215109, + 48.8750522 + ], + [ + 2.3197943, + 48.8748609 + ], + [ + 2.3194911, + 48.8748388 + ], + [ + 2.319208, + 48.874842 + ], + [ + 2.3185934, + 48.8748863 + ], + [ + 2.3172957, + 48.8750655 + ], + [ + 2.3168119, + 48.8751447 + ], + [ + 2.3165266, + 48.8752065 + ], + [ + 2.3163084, + 48.8752747 + ], + [ + 2.3159458, + 48.8753342 + ], + [ + 2.3156282, + 48.8753499 + ], + [ + 2.3153502, + 48.8753257 + ], + [ + 2.3150686, + 48.8752622 + ], + [ + 2.3148286, + 48.8751522 + ], + [ + 2.3146256, + 48.874988 + ], + [ + 2.3144702, + 48.874825 + ], + [ + 2.3143579, + 48.8746396 + ], + [ + 2.3143033, + 48.8745066 + ], + [ + 2.3142633, + 48.8743412 + ], + [ + 2.314292, + 48.8741444 + ], + [ + 2.3143312, + 48.8739856 + ], + [ + 2.3144208, + 48.8737706 + ], + [ + 2.3145761, + 48.8733435 + ], + [ + 2.3146459, + 48.8730629 + ], + [ + 2.3146722, + 48.8728853 + ], + [ + 2.3146907, + 48.8727175 + ], + [ + 2.3146844, + 48.8726249 + ], + [ + 2.3146668, + 48.8725509 + ], + [ + 2.3146183, + 48.872465 + ], + [ + 2.3145636, + 48.872381 + ], + [ + 2.3139584, + 48.8715377 + ], + [ + 2.3136298, + 48.8711716 + ], + [ + 2.3133428, + 48.8708461 + ], + [ + 2.3131805, + 48.8706238 + ], + [ + 2.3131215, + 48.870405 + ], + [ + 2.3131121, + 48.8702427 + ], + [ + 2.3131255, + 48.8700751 + ], + [ + 2.3131644, + 48.8698687 + ], + [ + 2.3132315, + 48.8696772 + ], + [ + 2.3134434, + 48.8691824 + ], + [ + 2.3137451, + 48.8685005 + ], + [ + 2.3138015, + 48.8683778 + ], + [ + 2.3138247, + 48.8682945 + ], + [ + 2.3138403, + 48.8681987 + ], + [ + 2.3138793, + 48.8670025 + ], + [ + 2.3139874, + 48.8662288 + ], + [ + 2.3141005, + 48.8655765 + ], + [ + 2.314201, + 48.8651644 + ], + [ + 2.3143398, + 48.8645252 + ], + [ + 2.3144535, + 48.8640615 + ], + [ + 2.3145144, + 48.8623763 + ], + [ + 2.3145909, + 48.8620879 + ], + [ + 2.3146564, + 48.8618176 + ], + [ + 2.3146927, + 48.8616077 + ], + [ + 2.3147088, + 48.8614722 + ], + [ + 2.3146989, + 48.8613071 + ], + [ + 2.3146521, + 48.8609041 + ], + [ + 2.3145988, + 48.8606476 + ], + [ + 2.3145637, + 48.8603652 + ], + [ + 2.314484, + 48.859683 + ], + [ + 2.3144755, + 48.8596161 + ], + [ + 2.3144654, + 48.8595133 + ], + [ + 2.3144804, + 48.8594002 + ], + [ + 2.3144968, + 48.8593578 + ], + [ + 2.3145313, + 48.8592685 + ], + [ + 2.3146167, + 48.8589854 + ], + [ + 2.3146606, + 48.8587701 + ], + [ + 2.3147538, + 48.8583601 + ], + [ + 2.3148065, + 48.857857 + ], + [ + 2.3149541, + 48.8574322 + ], + [ + 2.315042, + 48.8572225 + ], + [ + 2.3150719, + 48.8570457 + ] + ] + }, + "id": "way/30097441" + }, + { + "type": "Feature", + "properties": { + "@id": "way/30835560", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3668529, + 48.8429713 + ], + [ + 2.3665161, + 48.8427733 + ], + [ + 2.3664053, + 48.8427155 + ], + [ + 2.3662922, + 48.8426653 + ], + [ + 2.3660883, + 48.8425829 + ] + ] + }, + "id": "way/30835560" + }, + { + "type": "Feature", + "properties": { + "@id": "way/31739553", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3603455, + 48.8323863 + ], + [ + 2.3590006, + 48.831941 + ] + ] + }, + "id": "way/31739553" + }, + { + "type": "Feature", + "properties": { + "@id": "way/31751763", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "voltage": "750", + "wikidata": "Q3396422", + "wikipedia": "fr:Pont-métro Morland" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.365498, + 48.847056 + ], + [ + 2.3655159, + 48.8469942 + ], + [ + 2.3655401, + 48.8469274 + ], + [ + 2.3655749, + 48.8468451 + ], + [ + 2.3656201, + 48.8467544 + ] + ] + }, + "id": "way/31751763" + }, + { + "type": "Feature", + "properties": { + "@id": "way/32517428", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "ref": "2", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.278372, + 48.8711774 + ], + [ + 2.278277, + 48.8712252 + ], + [ + 2.2782099, + 48.8712703 + ], + [ + 2.2772541, + 48.8719542 + ], + [ + 2.2771066, + 48.8720226 + ], + [ + 2.2769488, + 48.8720451 + ], + [ + 2.2768517, + 48.8720422 + ], + [ + 2.2767454, + 48.8720272 + ], + [ + 2.2766479, + 48.8720014 + ], + [ + 2.2765525, + 48.8719622 + ], + [ + 2.276499, + 48.8719306 + ], + [ + 2.2764557, + 48.871887 + ], + [ + 2.2764328, + 48.871825 + ], + [ + 2.2764312, + 48.8717436 + ], + [ + 2.2764604, + 48.8716743 + ], + [ + 2.2765332, + 48.8715989 + ], + [ + 2.2766649, + 48.8715463 + ], + [ + 2.2768308, + 48.871508 + ], + [ + 2.278372, + 48.8711774 + ] + ] + }, + "id": "way/32517428" + }, + { + "type": "Feature", + "properties": { + "@id": "way/39487229", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 7", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3839963, + 48.8109896 + ], + [ + 2.3835189, + 48.8113421 + ], + [ + 2.3773455, + 48.8159011 + ], + [ + 2.3743186, + 48.8190029 + ], + [ + 2.3723156, + 48.8200805 + ], + [ + 2.3699632, + 48.8213334 + ], + [ + 2.3693838, + 48.8216341 + ], + [ + 2.3692746, + 48.8216532 + ], + [ + 2.3647858, + 48.8201241 + ], + [ + 2.3621469, + 48.819316 + ], + [ + 2.359533, + 48.8190866 + ] + ] + }, + "id": "way/39487229" + }, + { + "type": "Feature", + "properties": { + "@id": "way/49482893", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Métro 10", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2782955, + 48.8461368 + ], + [ + 2.2822649, + 48.8463441 + ], + [ + 2.2858721, + 48.8465046 + ], + [ + 2.2920696, + 48.8468375 + ], + [ + 2.2953111, + 48.8469916 + ], + [ + 2.2955391, + 48.8470299 + ], + [ + 2.2957228, + 48.8470794 + ], + [ + 2.2958408, + 48.8471279 + ], + [ + 2.2959884, + 48.8472091 + ], + [ + 2.2961104, + 48.8473026 + ], + [ + 2.2969162, + 48.8481654 + ], + [ + 2.2980962, + 48.849207 + ], + [ + 2.2992781, + 48.8500209 + ], + [ + 2.3003821, + 48.8507812 + ], + [ + 2.3005307, + 48.8508706 + ], + [ + 2.3007359, + 48.8509253 + ], + [ + 2.3008995, + 48.8509483 + ], + [ + 2.3011248, + 48.8509386 + ], + [ + 2.3013367, + 48.8508953 + ], + [ + 2.3015244, + 48.8508115 + ], + [ + 2.3018852, + 48.8505785 + ], + [ + 2.3045312, + 48.8488956 + ], + [ + 2.3074817, + 48.8469898 + ], + [ + 2.3091044, + 48.8459841 + ], + [ + 2.3093216, + 48.8458553 + ], + [ + 2.3095483, + 48.8457599 + ], + [ + 2.3097602, + 48.8456902 + ], + [ + 2.3106547, + 48.8454246 + ], + [ + 2.3109162, + 48.8453628 + ], + [ + 2.3111871, + 48.845331 + ], + [ + 2.3114285, + 48.8453275 + ], + [ + 2.3116833, + 48.8453504 + ], + [ + 2.3119891, + 48.8454104 + ], + [ + 2.3123123, + 48.8455058 + ], + [ + 2.3140237, + 48.8460307 + ], + [ + 2.3159725, + 48.8466285 + ], + [ + 2.315995, + 48.8466354 + ], + [ + 2.3166277, + 48.8468322 + ], + [ + 2.316776, + 48.8469052 + ], + [ + 2.3174396, + 48.8471485 + ], + [ + 2.31837, + 48.8474897 + ], + [ + 2.3193705, + 48.8478904 + ], + [ + 2.3200612, + 48.8481755 + ], + [ + 2.3211716, + 48.848769 + ], + [ + 2.3218798, + 48.8491211 + ], + [ + 2.3231216, + 48.849749 + ], + [ + 2.323772, + 48.8500684 + ], + [ + 2.3240412, + 48.8501839 + ], + [ + 2.3245919, + 48.8504188 + ], + [ + 2.3258213, + 48.850934 + ], + [ + 2.3268989, + 48.8514707 + ], + [ + 2.3273358, + 48.8516134 + ], + [ + 2.3277559, + 48.8516862 + ], + [ + 2.3283712, + 48.8518043 + ], + [ + 2.3287851, + 48.8519013 + ], + [ + 2.329984, + 48.852114 + ], + [ + 2.3308952, + 48.8522762 + ], + [ + 2.3317198, + 48.8524225 + ], + [ + 2.3319308, + 48.8524605 + ], + [ + 2.3319447, + 48.8524626 + ], + [ + 2.3328258, + 48.8526179 + ], + [ + 2.3332349, + 48.8526699 + ], + [ + 2.3335862, + 48.852685 + ], + [ + 2.3344137, + 48.852797 + ], + [ + 2.3349843, + 48.8529025 + ], + [ + 2.3355013, + 48.8530159 + ], + [ + 2.3358165, + 48.8530582 + ], + [ + 2.336129, + 48.8530468 + ], + [ + 2.336365, + 48.8530026 + ], + [ + 2.3367378, + 48.8529029 + ], + [ + 2.3373386, + 48.8527361 + ], + [ + 2.3380038, + 48.8525711 + ], + [ + 2.3393289, + 48.8522212 + ], + [ + 2.3406351, + 48.8519287 + ], + [ + 2.343497, + 48.8512965 + ], + [ + 2.3442097, + 48.8511065 + ], + [ + 2.3483706, + 48.8501068 + ], + [ + 2.3488869, + 48.8500023 + ], + [ + 2.3489673, + 48.849974 + ], + [ + 2.3490318, + 48.8499378 + ], + [ + 2.3490934, + 48.8498893 + ], + [ + 2.3491376, + 48.8498425 + ], + [ + 2.3494327, + 48.849456 + ], + [ + 2.3516224, + 48.8466581 + ], + [ + 2.351764, + 48.8465067 + ], + [ + 2.3519684, + 48.8463946 + ], + [ + 2.3524713, + 48.8461172 + ], + [ + 2.3525532, + 48.8460756 + ], + [ + 2.3526108, + 48.8460447 + ], + [ + 2.3527134, + 48.8459873 + ], + [ + 2.3528562, + 48.8459242 + ], + [ + 2.352987, + 48.8458796 + ], + [ + 2.3531077, + 48.8458496 + ], + [ + 2.3532183, + 48.8458315 + ], + [ + 2.3533833, + 48.845817 + ], + [ + 2.3535194, + 48.8458187 + ], + [ + 2.3536408, + 48.8458285 + ], + [ + 2.3537749, + 48.845851 + ], + [ + 2.353915, + 48.8458827 + ], + [ + 2.3540237, + 48.8459202 + ], + [ + 2.354131, + 48.8459675 + ], + [ + 2.3542939, + 48.8460394 + ], + [ + 2.3544361, + 48.8460893 + ], + [ + 2.3546426, + 48.8461338 + ], + [ + 2.3547888, + 48.8461484 + ], + [ + 2.3550174, + 48.8461524 + ], + [ + 2.3552662, + 48.8461525 + ], + [ + 2.3554602, + 48.8461543 + ] + ] + }, + "id": "way/49482893" + }, + { + "type": "Feature", + "properties": { + "@id": "way/49483041", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 10", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2725047, + 48.8470573 + ], + [ + 2.2720479, + 48.8469366 + ], + [ + 2.2717151, + 48.8468259 + ], + [ + 2.2711001, + 48.8466213 + ], + [ + 2.2707823, + 48.8465737 + ], + [ + 2.2706388, + 48.8465807 + ], + [ + 2.2704685, + 48.8465922 + ], + [ + 2.2702458, + 48.8466152 + ], + [ + 2.2700179, + 48.8466769 + ], + [ + 2.2698797, + 48.8467263 + ], + [ + 2.2686929, + 48.8473406 + ], + [ + 2.2684944, + 48.8474324 + ], + [ + 2.2682637, + 48.8475012 + ], + [ + 2.2680706, + 48.8475454 + ], + [ + 2.2678721, + 48.8475577 + ], + [ + 2.2670835, + 48.8474977 + ], + [ + 2.2668233, + 48.8475065 + ], + [ + 2.2664478, + 48.8475524 + ], + [ + 2.2655842, + 48.8477236 + ], + [ + 2.2650437, + 48.8478675 + ], + [ + 2.2648922, + 48.8479293 + ], + [ + 2.2645837, + 48.8480272 + ], + [ + 2.2643168, + 48.8480722 + ], + [ + 2.2641586, + 48.8480722 + ], + [ + 2.2638975, + 48.8480557 + ], + [ + 2.2628765, + 48.847991 + ], + [ + 2.2628067, + 48.8479857 + ], + [ + 2.2617205, + 48.8479239 + ], + [ + 2.2605336, + 48.847916 + ], + [ + 2.2599649, + 48.8479345 + ], + [ + 2.2593936, + 48.8480008 + ], + [ + 2.25877, + 48.8480669 + ], + [ + 2.2582845, + 48.8481181 + ], + [ + 2.2579493, + 48.8481552 + ], + [ + 2.257795, + 48.8481552 + ], + [ + 2.2576059, + 48.8481314 + ], + [ + 2.2573981, + 48.8480625 + ], + [ + 2.2572291, + 48.8479955 + ], + [ + 2.2570494, + 48.8478101 + ], + [ + 2.2569475, + 48.8476636 + ], + [ + 2.2569155, + 48.8476033 + ], + [ + 2.2568553, + 48.8474897 + ], + [ + 2.256639, + 48.8470812 + ], + [ + 2.2564124, + 48.8466434 + ], + [ + 2.2561629, + 48.8460609 + ], + [ + 2.2560449, + 48.8457979 + ], + [ + 2.255892, + 48.8456055 + ], + [ + 2.2556318, + 48.8454449 + ], + [ + 2.2554119, + 48.8453725 + ], + [ + 2.254753, + 48.8452229 + ] + ] + }, + "id": "way/49483041" + }, + { + "type": "Feature", + "properties": { + "@id": "way/49992529", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3921525, + 48.8576817 + ], + [ + 2.3924727, + 48.8575433 + ], + [ + 2.3938352, + 48.856818 + ], + [ + 2.3943442, + 48.8565295 + ], + [ + 2.3943688, + 48.8564937 + ], + [ + 2.3944977, + 48.8563062 + ], + [ + 2.3969888, + 48.8532085 + ], + [ + 2.3981414, + 48.8515482 + ], + [ + 2.3981859, + 48.8514841 + ], + [ + 2.3984157, + 48.851335 + ] + ] + }, + "id": "way/49992529" + }, + { + "type": "Feature", + "properties": { + "@id": "way/49993490", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750", + "wikidata": "Q50748", + "wikipedia": "cs:7 (linka metra v Paříži)" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3569064, + 48.8459485 + ], + [ + 2.3570995, + 48.8459661 + ], + [ + 2.3572738, + 48.84599 + ], + [ + 2.357418, + 48.8460169 + ], + [ + 2.3576098, + 48.8460513 + ], + [ + 2.3578069, + 48.8460866 + ], + [ + 2.3580282, + 48.8461413 + ], + [ + 2.35822, + 48.8461969 + ], + [ + 2.3584614, + 48.8462825 + ], + [ + 2.3586961, + 48.846377 + ], + [ + 2.3590166, + 48.8465517 + ], + [ + 2.3593357, + 48.8467525 + ], + [ + 2.3595074, + 48.8468606 + ], + [ + 2.3602089, + 48.8473027 + ], + [ + 2.3606005, + 48.8475587 + ], + [ + 2.3611128, + 48.8478878 + ], + [ + 2.3619469, + 48.8484271 + ], + [ + 2.3630131, + 48.8491154 + ], + [ + 2.3633967, + 48.8493652 + ], + [ + 2.3634972, + 48.8494958 + ], + [ + 2.3635576, + 48.8496661 + ], + [ + 2.3635415, + 48.8498444 + ], + [ + 2.3634302, + 48.8500292 + ], + [ + 2.3618174, + 48.8513954 + ], + [ + 2.3611651, + 48.8519182 + ], + [ + 2.3607339, + 48.852209 + ], + [ + 2.360243, + 48.852441 + ], + [ + 2.3593579, + 48.8527711 + ], + [ + 2.3565905, + 48.8537872 + ], + [ + 2.3539465, + 48.8547985 + ], + [ + 2.3513086, + 48.8558362 + ], + [ + 2.3507047, + 48.8560699 + ], + [ + 2.3493807, + 48.8565823 + ], + [ + 2.348861, + 48.8567303 + ], + [ + 2.3483592, + 48.8568781 + ], + [ + 2.3472045, + 48.8571954 + ], + [ + 2.3449858, + 48.8577988 + ], + [ + 2.3426253, + 48.8585017 + ], + [ + 2.3424804, + 48.8585423 + ], + [ + 2.3422229, + 48.8585988 + ], + [ + 2.3418394, + 48.8586746 + ] + ] + }, + "id": "way/49993490" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109076650", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3809782, + 48.9029184 + ], + [ + 2.3812437, + 48.9027509 + ], + [ + 2.3814529, + 48.902557 + ], + [ + 2.3826492, + 48.9012716 + ], + [ + 2.382786, + 48.90109 + ], + [ + 2.3828968, + 48.9009958 + ], + [ + 2.3830279, + 48.900926 + ], + [ + 2.3832071, + 48.9008643 + ] + ] + }, + "id": "way/109076650" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109076651", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3834136, + 48.9008643 + ], + [ + 2.3829389, + 48.9011993 + ], + [ + 2.3826733, + 48.9014109 + ], + [ + 2.3820484, + 48.9020791 + ], + [ + 2.3817319, + 48.9023983 + ], + [ + 2.381461, + 48.9026257 + ], + [ + 2.3812732, + 48.9027703 + ], + [ + 2.3811713, + 48.9028302 + ], + [ + 2.3809782, + 48.9029184 + ], + [ + 2.3806617, + 48.9030453 + ], + [ + 2.380203, + 48.9032234 + ], + [ + 2.3800099, + 48.9033045 + ], + [ + 2.3798892, + 48.9033821 + ], + [ + 2.3797631, + 48.9035037 + ], + [ + 2.3791577, + 48.9044746 + ] + ] + }, + "id": "way/109076651" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109076662", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3827377, + 48.9019927 + ], + [ + 2.3821771, + 48.9024459 + ], + [ + 2.3820189, + 48.902557 + ], + [ + 2.3818231, + 48.9026469 + ], + [ + 2.3815613, + 48.9027472 + ], + [ + 2.3813242, + 48.9028461 + ] + ] + }, + "id": "way/109076662" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109076669", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3849787, + 48.9004357 + ], + [ + 2.3845777, + 48.9005814 + ], + [ + 2.3845035, + 48.9006213 + ], + [ + 2.3844237, + 48.9007039 + ], + [ + 2.3843777, + 48.9007976 + ], + [ + 2.384347, + 48.9009049 + ], + [ + 2.3843041, + 48.9010847 + ], + [ + 2.3842585, + 48.9012434 + ], + [ + 2.3842183, + 48.901358 + ], + [ + 2.3841673, + 48.9014497 + ], + [ + 2.3841019, + 48.901502 + ], + [ + 2.3834017, + 48.9020769 + ], + [ + 2.3832125, + 48.902229 + ], + [ + 2.3830757, + 48.9023242 + ], + [ + 2.3829469, + 48.9023789 + ], + [ + 2.3824266, + 48.9025957 + ], + [ + 2.3823251, + 48.9026437 + ], + [ + 2.3822469, + 48.902698 + ], + [ + 2.3816058, + 48.9032199 + ] + ] + }, + "id": "way/109076669" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109076693", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.384347, + 48.9009049 + ], + [ + 2.3842558, + 48.9010671 + ], + [ + 2.3841539, + 48.9012258 + ], + [ + 2.3840681, + 48.9013157 + ], + [ + 2.3839429, + 48.9014175 + ], + [ + 2.3832341, + 48.901995 + ], + [ + 2.3828289, + 48.9023242 + ], + [ + 2.3827431, + 48.9023771 + ], + [ + 2.3826277, + 48.902423 + ], + [ + 2.3824534, + 48.9024741 + ], + [ + 2.3821181, + 48.9025711 + ] + ] + }, + "id": "way/109076693" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109076694", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3813242, + 48.9028461 + ], + [ + 2.3815307, + 48.9027086 + ], + [ + 2.3820779, + 48.9022625 + ], + [ + 2.3835585, + 48.9010583 + ], + [ + 2.3837677, + 48.900889 + ], + [ + 2.3840439, + 48.9007356 + ], + [ + 2.384247, + 48.9006536 + ], + [ + 2.3844597, + 48.9005946 + ] + ] + }, + "id": "way/109076694" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077696", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3834136, + 48.9008643 + ], + [ + 2.3830515, + 48.9010706 + ], + [ + 2.3828155, + 48.9012293 + ], + [ + 2.3826197, + 48.9013968 + ], + [ + 2.381461, + 48.9026257 + ], + [ + 2.3812762, + 48.9028217 + ], + [ + 2.3812108, + 48.9028912 + ], + [ + 2.3811552, + 48.9029501 + ] + ] + }, + "id": "way/109077696" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077697", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3801226, + 48.9031617 + ], + [ + 2.3802486, + 48.9030207 + ], + [ + 2.3803559, + 48.902862 + ], + [ + 2.3808226, + 48.9021074 + ], + [ + 2.3809165, + 48.9019293 + ], + [ + 2.3813215, + 48.9012575 + ], + [ + 2.3813966, + 48.90115 + ], + [ + 2.3815146, + 48.9010653 + ], + [ + 2.3816675, + 48.9010036 + ], + [ + 2.3818579, + 48.9009666 + ], + [ + 2.3821235, + 48.9009542 + ], + [ + 2.3824588, + 48.9009419 + ], + [ + 2.3827592, + 48.9009278 + ] + ] + }, + "id": "way/109077697" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077698", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3811847, + 48.9016683 + ], + [ + 2.3814878, + 48.9011676 + ], + [ + 2.3815978, + 48.9010812 + ], + [ + 2.3817694, + 48.9010107 + ], + [ + 2.3821235, + 48.9009542 + ] + ] + }, + "id": "way/109077698" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077699", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3839098, + 48.9007638 + ], + [ + 2.3837194, + 48.9008308 + ], + [ + 2.3833761, + 48.9009772 + ], + [ + 2.3832473, + 48.9010495 + ], + [ + 2.3826841, + 48.9015061 + ], + [ + 2.3824105, + 48.9017953 + ], + [ + 2.3820484, + 48.9021497 + ] + ] + }, + "id": "way/109077699" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077700", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3812142, + 48.9011447 + ], + [ + 2.3812732, + 48.9010336 + ], + [ + 2.3813456, + 48.9009454 + ] + ] + }, + "id": "way/109077700" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077701", + "gauge": "1435", + "layer": "-1", + "railway": "subway", + "service": "yard", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3859563, + 48.9000304 + ], + [ + 2.3858623, + 48.900105 + ], + [ + 2.385715, + 48.900182 + ] + ] + }, + "id": "way/109077701" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077703", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3835907, + 48.9009454 + ], + [ + 2.3834297, + 48.9010389 + ], + [ + 2.3833117, + 48.9011165 + ], + [ + 2.3820484, + 48.9021497 + ], + [ + 2.3817319, + 48.9023983 + ] + ] + }, + "id": "way/109077703" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077704", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3798436, + 48.9033609 + ], + [ + 2.3801226, + 48.9031617 + ], + [ + 2.3802808, + 48.9030489 + ], + [ + 2.38038, + 48.902929 + ], + [ + 2.3806885, + 48.90246 + ], + [ + 2.3808816, + 48.9022272 + ], + [ + 2.3818419, + 48.9011905 + ], + [ + 2.3819518, + 48.9010953 + ], + [ + 2.382094, + 48.9010212 + ], + [ + 2.3822603, + 48.9009754 + ], + [ + 2.3824588, + 48.9009419 + ] + ] + }, + "id": "way/109077704" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077705", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3805544, + 48.9030453 + ], + [ + 2.38071, + 48.9029484 + ], + [ + 2.3808038, + 48.9028726 + ], + [ + 2.3809111, + 48.9027491 + ], + [ + 2.3810131, + 48.9026275 + ], + [ + 2.3812035, + 48.9023648 + ], + [ + 2.3813296, + 48.9021867 + ], + [ + 2.3821235, + 48.901328 + ], + [ + 2.3822791, + 48.9011764 + ], + [ + 2.3824427, + 48.9010706 + ], + [ + 2.3826948, + 48.9009736 + ] + ] + }, + "id": "way/109077705" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077706", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3809111, + 48.9027491 + ], + [ + 2.3810318, + 48.9025217 + ], + [ + 2.3812598, + 48.9022043 + ], + [ + 2.3821771, + 48.9011923 + ], + [ + 2.3823032, + 48.9010882 + ], + [ + 2.3824722, + 48.9010212 + ], + [ + 2.3826948, + 48.9009736 + ], + [ + 2.3830006, + 48.9009084 + ] + ] + }, + "id": "way/109077706" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077708", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3814422, + 48.9010107 + ], + [ + 2.3818292, + 48.9009187 + ], + [ + 2.3820296, + 48.9008943 + ] + ] + }, + "id": "way/109077708" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077709", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3809728, + 48.9029607 + ], + [ + 2.3812762, + 48.9028217 + ], + [ + 2.3814261, + 48.902735 + ], + [ + 2.3816031, + 48.9026046 + ], + [ + 2.383537, + 48.9010283 + ], + [ + 2.3837677, + 48.900889 + ] + ] + }, + "id": "way/109077709" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077712", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3816031, + 48.9026046 + ], + [ + 2.3817828, + 48.9024088 + ], + [ + 2.3820859, + 48.9021602 + ], + [ + 2.3827136, + 48.9016613 + ], + [ + 2.3835907, + 48.9009454 + ], + [ + 2.3839098, + 48.9007638 + ], + [ + 2.3840619, + 48.900705 + ], + [ + 2.384247, + 48.9006536 + ] + ] + }, + "id": "way/109077712" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077713", + "bridge": "yes", + "gauge": "1435", + "layer": "1", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3836899, + 48.9007092 + ], + [ + 2.3834136, + 48.9008643 + ] + ] + }, + "id": "way/109077713" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109077714", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3837293, + 48.900753 + ], + [ + 2.3833797, + 48.9008021 + ], + [ + 2.383081, + 48.9008114 + ], + [ + 2.3816487, + 48.9008238 + ], + [ + 2.3815146, + 48.9008502 + ], + [ + 2.3814261, + 48.9008908 + ], + [ + 2.3813456, + 48.9009454 + ], + [ + 2.3812303, + 48.9010318 + ], + [ + 2.3811552, + 48.9011217 + ], + [ + 2.3807314, + 48.9018059 + ], + [ + 2.3806188, + 48.902058 + ], + [ + 2.3801333, + 48.9028302 + ], + [ + 2.3797202, + 48.9034773 + ], + [ + 2.3790443, + 48.9045513 + ] + ] + }, + "id": "way/109077714" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109078679", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3824534, + 48.9024741 + ], + [ + 2.3826412, + 48.9023895 + ], + [ + 2.3827779, + 48.9023013 + ], + [ + 2.3831918, + 48.9019729 + ], + [ + 2.3838988, + 48.9013927 + ], + [ + 2.3840266, + 48.9012846 + ], + [ + 2.3842558, + 48.9010671 + ] + ] + }, + "id": "way/109078679" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109078680", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.382786, + 48.90109 + ], + [ + 2.3825956, + 48.9012716 + ], + [ + 2.3813456, + 48.9026116 + ], + [ + 2.3811793, + 48.9027491 + ], + [ + 2.3810747, + 48.9028144 + ], + [ + 2.3809433, + 48.9028708 + ], + [ + 2.3807636, + 48.9029519 + ], + [ + 2.3805544, + 48.9030453 + ], + [ + 2.3802513, + 48.9031599 + ], + [ + 2.3800609, + 48.903234 + ], + [ + 2.3798436, + 48.9033609 + ], + [ + 2.3797202, + 48.9034773 + ] + ] + }, + "id": "way/109078680" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109078681", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3826814, + 48.9019557 + ], + [ + 2.3822147, + 48.9023542 + ] + ] + }, + "id": "way/109078681" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109078682", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3832994, + 48.9020682 + ], + [ + 2.3833339, + 48.9020387 + ], + [ + 2.3840348, + 48.9014663 + ], + [ + 2.3841727, + 48.901351 + ], + [ + 2.3842585, + 48.9012434 + ] + ] + }, + "id": "way/109078682" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109078683", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3824105, + 48.9017953 + ], + [ + 2.3832715, + 48.90109 + ], + [ + 2.3834002, + 48.9010071 + ], + [ + 2.3837194, + 48.9008308 + ] + ] + }, + "id": "way/109078683" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109078685", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3833573, + 48.9019628 + ], + [ + 2.3839934, + 48.9014443 + ], + [ + 2.3841056, + 48.9013474 + ], + [ + 2.3841968, + 48.901261 + ], + [ + 2.3843041, + 48.9010847 + ] + ] + }, + "id": "way/109078685" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109078686", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3809433, + 48.9028708 + ], + [ + 2.3811177, + 48.9027527 + ], + [ + 2.3814288, + 48.902467 + ], + [ + 2.3820672, + 48.9017724 + ], + [ + 2.3827028, + 48.9010971 + ] + ] + }, + "id": "way/109078686" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109078688", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3830279, + 48.900926 + ], + [ + 2.3828021, + 48.9010195 + ], + [ + 2.3827028, + 48.9010971 + ], + [ + 2.3825097, + 48.9012416 + ], + [ + 2.3813403, + 48.9025041 + ], + [ + 2.3810376, + 48.9027577 + ], + [ + 2.3807636, + 48.9029519 + ] + ] + }, + "id": "way/109078688" + }, + { + "type": "Feature", + "properties": { + "@id": "way/109078690", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3836407, + 48.9012565 + ], + [ + 2.3837435, + 48.9011552 + ], + [ + 2.3837942, + 48.9010866 + ] + ] + }, + "id": "way/109078690" + }, + { + "type": "Feature", + "properties": { + "@id": "way/114120357", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 3", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3428652, + 48.8683175 + ], + [ + 2.3418685, + 48.8685469 + ], + [ + 2.3413537, + 48.8686539 + ], + [ + 2.3408886, + 48.8687478 + ] + ] + }, + "id": "way/114120357" + }, + { + "type": "Feature", + "properties": { + "@id": "way/114120358", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 3", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3286811, + 48.8728599 + ], + [ + 2.3286325, + 48.8728874 + ], + [ + 2.3280241, + 48.8732217 + ], + [ + 2.3275724, + 48.8734974 + ], + [ + 2.3273189, + 48.8736792 + ], + [ + 2.3272143, + 48.8737497 + ], + [ + 2.3270909, + 48.8737903 + ], + [ + 2.3268629, + 48.8738256 + ], + [ + 2.3261213, + 48.8739367 + ], + [ + 2.3259657, + 48.8740029 + ], + [ + 2.3258075, + 48.8741016 + ], + [ + 2.324803, + 48.874841 + ], + [ + 2.3244195, + 48.8751129 + ], + [ + 2.3242969, + 48.8752102 + ], + [ + 2.324186, + 48.8753114 + ], + [ + 2.3240507, + 48.8754522 + ], + [ + 2.3239594, + 48.8756064 + ], + [ + 2.323891, + 48.8757273 + ], + [ + 2.3229643, + 48.877456 + ], + [ + 2.3227752, + 48.8778229 + ], + [ + 2.3222643, + 48.8787676 + ], + [ + 2.3219659, + 48.8793378 + ], + [ + 2.3218438, + 48.8794639 + ], + [ + 2.3216869, + 48.8795627 + ], + [ + 2.3213919, + 48.8796606 + ], + [ + 2.3182981, + 48.8806708 + ], + [ + 2.3171701, + 48.8810391 + ], + [ + 2.3167932, + 48.8811502 + ], + [ + 2.3164539, + 48.8812049 + ], + [ + 2.3161415, + 48.8812261 + ], + [ + 2.3158022, + 48.8812164 + ], + [ + 2.3154253, + 48.881182 + ], + [ + 2.314913, + 48.881121 + ], + [ + 2.3137369, + 48.8809809 + ], + [ + 2.312965, + 48.8808916 + ], + [ + 2.3128289, + 48.8808856 + ], + [ + 2.3127203, + 48.8808962 + ], + [ + 2.3125822, + 48.8809253 + ], + [ + 2.3124615, + 48.8809668 + ], + [ + 2.3123555, + 48.8810276 + ], + [ + 2.3122107, + 48.8811352 + ], + [ + 2.3113363, + 48.8818549 + ], + [ + 2.3108508, + 48.882257 + ], + [ + 2.3105772, + 48.8824343 + ], + [ + 2.3103841, + 48.8825313 + ], + [ + 2.3102017, + 48.8826098 + ], + [ + 2.3099751, + 48.8826812 + ], + [ + 2.3092267, + 48.8828567 + ], + [ + 2.3079487, + 48.8831231 + ], + [ + 2.3057787, + 48.8835878 + ], + [ + 2.304565, + 48.8838312 + ], + [ + 2.3037188, + 48.884005 + ], + [ + 2.3025138, + 48.8842356 + ], + [ + 2.3017709, + 48.8843441 + ], + [ + 2.3002997, + 48.8845302 + ], + [ + 2.2982736, + 48.8848146 + ], + [ + 2.2981133, + 48.8848298 + ], + [ + 2.2978112, + 48.8848728 + ], + [ + 2.2975497, + 48.8849513 + ], + [ + 2.2973405, + 48.8850403 + ], + [ + 2.297075, + 48.8851867 + ], + [ + 2.2968966, + 48.8853252 + ], + [ + 2.2963394, + 48.8858689 + ], + [ + 2.2960256, + 48.8861819 + ], + [ + 2.2958955, + 48.886293 + ], + [ + 2.2957627, + 48.8863565 + ], + [ + 2.2956018, + 48.8864121 + ], + [ + 2.2954382, + 48.8864324 + ], + [ + 2.2952799, + 48.8864324 + ], + [ + 2.2951056, + 48.8864086 + ], + [ + 2.2948478, + 48.8863385 + ], + [ + 2.2947058, + 48.8863015 + ] + ] + }, + "id": "way/114120358" + }, + { + "type": "Feature", + "properties": { + "@id": "way/117884562", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "height": "7", + "layer": "1", + "level": "1", + "min_height": "5", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3702675, + 48.8802461 + ], + [ + 2.3702499, + 48.8817318 + ], + [ + 2.3702445, + 48.8823371 + ], + [ + 2.3702406, + 48.8824476 + ] + ] + }, + "id": "way/117884562" + }, + { + "type": "Feature", + "properties": { + "@id": "way/117884564", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "level": "1", + "maxspeed": "65", + "name": "Métro 2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3652937, + 48.8843349 + ], + [ + 2.3644168, + 48.8843902 + ], + [ + 2.3642862, + 48.8843968 + ], + [ + 2.3641449, + 48.8844015 + ], + [ + 2.3625401, + 48.8844071 + ], + [ + 2.3614359, + 48.8844119 + ], + [ + 2.3609088, + 48.8844176 + ], + [ + 2.359948, + 48.8844239 + ], + [ + 2.359864, + 48.8844244 + ], + [ + 2.3594426, + 48.8844288 + ], + [ + 2.3591756, + 48.8844248 + ], + [ + 2.3589385, + 48.8844187 + ], + [ + 2.3587779, + 48.8844093 + ], + [ + 2.3583289, + 48.8843759 + ] + ] + }, + "id": "way/117884564" + }, + { + "type": "Feature", + "properties": { + "@id": "way/117884565", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "height": "7", + "layer": "1", + "level": "1", + "min_height": "5", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3702406, + 48.8824476 + ], + [ + 2.3702354, + 48.8825068 + ], + [ + 2.370224, + 48.8825694 + ], + [ + 2.3702039, + 48.8826217 + ], + [ + 2.3701776, + 48.8826763 + ], + [ + 2.3701291, + 48.8827468 + ], + [ + 2.3701039, + 48.8827827 + ], + [ + 2.370059, + 48.8828244 + ], + [ + 2.3700082, + 48.8828685 + ], + [ + 2.3699274, + 48.8829292 + ], + [ + 2.3697025, + 48.8830661 + ], + [ + 2.3694808, + 48.8832047 + ], + [ + 2.3693724, + 48.8832762 + ], + [ + 2.369306, + 48.8833242 + ], + [ + 2.3692494, + 48.883379 + ], + [ + 2.3691877, + 48.8834515 + ], + [ + 2.369127, + 48.8835362 + ], + [ + 2.3690446, + 48.8836457 + ], + [ + 2.3689583, + 48.8837582 + ], + [ + 2.3688808, + 48.8838439 + ], + [ + 2.3688267, + 48.8838953 + ], + [ + 2.3687341, + 48.8839599 + ], + [ + 2.3686474, + 48.88401 + ], + [ + 2.3685635, + 48.884049 + ], + [ + 2.3684903, + 48.8840793 + ], + [ + 2.3684069, + 48.8841037 + ], + [ + 2.3683136, + 48.8841257 + ], + [ + 2.3682299, + 48.8841414 + ], + [ + 2.368129, + 48.884155 + ], + [ + 2.3680163, + 48.8841642 + ], + [ + 2.3679379, + 48.884169 + ], + [ + 2.3663299, + 48.884268 + ], + [ + 2.3652937, + 48.8843349 + ] + ] + }, + "id": "way/117884565" + }, + { + "type": "Feature", + "properties": { + "@id": "way/117884566", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "source": "BDOrtho IGN 2016", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.370252, + 48.8785673 + ], + [ + 2.3702445, + 48.8794161 + ], + [ + 2.3702348, + 48.8802401 + ] + ] + }, + "id": "way/117884566" + }, + { + "type": "Feature", + "properties": { + "@id": "way/117884569", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3489647, + 48.883685 + ], + [ + 2.3472499, + 48.8834749 + ] + ] + }, + "id": "way/117884569" + }, + { + "type": "Feature", + "properties": { + "@id": "way/122245679", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "knowledge;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2858772, + 48.8396805 + ], + [ + 2.2863439, + 48.839469 + ], + [ + 2.2876713, + 48.838707 + ] + ] + }, + "id": "way/122245679" + }, + { + "type": "Feature", + "properties": { + "@id": "way/122245681", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "knowledge;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.287535, + 48.8386168 + ], + [ + 2.2867756, + 48.8390604 + ], + [ + 2.2863944, + 48.8392831 + ], + [ + 2.2863231, + 48.8393594 + ], + [ + 2.2862597, + 48.8394273 + ], + [ + 2.2858772, + 48.8396805 + ] + ] + }, + "id": "way/122245681" + }, + { + "type": "Feature", + "properties": { + "@id": "way/122245682", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "knowledge;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2849007, + 48.8398535 + ], + [ + 2.2851646, + 48.8398029 + ], + [ + 2.2855808, + 48.8397516 + ], + [ + 2.2858772, + 48.8396805 + ], + [ + 2.2864793, + 48.8395347 + ], + [ + 2.2865698, + 48.8395284 + ], + [ + 2.2866392, + 48.8395236 + ], + [ + 2.2867162, + 48.8395183 + ], + [ + 2.2878932, + 48.8388327 + ] + ] + }, + "id": "way/122245682" + }, + { + "type": "Feature", + "properties": { + "@id": "way/125667163", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-3", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3767172, + 48.8299286 + ], + [ + 2.3758482, + 48.8295705 + ] + ] + }, + "id": "way/125667163" + }, + { + "type": "Feature", + "properties": { + "@id": "way/134764716", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "maxspeed": "60", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3642484, + 48.8844984 + ], + [ + 2.3649786, + 48.8844777 + ], + [ + 2.3660072, + 48.8844158 + ], + [ + 2.3676173, + 48.8843101 + ], + [ + 2.3682087, + 48.8842669 + ] + ] + }, + "id": "way/134764716" + }, + { + "type": "Feature", + "properties": { + "@id": "way/135681290", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 12", + "name:ru": "Линия 12", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3210551, + 48.860697 + ], + [ + 2.320801, + 48.8610333 + ], + [ + 2.3205337, + 48.8612924 + ], + [ + 2.3203259, + 48.8615121 + ], + [ + 2.3201944, + 48.8616851 + ], + [ + 2.3200066, + 48.8619453 + ], + [ + 2.3199102, + 48.8620794 + ], + [ + 2.3198444, + 48.8621597 + ], + [ + 2.319839, + 48.8622648 + ], + [ + 2.3199133, + 48.8625175 + ], + [ + 2.3202615, + 48.8630949 + ], + [ + 2.321494, + 48.8639904 + ], + [ + 2.3225691, + 48.8653959 + ] + ] + }, + "id": "way/135681290" + }, + { + "type": "Feature", + "properties": { + "@id": "way/136698126", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "ref": "6", + "rubber_tires": "yes", + "source": "interpolation STIF/BDOrtho", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2923592, + 48.8701381 + ], + [ + 2.2901145, + 48.8670347 + ], + [ + 2.2878352, + 48.8638764 + ], + [ + 2.2874564, + 48.8633639 + ], + [ + 2.2873924, + 48.8632773 + ], + [ + 2.2868836, + 48.8625875 + ], + [ + 2.2868305, + 48.8625163 + ], + [ + 2.2867781, + 48.862439 + ], + [ + 2.2867266, + 48.8623493 + ], + [ + 2.2866644, + 48.8622033 + ], + [ + 2.2866338, + 48.8621026 + ], + [ + 2.2866049, + 48.8619802 + ], + [ + 2.286523, + 48.8616205 + ], + [ + 2.2865081, + 48.8615538 + ], + [ + 2.2864885, + 48.8614778 + ], + [ + 2.2864724, + 48.8614208 + ], + [ + 2.2864445, + 48.8613458 + ], + [ + 2.2864124, + 48.8612732 + ], + [ + 2.2863841, + 48.8612199 + ], + [ + 2.2863553, + 48.8611736 + ], + [ + 2.286326, + 48.8611278 + ], + [ + 2.2848003, + 48.858963 + ], + [ + 2.2847544, + 48.8588944 + ], + [ + 2.2847288, + 48.8588299 + ], + [ + 2.2847132, + 48.8587719 + ], + [ + 2.284708, + 48.8587124 + ], + [ + 2.2847084, + 48.858646 + ], + [ + 2.2847183, + 48.8585894 + ], + [ + 2.2847461, + 48.8585232 + ], + [ + 2.28479, + 48.8584662 + ], + [ + 2.2848212, + 48.8584321 + ], + [ + 2.285619, + 48.8576352 + ] + ] + }, + "id": "way/136698126" + }, + { + "type": "Feature", + "properties": { + "@id": "way/136698147", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "crossover", + "source": "BDOrtho IGN 2016", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2974141, + 48.8492393 + ], + [ + 2.2975125, + 48.8491996 + ], + [ + 2.2976222, + 48.8491522 + ], + [ + 2.2977446, + 48.8491039 + ] + ] + }, + "id": "way/136698147" + }, + { + "type": "Feature", + "properties": { + "@id": "way/142160901", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 9", + "name:ru": "Линия 9", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2397796, + 48.8325128 + ], + [ + 2.2435931, + 48.8336468 + ], + [ + 2.256301, + 48.8376229 + ], + [ + 2.2565741, + 48.8377707 + ], + [ + 2.2572987, + 48.8384501 + ], + [ + 2.2581737, + 48.8403483 + ], + [ + 2.2582571, + 48.8405203 + ], + [ + 2.2590919, + 48.8417971 + ], + [ + 2.2600472, + 48.8430044 + ], + [ + 2.261895, + 48.8452434 + ], + [ + 2.2619755, + 48.8453416 + ], + [ + 2.2639427, + 48.8477395 + ], + [ + 2.2641344, + 48.8479434 + ], + [ + 2.2642873, + 48.8480616 + ], + [ + 2.2645448, + 48.8481896 + ], + [ + 2.2649807, + 48.8483784 + ], + [ + 2.2661672, + 48.8489508 + ], + [ + 2.2662497, + 48.8490082 + ], + [ + 2.2663467, + 48.8491436 + ], + [ + 2.2681802, + 48.8525598 + ], + [ + 2.2693017, + 48.8546595 + ], + [ + 2.270095, + 48.8554696 + ], + [ + 2.2702166, + 48.8555764 + ], + [ + 2.274062, + 48.8579754 + ], + [ + 2.2742034, + 48.8580738 + ], + [ + 2.2743441, + 48.8581359 + ], + [ + 2.2744741, + 48.8581839 + ], + [ + 2.2746043, + 48.8582005 + ], + [ + 2.2747376, + 48.8582332 + ], + [ + 2.2748645, + 48.8582907 + ], + [ + 2.274928, + 48.8583675 + ], + [ + 2.2749668, + 48.8584675 + ], + [ + 2.2749955, + 48.8586574 + ], + [ + 2.275082, + 48.8589402 + ], + [ + 2.2752106, + 48.8594925 + ], + [ + 2.2752116, + 48.8596829 + ], + [ + 2.2751676, + 48.8598755 + ], + [ + 2.2750269, + 48.8602032 + ], + [ + 2.2749942, + 48.8603198 + ], + [ + 2.2750105, + 48.8604178 + ], + [ + 2.2751198, + 48.8606801 + ], + [ + 2.2754204, + 48.8612243 + ], + [ + 2.2759988, + 48.862239 + ], + [ + 2.2764585, + 48.8630401 + ], + [ + 2.2765462, + 48.8631713 + ], + [ + 2.2766505, + 48.8633075 + ], + [ + 2.2767601, + 48.863426 + ], + [ + 2.2771045, + 48.8637734 + ], + [ + 2.2772121, + 48.8638662 + ], + [ + 2.2773196, + 48.8639273 + ], + [ + 2.2774078, + 48.8639806 + ], + [ + 2.2775207, + 48.8640224 + ], + [ + 2.2776444, + 48.8640502 + ], + [ + 2.2778329, + 48.8640669 + ], + [ + 2.278149, + 48.8640672 + ], + [ + 2.279665, + 48.8638262 + ], + [ + 2.2856954, + 48.863132 + ], + [ + 2.2867361, + 48.8630738 + ], + [ + 2.2870231, + 48.8630685 + ], + [ + 2.2873074, + 48.8630667 + ], + [ + 2.2875112, + 48.8630967 + ], + [ + 2.2877374, + 48.8631514 + ], + [ + 2.2925243, + 48.8643866 + ], + [ + 2.2937179, + 48.8646177 + ], + [ + 2.2942677, + 48.8647148 + ], + [ + 2.2990501, + 48.8651947 + ], + [ + 2.2993988, + 48.8651718 + ], + [ + 2.2997019, + 48.8651135 + ], + [ + 2.2999243, + 48.8650253 + ], + [ + 2.300292, + 48.8648683 + ], + [ + 2.3008633, + 48.864623 + ], + [ + 2.3013219, + 48.8645013 + ], + [ + 2.3017538, + 48.864473 + ], + [ + 2.3019576, + 48.8644907 + ], + [ + 2.3021534, + 48.8645454 + ], + [ + 2.3025048, + 48.8647412 + ], + [ + 2.3026711, + 48.86487 + ], + [ + 2.3027462, + 48.8649494 + ], + [ + 2.302891, + 48.8651965 + ], + [ + 2.3029259, + 48.8652529 + ], + [ + 2.3030144, + 48.8653464 + ], + [ + 2.308509, + 48.8681155 + ], + [ + 2.3095225, + 48.8686466 + ], + [ + 2.3095748, + 48.8686802 + ], + [ + 2.3096406, + 48.8687244 + ], + [ + 2.3097116, + 48.8687761 + ], + [ + 2.3097804, + 48.8688348 + ], + [ + 2.309835, + 48.8688895 + ], + [ + 2.3098727, + 48.8689365 + ], + [ + 2.3099007, + 48.8689811 + ], + [ + 2.3099212, + 48.8690222 + ], + [ + 2.3099266, + 48.8690339 + ], + [ + 2.3099369, + 48.8690573 + ], + [ + 2.3099566, + 48.8691055 + ], + [ + 2.3099845, + 48.8691941 + ], + [ + 2.3100084, + 48.8692874 + ], + [ + 2.3100364, + 48.869396 + ], + [ + 2.3100601, + 48.8695156 + ], + [ + 2.3100743, + 48.8696341 + ], + [ + 2.3100806, + 48.8713105 + ], + [ + 2.3100809, + 48.871388 + ], + [ + 2.3100832, + 48.8714554 + ], + [ + 2.3100832, + 48.8715293 + ], + [ + 2.3100827, + 48.8723362 + ], + [ + 2.3100895, + 48.8724869 + ], + [ + 2.3101142, + 48.8725405 + ], + [ + 2.3101385, + 48.8725716 + ], + [ + 2.310193, + 48.8726176 + ], + [ + 2.3102629, + 48.8726553 + ], + [ + 2.310344, + 48.8726902 + ], + [ + 2.3104447, + 48.8727289 + ], + [ + 2.3105832, + 48.8727721 + ], + [ + 2.3111249, + 48.8729396 + ], + [ + 2.3116182, + 48.8730885 + ], + [ + 2.3120384, + 48.8732244 + ], + [ + 2.3122958, + 48.8732971 + ], + [ + 2.3124015, + 48.8733178 + ], + [ + 2.3152003, + 48.8738211 + ], + [ + 2.3194257, + 48.8745242 + ], + [ + 2.3199973, + 48.87464 + ], + [ + 2.320107, + 48.8746549 + ], + [ + 2.3201783, + 48.8746608 + ], + [ + 2.3202657, + 48.8746629 + ], + [ + 2.3203291, + 48.8746597 + ], + [ + 2.3213425, + 48.8745288 + ], + [ + 2.3217921, + 48.874471 + ], + [ + 2.3222929, + 48.8743988 + ], + [ + 2.3243579, + 48.8741163 + ], + [ + 2.3273189, + 48.8736792 + ], + [ + 2.3282936, + 48.8735773 + ], + [ + 2.3302312, + 48.8733337 + ], + [ + 2.3310144, + 48.8732357 + ], + [ + 2.3311609, + 48.8732175 + ], + [ + 2.3333015, + 48.8729517 + ], + [ + 2.3338722, + 48.8728788 + ], + [ + 2.3351499, + 48.8726666 + ] + ] + }, + "id": "way/142160901" + }, + { + "type": "Feature", + "properties": { + "@id": "way/150203027", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.385715, + 48.900182 + ], + [ + 2.3855433, + 48.9002507 + ], + [ + 2.3851167, + 48.9003905 + ], + [ + 2.3849787, + 48.9004357 + ], + [ + 2.3847306, + 48.900517 + ], + [ + 2.3844597, + 48.9005946 + ], + [ + 2.3837293, + 48.900753 + ], + [ + 2.3832071, + 48.9008643 + ], + [ + 2.3830006, + 48.9009084 + ], + [ + 2.3827592, + 48.9009278 + ], + [ + 2.3822656, + 48.9009049 + ], + [ + 2.3820296, + 48.9008943 + ], + [ + 2.3816997, + 48.9008943 + ], + [ + 2.381528, + 48.9009225 + ], + [ + 2.3814073, + 48.9009683 + ], + [ + 2.3813161, + 48.9010336 + ], + [ + 2.3812142, + 48.9011447 + ], + [ + 2.3807475, + 48.9018729 + ], + [ + 2.3806188, + 48.902058 + ] + ] + }, + "id": "way/150203027" + }, + { + "type": "Feature", + "properties": { + "@id": "way/150203028", + "gauge": "1435", + "layer": "1", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3849228, + 48.9003006 + ], + [ + 2.3844689, + 48.9004513 + ], + [ + 2.3840118, + 48.9005893 + ], + [ + 2.3836899, + 48.9007092 + ] + ] + }, + "id": "way/150203028" + }, + { + "type": "Feature", + "properties": { + "@id": "way/150234287", + "gauge": "1435", + "layer": "-2", + "name": "Métro 8", + "railway": "subway", + "source": "survey", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2778472, + 48.8352252 + ], + [ + 2.2781052, + 48.835745 + ], + [ + 2.2781686, + 48.8358778 + ], + [ + 2.2782017, + 48.8360372 + ] + ] + }, + "id": "way/150234287" + }, + { + "type": "Feature", + "properties": { + "@id": "way/150234288", + "gauge": "1435", + "layer": "-2", + "name": "Métro 8", + "railway": "subway", + "source": "survey", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2779495, + 48.8351996 + ], + [ + 2.2782017, + 48.8357232 + ], + [ + 2.2782176, + 48.8358096 + ], + [ + 2.2782305, + 48.8359205 + ], + [ + 2.2782017, + 48.8360372 + ] + ] + }, + "id": "way/150234288" + }, + { + "type": "Feature", + "properties": { + "@id": "way/163070538", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Voie 5", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4093215, + 48.8477639 + ], + [ + 2.4094754, + 48.8482294 + ] + ] + }, + "id": "way/163070538" + }, + { + "type": "Feature", + "properties": { + "@id": "way/164384528", + "electrified": "yes", + "gauge": "1435", + "layer": "-1", + "railway": "subway", + "service": "yard", + "source": "survey;archives", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4037041, + 48.8647478 + ], + [ + 2.4039837, + 48.8646851 + ], + [ + 2.4040897, + 48.8646648 + ], + [ + 2.4041813, + 48.8646434 + ], + [ + 2.4043571, + 48.8646008 + ], + [ + 2.4045361, + 48.8645452 + ], + [ + 2.4046144, + 48.8645185 + ] + ] + }, + "id": "way/164384528" + }, + { + "type": "Feature", + "properties": { + "@id": "way/166612619", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 4", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3444327, + 48.9013946 + ], + [ + 2.3443354, + 48.9013028 + ], + [ + 2.3442357, + 48.9011962 + ], + [ + 2.344156, + 48.9010555 + ], + [ + 2.3441292, + 48.9009041 + ], + [ + 2.3442172, + 48.8983151 + ], + [ + 2.3442741, + 48.8981175 + ], + [ + 2.3443901, + 48.8979198 + ], + [ + 2.3448521, + 48.8973976 + ] + ] + }, + "id": "way/166612619" + }, + { + "type": "Feature", + "properties": { + "@id": "way/182795405", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "maxspeed": "50", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3612428, + 48.838784 + ], + [ + 2.3620607, + 48.8398818 + ] + ] + }, + "id": "way/182795405" + }, + { + "type": "Feature", + "properties": { + "@id": "way/184333069", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 1 Voie d'Accès au Ateliers de Fontenay", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.438912, + 48.8445799 + ], + [ + 2.4392323, + 48.844552 + ], + [ + 2.4406666, + 48.8444272 + ], + [ + 2.442827, + 48.8441881 + ], + [ + 2.4448357, + 48.8440186 + ], + [ + 2.445473, + 48.8439393 + ], + [ + 2.4465176, + 48.8437117 + ], + [ + 2.4470952, + 48.8436306 + ], + [ + 2.4476301, + 48.8436062 + ], + [ + 2.4498303, + 48.8437015 + ], + [ + 2.4501514, + 48.8437246 + ], + [ + 2.4503257, + 48.8437634 + ], + [ + 2.4504572, + 48.843834 + ], + [ + 2.4505484, + 48.8439223 + ], + [ + 2.4507093, + 48.8443653 + ], + [ + 2.4510991, + 48.8452296 + ], + [ + 2.4513593, + 48.8459586 + ], + [ + 2.4515712, + 48.846534 + ], + [ + 2.4517804, + 48.8468976 + ], + [ + 2.4519601, + 48.8471765 + ], + [ + 2.4520406, + 48.8472736 + ], + [ + 2.4521077, + 48.8473301 + ], + [ + 2.4522247, + 48.8473978 + ], + [ + 2.4524671, + 48.8475136 + ], + [ + 2.4527675, + 48.8476531 + ], + [ + 2.4529123, + 48.847729 + ], + [ + 2.4533495, + 48.8479196 + ], + [ + 2.4538243, + 48.8481367 + ], + [ + 2.4541408, + 48.8482973 + ], + [ + 2.4542793, + 48.8483774 + ], + [ + 2.4543848, + 48.8484473 + ], + [ + 2.4546584, + 48.8486309 + ], + [ + 2.4547791, + 48.8486838 + ], + [ + 2.4549079, + 48.8487262 + ], + [ + 2.4550286, + 48.8487474 + ], + [ + 2.4551343, + 48.848755 + ], + [ + 2.4552452, + 48.8487477 + ], + [ + 2.4559849, + 48.8486507 + ], + [ + 2.4561618, + 48.8486263 + ], + [ + 2.4567362, + 48.8485469 + ], + [ + 2.4573478, + 48.8484692 + ], + [ + 2.4577554, + 48.8483827 + ], + [ + 2.4591958, + 48.8480385 + ] + ] + }, + "id": "way/184333069" + }, + { + "type": "Feature", + "properties": { + "@id": "way/184623544", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "railway": "subway", + "railway:track_ref": "5", + "service": "yard", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4094754, + 48.8482294 + ], + [ + 2.4095174, + 48.8484213 + ], + [ + 2.4095411, + 48.8485274 + ], + [ + 2.4095516, + 48.8485875 + ], + [ + 2.4095479, + 48.8486561 + ], + [ + 2.4095428, + 48.848711 + ], + [ + 2.4095282, + 48.8487736 + ], + [ + 2.4094555, + 48.8489408 + ], + [ + 2.4094528, + 48.8489484 + ] + ] + }, + "id": "way/184623544" + }, + { + "type": "Feature", + "properties": { + "@id": "way/196309635", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 7bis", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3892135, + 48.8795088 + ], + [ + 2.3894327, + 48.879467 + ], + [ + 2.3895789, + 48.8794202 + ], + [ + 2.389709, + 48.8793629 + ], + [ + 2.3898275, + 48.8792741 + ], + [ + 2.3909884, + 48.8782525 + ], + [ + 2.391793, + 48.8775302 + ], + [ + 2.3919987, + 48.8773308 + ], + [ + 2.3921013, + 48.8772312 + ], + [ + 2.3921992, + 48.8771496 + ], + [ + 2.3923188, + 48.8770831 + ], + [ + 2.392426, + 48.8770397 + ], + [ + 2.3925521, + 48.8769983 + ], + [ + 2.3927466, + 48.8769587 + ], + [ + 2.3928612, + 48.8769432 + ], + [ + 2.3929985, + 48.8769348 + ], + [ + 2.3931255, + 48.8769295 + ], + [ + 2.3932701, + 48.8769291 + ], + [ + 2.3934312, + 48.8769327 + ], + [ + 2.3935772, + 48.8769406 + ], + [ + 2.3937321, + 48.8769555 + ], + [ + 2.3938333, + 48.8769675 + ], + [ + 2.3939359, + 48.8769869 + ], + [ + 2.3940441, + 48.8770151 + ], + [ + 2.3941525, + 48.877053 + ], + [ + 2.3942819, + 48.8771095 + ], + [ + 2.3944203, + 48.8771769 + ], + [ + 2.3950328, + 48.8774632 + ], + [ + 2.3954688, + 48.8776264 + ], + [ + 2.3958506, + 48.8777375 + ], + [ + 2.3966545, + 48.8779196 + ], + [ + 2.3975255, + 48.8781223 + ], + [ + 2.3979017, + 48.8782057 + ], + [ + 2.3982937, + 48.8782723 + ], + [ + 2.3995701, + 48.8784624 + ], + [ + 2.3997778, + 48.878511 + ], + [ + 2.3999883, + 48.8786053 + ], + [ + 2.4001627, + 48.8787367 + ], + [ + 2.4002579, + 48.8788532 + ], + [ + 2.4003193, + 48.8789726 + ], + [ + 2.4003424, + 48.8790745 + ], + [ + 2.4003397, + 48.8791963 + ], + [ + 2.4003021, + 48.879318 + ], + [ + 2.4002472, + 48.879415 + ], + [ + 2.4001291, + 48.8795455 + ], + [ + 2.3999912, + 48.8796469 + ], + [ + 2.3993481, + 48.8799849 + ], + [ + 2.3992578, + 48.8800323 + ], + [ + 2.3988452, + 48.8802491 + ], + [ + 2.3984326, + 48.8804659 + ], + [ + 2.3982177, + 48.8806135 + ], + [ + 2.3979984, + 48.8807379 + ], + [ + 2.3976327, + 48.8809395 + ], + [ + 2.3975006, + 48.8810003 + ], + [ + 2.3973504, + 48.8810537 + ], + [ + 2.3971861, + 48.8811035 + ], + [ + 2.3970211, + 48.8811423 + ], + [ + 2.3956049, + 48.881451 + ], + [ + 2.3943049, + 48.8817498 + ] + ] + }, + "id": "way/196309635" + }, + { + "type": "Feature", + "properties": { + "@id": "way/196309638", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 7bis", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3943049, + 48.8817498 + ], + [ + 2.3938449, + 48.8818509 + ], + [ + 2.3935419, + 48.8819171 + ], + [ + 2.393338, + 48.8819488 + ], + [ + 2.3931637, + 48.8819479 + ], + [ + 2.392996, + 48.881918 + ], + [ + 2.3928673, + 48.8818677 + ], + [ + 2.3926996, + 48.8817663 + ], + [ + 2.391498, + 48.8809399 + ], + [ + 2.3895869, + 48.8796302 + ], + [ + 2.3894796, + 48.879557 + ], + [ + 2.3893536, + 48.8795199 + ], + [ + 2.3892135, + 48.8795088 + ] + ] + }, + "id": "way/196309638" + }, + { + "type": "Feature", + "properties": { + "@id": "way/206318501", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 9", + "name:ru": "Линия 9", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.394693, + 48.8491434 + ], + [ + 2.3948139, + 48.8490923 + ], + [ + 2.3949514, + 48.8490473 + ], + [ + 2.3950949, + 48.8490103 + ], + [ + 2.3952531, + 48.8489825 + ], + [ + 2.3954208, + 48.8489617 + ], + [ + 2.3955998, + 48.8489485 + ], + [ + 2.3957721, + 48.8489436 + ], + [ + 2.3958707, + 48.8489445 + ], + [ + 2.3959605, + 48.8489467 + ], + [ + 2.3961094, + 48.8489564 + ], + [ + 2.3962536, + 48.8489745 + ], + [ + 2.3963615, + 48.8489908 + ], + [ + 2.3965044, + 48.84902 + ], + [ + 2.3966298, + 48.8490482 + ], + [ + 2.3968785, + 48.8491188 + ], + [ + 2.3970582, + 48.8491832 + ], + [ + 2.3971434, + 48.8492265 + ], + [ + 2.3985532, + 48.8502658 + ], + [ + 2.3985875, + 48.850292 + ], + [ + 2.3986947, + 48.8503678 + ], + [ + 2.3989119, + 48.8505285 + ] + ] + }, + "id": "way/206318501" + }, + { + "type": "Feature", + "properties": { + "@id": "way/209249679", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "source": "archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3984157, + 48.851335 + ], + [ + 2.3985193, + 48.8506737 + ], + [ + 2.3985123, + 48.8504391 + ], + [ + 2.3981228, + 48.8501183 + ], + [ + 2.3975665, + 48.849667 + ], + [ + 2.3972335, + 48.8493695 + ], + [ + 2.3970757, + 48.8492622 + ], + [ + 2.3969502, + 48.8492328 + ], + [ + 2.3967788, + 48.8492255 + ], + [ + 2.3966476, + 48.8492659 + ], + [ + 2.3961416, + 48.8493568 + ], + [ + 2.3958648, + 48.8493807 + ], + [ + 2.3955999, + 48.8493143 + ], + [ + 2.3954921, + 48.8492297 + ], + [ + 2.3954185, + 48.8490928 + ], + [ + 2.3953473, + 48.8489415 + ], + [ + 2.3952842, + 48.848829 + ], + [ + 2.3951844, + 48.8486613 + ], + [ + 2.3950638, + 48.8484898 + ] + ] + }, + "id": "way/209249679" + }, + { + "type": "Feature", + "properties": { + "@id": "way/209249680", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Métro 1", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "Ile de France Mobilités", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3941358, + 48.8480952 + ], + [ + 2.3952627, + 48.847876 + ], + [ + 2.3954064, + 48.8478551 + ], + [ + 2.395514, + 48.847844 + ], + [ + 2.3956716, + 48.8478303 + ], + [ + 2.3958141, + 48.8478234 + ], + [ + 2.3959548, + 48.8478222 + ], + [ + 2.3960961, + 48.8478267 + ], + [ + 2.3961603, + 48.8478302 + ], + [ + 2.3962388, + 48.8478346 + ], + [ + 2.3963703, + 48.8478462 + ], + [ + 2.3965198, + 48.8478638 + ], + [ + 2.3966631, + 48.8478854 + ], + [ + 2.3969926, + 48.8479483 + ], + [ + 2.397343, + 48.848011 + ], + [ + 2.3975886, + 48.8480553 + ], + [ + 2.397798, + 48.8480887 + ], + [ + 2.3979933, + 48.8481109 + ], + [ + 2.3981805, + 48.8481276 + ], + [ + 2.3983833, + 48.848137 + ], + [ + 2.3985211, + 48.8481378 + ], + [ + 2.398637, + 48.8481361 + ], + [ + 2.3992228, + 48.8480854 + ], + [ + 2.4030342, + 48.8477677 + ], + [ + 2.4080861, + 48.8473335 + ], + [ + 2.4118064, + 48.8470069 + ], + [ + 2.4145288, + 48.8467775 + ], + [ + 2.4165029, + 48.8466098 + ], + [ + 2.4170024, + 48.8465648 + ], + [ + 2.4184422, + 48.846435 + ], + [ + 2.4235276, + 48.8459629 + ], + [ + 2.4292592, + 48.8454296 + ], + [ + 2.4304916, + 48.8453133 + ], + [ + 2.4371463, + 48.8447321 + ], + [ + 2.4388242, + 48.8445875 + ], + [ + 2.438912, + 48.8445799 + ] + ] + }, + "id": "way/209249680" + }, + { + "type": "Feature", + "properties": { + "@id": "way/241744596", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "55", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3227081, + 48.8663531 + ], + [ + 2.323092, + 48.8663481 + ], + [ + 2.3234606, + 48.8663376 + ], + [ + 2.3237079, + 48.8663194 + ], + [ + 2.3239694, + 48.8662965 + ], + [ + 2.3242179, + 48.8662487 + ] + ] + }, + "id": "way/241744596" + }, + { + "type": "Feature", + "properties": { + "@id": "way/241744597", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "yard", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2807089, + 48.8783366 + ], + [ + 2.2811811, + 48.8781292 + ], + [ + 2.2812658, + 48.8781016 + ], + [ + 2.2825737, + 48.8776752 + ], + [ + 2.2826438, + 48.8776522 + ] + ] + }, + "id": "way/241744597" + }, + { + "type": "Feature", + "properties": { + "@id": "way/241744801", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Métro 1", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "yard", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2826716, + 48.8777647 + ], + [ + 2.2826472, + 48.8777726 + ], + [ + 2.281337, + 48.8781982 + ], + [ + 2.2809742, + 48.8783162 + ], + [ + 2.2804052, + 48.8784734 + ] + ] + }, + "id": "way/241744801" + }, + { + "type": "Feature", + "properties": { + "@id": "way/242889313", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3640367, + 48.817899 + ], + [ + 2.364106, + 48.8179215 + ], + [ + 2.3641594, + 48.8179416 + ], + [ + 2.3642623, + 48.817983 + ], + [ + 2.3643397, + 48.8180057 + ], + [ + 2.3644014, + 48.8180219 + ], + [ + 2.3654116, + 48.8182793 + ] + ] + }, + "id": "way/242889313" + }, + { + "type": "Feature", + "properties": { + "@id": "way/242889318", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3638861, + 48.8178879 + ], + [ + 2.3637997, + 48.8178576 + ], + [ + 2.3637621, + 48.817845 + ], + [ + 2.3636848, + 48.8178225 + ], + [ + 2.3635095, + 48.8177847 + ], + [ + 2.363, + 48.8176641 + ], + [ + 2.3610666, + 48.8172299 + ] + ] + }, + "id": "way/242889318" + }, + { + "type": "Feature", + "properties": { + "@id": "way/242889324", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3654479, + 48.8183201 + ], + [ + 2.3643869, + 48.8180461 + ], + [ + 2.364075, + 48.8179674 + ], + [ + 2.363973, + 48.8179318 + ], + [ + 2.3638861, + 48.8178879 + ], + [ + 2.3636984, + 48.8178065 + ], + [ + 2.3636544, + 48.8177895 + ], + [ + 2.3635864, + 48.8177651 + ] + ] + }, + "id": "way/242889324" + }, + { + "type": "Feature", + "properties": { + "@id": "way/246854048", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "name": "Métro 12", + "name:ru": "Линия 12", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3225691, + 48.8653959 + ], + [ + 2.3223575, + 48.8652117 + ], + [ + 2.3221752, + 48.8649529 + ], + [ + 2.3214537, + 48.8640001 + ], + [ + 2.3201931, + 48.8631152 + ], + [ + 2.319847, + 48.86254 + ], + [ + 2.3197801, + 48.8622815 + ], + [ + 2.3197854, + 48.8621623 + ], + [ + 2.319949, + 48.8619348 + ], + [ + 2.3201475, + 48.8616718 + ], + [ + 2.3202816, + 48.8614918 + ], + [ + 2.3204868, + 48.8612757 + ], + [ + 2.3207429, + 48.8610119 + ], + [ + 2.3210551, + 48.860697 + ] + ] + }, + "id": "way/246854048" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638623", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2883204, + 48.836546 + ], + [ + 2.2889495, + 48.8359961 + ] + ] + }, + "id": "way/257638623" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638624", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2882558, + 48.8365526 + ], + [ + 2.2888337, + 48.8360463 + ] + ] + }, + "id": "way/257638624" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638625", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2887215, + 48.8359986 + ], + [ + 2.2881067, + 48.8365678 + ] + ] + }, + "id": "way/257638625" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638626", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.288485, + 48.8365293 + ], + [ + 2.2890413, + 48.8360314 + ] + ] + }, + "id": "way/257638626" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638627", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2882451, + 48.836618 + ], + [ + 2.2883991, + 48.836538 + ] + ] + }, + "id": "way/257638627" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638628", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.287678, + 48.836892 + ], + [ + 2.2875192, + 48.8369952 + ] + ] + }, + "id": "way/257638628" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638629", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2881067, + 48.8365678 + ], + [ + 2.287888, + 48.8367559 + ] + ] + }, + "id": "way/257638629" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638630", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2881753, + 48.8365608 + ], + [ + 2.2887794, + 48.8360269 + ] + ] + }, + "id": "way/257638630" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638631", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2887, + 48.8365067 + ], + [ + 2.2892686, + 48.8360072 + ] + ] + }, + "id": "way/257638631" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638632", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.287888, + 48.8367559 + ], + [ + 2.2881753, + 48.8365608 + ] + ] + }, + "id": "way/257638632" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638633", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2883991, + 48.836538 + ], + [ + 2.2889975, + 48.8360156 + ] + ] + }, + "id": "way/257638633" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638634", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2886484, + 48.8365127 + ], + [ + 2.2892263, + 48.8359887 + ] + ] + }, + "id": "way/257638634" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638635", + "covered": "yes", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.287888, + 48.8367559 + ], + [ + 2.287678, + 48.836892 + ] + ] + }, + "id": "way/257638635" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638636", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.288545, + 48.8365232 + ], + [ + 2.2891768, + 48.8359682 + ] + ] + }, + "id": "way/257638636" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638637", + "covered": "yes", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2878242, + 48.8367248 + ], + [ + 2.2875192, + 48.8369952 + ] + ] + }, + "id": "way/257638637" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638638", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.288331, + 48.8366646 + ], + [ + 2.2884428, + 48.8366186 + ], + [ + 2.2886484, + 48.8365127 + ] + ] + }, + "id": "way/257638638" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638639", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2880973, + 48.8366955 + ], + [ + 2.2882451, + 48.836618 + ], + [ + 2.2883204, + 48.836546 + ] + ] + }, + "id": "way/257638639" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638640", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2875192, + 48.8369952 + ], + [ + 2.2873026, + 48.8371582 + ] + ] + }, + "id": "way/257638640" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638641", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2883609, + 48.8366193 + ], + [ + 2.2884288, + 48.8365923 + ], + [ + 2.288545, + 48.8365232 + ] + ] + }, + "id": "way/257638641" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638642", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2881413, + 48.8367106 + ], + [ + 2.288331, + 48.8366646 + ], + [ + 2.2884817, + 48.8366331 + ], + [ + 2.2885382, + 48.8366084 + ], + [ + 2.2886555, + 48.836552 + ] + ] + }, + "id": "way/257638642" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638643", + "covered": "yes", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.287789, + 48.8367076 + ], + [ + 2.2877139, + 48.8367763 + ], + [ + 2.2874753, + 48.8369945 + ], + [ + 2.2873026, + 48.8371582 + ] + ] + }, + "id": "way/257638643" + }, + { + "type": "Feature", + "properties": { + "@id": "way/257638645", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2879434, + 48.8367829 + ], + [ + 2.2880973, + 48.8366955 + ], + [ + 2.2881632, + 48.8366403 + ], + [ + 2.2882558, + 48.8365526 + ] + ] + }, + "id": "way/257638645" + }, + { + "type": "Feature", + "properties": { + "@id": "way/300653151", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "maxspeed": "45", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3464858, + 48.8920893 + ], + [ + 2.347051, + 48.8919795 + ], + [ + 2.3486661, + 48.891676 + ], + [ + 2.3497296, + 48.8914837 + ], + [ + 2.3507565, + 48.8912909 + ], + [ + 2.3515706, + 48.8911427 + ], + [ + 2.3534065, + 48.8908059 + ], + [ + 2.3546524, + 48.8905775 + ], + [ + 2.3552787, + 48.8904638 + ], + [ + 2.355848, + 48.8903624 + ], + [ + 2.3564026, + 48.8902733 + ], + [ + 2.356876, + 48.8902495 + ], + [ + 2.3587012, + 48.8902107 + ], + [ + 2.3593503, + 48.8902072 + ], + [ + 2.3596118, + 48.8901983 + ], + [ + 2.3597057, + 48.8902098 + ], + [ + 2.3597875, + 48.8902213 + ], + [ + 2.3598559, + 48.890253 + ], + [ + 2.359923, + 48.8902945 + ], + [ + 2.3599645, + 48.8903447 + ], + [ + 2.3599914, + 48.8904003 + ], + [ + 2.3599967, + 48.8905061 + ], + [ + 2.3599873, + 48.8908844 + ], + [ + 2.3599659, + 48.8920121 + ], + [ + 2.3598988, + 48.8926347 + ], + [ + 2.3597808, + 48.8936442 + ], + [ + 2.3596333, + 48.8949395 + ], + [ + 2.3596547, + 48.89542 + ], + [ + 2.3595701, + 48.8963939 + ], + [ + 2.3594563, + 48.8977035 + ], + [ + 2.3593852, + 48.89843 + ], + [ + 2.3593463, + 48.8988523 + ], + [ + 2.3592269, + 48.900061 + ], + [ + 2.3588917, + 48.9034956 + ], + [ + 2.3588742, + 48.9037565 + ], + [ + 2.3588769, + 48.9040907 + ], + [ + 2.3589426, + 48.9043745 + ], + [ + 2.3590486, + 48.9046266 + ], + [ + 2.3591974, + 48.9048664 + ], + [ + 2.359416, + 48.9051238 + ], + [ + 2.359648, + 48.9053433 + ], + [ + 2.3599498, + 48.9055505 + ], + [ + 2.3602864, + 48.9057329 + ], + [ + 2.3606016, + 48.9058643 + ], + [ + 2.3610347, + 48.906 + ], + [ + 2.361539, + 48.9061049 + ], + [ + 2.3623182, + 48.9061948 + ], + [ + 2.3651345, + 48.9064857 + ], + [ + 2.3659163, + 48.9065634 + ], + [ + 2.3705285, + 48.9064273 + ], + [ + 2.3709885, + 48.9063056 + ], + [ + 2.3711731, + 48.9062567 + ], + [ + 2.371664, + 48.906006 + ], + [ + 2.3725254, + 48.9053246 + ], + [ + 2.3729918, + 48.9051579 + ], + [ + 2.3734873, + 48.9050857 + ], + [ + 2.3742787, + 48.9051855 + ], + [ + 2.3749613, + 48.905483 + ], + [ + 2.3778513, + 48.9082256 + ], + [ + 2.3783663, + 48.9089378 + ], + [ + 2.3787739, + 48.9098475 + ], + [ + 2.3791602, + 48.9105667 + ], + [ + 2.3796966, + 48.9116597 + ], + [ + 2.380123, + 48.9126962 + ], + [ + 2.3804798, + 48.9134595 + ], + [ + 2.3809116, + 48.9142765 + ] + ] + }, + "id": "way/300653151" + }, + { + "type": "Feature", + "properties": { + "@id": "way/309364797", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-3", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "APUR - 2014", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3767172, + 48.8299286 + ], + [ + 2.3774856, + 48.8302362 + ] + ] + }, + "id": "way/309364797" + }, + { + "type": "Feature", + "properties": { + "@id": "way/313420254", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-5", + "name": "Métro 8", + "name:ru": "Линия 8", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3299295, + 48.8702006 + ], + [ + 2.3276664, + 48.8698403 + ], + [ + 2.3261707, + 48.8695784 + ], + [ + 2.324555, + 48.8692974 + ], + [ + 2.3242409, + 48.8692188 + ], + [ + 2.324009, + 48.8691184 + ], + [ + 2.3237512, + 48.8689442 + ], + [ + 2.3235133, + 48.8687234 + ], + [ + 2.3232694, + 48.8684266 + ], + [ + 2.3219134, + 48.8665907 + ], + [ + 2.3218526, + 48.8665117 + ], + [ + 2.3215677, + 48.8661558 + ], + [ + 2.3213638, + 48.8659652 + ], + [ + 2.3210822, + 48.8657667 + ], + [ + 2.3207402, + 48.8655735 + ], + [ + 2.3204988, + 48.8654632 + ], + [ + 2.320307, + 48.86539 + ], + [ + 2.3201528, + 48.8653371 + ], + [ + 2.3197384, + 48.8651986 + ], + [ + 2.3192891, + 48.8650521 + ], + [ + 2.318683, + 48.8648589 + ], + [ + 2.3182458, + 48.8647143 + ], + [ + 2.3172641, + 48.8643896 + ], + [ + 2.3167468, + 48.8642213 + ], + [ + 2.3163736, + 48.864079 + ], + [ + 2.3161268, + 48.8639423 + ], + [ + 2.3158586, + 48.8637605 + ], + [ + 2.3156306, + 48.8635673 + ], + [ + 2.3154657, + 48.8633644 + ], + [ + 2.3153289, + 48.8631536 + ], + [ + 2.3152471, + 48.8629692 + ], + [ + 2.3151975, + 48.862753 + ], + [ + 2.3150212, + 48.861397 + ], + [ + 2.3149547, + 48.8609346 + ], + [ + 2.3148872, + 48.860393 + ], + [ + 2.3148161, + 48.8599874 + ], + [ + 2.3147035, + 48.8589385 + ], + [ + 2.3146766, + 48.8587267 + ], + [ + 2.314627, + 48.8585996 + ], + [ + 2.3145399, + 48.8585026 + ], + [ + 2.3144352, + 48.8584364 + ], + [ + 2.3143105, + 48.8583826 + ], + [ + 2.3141697, + 48.8583499 + ], + [ + 2.3140021, + 48.8583367 + ], + [ + 2.3135917, + 48.8583508 + ], + [ + 2.3121741, + 48.8584108 + ], + [ + 2.3118469, + 48.858394 + ], + [ + 2.3116618, + 48.858357 + ], + [ + 2.3114996, + 48.8583067 + ], + [ + 2.3112957, + 48.858222 + ], + [ + 2.3111937, + 48.8581527 + ], + [ + 2.3111649, + 48.8581182 + ], + [ + 2.311061, + 48.8580667 + ], + [ + 2.3103234, + 48.8575602 + ], + [ + 2.3075775, + 48.8556803 + ], + [ + 2.3060728, + 48.8546647 + ] + ] + }, + "id": "way/313420254" + }, + { + "type": "Feature", + "properties": { + "@id": "way/313420330", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.365941, + 48.8669157 + ], + [ + 2.3657759, + 48.8669654 + ], + [ + 2.3656685, + 48.8670111 + ], + [ + 2.3642143, + 48.8678785 + ], + [ + 2.3631833, + 48.8684934 + ], + [ + 2.3630147, + 48.8686056 + ], + [ + 2.3628608, + 48.868753 + ], + [ + 2.3627005, + 48.8689341 + ], + [ + 2.3624951, + 48.8690917 + ] + ] + }, + "id": "way/313420330" + }, + { + "type": "Feature", + "properties": { + "@id": "way/317155513", + "electrified": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "survey" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4051162, + 48.8643045 + ], + [ + 2.4051874, + 48.8642598 + ], + [ + 2.4052675, + 48.8641937 + ], + [ + 2.4053046, + 48.8641567 + ], + [ + 2.4053215, + 48.8641401 + ], + [ + 2.4053344, + 48.8641209 + ], + [ + 2.4053848, + 48.8640466 + ], + [ + 2.4054308, + 48.8639712 + ], + [ + 2.40545, + 48.8639463 + ], + [ + 2.4054561, + 48.8639408 + ], + [ + 2.4054614, + 48.8639369 + ], + [ + 2.4054637, + 48.8639351 + ], + [ + 2.4057194, + 48.8637757 + ], + [ + 2.4065165, + 48.8634163 + ] + ] + }, + "id": "way/317155513" + }, + { + "type": "Feature", + "properties": { + "@id": "way/317155518", + "electrified": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "survey" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4053244, + 48.8641998 + ], + [ + 2.4056076, + 48.8640672 + ], + [ + 2.4066729, + 48.8635682 + ] + ] + }, + "id": "way/317155518" + }, + { + "type": "Feature", + "properties": { + "@id": "way/317155521", + "electrified": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "survey" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4053244, + 48.8641998 + ], + [ + 2.4052497, + 48.8642338 + ], + [ + 2.4051162, + 48.8643045 + ], + [ + 2.4046144, + 48.8645185 + ] + ] + }, + "id": "way/317155521" + }, + { + "type": "Feature", + "properties": { + "@id": "way/317155523", + "electrified": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "survey" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4053848, + 48.8640466 + ], + [ + 2.4054067, + 48.8640298 + ], + [ + 2.4054324, + 48.8640141 + ], + [ + 2.4055102, + 48.8639778 + ], + [ + 2.4065794, + 48.8634837 + ] + ] + }, + "id": "way/317155523" + }, + { + "type": "Feature", + "properties": { + "@id": "way/317155524", + "electrified": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "survey" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4052675, + 48.8641937 + ], + [ + 2.4054177, + 48.8640864 + ], + [ + 2.4054819, + 48.864043 + ], + [ + 2.4055449, + 48.8640097 + ], + [ + 2.406616, + 48.8635163 + ] + ] + }, + "id": "way/317155524" + }, + { + "type": "Feature", + "properties": { + "@id": "way/317155525", + "electrified": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "survey" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4053244, + 48.8641998 + ], + [ + 2.4053961, + 48.8641528 + ], + [ + 2.4054738, + 48.8640931 + ], + [ + 2.405524, + 48.8640647 + ], + [ + 2.4055778, + 48.8640398 + ], + [ + 2.4066435, + 48.8635452 + ] + ] + }, + "id": "way/317155525" + }, + { + "type": "Feature", + "properties": { + "@id": "way/317155526", + "electrified": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "survey" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4054308, + 48.8639712 + ], + [ + 2.4054398, + 48.863961 + ], + [ + 2.4054448, + 48.863956 + ], + [ + 2.40545, + 48.863952 + ], + [ + 2.4054571, + 48.8639473 + ], + [ + 2.4054699, + 48.8639408 + ], + [ + 2.4065446, + 48.86345 + ] + ] + }, + "id": "way/317155526" + }, + { + "type": "Feature", + "properties": { + "@id": "way/317155530", + "electrified": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "survey" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4064815, + 48.8633788 + ], + [ + 2.4059892, + 48.8636013 + ], + [ + 2.405927, + 48.8636354 + ], + [ + 2.4058544, + 48.8636823 + ], + [ + 2.4057194, + 48.8637757 + ] + ] + }, + "id": "way/317155530" + }, + { + "type": "Feature", + "properties": { + "@id": "way/321058969", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 11", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "siding", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3475176, + 48.8577988 + ], + [ + 2.3471718, + 48.8578961 + ], + [ + 2.3470272, + 48.8579367 + ], + [ + 2.3463414, + 48.8581296 + ] + ] + }, + "id": "way/321058969" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334709717", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "source": "archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3968379, + 48.8480848 + ], + [ + 2.397076, + 48.8481642 + ], + [ + 2.3972952, + 48.8482313 + ], + [ + 2.3973737, + 48.8482569 + ], + [ + 2.3976392, + 48.8483302 + ], + [ + 2.3979732, + 48.8484118 + ], + [ + 2.3982649, + 48.8484762 + ], + [ + 2.3985961, + 48.8485375 + ], + [ + 2.3987832, + 48.8485759 + ], + [ + 2.3989059, + 48.8486157 + ], + [ + 2.3990085, + 48.8486637 + ], + [ + 2.3990903, + 48.8487317 + ], + [ + 2.3991493, + 48.8488014 + ], + [ + 2.3991775, + 48.8488738 + ], + [ + 2.3991909, + 48.8489717 + ], + [ + 2.3991768, + 48.8490849 + ], + [ + 2.3990234, + 48.8495683 + ], + [ + 2.39892, + 48.849939 + ], + [ + 2.3988449, + 48.8502055 + ], + [ + 2.3986759, + 48.8506953 + ], + [ + 2.3984157, + 48.851335 + ] + ] + }, + "id": "way/334709717" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334709718", + "colour": "#0064B0", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3703176, + 48.8783886 + ], + [ + 2.3703725, + 48.8782298 + ], + [ + 2.3704423, + 48.8780861 + ], + [ + 2.3705294, + 48.877937 + ], + [ + 2.3706314, + 48.8777941 + ], + [ + 2.3710197, + 48.8774215 + ], + [ + 2.3765381, + 48.8724218 + ], + [ + 2.3769446, + 48.872053 + ], + [ + 2.3780168, + 48.8709908 + ], + [ + 2.3804698, + 48.869062 + ], + [ + 2.3828448, + 48.8673253 + ], + [ + 2.3830802, + 48.8671468 + ], + [ + 2.3833739, + 48.8667079 + ], + [ + 2.3836134, + 48.8663292 + ], + [ + 2.3841109, + 48.8658731 + ], + [ + 2.3848686, + 48.8652377 + ], + [ + 2.3860917, + 48.8641614 + ], + [ + 2.387133, + 48.8632452 + ], + [ + 2.3873114, + 48.8630882 + ], + [ + 2.3874348, + 48.8629496 + ], + [ + 2.3875327, + 48.8628058 + ], + [ + 2.387756, + 48.8623457 + ], + [ + 2.3883058, + 48.8612111 + ], + [ + 2.3887283, + 48.8603473 + ], + [ + 2.3892875, + 48.8591994 + ], + [ + 2.3895584, + 48.8586392 + ], + [ + 2.3896496, + 48.8585315 + ], + [ + 2.3897408, + 48.858453 + ], + [ + 2.3899085, + 48.8583594 + ], + [ + 2.3901666, + 48.8582563 + ], + [ + 2.3920583, + 48.8577206 + ], + [ + 2.3921525, + 48.8576817 + ] + ] + }, + "id": "way/334709718" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334709719", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3472632, + 48.8834407 + ], + [ + 2.3489737, + 48.8836538 + ] + ] + }, + "id": "way/334709719" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334709720", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3703176, + 48.8783886 + ], + [ + 2.370252, + 48.8785673 + ] + ] + }, + "id": "way/334709720" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334709721", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "height": "7", + "layer": "1", + "level": "1", + "min_height": "5", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3652894, + 48.8843131 + ], + [ + 2.3659645, + 48.8842713 + ], + [ + 2.3665514, + 48.8842312 + ], + [ + 2.3670469, + 48.8842004 + ], + [ + 2.3676578, + 48.8841603 + ], + [ + 2.3680749, + 48.8841403 + ], + [ + 2.3682274, + 48.8841231 + ], + [ + 2.3683428, + 48.8841023 + ], + [ + 2.3684517, + 48.8840701 + ], + [ + 2.3685388, + 48.8840371 + ], + [ + 2.3686183, + 48.8840028 + ], + [ + 2.3687141, + 48.8839448 + ], + [ + 2.3688132, + 48.8838782 + ], + [ + 2.3689127, + 48.8837739 + ], + [ + 2.3689832, + 48.8836842 + ], + [ + 2.3691241, + 48.8834982 + ], + [ + 2.3692273, + 48.8833699 + ], + [ + 2.3693418, + 48.8832702 + ], + [ + 2.3694306, + 48.8832125 + ], + [ + 2.369682, + 48.8830537 + ], + [ + 2.3699101, + 48.8829038 + ], + [ + 2.3699967, + 48.8828406 + ], + [ + 2.3700468, + 48.8827944 + ], + [ + 2.37011, + 48.8827169 + ], + [ + 2.3701568, + 48.8826485 + ], + [ + 2.3701859, + 48.8825795 + ], + [ + 2.3702036, + 48.8825104 + ], + [ + 2.3702065, + 48.8824306 + ] + ] + }, + "id": "way/334709721" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334709722", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "level": "1", + "maxspeed": "65", + "name": "Métro 2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3489737, + 48.8836538 + ], + [ + 2.3493261, + 48.8836966 + ], + [ + 2.3495097, + 48.8837153 + ], + [ + 2.349813, + 48.8837474 + ], + [ + 2.3500818, + 48.8837681 + ], + [ + 2.3509964, + 48.8838331 + ], + [ + 2.3514436, + 48.8838635 + ], + [ + 2.3520289, + 48.8839062 + ], + [ + 2.3520569, + 48.8839082 + ], + [ + 2.3526138, + 48.8839509 + ], + [ + 2.3531199, + 48.8839881 + ], + [ + 2.3536053, + 48.8840243 + ], + [ + 2.3541179, + 48.8840591 + ], + [ + 2.3545146, + 48.8840901 + ], + [ + 2.3550108, + 48.8841225 + ], + [ + 2.3555112, + 48.8841554 + ] + ] + }, + "id": "way/334709722" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334709723", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "height": "7", + "layer": "1", + "level": "1", + "min_height": "5", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3702065, + 48.8824306 + ], + [ + 2.3702108, + 48.8823087 + ], + [ + 2.3702229, + 48.8817325 + ], + [ + 2.3702348, + 48.8802401 + ] + ] + }, + "id": "way/334709723" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334709724", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3435795, + 48.8827524 + ], + [ + 2.3436113, + 48.8827466 + ], + [ + 2.3448863, + 48.8830022 + ], + [ + 2.3466246, + 48.883338 + ], + [ + 2.3472632, + 48.8834407 + ] + ] + }, + "id": "way/334709724" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334709725", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3435795, + 48.8827524 + ], + [ + 2.3436057, + 48.8827718 + ], + [ + 2.3446121, + 48.8829736 + ], + [ + 2.3466166, + 48.883358 + ], + [ + 2.3468818, + 48.8834069 + ], + [ + 2.3472499, + 48.8834749 + ] + ] + }, + "id": "way/334709725" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334870898", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "maxspeed": "50", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3668785, + 48.8429496 + ], + [ + 2.3685602, + 48.8439377 + ] + ] + }, + "id": "way/334870898" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334870900", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "maxspeed": "35", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3688842, + 48.8445975 + ], + [ + 2.3688608, + 48.8446484 + ], + [ + 2.3688361, + 48.8446943 + ], + [ + 2.3688107, + 48.844734 + ], + [ + 2.3687828, + 48.8447712 + ], + [ + 2.3687506, + 48.8448083 + ], + [ + 2.3687108, + 48.8448494 + ], + [ + 2.3686681, + 48.8448875 + ], + [ + 2.3685659, + 48.8449693 + ], + [ + 2.3684063, + 48.8450869 + ], + [ + 2.3682969, + 48.8451558 + ], + [ + 2.3681875, + 48.8452096 + ], + [ + 2.3680144, + 48.8452721 + ], + [ + 2.3676827, + 48.8453825 + ] + ] + }, + "id": "way/334870900" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334870906", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "45", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3655663, + 48.8472989 + ], + [ + 2.365638, + 48.847571 + ] + ] + }, + "id": "way/334870906" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334870910", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "maxspeed": "35", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "voltage": "750", + "wikidata": "Q3396422", + "wikipedia": "fr:Pont-métro Morland" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3667816, + 48.8458093 + ], + [ + 2.3661647, + 48.8462957 + ], + [ + 2.3659189, + 48.8464896 + ], + [ + 2.3658274, + 48.8465758 + ], + [ + 2.3657705, + 48.8466456 + ], + [ + 2.3657295, + 48.8467038 + ], + [ + 2.3657093, + 48.8467359 + ], + [ + 2.3656803, + 48.846789 + ] + ] + }, + "id": "way/334870910" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334870912", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3610966, + 48.8385979 + ], + [ + 2.3612428, + 48.838784 + ] + ] + }, + "id": "way/334870912" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334870913", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "55", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3687394, + 48.853587 + ], + [ + 2.3688411, + 48.8537106 + ], + [ + 2.3691548, + 48.853954 + ], + [ + 2.3692558, + 48.8540646 + ], + [ + 2.3704333, + 48.8566333 + ], + [ + 2.3708497, + 48.8575302 + ], + [ + 2.3720741, + 48.8602134 + ], + [ + 2.3721486, + 48.860362 + ], + [ + 2.3721834, + 48.8604873 + ], + [ + 2.3722129, + 48.8606461 + ], + [ + 2.3722518, + 48.8609011 + ], + [ + 2.3722532, + 48.8613687 + ], + [ + 2.3722223, + 48.8616272 + ], + [ + 2.3721231, + 48.861921 + ], + [ + 2.371989, + 48.8621928 + ], + [ + 2.371698, + 48.8625713 + ], + [ + 2.3715317, + 48.8627292 + ], + [ + 2.3713841, + 48.8628492 + ], + [ + 2.3708283, + 48.8632087 + ], + [ + 2.3694165, + 48.8640529 + ], + [ + 2.368862, + 48.8643987 + ], + [ + 2.3672092, + 48.8654296 + ] + ] + }, + "id": "way/334870913" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334870914", + "bridge": "yes", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "maxspeed": "45", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3650644, + 48.8421414 + ], + [ + 2.365161, + 48.8421777 + ], + [ + 2.3655857, + 48.8423374 + ], + [ + 2.3660598, + 48.842518 + ], + [ + 2.3660971, + 48.8425321 + ], + [ + 2.3661027, + 48.8425343 + ], + [ + 2.36616, + 48.8425592 + ] + ] + }, + "id": "way/334870914" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334870915", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "maxspeed": "50", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.36616, + 48.8425592 + ], + [ + 2.3662989, + 48.8426231 + ], + [ + 2.3664358, + 48.8426896 + ], + [ + 2.3665578, + 48.8427584 + ], + [ + 2.3668785, + 48.8429496 + ] + ] + }, + "id": "way/334870915" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334870916", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "maxspeed": "35", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3676827, + 48.8453825 + ], + [ + 2.3673411, + 48.8454946 + ], + [ + 2.3671011, + 48.8455964 + ], + [ + 2.3669265, + 48.8456944 + ], + [ + 2.3667816, + 48.8458093 + ] + ] + }, + "id": "way/334870916" + }, + { + "type": "Feature", + "properties": { + "@id": "way/334870917", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "maxspeed": "45", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3592944, + 48.8365498 + ], + [ + 2.3606928, + 48.8381025 + ], + [ + 2.3608491, + 48.8382761 + ], + [ + 2.3610966, + 48.8385979 + ] + ] + }, + "id": "way/334870917" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187284", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "railway:track_ref": "1", + "service": "yard", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4094069, + 48.8503387 + ], + [ + 2.4095059, + 48.8497777 + ] + ] + }, + "id": "way/340187284" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187292", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "railway:track_ref": "2", + "service": "yard", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4094718, + 48.8494813 + ], + [ + 2.4093124, + 48.8503313 + ] + ] + }, + "id": "way/340187292" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187295", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "railway:track_ref": "3", + "service": "yard", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4094045, + 48.8494769 + ], + [ + 2.4092429, + 48.8503258 + ] + ] + }, + "id": "way/340187295" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187308", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "railway:track_ref": "4", + "service": "yard", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4093372, + 48.8494681 + ], + [ + 2.4091708, + 48.8503201 + ] + ] + }, + "id": "way/340187308" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187311", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "railway:track_ref": "5", + "service": "yard", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4093183, + 48.8492355 + ], + [ + 2.409301, + 48.8492777 + ], + [ + 2.4092677, + 48.8494622 + ], + [ + 2.409094, + 48.850314 + ] + ] + }, + "id": "way/340187311" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187351", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3626021, + 48.816788 + ], + [ + 2.3625312, + 48.8169121 + ], + [ + 2.3625145, + 48.8169581 + ], + [ + 2.3625046, + 48.8170034 + ], + [ + 2.362509, + 48.8170545 + ], + [ + 2.3625223, + 48.8171114 + ], + [ + 2.3625498, + 48.8171707 + ], + [ + 2.362589, + 48.8172343 + ], + [ + 2.3626118, + 48.8172649 + ], + [ + 2.3626705, + 48.8173268 + ], + [ + 2.3627052, + 48.8173615 + ], + [ + 2.3627587, + 48.817406 + ], + [ + 2.3628079, + 48.8174424 + ], + [ + 2.362851, + 48.817471 + ], + [ + 2.3629197, + 48.8175107 + ], + [ + 2.3629543, + 48.8175277 + ], + [ + 2.3630046, + 48.8175503 + ], + [ + 2.363045, + 48.8175653 + ], + [ + 2.3630929, + 48.8175827 + ], + [ + 2.3631162, + 48.817589 + ], + [ + 2.3633993, + 48.8176706 + ], + [ + 2.3648581, + 48.8180424 + ] + ] + }, + "id": "way/340187351" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187352", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4090996, + 48.8505197 + ], + [ + 2.4090984, + 48.8506033 + ], + [ + 2.4090898, + 48.8506667 + ], + [ + 2.4090694, + 48.8507563 + ], + [ + 2.4090368, + 48.8508319 + ], + [ + 2.4090091, + 48.8508962 + ], + [ + 2.4089814, + 48.8509525 + ], + [ + 2.4089431, + 48.851041 + ], + [ + 2.4089187, + 48.8510764 + ], + [ + 2.408891, + 48.8511043 + ], + [ + 2.4088502, + 48.8511386 + ], + [ + 2.4088103, + 48.8511649 + ], + [ + 2.4087655, + 48.8511906 + ], + [ + 2.4087157, + 48.8512094 + ], + [ + 2.4086693, + 48.8512255 + ], + [ + 2.4086235, + 48.8512373 + ] + ] + }, + "id": "way/340187352" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187357", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4091086, + 48.8508217 + ], + [ + 2.4090798, + 48.8509558 + ], + [ + 2.4090577, + 48.8510272 + ], + [ + 2.40903, + 48.8510861 + ], + [ + 2.4090072, + 48.8511264 + ], + [ + 2.4089811, + 48.8511618 + ], + [ + 2.4089453, + 48.8511993 + ], + [ + 2.4089029, + 48.8512331 + ], + [ + 2.4088532, + 48.8512626 + ], + [ + 2.4087994, + 48.8512872 + ], + [ + 2.4087363, + 48.8513106 + ], + [ + 2.4086842, + 48.8513245 + ], + [ + 2.4086304, + 48.8513336 + ], + [ + 2.408575, + 48.8513374 + ], + [ + 2.4085106, + 48.8513395 + ], + [ + 2.4084568, + 48.851339 + ], + [ + 2.4083715, + 48.8513343 + ] + ] + }, + "id": "way/340187357" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187361", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "knowledge;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2862597, + 48.8394273 + ], + [ + 2.2876228, + 48.8386657 + ] + ] + }, + "id": "way/340187361" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187365", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3527938, + 48.8332285 + ], + [ + 2.352455, + 48.832574 + ] + ] + }, + "id": "way/340187365" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187370", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.360556, + 48.8170274 + ], + [ + 2.3620815, + 48.8173728 + ] + ] + }, + "id": "way/340187370" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187371", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3528936, + 48.8332085 + ], + [ + 2.3525614, + 48.8325519 + ] + ] + }, + "id": "way/340187371" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187373", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3527012, + 48.8332531 + ], + [ + 2.3523635, + 48.832593 + ] + ] + }, + "id": "way/340187373" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187376", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3525614, + 48.8325519 + ], + [ + 2.3525497, + 48.8324179 + ] + ] + }, + "id": "way/340187376" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187378", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.352744, + 48.8332437 + ], + [ + 2.3524029, + 48.8325848 + ] + ] + }, + "id": "way/340187378" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187380", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "knowledge;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2866392, + 48.8395236 + ], + [ + 2.2878556, + 48.8388102 + ] + ] + }, + "id": "way/340187380" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187383", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3606995, + 48.8167658 + ], + [ + 2.3622207, + 48.8171075 + ] + ] + }, + "id": "way/340187383" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187384", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3523191, + 48.8326022 + ], + [ + 2.3526624, + 48.8332608 + ] + ] + }, + "id": "way/340187384" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187387", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3528401, + 48.8332202 + ], + [ + 2.3525067, + 48.8325633 + ] + ] + }, + "id": "way/340187387" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187390", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3607284, + 48.8166957 + ], + [ + 2.3622565, + 48.8170391 + ] + ] + }, + "id": "way/340187390" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187392", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3607439, + 48.8166636 + ], + [ + 2.3622724, + 48.81701 + ] + ] + }, + "id": "way/340187392" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187394", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "knowledge;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2865698, + 48.8395284 + ], + [ + 2.287829, + 48.8387927 + ] + ] + }, + "id": "way/340187394" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187396", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "knowledge;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2864793, + 48.8395347 + ], + [ + 2.2878076, + 48.8387763 + ] + ] + }, + "id": "way/340187396" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187397", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3524251, + 48.8322214 + ], + [ + 2.3523432, + 48.8323532 + ] + ] + }, + "id": "way/340187397" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187401", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3606716, + 48.8168125 + ], + [ + 2.3621943, + 48.8171574 + ] + ] + }, + "id": "way/340187401" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187403", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3605742, + 48.8169905 + ], + [ + 2.3620993, + 48.8173391 + ] + ] + }, + "id": "way/340187403" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187404", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3522972, + 48.8325121 + ], + [ + 2.3523191, + 48.8326022 + ] + ] + }, + "id": "way/340187404" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187406", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3522678, + 48.8326129 + ], + [ + 2.3526095, + 48.8332733 + ] + ] + }, + "id": "way/340187406" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187408", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3522972, + 48.8325121 + ], + [ + 2.3522678, + 48.8326129 + ] + ] + }, + "id": "way/340187408" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187410", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3621777, + 48.8171905 + ], + [ + 2.3606582, + 48.8168466 + ] + ] + }, + "id": "way/340187410" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187418", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3607128, + 48.8167322 + ], + [ + 2.3622373, + 48.8170759 + ] + ] + }, + "id": "way/340187418" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187419", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3606205, + 48.8169114 + ], + [ + 2.3621429, + 48.8172574 + ] + ] + }, + "id": "way/340187419" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187421", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3526627, + 48.8325309 + ], + [ + 2.3529933, + 48.8331909 + ] + ] + }, + "id": "way/340187421" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187425", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3527098, + 48.8325211 + ], + [ + 2.3530503, + 48.8331769 + ] + ] + }, + "id": "way/340187425" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187427", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "knowledge;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2864443, + 48.8394608 + ], + [ + 2.287707, + 48.8387256 + ] + ] + }, + "id": "way/340187427" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187430", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3522252, + 48.8326217 + ], + [ + 2.352551, + 48.8332857 + ] + ] + }, + "id": "way/340187430" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187432", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3621197, + 48.8173005 + ], + [ + 2.3625598, + 48.8174301 + ] + ] + }, + "id": "way/340187432" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187434", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3605711, + 48.8169476 + ], + [ + 2.3621197, + 48.8173005 + ] + ] + }, + "id": "way/340187434" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187436", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3525497, + 48.8324179 + ], + [ + 2.3526104, + 48.8325417 + ] + ] + }, + "id": "way/340187436" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187437", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3526104, + 48.8325417 + ], + [ + 2.3529363, + 48.8332015 + ] + ] + }, + "id": "way/340187437" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187439", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "knowledge;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2863231, + 48.8393594 + ], + [ + 2.287574, + 48.8386424 + ] + ] + }, + "id": "way/340187439" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187441", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3620656, + 48.8174041 + ], + [ + 2.3605463, + 48.8170589 + ] + ] + }, + "id": "way/340187441" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187448", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3606371, + 48.8168744 + ], + [ + 2.3621596, + 48.8172246 + ] + ] + }, + "id": "way/340187448" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187453", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4090876, + 48.8503354 + ], + [ + 2.409085, + 48.8504135 + ], + [ + 2.4090996, + 48.8505197 + ], + [ + 2.4091281, + 48.8506538 + ], + [ + 2.409133, + 48.8507321 + ], + [ + 2.4091086, + 48.8508217 + ], + [ + 2.4090735, + 48.850885 + ], + [ + 2.4090442, + 48.8509289 + ], + [ + 2.4090165, + 48.8509842 + ], + [ + 2.4089863, + 48.8510566 + ], + [ + 2.408961, + 48.8511016 + ], + [ + 2.4089342, + 48.8511349 + ], + [ + 2.4088999, + 48.8511686 + ], + [ + 2.4088633, + 48.851196 + ], + [ + 2.4088209, + 48.8512228 + ], + [ + 2.4087777, + 48.8512443 + ], + [ + 2.4087239, + 48.8512636 + ], + [ + 2.4086701, + 48.851278 + ], + [ + 2.408622, + 48.8512882 + ], + [ + 2.4085674, + 48.8512957 + ], + [ + 2.4085128, + 48.8512968 + ], + [ + 2.4084389, + 48.8512959 + ] + ] + }, + "id": "way/340187453" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187460", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3640367, + 48.817899 + ], + [ + 2.364418, + 48.8179941 + ], + [ + 2.3654862, + 48.8182658 + ] + ] + }, + "id": "way/340187460" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187463", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "knowledge;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2867756, + 48.8390604 + ], + [ + 2.2868112, + 48.8389897 + ], + [ + 2.2874875, + 48.8385796 + ] + ] + }, + "id": "way/340187463" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187465", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3620993, + 48.8173391 + ], + [ + 2.3623503, + 48.8174055 + ], + [ + 2.3625089, + 48.8174519 + ] + ] + }, + "id": "way/340187465" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187470", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3526114, + 48.8321419 + ], + [ + 2.3526857, + 48.8320871 + ], + [ + 2.352734, + 48.8320538 + ] + ] + }, + "id": "way/340187470" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187474", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3621596, + 48.8172246 + ], + [ + 2.3624018, + 48.8172817 + ], + [ + 2.3624904, + 48.8173072 + ], + [ + 2.3625404, + 48.8173233 + ], + [ + 2.3626068, + 48.8173524 + ] + ] + }, + "id": "way/340187474" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187477", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4091708, + 48.8503201 + ], + [ + 2.4091653, + 48.8503848 + ], + [ + 2.4091637, + 48.8505341 + ] + ] + }, + "id": "way/340187477" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340187478", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3526202, + 48.8323789 + ], + [ + 2.3526278, + 48.8324469 + ], + [ + 2.3526627, + 48.8325309 + ] + ] + }, + "id": "way/340187478" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189384", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3526202, + 48.8323789 + ], + [ + 2.3526756, + 48.8324701 + ], + [ + 2.3527098, + 48.8325211 + ] + ] + }, + "id": "way/340189384" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189390", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4092429, + 48.8503258 + ], + [ + 2.4092191, + 48.8503995 + ], + [ + 2.4091843, + 48.8504753 + ], + [ + 2.4091637, + 48.8505341 + ] + ] + }, + "id": "way/340189390" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189392", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3625147, + 48.8171599 + ], + [ + 2.3626118, + 48.8172649 + ] + ] + }, + "id": "way/340189392" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189393", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3526593, + 48.8321717 + ], + [ + 2.3527134, + 48.8321166 + ], + [ + 2.3527519, + 48.8320869 + ] + ] + }, + "id": "way/340189393" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189394", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3523432, + 48.8323532 + ], + [ + 2.3523092, + 48.8324709 + ], + [ + 2.3522972, + 48.8325121 + ] + ] + }, + "id": "way/340189394" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189397", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3525667, + 48.8319219 + ], + [ + 2.3525384, + 48.8320225 + ], + [ + 2.3525157, + 48.8320896 + ], + [ + 2.3524251, + 48.8322214 + ] + ] + }, + "id": "way/340189397" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189398", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3523635, + 48.832593 + ], + [ + 2.3523545, + 48.8325522 + ], + [ + 2.3523558, + 48.8325091 + ], + [ + 2.3523936, + 48.8324054 + ] + ] + }, + "id": "way/340189398" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189399", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3622724, + 48.81701 + ], + [ + 2.362342, + 48.8170368 + ], + [ + 2.3624329, + 48.8170875 + ], + [ + 2.3624744, + 48.8171226 + ], + [ + 2.3625147, + 48.8171599 + ] + ] + }, + "id": "way/340189399" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189400", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.409133, + 48.8507321 + ], + [ + 2.4091571, + 48.8506294 + ], + [ + 2.4091643, + 48.850589 + ], + [ + 2.4091637, + 48.8505341 + ] + ] + }, + "id": "way/340189400" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189401", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3525067, + 48.8325633 + ], + [ + 2.3524981, + 48.8325107 + ], + [ + 2.352488, + 48.8324444 + ], + [ + 2.3524817, + 48.8323756 + ] + ] + }, + "id": "way/340189401" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189402", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3524817, + 48.8323756 + ], + [ + 2.3525107, + 48.8322695 + ], + [ + 2.3525308, + 48.8322289 + ], + [ + 2.3526114, + 48.8321419 + ] + ] + }, + "id": "way/340189402" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189403", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.352455, + 48.832574 + ], + [ + 2.352454, + 48.8325256 + ], + [ + 2.3524628, + 48.8324403 + ], + [ + 2.3524817, + 48.8323756 + ] + ] + }, + "id": "way/340189403" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189404", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "knowledge;extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2863439, + 48.839469 + ], + [ + 2.2864443, + 48.8394608 + ], + [ + 2.2865341, + 48.8394553 + ], + [ + 2.2877469, + 48.8387475 + ] + ] + }, + "id": "way/340189404" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189405", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3524029, + 48.8325848 + ], + [ + 2.3523898, + 48.8325356 + ], + [ + 2.3523873, + 48.832485 + ], + [ + 2.3523936, + 48.8324054 + ] + ] + }, + "id": "way/340189405" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189407", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3622373, + 48.8170759 + ], + [ + 2.3622975, + 48.817096 + ], + [ + 2.3623502, + 48.8171152 + ], + [ + 2.3623886, + 48.8171358 + ], + [ + 2.3624966, + 48.8172148 + ], + [ + 2.3626118, + 48.8172984 + ] + ] + }, + "id": "way/340189407" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189408", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3526593, + 48.8321717 + ], + [ + 2.3526202, + 48.8322463 + ], + [ + 2.3526089, + 48.8322952 + ], + [ + 2.3526152, + 48.8323449 + ], + [ + 2.3526202, + 48.8323789 + ] + ] + }, + "id": "way/340189408" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189410", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3622565, + 48.8170391 + ], + [ + 2.362331, + 48.8170658 + ], + [ + 2.3623803, + 48.8170916 + ], + [ + 2.3624368, + 48.8171283 + ], + [ + 2.3626118, + 48.8172649 + ] + ] + }, + "id": "way/340189410" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189411", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3525497, + 48.8324179 + ], + [ + 2.3525548, + 48.8323474 + ], + [ + 2.3525737, + 48.8322703 + ], + [ + 2.3526064, + 48.8322231 + ], + [ + 2.3526593, + 48.8321717 + ] + ] + }, + "id": "way/340189411" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189412", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3523936, + 48.8324054 + ], + [ + 2.3524326, + 48.8323051 + ], + [ + 2.3524679, + 48.8322504 + ], + [ + 2.3525107, + 48.832209 + ], + [ + 2.3526114, + 48.8321419 + ] + ] + }, + "id": "way/340189412" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189414", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3620815, + 48.8173728 + ], + [ + 2.3622156, + 48.8174039 + ], + [ + 2.3623075, + 48.817418 + ], + [ + 2.3623695, + 48.8174257 + ], + [ + 2.3624216, + 48.8174336 + ], + [ + 2.3624538, + 48.81744 + ], + [ + 2.3625089, + 48.8174519 + ], + [ + 2.3625437, + 48.8174632 + ], + [ + 2.3625986, + 48.8174769 + ], + [ + 2.362639, + 48.8174843 + ], + [ + 2.3626896, + 48.8174941 + ] + ] + }, + "id": "way/340189414" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189415", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3523432, + 48.8323532 + ], + [ + 2.3522727, + 48.832451 + ], + [ + 2.3522412, + 48.8325041 + ], + [ + 2.3522236, + 48.8325522 + ], + [ + 2.3522198, + 48.8325886 + ], + [ + 2.3522252, + 48.8326217 + ] + ] + }, + "id": "way/340189415" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189416", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3524251, + 48.8322214 + ], + [ + 2.3525119, + 48.8321402 + ], + [ + 2.3525611, + 48.832107 + ], + [ + 2.3526179, + 48.8320765 + ], + [ + 2.3526784, + 48.8320523 + ], + [ + 2.3527255, + 48.8320374 + ] + ] + }, + "id": "way/340189416" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189417", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3621943, + 48.8171574 + ], + [ + 2.362305, + 48.8171849 + ], + [ + 2.3623762, + 48.817206 + ], + [ + 2.3624446, + 48.8172351 + ], + [ + 2.3626042, + 48.8173182 + ], + [ + 2.3626801, + 48.8173577 + ], + [ + 2.3627123, + 48.8173757 + ], + [ + 2.3627587, + 48.817406 + ] + ] + }, + "id": "way/340189417" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189418", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3628586, + 48.817516 + ], + [ + 2.3628067, + 48.8175061 + ], + [ + 2.3627514, + 48.8174999 + ], + [ + 2.3626896, + 48.8174941 + ], + [ + 2.3624529, + 48.8174657 + ], + [ + 2.3623256, + 48.8174592 + ], + [ + 2.36229, + 48.8174553 + ], + [ + 2.3622617, + 48.8174503 + ], + [ + 2.362202, + 48.8174402 + ], + [ + 2.3620656, + 48.8174041 + ] + ] + }, + "id": "way/340189418" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189421", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3622207, + 48.8171075 + ], + [ + 2.3622831, + 48.8171236 + ], + [ + 2.3623333, + 48.8171453 + ], + [ + 2.3624031, + 48.8171809 + ], + [ + 2.3624718, + 48.8172186 + ], + [ + 2.3625427, + 48.8172549 + ], + [ + 2.3626118, + 48.8172984 + ], + [ + 2.3627587, + 48.817406 + ] + ] + }, + "id": "way/340189421" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189422", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3621429, + 48.8172574 + ], + [ + 2.3622021, + 48.8172747 + ], + [ + 2.3622639, + 48.8172981 + ], + [ + 2.3623634, + 48.8173457 + ], + [ + 2.3624735, + 48.8173965 + ], + [ + 2.3625058, + 48.8174101 + ], + [ + 2.3625598, + 48.8174301 + ], + [ + 2.3627288, + 48.817479 + ], + [ + 2.3628586, + 48.817516 + ], + [ + 2.3630929, + 48.8175827 + ] + ] + }, + "id": "way/340189422" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189423", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4093124, + 48.8503313 + ], + [ + 2.4092976, + 48.8504076 + ], + [ + 2.4092862, + 48.8504642 + ], + [ + 2.4092658, + 48.8505099 + ], + [ + 2.4092021, + 48.8506181 + ], + [ + 2.4091776, + 48.8506529 + ], + [ + 2.409133, + 48.8507321 + ] + ] + }, + "id": "way/340189423" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189425", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4090493, + 48.850516 + ], + [ + 2.4090287, + 48.8506528 + ], + [ + 2.4090042, + 48.8507332 + ], + [ + 2.408979, + 48.8507879 + ], + [ + 2.4089529, + 48.8508356 + ], + [ + 2.4089227, + 48.8508758 + ], + [ + 2.408893, + 48.8509115 + ] + ] + }, + "id": "way/340189425" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189426", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.362202, + 48.8174402 + ], + [ + 2.3623664, + 48.8174774 + ], + [ + 2.3624298, + 48.8174916 + ], + [ + 2.3625835, + 48.8175187 + ], + [ + 2.3626483, + 48.8175325 + ], + [ + 2.3631069, + 48.8176364 + ], + [ + 2.3632859, + 48.8176808 + ], + [ + 2.3634459, + 48.817727 + ], + [ + 2.3635864, + 48.8177651 + ], + [ + 2.3640367, + 48.817899 + ] + ] + }, + "id": "way/340189426" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189427", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4092021, + 48.8506181 + ], + [ + 2.4092897, + 48.8505266 + ], + [ + 2.409335, + 48.8504835 + ], + [ + 2.4093652, + 48.8504471 + ], + [ + 2.4093828, + 48.8504164 + ], + [ + 2.4093992, + 48.8503766 + ], + [ + 2.4094069, + 48.8503387 + ] + ] + }, + "id": "way/340189427" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189430", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3629197, + 48.8175107 + ], + [ + 2.3627082, + 48.8174016 + ], + [ + 2.3626068, + 48.8173524 + ], + [ + 2.3624667, + 48.8172811 + ], + [ + 2.3624213, + 48.8172612 + ], + [ + 2.3623656, + 48.817238 + ], + [ + 2.3623186, + 48.817223 + ], + [ + 2.3622818, + 48.8172146 + ], + [ + 2.3621777, + 48.8171905 + ] + ] + }, + "id": "way/340189430" + }, + { + "type": "Feature", + "properties": { + "@id": "way/340189431", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "yard", + "source": "bing" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.409094, + 48.850314 + ], + [ + 2.4090876, + 48.8503354 + ], + [ + 2.4090493, + 48.850516 + ], + [ + 2.4090247, + 48.8505732 + ], + [ + 2.4090067, + 48.8506158 + ], + [ + 2.4089602, + 48.8506989 + ], + [ + 2.4089187, + 48.8507691 + ], + [ + 2.4088885, + 48.850819 + ], + [ + 2.4088502, + 48.8508619 + ], + [ + 2.4088116, + 48.8509018 + ] + ] + }, + "id": "way/340189431" + }, + { + "type": "Feature", + "properties": { + "@id": "way/348035139", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3266931, + 48.8751158 + ], + [ + 2.326643, + 48.8752858 + ], + [ + 2.3266516, + 48.8754458 + ], + [ + 2.3267628, + 48.8756742 + ], + [ + 2.3268265, + 48.8757799 + ], + [ + 2.3268646, + 48.8759087 + ] + ] + }, + "id": "way/348035139" + }, + { + "type": "Feature", + "properties": { + "@id": "way/354119188", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3374286, + 48.8836965 + ], + [ + 2.337666, + 48.8841675 + ], + [ + 2.3378081, + 48.8843959 + ], + [ + 2.3379294, + 48.8845677 + ], + [ + 2.338069, + 48.8847332 + ], + [ + 2.3382983, + 48.8850207 + ], + [ + 2.3384619, + 48.8853399 + ], + [ + 2.3385867, + 48.8858778 + ], + [ + 2.338588, + 48.8862447 + ], + [ + 2.3385531, + 48.8865842 + ], + [ + 2.3384955, + 48.886929 + ], + [ + 2.3383305, + 48.8877949 + ], + [ + 2.3382903, + 48.8882041 + ], + [ + 2.3382876, + 48.8885965 + ], + [ + 2.3383573, + 48.8889695 + ], + [ + 2.3384593, + 48.8892376 + ], + [ + 2.3388254, + 48.8897543 + ], + [ + 2.3395959, + 48.8908773 + ], + [ + 2.3398306, + 48.8911903 + ], + [ + 2.340088, + 48.8914355 + ], + [ + 2.340781, + 48.89192 + ], + [ + 2.3414774, + 48.8924027 + ], + [ + 2.3416652, + 48.892535 + ], + [ + 2.3418006, + 48.8926205 + ], + [ + 2.3419221, + 48.8926767 + ], + [ + 2.3420194, + 48.8927076 + ], + [ + 2.3421232, + 48.8927305 + ], + [ + 2.3422064, + 48.8927402 + ], + [ + 2.3423023, + 48.8927463 + ], + [ + 2.3423981, + 48.8927479 + ], + [ + 2.3426073, + 48.8927179 + ], + [ + 2.3430204, + 48.8926714 + ], + [ + 2.3437867, + 48.8925767 + ] + ] + }, + "id": "way/354119188" + }, + { + "type": "Feature", + "properties": { + "@id": "way/366143011", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3524613, + 48.8444365 + ], + [ + 2.3517108, + 48.8465109 + ], + [ + 2.3516712, + 48.8465844 + ], + [ + 2.3516224, + 48.8466581 + ] + ] + }, + "id": "way/366143011" + }, + { + "type": "Feature", + "properties": { + "@id": "way/366385022", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "ref": "2", + "source": "STIF", + "start_date": "1900-10-13", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2957603, + 48.8748013 + ], + [ + 2.2958411, + 48.8748947 + ], + [ + 2.2959009, + 48.8749713 + ], + [ + 2.2959709, + 48.8750701 + ], + [ + 2.2960057, + 48.8751192 + ] + ] + }, + "id": "way/366385022" + }, + { + "type": "Feature", + "properties": { + "@id": "way/366385024", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3972952, + 48.8482313 + ], + [ + 2.3974488, + 48.8484387 + ], + [ + 2.3974196, + 48.8486772 + ], + [ + 2.3973009, + 48.8489434 + ], + [ + 2.3967788, + 48.8492255 + ] + ] + }, + "id": "way/366385024" + }, + { + "type": "Feature", + "properties": { + "@id": "way/366385027", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "E", + "rubber_tires": "yes", + "service": "yard", + "start_date": "1900-07-19", + "tunnel": "yes", + "usage": "industrial", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.286615, + 48.8764655 + ], + [ + 2.286443, + 48.8765283 + ], + [ + 2.2863242, + 48.8765779 + ], + [ + 2.286213, + 48.8766314 + ], + [ + 2.2849634, + 48.8772606 + ], + [ + 2.2848291, + 48.8773242 + ], + [ + 2.2847452, + 48.8773566 + ], + [ + 2.2846455, + 48.8773882 + ], + [ + 2.2845679, + 48.8774082 + ], + [ + 2.2844965, + 48.8774208 + ], + [ + 2.284418, + 48.8774257 + ], + [ + 2.2843413, + 48.8774202 + ], + [ + 2.2842662, + 48.8774049 + ], + [ + 2.2842034, + 48.8773831 + ], + [ + 2.2841382, + 48.8773484 + ], + [ + 2.2840864, + 48.8773075 + ], + [ + 2.2840453, + 48.8772602 + ], + [ + 2.2840222, + 48.8772084 + ], + [ + 2.2840132, + 48.8771607 + ], + [ + 2.2840148, + 48.8771184 + ], + [ + 2.2840271, + 48.8770782 + ], + [ + 2.2840547, + 48.87703 + ], + [ + 2.284093, + 48.87699 + ], + [ + 2.2841429, + 48.876953 + ], + [ + 2.2842028, + 48.8769229 + ], + [ + 2.2842744, + 48.8768968 + ], + [ + 2.2843782, + 48.8768652 + ], + [ + 2.2845344, + 48.876826 + ], + [ + 2.2846507, + 48.876802 + ], + [ + 2.2861361, + 48.876561 + ], + [ + 2.2862847, + 48.876529 + ], + [ + 2.2864185, + 48.8764942 + ], + [ + 2.2865974, + 48.8764424 + ] + ] + }, + "id": "way/366385027" + }, + { + "type": "Feature", + "properties": { + "@id": "way/366389105", + "description": "Ancienne boucle de terminus", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2921566, + 48.8856453 + ], + [ + 2.2919164, + 48.8855946 + ], + [ + 2.2912874, + 48.8854387 + ], + [ + 2.2910437, + 48.8854113 + ], + [ + 2.2908582, + 48.8854104 + ], + [ + 2.2907624, + 48.8854211 + ], + [ + 2.2906741, + 48.8854388 + ], + [ + 2.2905614, + 48.8854709 + ], + [ + 2.2904016, + 48.88553 + ], + [ + 2.2903043, + 48.8855806 + ], + [ + 2.2902158, + 48.8856371 + ], + [ + 2.2901112, + 48.8857332 + ], + [ + 2.2900696, + 48.8857826 + ], + [ + 2.2900093, + 48.8858768 + ], + [ + 2.2899758, + 48.8859678 + ], + [ + 2.2899597, + 48.886056 + ], + [ + 2.2899543, + 48.8861618 + ], + [ + 2.2899758, + 48.8862526 + ], + [ + 2.2900219, + 48.8863509 + ], + [ + 2.2901139, + 48.8864634 + ], + [ + 2.2902172, + 48.8865507 + ], + [ + 2.2903446, + 48.8866259 + ], + [ + 2.2904519, + 48.8866733 + ], + [ + 2.2905933, + 48.8867068 + ], + [ + 2.2907576, + 48.8867332 + ], + [ + 2.29094, + 48.8867359 + ], + [ + 2.2911105, + 48.8867164 + ], + [ + 2.2912525, + 48.886683 + ], + [ + 2.2913772, + 48.8866424 + ], + [ + 2.2914867, + 48.8865955 + ], + [ + 2.2915958, + 48.8865344 + ], + [ + 2.2917313, + 48.886444 + ], + [ + 2.2918211, + 48.8863426 + ], + [ + 2.2919067, + 48.8862402 + ], + [ + 2.2920169, + 48.8861001 + ], + [ + 2.2921054, + 48.8859854 + ], + [ + 2.2921802, + 48.885936 + ], + [ + 2.2923012, + 48.8858769 + ], + [ + 2.2924537, + 48.8858181 + ], + [ + 2.2926319, + 48.8857935 + ] + ] + }, + "id": "way/366389105" + }, + { + "type": "Feature", + "properties": { + "@id": "way/366389107", + "electrified": "rail", + "frequency": "0", + "layer": "-1", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4008517, + 48.8653954 + ], + [ + 2.4008399, + 48.8654567 + ], + [ + 2.4008212, + 48.8655105 + ], + [ + 2.40062, + 48.8657884 + ], + [ + 2.4004925, + 48.8659342 + ], + [ + 2.4004094, + 48.8659904 + ], + [ + 2.4003142, + 48.8660363 + ], + [ + 2.4002056, + 48.8660751 + ], + [ + 2.400089, + 48.866105 + ], + [ + 2.3999535, + 48.8661192 + ], + [ + 2.3998234, + 48.8661131 + ], + [ + 2.3996745, + 48.8660892 + ], + [ + 2.3995074, + 48.8660516 + ] + ] + }, + "id": "way/366389107" + }, + { + "type": "Feature", + "properties": { + "@id": "way/366389109", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "source": "archives;survey;knowledge", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2948185, + 48.8862001 + ], + [ + 2.2940863, + 48.8860079 + ], + [ + 2.2932038, + 48.8857945 + ], + [ + 2.2925803, + 48.8856611 + ], + [ + 2.2921566, + 48.8856453 + ], + [ + 2.2920089, + 48.8856397 + ], + [ + 2.2916146, + 48.8856186 + ], + [ + 2.291456, + 48.885628 + ], + [ + 2.2912807, + 48.8856477 + ], + [ + 2.2911031, + 48.8856864 + ], + [ + 2.2909628, + 48.8857314 + ], + [ + 2.2907724, + 48.8858002 + ], + [ + 2.290634, + 48.8858754 + ], + [ + 2.2905015, + 48.8859625 + ], + [ + 2.2904049, + 48.8860463 + ], + [ + 2.2902869, + 48.8861676 + ], + [ + 2.2898759, + 48.8866586 + ] + ] + }, + "id": "way/366389109" + }, + { + "type": "Feature", + "properties": { + "@id": "way/366389112", + "electrified": "rail", + "frequency": "0", + "layer": "-2", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4008517, + 48.8653954 + ], + [ + 2.4008379, + 48.8653073 + ], + [ + 2.4007997, + 48.8652176 + ], + [ + 2.4007167, + 48.8651001 + ], + [ + 2.4005933, + 48.8649959 + ], + [ + 2.4004575, + 48.8649287 + ], + [ + 2.4003111, + 48.864866 + ] + ] + }, + "id": "way/366389112" + }, + { + "type": "Feature", + "properties": { + "@id": "way/369405313", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "bing;survey", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3129707, + 48.8424197 + ], + [ + 2.3136902, + 48.8415367 + ] + ] + }, + "id": "way/369405313" + }, + { + "type": "Feature", + "properties": { + "@id": "way/371959798", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3979715, + 48.8457312 + ], + [ + 2.397991, + 48.845656 + ], + [ + 2.3980019, + 48.8455976 + ], + [ + 2.3979984, + 48.845554 + ], + [ + 2.3979731, + 48.8455045 + ], + [ + 2.3979379, + 48.845467 + ], + [ + 2.3978687, + 48.8454254 + ], + [ + 2.397764, + 48.8453846 + ], + [ + 2.3976159, + 48.8453717 + ], + [ + 2.3956993, + 48.8455363 + ], + [ + 2.3954733, + 48.8455595 + ], + [ + 2.3953627, + 48.8455765 + ], + [ + 2.395254, + 48.8456031 + ], + [ + 2.3951693, + 48.8456317 + ], + [ + 2.3951093, + 48.8456607 + ], + [ + 2.3950513, + 48.8456911 + ], + [ + 2.3950017, + 48.8457265 + ], + [ + 2.394964, + 48.8457592 + ], + [ + 2.3949228, + 48.8457998 + ], + [ + 2.3939324, + 48.8469027 + ], + [ + 2.3938591, + 48.8470534 + ], + [ + 2.3938377, + 48.8471781 + ], + [ + 2.3938745, + 48.8472968 + ], + [ + 2.3939672, + 48.8474109 + ], + [ + 2.3941199, + 48.8475171 + ], + [ + 2.3943153, + 48.8476154 + ], + [ + 2.3945215, + 48.8476725 + ], + [ + 2.3947343, + 48.8476866 + ], + [ + 2.3949672, + 48.8476831 + ], + [ + 2.3950879, + 48.8476709 + ] + ] + }, + "id": "way/371959798" + }, + { + "type": "Feature", + "properties": { + "@id": "way/371959803", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3522678, + 48.8303826 + ], + [ + 2.3518803, + 48.8302598 + ], + [ + 2.3510044, + 48.8299823 + ], + [ + 2.3504719, + 48.8298145 + ] + ] + }, + "id": "way/371959803" + }, + { + "type": "Feature", + "properties": { + "@id": "way/371959807", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "ref:FR:RATP": "1758", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3365863, + 48.8330573 + ], + [ + 2.3362961, + 48.8331367 + ], + [ + 2.3355718, + 48.833341 + ], + [ + 2.3340197, + 48.8337664 + ], + [ + 2.3336598, + 48.833885 + ], + [ + 2.333347, + 48.8340156 + ], + [ + 2.3330948, + 48.8341539 + ], + [ + 2.3328986, + 48.8342646 + ], + [ + 2.3327497, + 48.8343606 + ], + [ + 2.3326721, + 48.8344106 + ], + [ + 2.332497, + 48.8345489 + ], + [ + 2.3324083, + 48.8346212 + ], + [ + 2.3323172, + 48.8347395 + ], + [ + 2.3322308, + 48.8348886 + ], + [ + 2.3320202, + 48.8353866 + ], + [ + 2.3315911, + 48.8365289 + ], + [ + 2.3310382, + 48.8380094 + ], + [ + 2.3306962, + 48.8389103 + ], + [ + 2.3306584, + 48.8390098 + ], + [ + 2.3306157, + 48.8390941 + ], + [ + 2.3305385, + 48.8391997 + ], + [ + 2.3304226, + 48.8393028 + ], + [ + 2.3303108, + 48.8393737 + ], + [ + 2.3301462, + 48.8394547 + ] + ] + }, + "id": "way/371959807" + }, + { + "type": "Feature", + "properties": { + "@id": "way/371959811", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "ref": "6", + "rubber_tires": "yes", + "source": "interpolation STIF/BDOrtho", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2856493, + 48.8576538 + ], + [ + 2.2848645, + 48.8584456 + ], + [ + 2.2848212, + 48.8585009 + ], + [ + 2.284788, + 48.8585532 + ], + [ + 2.2847708, + 48.858601 + ], + [ + 2.2847636, + 48.85865 + ], + [ + 2.284764, + 48.8587071 + ], + [ + 2.2847695, + 48.8587631 + ], + [ + 2.2847812, + 48.8588162 + ], + [ + 2.2847962, + 48.8588601 + ], + [ + 2.284819, + 48.8589073 + ], + [ + 2.2848467, + 48.8589517 + ], + [ + 2.2861279, + 48.8607734 + ], + [ + 2.2863662, + 48.8611089 + ], + [ + 2.2864107, + 48.8611757 + ], + [ + 2.2864575, + 48.8612578 + ], + [ + 2.2864785, + 48.8613048 + ], + [ + 2.2865002, + 48.8613621 + ], + [ + 2.2865276, + 48.8614405 + ], + [ + 2.286543, + 48.861498 + ], + [ + 2.2865576, + 48.8615598 + ], + [ + 2.286573, + 48.8616231 + ], + [ + 2.2866484, + 48.8619733 + ], + [ + 2.2866791, + 48.8620983 + ], + [ + 2.2867039, + 48.8621766 + ], + [ + 2.2867336, + 48.8622566 + ], + [ + 2.2867613, + 48.862318 + ], + [ + 2.2867932, + 48.8623796 + ], + [ + 2.2868384, + 48.8624508 + ], + [ + 2.2868819, + 48.862514 + ], + [ + 2.2869207, + 48.8625681 + ], + [ + 2.2874441, + 48.8632741 + ], + [ + 2.2874953, + 48.8633434 + ], + [ + 2.2878829, + 48.8638688 + ], + [ + 2.2901561, + 48.8670218 + ], + [ + 2.2923933, + 48.8701247 + ] + ] + }, + "id": "way/371959811" + }, + { + "type": "Feature", + "properties": { + "@id": "way/371959816", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "ref:FR:RATP": "1758", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3362802, + 48.8331111 + ], + [ + 2.3365749, + 48.8330321 + ] + ] + }, + "id": "way/371959816" + }, + { + "type": "Feature", + "properties": { + "@id": "way/371959822", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "name": "Métro 6 - Viaduc de Passy", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "start_date": "1905", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2859462, + 48.8573099 + ], + [ + 2.2863804, + 48.8568775 + ], + [ + 2.2866921, + 48.8565599 + ], + [ + 2.2876117, + 48.8556411 + ], + [ + 2.2879618, + 48.855289 + ], + [ + 2.2889942, + 48.854255 + ], + [ + 2.2896041, + 48.853629 + ], + [ + 2.2901493, + 48.8530927 + ], + [ + 2.2906884, + 48.8525509 + ], + [ + 2.2910481, + 48.8521892 + ], + [ + 2.2916091, + 48.8516217 + ], + [ + 2.2920595, + 48.851169 + ], + [ + 2.2922522, + 48.8509782 + ], + [ + 2.2923028, + 48.8509323 + ], + [ + 2.2923486, + 48.8508947 + ], + [ + 2.2923934, + 48.8508614 + ], + [ + 2.2924421, + 48.8508281 + ], + [ + 2.2924907, + 48.8507986 + ], + [ + 2.2925485, + 48.8507696 + ], + [ + 2.2926205, + 48.8507333 + ], + [ + 2.2927065, + 48.8506985 + ], + [ + 2.2927683, + 48.8506772 + ], + [ + 2.2928537, + 48.8506506 + ], + [ + 2.2930588, + 48.8505848 + ], + [ + 2.2940636, + 48.8502723 + ], + [ + 2.2944583, + 48.8501496 + ], + [ + 2.2951647, + 48.8499138 + ], + [ + 2.2957653, + 48.8497221 + ], + [ + 2.2964713, + 48.8495 + ], + [ + 2.2971624, + 48.8492791 + ], + [ + 2.2977446, + 48.8491039 + ], + [ + 2.2979698, + 48.8490263 + ], + [ + 2.2983974, + 48.8488942 + ], + [ + 2.299414, + 48.8485822 + ], + [ + 2.2998919, + 48.8484324 + ], + [ + 2.3009742, + 48.8481023 + ], + [ + 2.3012806, + 48.8480088 + ], + [ + 2.3018675, + 48.8478253 + ], + [ + 2.3024228, + 48.8476627 + ], + [ + 2.3033838, + 48.847381 + ], + [ + 2.3045047, + 48.8470543 + ], + [ + 2.3050648, + 48.8468873 + ], + [ + 2.3060284, + 48.8466022 + ], + [ + 2.307077, + 48.8463071 + ], + [ + 2.308139, + 48.8460095 + ], + [ + 2.3090425, + 48.8457546 + ], + [ + 2.3099551, + 48.8454973 + ], + [ + 2.3102866, + 48.8454043 + ], + [ + 2.3103686, + 48.8453798 + ], + [ + 2.3104335, + 48.8453585 + ], + [ + 2.3104965, + 48.8453346 + ], + [ + 2.3105499, + 48.845312 + ], + [ + 2.3105929, + 48.8452919 + ], + [ + 2.3106396, + 48.8452674 + ], + [ + 2.3106864, + 48.8452385 + ], + [ + 2.3107379, + 48.8452002 + ], + [ + 2.3107846, + 48.8451601 + ], + [ + 2.3108333, + 48.8451105 + ], + [ + 2.3108753, + 48.8450608 + ], + [ + 2.3114608, + 48.8443314 + ] + ] + }, + "id": "way/371959822" + }, + { + "type": "Feature", + "properties": { + "@id": "way/374417456", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-3", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3724608, + 48.828253 + ], + [ + 2.3717165, + 48.8278671 + ], + [ + 2.3714764, + 48.8277771 + ], + [ + 2.3712471, + 48.8277047 + ], + [ + 2.370936, + 48.8276332 + ], + [ + 2.3664158, + 48.8270333 + ] + ] + }, + "id": "way/374417456" + }, + { + "type": "Feature", + "properties": { + "@id": "way/374417457", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-4", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "http://www.adapter-les-stations-de-la-ligne14.com", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3816097, + 48.8313769 + ], + [ + 2.3823803, + 48.8315602 + ], + [ + 2.3831555, + 48.8317895 + ], + [ + 2.383997, + 48.8320718 + ], + [ + 2.3843391, + 48.832217 + ], + [ + 2.3846949, + 48.8324252 + ], + [ + 2.3852536, + 48.8328404 + ], + [ + 2.3856907, + 48.8332195 + ], + [ + 2.3859541, + 48.8335481 + ], + [ + 2.3861807, + 48.8338097 + ], + [ + 2.3865549, + 48.8341944 + ], + [ + 2.3868902, + 48.8345657 + ], + [ + 2.3871587, + 48.8348434 + ], + [ + 2.387283, + 48.8350874 + ], + [ + 2.3873412, + 48.8353286 + ], + [ + 2.3873224, + 48.8356361 + ], + [ + 2.3873062, + 48.8358275 + ], + [ + 2.3872623, + 48.8359478 + ], + [ + 2.3870393, + 48.8361503 + ], + [ + 2.386746, + 48.8364291 + ], + [ + 2.3865003, + 48.8366003 + ], + [ + 2.3859, + 48.8368621 + ], + [ + 2.3852911, + 48.8370482 + ], + [ + 2.3848498, + 48.8372082 + ], + [ + 2.3839864, + 48.8375149 + ], + [ + 2.3836074, + 48.8376415 + ], + [ + 2.382953, + 48.8378568 + ], + [ + 2.3823782, + 48.8380423 + ], + [ + 2.3818397, + 48.8382731 + ], + [ + 2.3812743, + 48.8386592 + ], + [ + 2.3801164, + 48.8395493 + ], + [ + 2.3795807, + 48.8399806 + ], + [ + 2.3791368, + 48.8402939 + ] + ] + }, + "id": "way/374417457" + }, + { + "type": "Feature", + "properties": { + "@id": "way/390827576", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-5", + "name": "Métro 8", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.277803, + 48.8352348 + ], + [ + 2.2780765, + 48.8357452 + ], + [ + 2.2781441, + 48.8358892 + ], + [ + 2.2782017, + 48.8360372 + ], + [ + 2.2782873, + 48.8362091 + ], + [ + 2.2783177, + 48.8362695 + ], + [ + 2.278379, + 48.8363968 + ], + [ + 2.2784916, + 48.8366325 + ], + [ + 2.2785694, + 48.8367645 + ], + [ + 2.2786311, + 48.8368465 + ], + [ + 2.2787236, + 48.8369242 + ], + [ + 2.2788445, + 48.836994 + ], + [ + 2.2817378, + 48.8385228 + ], + [ + 2.2821413, + 48.8387329 + ], + [ + 2.2821481, + 48.8387364 + ], + [ + 2.2825518, + 48.8389059 + ], + [ + 2.2849007, + 48.8398535 + ], + [ + 2.2858717, + 48.8402463 + ], + [ + 2.2868896, + 48.8406646 + ], + [ + 2.2879218, + 48.8410837 + ], + [ + 2.2913649, + 48.8424921 + ], + [ + 2.2917792, + 48.8426775 + ], + [ + 2.2919388, + 48.8427605 + ], + [ + 2.2920877, + 48.8428602 + ], + [ + 2.292309, + 48.8430376 + ], + [ + 2.2926523, + 48.843366 + ], + [ + 2.2930421, + 48.8437594 + ], + [ + 2.2938643, + 48.8447112 + ], + [ + 2.2938843, + 48.8447347 + ], + [ + 2.294014, + 48.8449035 + ], + [ + 2.2944681, + 48.8454252 + ], + [ + 2.2953064, + 48.8463711 + ], + [ + 2.2959568, + 48.8471125 + ], + [ + 2.2960777, + 48.847326 + ], + [ + 2.296853, + 48.8481924 + ], + [ + 2.297242, + 48.8485451 + ], + [ + 2.2976908, + 48.8489022 + ], + [ + 2.2980724, + 48.8492278 + ], + [ + 2.2983933, + 48.8494535 + ], + [ + 2.2992367, + 48.8500344 + ], + [ + 2.3001058, + 48.850633 + ], + [ + 2.3010087, + 48.8512214 + ], + [ + 2.3018549, + 48.8517973 + ], + [ + 2.3029627, + 48.8525513 + ], + [ + 2.3056125, + 48.8543593 + ], + [ + 2.3060728, + 48.8546647 + ] + ] + }, + "id": "way/390827576" + }, + { + "type": "Feature", + "properties": { + "@id": "way/390827578", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "name": "Métro 6 - Viaduc de Passy", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "start_date": "1905", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3114916, + 48.844343 + ], + [ + 2.3108731, + 48.8451183 + ], + [ + 2.3108372, + 48.8451574 + ], + [ + 2.3107854, + 48.8452036 + ], + [ + 2.3107466, + 48.8452353 + ], + [ + 2.3107027, + 48.8452667 + ], + [ + 2.310654, + 48.8452956 + ], + [ + 2.3105949, + 48.8453259 + ], + [ + 2.3105413, + 48.8453481 + ], + [ + 2.3104823, + 48.8453716 + ], + [ + 2.3104011, + 48.8453986 + ], + [ + 2.3102995, + 48.8454279 + ], + [ + 2.3100615, + 48.8454953 + ], + [ + 2.3090786, + 48.8457703 + ], + [ + 2.3061235, + 48.8466026 + ], + [ + 2.3034791, + 48.8473803 + ], + [ + 2.3025023, + 48.8476656 + ], + [ + 2.2980083, + 48.8490553 + ], + [ + 2.2974141, + 48.8492393 + ], + [ + 2.2958076, + 48.8497388 + ], + [ + 2.2949054, + 48.8500271 + ], + [ + 2.2932004, + 48.8505691 + ], + [ + 2.2928957, + 48.850667 + ], + [ + 2.2928157, + 48.8506921 + ], + [ + 2.2927546, + 48.8507132 + ], + [ + 2.2926956, + 48.8507354 + ], + [ + 2.2926493, + 48.8507558 + ], + [ + 2.2926068, + 48.8507753 + ], + [ + 2.2925594, + 48.8507993 + ], + [ + 2.2925183, + 48.8508211 + ], + [ + 2.2924621, + 48.8508566 + ], + [ + 2.2924202, + 48.8508832 + ], + [ + 2.2923785, + 48.8509155 + ], + [ + 2.2923333, + 48.850949 + ], + [ + 2.292272, + 48.8510054 + ], + [ + 2.291514, + 48.8517691 + ], + [ + 2.2911248, + 48.8521602 + ], + [ + 2.2907298, + 48.8525598 + ], + [ + 2.2900786, + 48.8532126 + ], + [ + 2.2896533, + 48.8536399 + ], + [ + 2.2890465, + 48.8542487 + ], + [ + 2.2876401, + 48.8556587 + ], + [ + 2.286157, + 48.8571448 + ], + [ + 2.2859779, + 48.857326 + ] + ] + }, + "id": "way/390827578" + }, + { + "type": "Feature", + "properties": { + "@id": "way/403517624", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "source": "archives;survey;knowledge", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2925803, + 48.8856611 + ], + [ + 2.2926714, + 48.8856525 + ], + [ + 2.293128, + 48.8857138 + ], + [ + 2.2935941, + 48.8858236 + ], + [ + 2.2943934, + 48.8860026 + ], + [ + 2.2948185, + 48.8862001 + ] + ] + }, + "id": "way/403517624" + }, + { + "type": "Feature", + "properties": { + "@id": "way/403517626", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "source": "archives;survey;knowledge", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2920169, + 48.8861001 + ], + [ + 2.2922442, + 48.8859625 + ], + [ + 2.2923864, + 48.8859008 + ], + [ + 2.2925165, + 48.8858646 + ], + [ + 2.2926493, + 48.8858461 + ], + [ + 2.2928276, + 48.8858461 + ], + [ + 2.2930496, + 48.885888 + ], + [ + 2.2939743, + 48.8861084 + ], + [ + 2.2947058, + 48.8863015 + ] + ] + }, + "id": "way/403517626" + }, + { + "type": "Feature", + "properties": { + "@id": "way/403647552", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3442797, + 48.8925257 + ], + [ + 2.3446394, + 48.8924628 + ], + [ + 2.3452711, + 48.8923489 + ] + ] + }, + "id": "way/403647552" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404320670", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "location": "underground", + "name": "Métro 12", + "name:ru": "Линия 12", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3369396, + 48.8789601 + ], + [ + 2.3369466, + 48.8788975 + ], + [ + 2.3369696, + 48.878833 + ], + [ + 2.3370007, + 48.8787908 + ], + [ + 2.3370245, + 48.8787636 + ] + ] + }, + "id": "way/404320670" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404320671", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "location": "underground", + "name": "Métro 12", + "name:ru": "Линия 12", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.337661, + 48.8782271 + ], + [ + 2.3377228, + 48.8781775 + ], + [ + 2.337821, + 48.8780912 + ], + [ + 2.3379051, + 48.8780096 + ], + [ + 2.3380233, + 48.877887 + ], + [ + 2.3382106, + 48.8777368 + ] + ] + }, + "id": "way/404320671" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404320674", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-1", + "location": "underground", + "name": "Métro 12", + "name:ru": "Линия 12", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3370245, + 48.8787636 + ], + [ + 2.3370618, + 48.878721 + ], + [ + 2.3371459, + 48.8786387 + ], + [ + 2.3373682, + 48.8784582 + ], + [ + 2.3374155, + 48.8784211 + ], + [ + 2.3375806, + 48.8782915 + ], + [ + 2.337661, + 48.8782271 + ] + ] + }, + "id": "way/404320674" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404320680", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "location": "underground", + "name": "Métro 12", + "name:ru": "Линия 12", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3370758, + 48.878784 + ], + [ + 2.3370341, + 48.8788305 + ], + [ + 2.3369396, + 48.8789601 + ] + ] + }, + "id": "way/404320680" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404320681", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "location": "underground", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3225691, + 48.8653959 + ], + [ + 2.3227573, + 48.8656344 + ], + [ + 2.3232833, + 48.8663096 + ], + [ + 2.3242254, + 48.8675186 + ], + [ + 2.3244967, + 48.8678482 + ], + [ + 2.3248521, + 48.8683396 + ], + [ + 2.3251099, + 48.8686575 + ], + [ + 2.3251904, + 48.8687616 + ], + [ + 2.3252477, + 48.8688795 + ], + [ + 2.3252705, + 48.8690312 + ], + [ + 2.3252534, + 48.8691621 + ], + [ + 2.3251717, + 48.8694342 + ], + [ + 2.3251579, + 48.8697305 + ], + [ + 2.3252206, + 48.870062 + ], + [ + 2.3252463, + 48.8702329 + ], + [ + 2.3252667, + 48.8704025 + ], + [ + 2.3252818, + 48.8706188 + ], + [ + 2.3252761, + 48.8707257 + ], + [ + 2.3252408, + 48.8708947 + ], + [ + 2.3252382, + 48.8710107 + ], + [ + 2.3252849, + 48.871127 + ], + [ + 2.3256276, + 48.8716135 + ], + [ + 2.326002, + 48.8721321 + ], + [ + 2.3264363, + 48.8727329 + ], + [ + 2.3267253, + 48.8731272 + ], + [ + 2.3269063, + 48.8733909 + ], + [ + 2.326968, + 48.8735519 + ], + [ + 2.3270042, + 48.8737579 + ], + [ + 2.3270102, + 48.8738426 + ], + [ + 2.3270062, + 48.8739462 + ], + [ + 2.3269908, + 48.874041 + ], + [ + 2.3269526, + 48.8741813 + ], + [ + 2.3269046, + 48.8743225 + ], + [ + 2.3267825, + 48.8748 + ], + [ + 2.3266931, + 48.8751158 + ], + [ + 2.3266766, + 48.8752079 + ], + [ + 2.326685, + 48.8753019 + ], + [ + 2.326711, + 48.8753712 + ], + [ + 2.3267595, + 48.8754303 + ], + [ + 2.3268292, + 48.8754889 + ], + [ + 2.3269217, + 48.8755388 + ], + [ + 2.327019, + 48.875578 + ], + [ + 2.3271507, + 48.8756116 + ] + ] + }, + "id": "way/404320681" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404320682", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "location": "underground", + "name": "Métro 12", + "name:ru": "Линия 12", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3382106, + 48.8777368 + ], + [ + 2.3380544, + 48.8779318 + ], + [ + 2.3379211, + 48.8780695 + ], + [ + 2.337834, + 48.8781538 + ], + [ + 2.3377388, + 48.8782275 + ], + [ + 2.3377048, + 48.8782541 + ] + ] + }, + "id": "way/404320682" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404320683", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-1", + "location": "underground", + "name": "Métro 12", + "name:ru": "Линия 12", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3377048, + 48.8782541 + ], + [ + 2.337458, + 48.8784469 + ], + [ + 2.3372992, + 48.8785744 + ], + [ + 2.3372284, + 48.8786334 + ], + [ + 2.3371799, + 48.8786775 + ], + [ + 2.3371272, + 48.8787276 + ], + [ + 2.3370758, + 48.878784 + ] + ] + }, + "id": "way/404320683" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404509164", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "level": "-4", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3372083, + 48.8819243 + ], + [ + 2.3371877, + 48.8820113 + ], + [ + 2.337178, + 48.8820707 + ], + [ + 2.3371711, + 48.8821282 + ], + [ + 2.3371694, + 48.8821718 + ], + [ + 2.3371717, + 48.8822192 + ], + [ + 2.3371797, + 48.8822978 + ], + [ + 2.3371921, + 48.882386 + ], + [ + 2.3372106, + 48.8824632 + ], + [ + 2.3372237, + 48.8825031 + ], + [ + 2.3372437, + 48.8825505 + ], + [ + 2.3372645, + 48.8825908 + ] + ] + }, + "id": "way/404509164" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404509165", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "location": "underground", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3369396, + 48.8789601 + ], + [ + 2.3369309, + 48.8790053 + ], + [ + 2.3369195, + 48.8790919 + ], + [ + 2.3369235, + 48.879163 + ], + [ + 2.3369335, + 48.8792071 + ], + [ + 2.3369466, + 48.8792453 + ], + [ + 2.3369596, + 48.8792816 + ], + [ + 2.3370594, + 48.8794821 + ], + [ + 2.3376842, + 48.8807464 + ], + [ + 2.3377386, + 48.8808833 + ], + [ + 2.3377349, + 48.8809378 + ], + [ + 2.3377166, + 48.8809912 + ], + [ + 2.337675, + 48.881087 + ], + [ + 2.3372422, + 48.881826 + ], + [ + 2.3372083, + 48.8819243 + ] + ] + }, + "id": "way/404509165" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404509166", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "ref": "2", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3382822, + 48.882222 + ], + [ + 2.3386451, + 48.8821687 + ], + [ + 2.3392918, + 48.8820716 + ] + ] + }, + "id": "way/404509166" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404509167", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "ref": "2", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3392918, + 48.8820716 + ], + [ + 2.3395265, + 48.8820231 + ], + [ + 2.3397424, + 48.8820108 + ], + [ + 2.3398161, + 48.8820099 + ], + [ + 2.3400374, + 48.8820258 + ], + [ + 2.3403647, + 48.8820884 + ], + [ + 2.3435795, + 48.8827524 + ] + ] + }, + "id": "way/404509167" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404688617", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "name": "Métro 6 - Viaduc de Passy", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "start_date": "1905", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2859779, + 48.857326 + ], + [ + 2.2856493, + 48.8576538 + ] + ] + }, + "id": "way/404688617" + }, + { + "type": "Feature", + "properties": { + "@id": "way/404688618", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "name": "Métro 6 - Viaduc de Passy", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "start_date": "1905", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.285619, + 48.8576352 + ], + [ + 2.2859462, + 48.8573099 + ] + ] + }, + "id": "way/404688618" + }, + { + "type": "Feature", + "properties": { + "@id": "way/405336688", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "start_date": "2013-03-23", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3495622, + 48.8871337 + ], + [ + 2.3495534, + 48.8868654 + ], + [ + 2.3495373, + 48.8863714 + ], + [ + 2.3495272, + 48.8857384 + ] + ] + }, + "id": "way/405336688" + }, + { + "type": "Feature", + "properties": { + "@id": "way/405336689", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "2013-03-23", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3448521, + 48.8973976 + ], + [ + 2.3462877, + 48.8956979 + ], + [ + 2.3478412, + 48.8938481 + ], + [ + 2.3486916, + 48.8928566 + ], + [ + 2.3495129, + 48.8918916 + ], + [ + 2.3495821, + 48.8918126 + ], + [ + 2.3496551, + 48.8916949 + ], + [ + 2.3497054, + 48.8915931 + ], + [ + 2.3497296, + 48.8914837 + ], + [ + 2.3497457, + 48.8913365 + ], + [ + 2.3497396, + 48.8911394 + ], + [ + 2.3497329, + 48.8902797 + ], + [ + 2.3497275, + 48.8891263 + ] + ] + }, + "id": "way/405336689" + }, + { + "type": "Feature", + "properties": { + "@id": "way/406229061", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 10", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3569842, + 48.8462072 + ], + [ + 2.3571226, + 48.8462436 + ], + [ + 2.3572433, + 48.8462851 + ], + [ + 2.3573358, + 48.846323 + ], + [ + 2.3574632, + 48.8463848 + ], + [ + 2.3577529, + 48.8465763 + ], + [ + 2.3582894, + 48.8469276 + ], + [ + 2.3584737, + 48.8470472 + ], + [ + 2.3588795, + 48.8473106 + ], + [ + 2.3590645, + 48.8473935 + ], + [ + 2.3592523, + 48.8474412 + ], + [ + 2.3594561, + 48.8474756 + ], + [ + 2.3596533, + 48.8474818 + ], + [ + 2.3598719, + 48.8474624 + ], + [ + 2.3600569, + 48.8474235 + ], + [ + 2.360242, + 48.8473644 + ], + [ + 2.3603895, + 48.8472726 + ], + [ + 2.3605612, + 48.8471155 + ], + [ + 2.3608013, + 48.8469143 + ], + [ + 2.3622926, + 48.8458994 + ], + [ + 2.3639707, + 48.8447716 + ], + [ + 2.3641455, + 48.8446334 + ], + [ + 2.3643038, + 48.8444507 + ], + [ + 2.3644076, + 48.8442806 + ], + [ + 2.3644699, + 48.8440976 + ], + [ + 2.3644877, + 48.8439179 + ], + [ + 2.3644778, + 48.8437403 + ], + [ + 2.3644477, + 48.8435654 + ], + [ + 2.3643688, + 48.8434004 + ], + [ + 2.3642618, + 48.843251 + ], + [ + 2.3641956, + 48.8431046 + ], + [ + 2.3641828, + 48.8429644 + ], + [ + 2.3642224, + 48.8428033 + ], + [ + 2.3643242, + 48.8426475 + ], + [ + 2.3647599, + 48.842138 + ] + ] + }, + "id": "way/406229061" + }, + { + "type": "Feature", + "properties": { + "@id": "way/406229064", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 10", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3554602, + 48.8461543 + ], + [ + 2.3559859, + 48.8461357 + ], + [ + 2.3562358, + 48.8461269 + ], + [ + 2.3564236, + 48.8461278 + ], + [ + 2.3564807, + 48.8461294 + ] + ] + }, + "id": "way/406229064" + }, + { + "type": "Feature", + "properties": { + "@id": "way/406229066", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3535565, + 48.8343612 + ], + [ + 2.352964, + 48.8352118 + ], + [ + 2.3526735, + 48.8356304 + ], + [ + 2.351838, + 48.8369968 + ], + [ + 2.3514272, + 48.8376686 + ], + [ + 2.3509186, + 48.8385004 + ], + [ + 2.3509736, + 48.8386918 + ], + [ + 2.3511534, + 48.8390582 + ], + [ + 2.3515821, + 48.8399316 + ], + [ + 2.3516653, + 48.8401011 + ], + [ + 2.3516778, + 48.8401266 + ], + [ + 2.3517834, + 48.8403417 + ], + [ + 2.3518569, + 48.8404915 + ], + [ + 2.3519334, + 48.8406473 + ], + [ + 2.3519823, + 48.8409683 + ], + [ + 2.3522772, + 48.8429053 + ], + [ + 2.3523962, + 48.8439666 + ], + [ + 2.3524613, + 48.8444365 + ], + [ + 2.3524878, + 48.8445469 + ], + [ + 2.3525267, + 48.8446435 + ], + [ + 2.3525957, + 48.8447706 + ], + [ + 2.3527158, + 48.8448845 + ], + [ + 2.3530704, + 48.8451007 + ], + [ + 2.3535861, + 48.8454162 + ], + [ + 2.3540204, + 48.8456704 + ], + [ + 2.3541367, + 48.8457385 + ], + [ + 2.354257, + 48.8458012 + ], + [ + 2.3543817, + 48.8458559 + ], + [ + 2.3545629, + 48.8459158 + ], + [ + 2.3546441, + 48.8459335 + ], + [ + 2.3547205, + 48.8459498 + ], + [ + 2.354801, + 48.8459626 + ], + [ + 2.3549103, + 48.8459767 + ], + [ + 2.3550484, + 48.8459891 + ], + [ + 2.3551119, + 48.8459933 + ], + [ + 2.3552038, + 48.8459949 + ], + [ + 2.3553514, + 48.8459958 + ], + [ + 2.3554507, + 48.8459913 + ] + ] + }, + "id": "way/406229066" + }, + { + "type": "Feature", + "properties": { + "@id": "way/406229067", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3554507, + 48.8459913 + ], + [ + 2.3556138, + 48.8459838 + ], + [ + 2.3560854, + 48.8459629 + ], + [ + 2.3565594, + 48.8459418 + ], + [ + 2.3568212, + 48.8459415 + ], + [ + 2.3569064, + 48.8459485 + ] + ] + }, + "id": "way/406229067" + }, + { + "type": "Feature", + "properties": { + "@id": "way/412983923", + "disused:railway": "subway", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Raccordement entre les lignes 2;4 et 5", + "railway": "subway", + "service": "crossover", + "tunnel": "yes", + "usage": "industrial", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3526401, + 48.8804377 + ], + [ + 2.3524388, + 48.8804795 + ], + [ + 2.3523091, + 48.8805191 + ], + [ + 2.3522109, + 48.8805653 + ], + [ + 2.3520878, + 48.8806034 + ], + [ + 2.3519492, + 48.8806332 + ], + [ + 2.3499698, + 48.8810616 + ], + [ + 2.3497323, + 48.8811208 + ], + [ + 2.3496958, + 48.88113 + ], + [ + 2.3467889, + 48.8819469 + ], + [ + 2.3464643, + 48.8820528 + ], + [ + 2.344667, + 48.88273 + ], + [ + 2.3444975, + 48.8827793 + ], + [ + 2.3443781, + 48.8828017 + ], + [ + 2.3443108, + 48.8828144 + ], + [ + 2.3441144, + 48.8828123 + ], + [ + 2.3439189, + 48.8827949 + ], + [ + 2.3436113, + 48.8827466 + ] + ] + }, + "id": "way/412983923" + }, + { + "type": "Feature", + "properties": { + "@id": "way/412984248", + "disused:railway": "subway", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Raccordement entre les lignes 2;4 et 5 - Unité Spécialisée en Formation et Réglementation du Transport", + "railway": "subway", + "service": "yard", + "tunnel": "yes", + "usage": "industrial", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3554652, + 48.8769146 + ], + [ + 2.3545156, + 48.8779988 + ], + [ + 2.3539438, + 48.8786337 + ], + [ + 2.3525434, + 48.8801886 + ], + [ + 2.3523386, + 48.880416 + ], + [ + 2.3521802, + 48.8805307 + ], + [ + 2.3519492, + 48.8806332 + ] + ] + }, + "id": "way/412984248" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432807833", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3;-2", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "ref": "2", + "source": "STIF", + "start_date": "1900-10-13", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2901059, + 48.8717221 + ], + [ + 2.2931133, + 48.8730304 + ] + ] + }, + "id": "way/432807833" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432807834", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "ref": "2", + "source": "STIF", + "start_date": "1900-10-13", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.278372, + 48.8711774 + ], + [ + 2.2790869, + 48.8710261 + ], + [ + 2.2816431, + 48.8704774 + ], + [ + 2.281905, + 48.870421 + ], + [ + 2.2828083, + 48.8702255 + ], + [ + 2.2836011, + 48.8700619 + ], + [ + 2.2846988, + 48.8698259 + ], + [ + 2.2849214, + 48.8698012 + ], + [ + 2.2851293, + 48.8697941 + ], + [ + 2.2853487, + 48.8697947 + ], + [ + 2.285549, + 48.869825 + ], + [ + 2.2857421, + 48.8698647 + ], + [ + 2.2859075, + 48.8699069 + ], + [ + 2.2860385, + 48.8699556 + ], + [ + 2.2881454, + 48.8708483 + ], + [ + 2.2901059, + 48.8717221 + ] + ] + }, + "id": "way/432807834" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432807835", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "2E", + "ref": "6", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1900-10-02", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2949579, + 48.8744156 + ], + [ + 2.294904, + 48.8744315 + ], + [ + 2.2948437, + 48.8744508 + ], + [ + 2.2947222, + 48.8744717 + ], + [ + 2.2946007, + 48.8744926 + ], + [ + 2.2944913, + 48.8745028 + ], + [ + 2.2943757, + 48.8745028 + ], + [ + 2.2942695, + 48.8744974 + ], + [ + 2.2941519, + 48.8744783 + ], + [ + 2.2940436, + 48.8744542 + ], + [ + 2.2939361, + 48.8744187 + ], + [ + 2.2938385, + 48.8743769 + ], + [ + 2.2937684, + 48.8743293 + ], + [ + 2.2937023, + 48.8742781 + ], + [ + 2.2936475, + 48.8742206 + ], + [ + 2.2935994, + 48.8741425 + ], + [ + 2.2935665, + 48.8740647 + ], + [ + 2.2935476, + 48.8739753 + ], + [ + 2.2935445, + 48.8738826 + ], + [ + 2.2935717, + 48.8737809 + ], + [ + 2.293624, + 48.8736796 + ], + [ + 2.2941321, + 48.8731384 + ], + [ + 2.2941911, + 48.8730543 + ], + [ + 2.2942333, + 48.8729655 + ], + [ + 2.2942536, + 48.8728733 + ], + [ + 2.2942643, + 48.8727764 + ] + ] + }, + "id": "way/432807835" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432809563", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3950638, + 48.8484898 + ], + [ + 2.3950556, + 48.8483902 + ], + [ + 2.3950737, + 48.8482931 + ], + [ + 2.3951153, + 48.8481907 + ], + [ + 2.3951843, + 48.8481025 + ], + [ + 2.3952858, + 48.848042 + ], + [ + 2.395416, + 48.8480095 + ], + [ + 2.395506, + 48.8479911 + ], + [ + 2.395569, + 48.8479798 + ], + [ + 2.3956311, + 48.8479715 + ], + [ + 2.3957007, + 48.8479669 + ], + [ + 2.3958311, + 48.8479625 + ], + [ + 2.395933, + 48.8479623 + ] + ] + }, + "id": "way/432809563" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432809564", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 9", + "name:ru": "Линия 9", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750", + "wikidata": "Q50753", + "wikipedia": "fr:Ligne 9 du métro de Paris" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3989119, + 48.8505285 + ], + [ + 2.4009777, + 48.8517513 + ], + [ + 2.4013757, + 48.8518166 + ], + [ + 2.4015234, + 48.8518441 + ], + [ + 2.4061147, + 48.8527067 + ], + [ + 2.406731, + 48.852804 + ], + [ + 2.4074878, + 48.8529381 + ], + [ + 2.4075624, + 48.8529519 + ], + [ + 2.4083425, + 48.8530944 + ], + [ + 2.4088001, + 48.85318 + ], + [ + 2.4091192, + 48.8532369 + ], + [ + 2.4106511, + 48.8535248 + ], + [ + 2.4159693, + 48.8544515 + ], + [ + 2.4160107, + 48.8544587 + ], + [ + 2.4163444, + 48.8545169 + ], + [ + 2.4163851, + 48.854524 + ], + [ + 2.4168575, + 48.8546063 + ] + ] + }, + "id": "way/432809564" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432815230", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 3", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "archives;survey;knowledge", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3408886, + 48.8687478 + ], + [ + 2.3386432, + 48.8691676 + ] + ] + }, + "id": "way/432815230" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432815231", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 3", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2926319, + 48.8857935 + ], + [ + 2.2923985, + 48.8857714 + ], + [ + 2.2919801, + 48.8857705 + ], + [ + 2.2916797, + 48.8857935 + ], + [ + 2.2913645, + 48.8858411 + ], + [ + 2.2911151, + 48.8859046 + ], + [ + 2.2909246, + 48.8859628 + ], + [ + 2.2907449, + 48.8860304 + ], + [ + 2.2905786, + 48.8861056 + ], + [ + 2.2904485, + 48.886178 + ], + [ + 2.2903292, + 48.886252 + ], + [ + 2.290191, + 48.8863605 + ], + [ + 2.290006, + 48.8865201 + ], + [ + 2.2898759, + 48.8866586 + ], + [ + 2.289508, + 48.8871511 + ], + [ + 2.289005, + 48.8877173 + ], + [ + 2.2884734, + 48.8882803 + ], + [ + 2.2877247, + 48.8891012 + ], + [ + 2.2868986, + 48.8900077 + ], + [ + 2.2861476, + 48.890833 + ], + [ + 2.285583, + 48.8914547 + ], + [ + 2.2850318, + 48.8920499 + ], + [ + 2.2847274, + 48.8924411 + ], + [ + 2.2818943, + 48.8955216 + ], + [ + 2.2803973, + 48.8971408 + ] + ] + }, + "id": "way/432815231" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432815233", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 3", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "archives;survey;knowledge", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2947058, + 48.8863015 + ], + [ + 2.2940733, + 48.8860616 + ], + [ + 2.2934906, + 48.8859272 + ], + [ + 2.2929216, + 48.8857957 + ], + [ + 2.2926319, + 48.8857935 + ] + ] + }, + "id": "way/432815233" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432816250", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "start_date": "2013-03-23", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3497275, + 48.8891263 + ], + [ + 2.3495622, + 48.8871337 + ] + ] + }, + "id": "way/432816250" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432909897", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "60", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3617401, + 48.8699468 + ], + [ + 2.3607546, + 48.8711191 + ], + [ + 2.3586669, + 48.8734486 + ] + ] + }, + "id": "way/432909897" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432918682", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3267832, + 48.8848184 + ], + [ + 2.3269635, + 48.8845016 + ], + [ + 2.3272857, + 48.8838238 + ], + [ + 2.3273099, + 48.883645 + ], + [ + 2.3272789, + 48.8834903 + ], + [ + 2.3271996, + 48.8832241 + ], + [ + 2.3271006, + 48.8811821 + ], + [ + 2.3270241, + 48.8796037 + ], + [ + 2.3269814, + 48.8785338 + ], + [ + 2.3268899, + 48.8762418 + ], + [ + 2.3268766, + 48.8761032 + ], + [ + 2.3268379, + 48.8759153 + ] + ] + }, + "id": "way/432918682" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432918683", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "start_date": "1911-02-26", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3265895, + 48.8756086 + ], + [ + 2.3264957, + 48.875559 + ], + [ + 2.3263953, + 48.8755257 + ], + [ + 2.3262937, + 48.8755011 + ], + [ + 2.3261656, + 48.8754762 + ], + [ + 2.3260178, + 48.8754533 + ], + [ + 2.3250015, + 48.8753076 + ], + [ + 2.3241609, + 48.8751803 + ], + [ + 2.3238494, + 48.8751471 + ], + [ + 2.3235397, + 48.8751319 + ], + [ + 2.3230125, + 48.8751252 + ] + ] + }, + "id": "way/432918683" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432920738", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-3", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "interpolation", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3758482, + 48.8295705 + ], + [ + 2.3724608, + 48.828253 + ] + ] + }, + "id": "way/432920738" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432922765", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-2", + "location": "underground", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "1", + "source": "STIF", + "start_date": "1912-01-20", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3257537, + 48.8871746 + ], + [ + 2.3256568, + 48.8873552 + ], + [ + 2.3254839, + 48.8875324 + ], + [ + 2.3252531, + 48.8876843 + ], + [ + 2.3246554, + 48.8880282 + ], + [ + 2.3201948, + 48.8905947 + ], + [ + 2.3184151, + 48.8916187 + ], + [ + 2.3179321, + 48.8919149 + ], + [ + 2.313526, + 48.8944308 + ], + [ + 2.3134568, + 48.8944819 + ], + [ + 2.3134013, + 48.8945286 + ], + [ + 2.3133506, + 48.8945782 + ], + [ + 2.3133066, + 48.8946253 + ], + [ + 2.3132638, + 48.8946709 + ], + [ + 2.3132185, + 48.8947287 + ], + [ + 2.3131612, + 48.8948443 + ], + [ + 2.312745, + 48.8958802 + ] + ] + }, + "id": "way/432922765" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432925037", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.330021, + 48.8759494 + ], + [ + 2.3310113, + 48.8761309 + ], + [ + 2.3316813, + 48.876236 + ], + [ + 2.3322083, + 48.8762942 + ], + [ + 2.3326415, + 48.8763251 + ], + [ + 2.332954, + 48.8763357 + ], + [ + 2.3333724, + 48.8763181 + ], + [ + 2.3378028, + 48.8760318 + ], + [ + 2.3385437, + 48.8759935 + ], + [ + 2.3388991, + 48.8759732 + ], + [ + 2.3390292, + 48.8759758 + ], + [ + 2.3390681, + 48.8759848 + ], + [ + 2.3391271, + 48.8760049 + ], + [ + 2.3391915, + 48.8760578 + ], + [ + 2.3392304, + 48.8761311 + ], + [ + 2.3393779, + 48.8765253 + ], + [ + 2.33939, + 48.8766162 + ], + [ + 2.3393752, + 48.8766938 + ], + [ + 2.3393015, + 48.8767855 + ], + [ + 2.3392292, + 48.8768679 + ], + [ + 2.3390935, + 48.8769944 + ] + ] + }, + "id": "way/432925037" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432925038", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3390935, + 48.8769944 + ], + [ + 2.3382106, + 48.8777368 + ] + ] + }, + "id": "way/432925038" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432925039", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3452711, + 48.8923489 + ], + [ + 2.3464858, + 48.8920893 + ] + ] + }, + "id": "way/432925039" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432925040", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3437867, + 48.8925767 + ], + [ + 2.3442797, + 48.8925257 + ] + ] + }, + "id": "way/432925040" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432925041", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3271507, + 48.8756116 + ], + [ + 2.3272913, + 48.8756341 + ], + [ + 2.3278406, + 48.8757066 + ], + [ + 2.3283719, + 48.8757735 + ], + [ + 2.3289657, + 48.8758374 + ], + [ + 2.330021, + 48.8759494 + ] + ] + }, + "id": "way/432925041" + }, + { + "type": "Feature", + "properties": { + "@id": "way/432925042", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "survey;knowledge;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3372645, + 48.8825908 + ], + [ + 2.3372769, + 48.8826148 + ], + [ + 2.3372824, + 48.8828931 + ], + [ + 2.3372918, + 48.8831383 + ], + [ + 2.3374286, + 48.8836965 + ] + ] + }, + "id": "way/432925042" + }, + { + "type": "Feature", + "properties": { + "@id": "way/433096695", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 10", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "knowledge;survey;archives", + "station": "subway", + "subway": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2725047, + 48.8470573 + ], + [ + 2.2729012, + 48.8471362 + ], + [ + 2.2732707, + 48.8471362 + ], + [ + 2.2736287, + 48.8470691 + ], + [ + 2.2739546, + 48.8469485 + ], + [ + 2.2759508, + 48.8461002 + ], + [ + 2.2761894, + 48.8460293 + ], + [ + 2.2764509, + 48.8459801 + ], + [ + 2.2768824, + 48.8459792 + ], + [ + 2.2774014, + 48.8460714 + ], + [ + 2.2776674, + 48.8461155 + ], + [ + 2.2779151, + 48.8461385 + ], + [ + 2.2780662, + 48.8461462 + ] + ] + }, + "id": "way/433096695" + }, + { + "type": "Feature", + "properties": { + "@id": "way/433096696", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 10", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3564807, + 48.8461294 + ], + [ + 2.356547, + 48.8461313 + ], + [ + 2.356661, + 48.846141 + ], + [ + 2.3567575, + 48.8461569 + ], + [ + 2.3568581, + 48.8461772 + ], + [ + 2.3569842, + 48.8462072 + ] + ] + }, + "id": "way/433096696" + }, + { + "type": "Feature", + "properties": { + "@id": "way/433096697", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-4", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "interpolation", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3774856, + 48.8302362 + ], + [ + 2.3783519, + 48.830583 + ], + [ + 2.379549, + 48.8310658 + ], + [ + 2.3801699, + 48.8311595 + ], + [ + 2.3816097, + 48.8313769 + ] + ] + }, + "id": "way/433096697" + }, + { + "type": "Feature", + "properties": { + "@id": "way/435895973", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 3", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3094624, + 48.8798022 + ], + [ + 2.309339, + 48.8797845 + ], + [ + 2.309103, + 48.8797634 + ], + [ + 2.3087918, + 48.8797492 + ], + [ + 2.3085022, + 48.8797563 + ], + [ + 2.3082554, + 48.8797739 + ], + [ + 2.308014, + 48.8797845 + ], + [ + 2.3077994, + 48.8797704 + ], + [ + 2.3076224, + 48.8797387 + ], + [ + 2.3073649, + 48.879661 + ], + [ + 2.3071718, + 48.8795411 + ], + [ + 2.3070645, + 48.8794176 + ], + [ + 2.3069787, + 48.8792589 + ], + [ + 2.3069519, + 48.879086 + ], + [ + 2.3069679, + 48.8789519 + ], + [ + 2.3070538, + 48.8787967 + ], + [ + 2.3071718, + 48.8786732 + ], + [ + 2.3073595, + 48.8785815 + ], + [ + 2.3075258, + 48.8785109 + ], + [ + 2.3077941, + 48.8784369 + ], + [ + 2.3080033, + 48.8784228 + ], + [ + 2.3083037, + 48.8784651 + ], + [ + 2.3085504, + 48.8785462 + ], + [ + 2.3087489, + 48.878645 + ], + [ + 2.3088669, + 48.8788073 + ], + [ + 2.3094624, + 48.8798022 + ], + [ + 2.3097253, + 48.8799362 + ], + [ + 2.3099827, + 48.8801197 + ], + [ + 2.3103529, + 48.8803984 + ], + [ + 2.310488, + 48.8804625 + ], + [ + 2.3106104, + 48.8804989 + ], + [ + 2.3108769, + 48.8805525 + ], + [ + 2.3111307, + 48.8805924 + ], + [ + 2.3127203, + 48.8808962 + ] + ] + }, + "id": "way/435895973" + }, + { + "type": "Feature", + "properties": { + "@id": "way/445446055", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-5", + "level": "-5", + "name": "Métro 14", + "name:it": "Metro 14", + "name:ru": "Линия 14", + "note": "Livelli e layer nei pressi delle due gallerie monotubo 'RER B' dedotti dai due siti web https://it.parismap360.com/mappa-metro-parigi e https://it.wikipedia.org/wiki/Linea_14_(metropolitana_di_Parigi)", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3479193, + 48.857731 + ], + [ + 2.347588, + 48.858106 + ], + [ + 2.3473399, + 48.8584765 + ], + [ + 2.3470516, + 48.8589133 + ], + [ + 2.3467284, + 48.8593404 + ], + [ + 2.3463026, + 48.8597749 + ], + [ + 2.3459579, + 48.8601331 + ], + [ + 2.3455153, + 48.8605222 + ], + [ + 2.3451358, + 48.8608116 + ], + [ + 2.3447535, + 48.8610649 + ], + [ + 2.3445699, + 48.861183 + ], + [ + 2.3438765, + 48.8615651 + ], + [ + 2.3434326, + 48.8617777 + ], + [ + 2.3430142, + 48.8619471 + ], + [ + 2.3424697, + 48.8621447 + ], + [ + 2.3420647, + 48.8622691 + ], + [ + 2.3414384, + 48.8624562 + ], + [ + 2.339876, + 48.8629202 + ], + [ + 2.3389399, + 48.8632387 + ], + [ + 2.3379917, + 48.8635775 + ], + [ + 2.3367512, + 48.8641157 + ], + [ + 2.3363771, + 48.8643504 + ], + [ + 2.3358956, + 48.8646618 + ], + [ + 2.3352881, + 48.8651126 + ], + [ + 2.3345203, + 48.8656865 + ], + [ + 2.3342668, + 48.8658612 + ], + [ + 2.3339114, + 48.8660782 + ], + [ + 2.3333602, + 48.866417 + ], + [ + 2.3328989, + 48.8666966 + ], + [ + 2.3321103, + 48.8671809 + ], + [ + 2.3309409, + 48.8678982 + ], + [ + 2.3301241, + 48.8683966 + ], + [ + 2.3286449, + 48.8694164 + ], + [ + 2.3279462, + 48.8699015 + ], + [ + 2.3276733, + 48.8700153 + ], + [ + 2.3274167, + 48.8701042 + ], + [ + 2.3267651, + 48.8703242 + ], + [ + 2.3265519, + 48.8703914 + ], + [ + 2.3251819, + 48.8708576 + ], + [ + 2.324518, + 48.8711973 + ], + [ + 2.3238863, + 48.8716478 + ], + [ + 2.3234168, + 48.8721397 + ], + [ + 2.3231082, + 48.8726756 + ], + [ + 2.3229591, + 48.8733079 + ], + [ + 2.322993, + 48.8738897 + ], + [ + 2.3231843, + 48.8743894 + ], + [ + 2.3234558, + 48.8748958 + ], + [ + 2.3241125, + 48.8756144 + ], + [ + 2.3263773, + 48.8781867 + ] + ] + }, + "id": "way/445446055" + }, + { + "type": "Feature", + "properties": { + "@id": "way/461859768", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "1", + "source": "STIF", + "start_date": "1980-05-09", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.312745, + 48.8958802 + ], + [ + 2.3123864, + 48.8967708 + ], + [ + 2.3123025, + 48.8969497 + ], + [ + 2.3121994, + 48.897107 + ], + [ + 2.3120984, + 48.8972255 + ], + [ + 2.3119669, + 48.8973567 + ], + [ + 2.3117855, + 48.8975177 + ], + [ + 2.3099637, + 48.8989035 + ], + [ + 2.3098559, + 48.8989938 + ], + [ + 2.3097636, + 48.8990769 + ], + [ + 2.3064665, + 48.9027386 + ] + ] + }, + "id": "way/461859768" + }, + { + "type": "Feature", + "properties": { + "@id": "way/475598696", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3605352, + 48.8772227 + ], + [ + 2.3624779, + 48.8788923 + ], + [ + 2.3655808, + 48.8814286 + ], + [ + 2.3657982, + 48.8815943 + ], + [ + 2.3686234, + 48.8838121 + ], + [ + 2.3686486, + 48.8838377 + ], + [ + 2.3702373, + 48.8851627 + ], + [ + 2.3717371, + 48.8864287 + ], + [ + 2.3727006, + 48.887225 + ], + [ + 2.3742226, + 48.8884812 + ], + [ + 2.3773681, + 48.8908513 + ], + [ + 2.3776577, + 48.8910788 + ], + [ + 2.3815199, + 48.8941119 + ], + [ + 2.3823046, + 48.8947282 + ], + [ + 2.385591, + 48.8974039 + ], + [ + 2.3882213, + 48.8998783 + ], + [ + 2.3884599, + 48.9000843 + ], + [ + 2.3908816, + 48.9023071 + ], + [ + 2.3913414, + 48.9027269 + ], + [ + 2.3917253, + 48.9030987 + ], + [ + 2.3922499, + 48.9036279 + ], + [ + 2.3923763, + 48.903743 + ], + [ + 2.3932843, + 48.9045061 + ], + [ + 2.3950741, + 48.906288 + ], + [ + 2.3951998, + 48.9063799 + ], + [ + 2.4038072, + 48.9142573 + ], + [ + 2.4041001, + 48.914531 + ], + [ + 2.4042506, + 48.9146717 + ], + [ + 2.410766, + 48.9207595 + ] + ] + }, + "id": "way/475598696" + }, + { + "type": "Feature", + "properties": { + "@id": "way/475598697", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3326085, + 48.8695933 + ], + [ + 2.3325073, + 48.8698034 + ], + [ + 2.3324419, + 48.8699509 + ], + [ + 2.3323549, + 48.8701308 + ], + [ + 2.3323183, + 48.8702306 + ], + [ + 2.33228, + 48.8703837 + ], + [ + 2.3322742, + 48.8705435 + ], + [ + 2.3322856, + 48.8707187 + ], + [ + 2.332324, + 48.8708949 + ], + [ + 2.3323548, + 48.8710175 + ] + ] + }, + "id": "way/475598697" + }, + { + "type": "Feature", + "properties": { + "@id": "way/475598698", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-2", + "name": "Métro 3", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3328315, + 48.8703134 + ], + [ + 2.3326625, + 48.870414 + ], + [ + 2.3324237, + 48.8705922 + ], + [ + 2.3319453, + 48.8709546 + ], + [ + 2.3317456, + 48.8711001 + ], + [ + 2.3313685, + 48.8713357 + ], + [ + 2.3309264, + 48.8715913 + ] + ] + }, + "id": "way/475598698" + }, + { + "type": "Feature", + "properties": { + "@id": "way/475598699", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 3", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3386432, + 48.8691676 + ], + [ + 2.3359026, + 48.8695954 + ], + [ + 2.3335326, + 48.8701372 + ], + [ + 2.3330063, + 48.870254 + ], + [ + 2.3328315, + 48.8703134 + ] + ] + }, + "id": "way/475598699" + }, + { + "type": "Feature", + "properties": { + "@id": "way/475598700", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-5", + "level": "-5", + "name": "Métro 8", + "name:ru": "Линия 8", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3326314, + 48.8706839 + ], + [ + 2.3319438, + 48.8705568 + ], + [ + 2.3312817, + 48.8704386 + ], + [ + 2.3305326, + 48.8703016 + ], + [ + 2.3299295, + 48.8702006 + ] + ] + }, + "id": "way/475598700" + }, + { + "type": "Feature", + "properties": { + "@id": "way/483666081", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "level": "-2", + "name": "Métro 3", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3518524, + 48.8663998 + ], + [ + 2.3509614, + 48.86659 + ], + [ + 2.3508742, + 48.8666086 + ] + ] + }, + "id": "way/483666081" + }, + { + "type": "Feature", + "properties": { + "@id": "way/483666085", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "level": "-2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3508637, + 48.8665873 + ], + [ + 2.3517863, + 48.8663904 + ], + [ + 2.3518419, + 48.8663785 + ] + ] + }, + "id": "way/483666085" + }, + { + "type": "Feature", + "properties": { + "@id": "way/525002830", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3605352, + 48.8772227 + ], + [ + 2.3605087, + 48.8772168 + ], + [ + 2.3598583, + 48.8766624 + ], + [ + 2.3597419, + 48.8765875 + ], + [ + 2.3595912, + 48.8765216 + ], + [ + 2.3594303, + 48.8764836 + ], + [ + 2.3592643, + 48.8764706 + ], + [ + 2.358513, + 48.8764991 + ], + [ + 2.3583321, + 48.8764999 + ], + [ + 2.3581839, + 48.876496 + ], + [ + 2.3580397, + 48.8764859 + ], + [ + 2.3579966, + 48.8764815 + ] + ] + }, + "id": "way/525002830" + }, + { + "type": "Feature", + "properties": { + "@id": "way/525002831", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "40", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "2", + "source": "STIF", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3592013, + 48.8760729 + ], + [ + 2.3591034, + 48.8761485 + ], + [ + 2.3589922, + 48.8762074 + ], + [ + 2.3588872, + 48.8762437 + ], + [ + 2.3586975, + 48.8762941 + ], + [ + 2.358521, + 48.8763285 + ], + [ + 2.3583791, + 48.8763469 + ], + [ + 2.3581276, + 48.8763641 + ], + [ + 2.3579861, + 48.876367 + ] + ] + }, + "id": "way/525002831" + }, + { + "type": "Feature", + "properties": { + "@id": "way/525002832", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3335833, + 48.8731756 + ], + [ + 2.333347, + 48.8730822 + ], + [ + 2.3333171, + 48.8730627 + ], + [ + 2.3332379, + 48.8730019 + ], + [ + 2.333196, + 48.8729524 + ], + [ + 2.3331615, + 48.8728912 + ], + [ + 2.3330917, + 48.872698 + ], + [ + 2.3328617, + 48.8721016 + ], + [ + 2.3324124, + 48.8711692 + ], + [ + 2.3323548, + 48.8710175 + ] + ] + }, + "id": "way/525002832" + }, + { + "type": "Feature", + "properties": { + "@id": "way/525002833", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-1", + "maxspeed": "40", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.359455, + 48.8758521 + ], + [ + 2.3594205, + 48.8759016 + ], + [ + 2.3593412, + 48.8759642 + ], + [ + 2.3592013, + 48.8760729 + ] + ] + }, + "id": "way/525002833" + }, + { + "type": "Feature", + "properties": { + "@id": "way/525012821", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "1", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1900-07-19", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.368206, + 48.8522518 + ], + [ + 2.3681888, + 48.8522868 + ], + [ + 2.3681746, + 48.852333 + ], + [ + 2.3681678, + 48.8523754 + ], + [ + 2.3681633, + 48.8524133 + ], + [ + 2.3681613, + 48.852454 + ], + [ + 2.3681696, + 48.8525308 + ], + [ + 2.3681937, + 48.8526313 + ], + [ + 2.368252, + 48.8528383 + ], + [ + 2.3682675, + 48.8528961 + ], + [ + 2.3682853, + 48.8529717 + ], + [ + 2.368297, + 48.8530284 + ], + [ + 2.3683016, + 48.8530666 + ], + [ + 2.3683032, + 48.853106 + ], + [ + 2.3682971, + 48.8531438 + ], + [ + 2.3682831, + 48.8531842 + ], + [ + 2.3682649, + 48.8532138 + ], + [ + 2.3682434, + 48.8532394 + ], + [ + 2.3682164, + 48.8532615 + ], + [ + 2.368182, + 48.8532827 + ], + [ + 2.3681359, + 48.8533024 + ], + [ + 2.368089, + 48.853317 + ], + [ + 2.3680414, + 48.8533285 + ], + [ + 2.3679978, + 48.8533378 + ], + [ + 2.3679296, + 48.8533492 + ], + [ + 2.3669662, + 48.8534722 + ], + [ + 2.3667012, + 48.8535113 + ], + [ + 2.3665224, + 48.853538 + ], + [ + 2.3663525, + 48.8535718 + ], + [ + 2.3659691, + 48.853657 + ], + [ + 2.3657891, + 48.8537008 + ], + [ + 2.3653277, + 48.8538207 + ], + [ + 2.3649478, + 48.8539235 + ], + [ + 2.3646325, + 48.8540138 + ], + [ + 2.3644123, + 48.854084 + ], + [ + 2.3642138, + 48.8541514 + ], + [ + 2.3635299, + 48.8543949 + ], + [ + 2.3628354, + 48.8546423 + ], + [ + 2.3624872, + 48.8547829 + ], + [ + 2.3620719, + 48.8549406 + ], + [ + 2.3618574, + 48.8550167 + ], + [ + 2.3617028, + 48.8550667 + ], + [ + 2.3615507, + 48.8551123 + ], + [ + 2.3613303, + 48.8551742 + ], + [ + 2.3611318, + 48.8552242 + ], + [ + 2.3609931, + 48.8552568 + ], + [ + 2.3604173, + 48.8553907 + ], + [ + 2.353831, + 48.8569523 + ], + [ + 2.3525938, + 48.8572398 + ], + [ + 2.3520804, + 48.8573621 + ], + [ + 2.3517049, + 48.8574491 + ], + [ + 2.3515677, + 48.8574837 + ], + [ + 2.3513438, + 48.8575424 + ], + [ + 2.3512025, + 48.857586 + ], + [ + 2.351071, + 48.8576267 + ], + [ + 2.3468162, + 48.8589782 + ], + [ + 2.3460759, + 48.8592208 + ], + [ + 2.3453356, + 48.8594634 + ], + [ + 2.3428975, + 48.8602597 + ], + [ + 2.3413398, + 48.8607499 + ], + [ + 2.3411352, + 48.8608148 + ], + [ + 2.340914, + 48.8608844 + ], + [ + 2.3402094, + 48.8611351 + ], + [ + 2.3401067, + 48.8611716 + ], + [ + 2.3376337, + 48.8619957 + ], + [ + 2.3363844, + 48.8624011 + ], + [ + 2.3353189, + 48.8627323 + ], + [ + 2.3335312, + 48.8632944 + ], + [ + 2.329672, + 48.8645203 + ], + [ + 2.3291738, + 48.8646786 + ], + [ + 2.3284647, + 48.8649043 + ], + [ + 2.3268673, + 48.8654258 + ], + [ + 2.3242427, + 48.8662692 + ], + [ + 2.3239799, + 48.866323 + ], + [ + 2.323713, + 48.8663477 + ], + [ + 2.3234658, + 48.8663633 + ], + [ + 2.323079, + 48.8663742 + ], + [ + 2.3226858, + 48.8663827 + ], + [ + 2.3222077, + 48.8664002 + ], + [ + 2.3216473, + 48.8664168 + ], + [ + 2.3212095, + 48.8663904 + ], + [ + 2.3206617, + 48.8662262 + ], + [ + 2.3203751, + 48.8661408 + ], + [ + 2.3201235, + 48.8661002 + ], + [ + 2.3195836, + 48.8661433 + ], + [ + 2.3186282, + 48.8662435 + ], + [ + 2.3181706, + 48.8663722 + ], + [ + 2.3168448, + 48.8666791 + ], + [ + 2.3148645, + 48.8672934 + ], + [ + 2.3142551, + 48.8674918 + ], + [ + 2.3136374, + 48.867693 + ], + [ + 2.3099369, + 48.8690573 + ], + [ + 2.3098178, + 48.8690843 + ], + [ + 2.3085377, + 48.8694945 + ], + [ + 2.3080536, + 48.8696502 + ], + [ + 2.3069371, + 48.8700061 + ], + [ + 2.3064791, + 48.8701561 + ], + [ + 2.3045949, + 48.8707744 + ], + [ + 2.3024185, + 48.8714558 + ], + [ + 2.3008203, + 48.8719679 + ], + [ + 2.300428, + 48.8720888 + ], + [ + 2.3000331, + 48.8722105 + ], + [ + 2.2991951, + 48.8724734 + ], + [ + 2.2988605, + 48.8725643 + ], + [ + 2.2973063, + 48.8729143 + ], + [ + 2.2970892, + 48.8729877 + ], + [ + 2.2970117, + 48.873038 + ], + [ + 2.2969108, + 48.8731035 + ], + [ + 2.2967643, + 48.8732412 + ], + [ + 2.2966843, + 48.8733748 + ], + [ + 2.296611, + 48.8735986 + ], + [ + 2.2965616, + 48.8737493 + ], + [ + 2.2965262, + 48.8738239 + ], + [ + 2.2964834, + 48.8738987 + ], + [ + 2.2964325, + 48.873969 + ], + [ + 2.2963733, + 48.8740383 + ], + [ + 2.2963078, + 48.874099 + ], + [ + 2.2962316, + 48.8741586 + ], + [ + 2.296146, + 48.8742102 + ], + [ + 2.2960498, + 48.8742525 + ], + [ + 2.2959612, + 48.8742805 + ], + [ + 2.2951523, + 48.8745364 + ], + [ + 2.2950329, + 48.8745706 + ], + [ + 2.2949059, + 48.8745999 + ], + [ + 2.2948758, + 48.874605 + ], + [ + 2.2948729, + 48.8746056 + ], + [ + 2.2948625, + 48.8746074 + ] + ] + }, + "id": "way/525012821" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531012928", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1900-07-19", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2865974, + 48.8764424 + ], + [ + 2.2895582, + 48.8755083 + ], + [ + 2.2895661, + 48.8755059 + ], + [ + 2.290338, + 48.8752572 + ], + [ + 2.2906706, + 48.87515 + ], + [ + 2.290676, + 48.8751483 + ], + [ + 2.2906903, + 48.8751437 + ] + ] + }, + "id": "way/531012928" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531012929", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "20", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "yard", + "tunnel": "yes", + "usage": "branch", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2826438, + 48.8776522 + ], + [ + 2.282866, + 48.8775777 + ], + [ + 2.282994, + 48.877542 + ] + ] + }, + "id": "way/531012929" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531012930", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-2", + "location": "underground", + "maxspeed": "30", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.282628, + 48.87763 + ], + [ + 2.2827528, + 48.8775936 + ], + [ + 2.2828808, + 48.8775647 + ], + [ + 2.282994, + 48.877542 + ], + [ + 2.2833466, + 48.8774712 + ], + [ + 2.2834877, + 48.8774369 + ], + [ + 2.2836207, + 48.8773962 + ], + [ + 2.2839469, + 48.8772876 + ] + ] + }, + "id": "way/531012930" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531016422", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1900-07-19", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2960309, + 48.8742293 + ], + [ + 2.2961211, + 48.8741906 + ], + [ + 2.2962065, + 48.8741403 + ], + [ + 2.2962794, + 48.8740835 + ], + [ + 2.2963463, + 48.8740257 + ], + [ + 2.2964004, + 48.8739601 + ], + [ + 2.2964521, + 48.873892 + ], + [ + 2.296492, + 48.8738194 + ], + [ + 2.2965261, + 48.8737456 + ], + [ + 2.2965812, + 48.8735785 + ], + [ + 2.2966401, + 48.8733997 + ], + [ + 2.2966501, + 48.8733695 + ], + [ + 2.2967234, + 48.8732308 + ], + [ + 2.2968731, + 48.8730868 + ], + [ + 2.2970551, + 48.872964 + ], + [ + 2.2972733, + 48.8728835 + ], + [ + 2.2988364, + 48.8725402 + ], + [ + 2.2991716, + 48.8724505 + ], + [ + 2.3000213, + 48.8721883 + ], + [ + 2.3004148, + 48.8720617 + ], + [ + 2.3008011, + 48.871941 + ] + ] + }, + "id": "way/531016422" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531016424", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1900-07-19", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2910616, + 48.8750024 + ], + [ + 2.2920991, + 48.8745299 + ], + [ + 2.2923141, + 48.8744491 + ], + [ + 2.2925385, + 48.8743872 + ], + [ + 2.2927822, + 48.87435 + ], + [ + 2.293021, + 48.8743445 + ], + [ + 2.2932366, + 48.8743649 + ], + [ + 2.293436, + 48.8744043 + ], + [ + 2.2941099, + 48.8745877 + ], + [ + 2.2942381, + 48.8746069 + ], + [ + 2.2943677, + 48.8746159 + ], + [ + 2.2945037, + 48.8746186 + ], + [ + 2.2946369, + 48.8746121 + ], + [ + 2.2947693, + 48.874599 + ], + [ + 2.294862, + 48.8745829 + ], + [ + 2.2948933, + 48.8745775 + ], + [ + 2.2950181, + 48.8745474 + ], + [ + 2.2951345, + 48.8745137 + ], + [ + 2.2959396, + 48.8742585 + ], + [ + 2.2959441, + 48.874257 + ], + [ + 2.2959494, + 48.8742552 + ], + [ + 2.2960309, + 48.8742293 + ] + ] + }, + "id": "way/531016424" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531016425", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "maxspeed": "45", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2906903, + 48.8751437 + ], + [ + 2.2907096, + 48.8751379 + ], + [ + 2.2910616, + 48.8750024 + ] + ] + }, + "id": "way/531016425" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531017156", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3080308, + 48.8696259 + ], + [ + 2.3085165, + 48.8694701 + ], + [ + 2.3097952, + 48.869063 + ] + ] + }, + "id": "way/531017156" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531017157", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "60", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3008011, + 48.871941 + ], + [ + 2.3024037, + 48.871431 + ], + [ + 2.3035083, + 48.8710843 + ], + [ + 2.304579, + 48.8707483 + ], + [ + 2.3064605, + 48.8701317 + ], + [ + 2.306919, + 48.8699818 + ], + [ + 2.3074792, + 48.8698013 + ], + [ + 2.3080308, + 48.8696259 + ] + ] + }, + "id": "way/531017157" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531017839", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3268393, + 48.8654019 + ], + [ + 2.3284514, + 48.8648841 + ], + [ + 2.3296589, + 48.8645025 + ], + [ + 2.3301671, + 48.8643405 + ] + ] + }, + "id": "way/531017839" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531017844", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3242179, + 48.8662487 + ], + [ + 2.3255613, + 48.8658122 + ], + [ + 2.3268393, + 48.8654019 + ] + ] + }, + "id": "way/531017844" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531017851", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3186098, + 48.8662226 + ], + [ + 2.3195791, + 48.8661154 + ], + [ + 2.3201129, + 48.8660736 + ], + [ + 2.3203822, + 48.8661144 + ], + [ + 2.3206677, + 48.8661992 + ], + [ + 2.3212134, + 48.8663645 + ], + [ + 2.3216512, + 48.8663877 + ], + [ + 2.3222271, + 48.8663718 + ], + [ + 2.3227081, + 48.8663531 + ] + ] + }, + "id": "way/531017851" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531017858", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "60", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3148457, + 48.8672731 + ], + [ + 2.3168234, + 48.8666472 + ], + [ + 2.3181574, + 48.8663474 + ], + [ + 2.3186098, + 48.8662226 + ] + ] + }, + "id": "way/531017858" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531017865", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "operator": "RATP", + "railway": "subway", + "ref": "1", + "rubber_tires": "yes", + "service": "crossover", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3186098, + 48.8662226 + ], + [ + 2.3194692, + 48.8659825 + ], + [ + 2.3196365, + 48.8659265 + ], + [ + 2.3198144, + 48.8658934 + ], + [ + 2.3201886, + 48.8657717 + ], + [ + 2.3204863, + 48.8656993 + ], + [ + 2.3207223, + 48.8657046 + ], + [ + 2.320945, + 48.8657346 + ], + [ + 2.3210822, + 48.8657667 + ] + ] + }, + "id": "way/531017865" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531017871", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3097952, + 48.869063 + ], + [ + 2.3099212, + 48.8690222 + ], + [ + 2.3136172, + 48.8676736 + ], + [ + 2.3142507, + 48.8674711 + ], + [ + 2.3148457, + 48.8672731 + ] + ] + }, + "id": "way/531017871" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531018896", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "55", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3681596, + 48.8522391 + ], + [ + 2.3681445, + 48.852266 + ], + [ + 2.3681272, + 48.8522988 + ], + [ + 2.3681136, + 48.8523464 + ], + [ + 2.3681063, + 48.8523957 + ], + [ + 2.3681054, + 48.852441 + ], + [ + 2.3681098, + 48.8525039 + ], + [ + 2.3681259, + 48.8526054 + ], + [ + 2.3682097, + 48.8529382 + ], + [ + 2.3682224, + 48.8529962 + ], + [ + 2.3682273, + 48.8530504 + ], + [ + 2.3682313, + 48.8530852 + ], + [ + 2.3682281, + 48.8531219 + ], + [ + 2.3682198, + 48.8531527 + ], + [ + 2.3682061, + 48.8531819 + ], + [ + 2.3681887, + 48.8532095 + ], + [ + 2.3681637, + 48.8532353 + ], + [ + 2.3681349, + 48.8532537 + ], + [ + 2.3680939, + 48.8532715 + ], + [ + 2.3680446, + 48.8532876 + ], + [ + 2.3679833, + 48.8533013 + ], + [ + 2.3679204, + 48.8533113 + ], + [ + 2.3678467, + 48.8533203 + ], + [ + 2.366915, + 48.8534498 + ], + [ + 2.366603, + 48.853493 + ], + [ + 2.3664708, + 48.8535149 + ], + [ + 2.366253, + 48.8535595 + ], + [ + 2.3659262, + 48.8536336 + ], + [ + 2.3656964, + 48.8536896 + ], + [ + 2.3653363, + 48.853788 + ], + [ + 2.3649724, + 48.8538861 + ], + [ + 2.3647688, + 48.8539438 + ], + [ + 2.3645664, + 48.8540044 + ], + [ + 2.3643614, + 48.8540684 + ], + [ + 2.3641639, + 48.8541344 + ], + [ + 2.3637491, + 48.8542819 + ], + [ + 2.3628275, + 48.854616 + ], + [ + 2.3624583, + 48.8547653 + ], + [ + 2.362039, + 48.8549178 + ], + [ + 2.3618463, + 48.8549848 + ], + [ + 2.3616787, + 48.8550386 + ], + [ + 2.3615495, + 48.8550776 + ], + [ + 2.3614282, + 48.8551113 + ], + [ + 2.3612639, + 48.8551578 + ], + [ + 2.3611038, + 48.8551985 + ], + [ + 2.3609679, + 48.8552308 + ], + [ + 2.3604022, + 48.8553649 + ], + [ + 2.3601843, + 48.8554166 + ], + [ + 2.3538114, + 48.8569202 + ], + [ + 2.35258, + 48.8572126 + ], + [ + 2.3520592, + 48.8573314 + ], + [ + 2.3516473, + 48.8574246 + ], + [ + 2.3515241, + 48.8574538 + ], + [ + 2.3513983, + 48.8574841 + ], + [ + 2.35131, + 48.857508 + ], + [ + 2.3511859, + 48.8575444 + ], + [ + 2.3510333, + 48.8575904 + ], + [ + 2.3467989, + 48.8589577 + ], + [ + 2.3460681, + 48.8592004 + ], + [ + 2.3451633, + 48.8594938 + ], + [ + 2.3451401, + 48.8595013 + ], + [ + 2.3442556, + 48.8597874 + ], + [ + 2.342879, + 48.8602327 + ], + [ + 2.3413281, + 48.8607363 + ] + ] + }, + "id": "way/531018896" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531018897", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "maxspeed": "50", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3363706, + 48.8623763 + ], + [ + 2.3376124, + 48.8619726 + ], + [ + 2.3388288, + 48.8615641 + ], + [ + 2.3400841, + 48.8611424 + ], + [ + 2.3411235, + 48.8608027 + ], + [ + 2.3413281, + 48.8607363 + ] + ] + }, + "id": "way/531018897" + }, + { + "type": "Feature", + "properties": { + "@id": "way/531018898", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "55", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3301671, + 48.8643405 + ], + [ + 2.332476, + 48.8635907 + ], + [ + 2.3335127, + 48.8632775 + ], + [ + 2.3352505, + 48.8627294 + ], + [ + 2.3353566, + 48.8626946 + ], + [ + 2.33593, + 48.8625134 + ], + [ + 2.3363706, + 48.8623763 + ] + ] + }, + "id": "way/531018898" + }, + { + "type": "Feature", + "properties": { + "@id": "way/532695037", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "operator": "RATP", + "railway": "subway", + "service": "crossover", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3574284, + 48.87635 + ], + [ + 2.3575303, + 48.8763694 + ], + [ + 2.3576537, + 48.8764056 + ], + [ + 2.3577795, + 48.8764356 + ] + ] + }, + "id": "way/532695037" + }, + { + "type": "Feature", + "properties": { + "@id": "way/532695038", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "STIF", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3572876, + 48.8763117 + ], + [ + 2.3576047, + 48.8763403 + ], + [ + 2.3579869, + 48.8763456 + ], + [ + 2.3581264, + 48.8763417 + ], + [ + 2.3583658, + 48.8763236 + ], + [ + 2.35851, + 48.8763024 + ], + [ + 2.358685, + 48.8762715 + ], + [ + 2.3588693, + 48.8762264 + ], + [ + 2.3589673, + 48.876193 + ], + [ + 2.3590842, + 48.8761393 + ], + [ + 2.3592013, + 48.8760729 + ] + ] + }, + "id": "way/532695038" + }, + { + "type": "Feature", + "properties": { + "@id": "way/532695039", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-1;-2", + "maxspeed": "35", + "name": "Métro 5", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3572841, + 48.8763359 + ], + [ + 2.3570603, + 48.8763226 + ], + [ + 2.3568609, + 48.8763321 + ], + [ + 2.3562247, + 48.8764381 + ] + ] + }, + "id": "way/532695039" + }, + { + "type": "Feature", + "properties": { + "@id": "way/532695041", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "STIF", + "start_date": "1942-10-12", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3593901, + 48.8829655 + ], + [ + 2.3592174, + 48.88288 + ], + [ + 2.3590611, + 48.8827739 + ], + [ + 2.3589133, + 48.8826464 + ], + [ + 2.3588153, + 48.8825301 + ], + [ + 2.3584945, + 48.8819806 + ] + ] + }, + "id": "way/532695041" + }, + { + "type": "Feature", + "properties": { + "@id": "way/532695042", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "2", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3571642, + 48.8763749 + ], + [ + 2.3572217, + 48.8763805 + ], + [ + 2.3577795, + 48.8764356 + ], + [ + 2.3580372, + 48.8764629 + ], + [ + 2.3581861, + 48.8764762 + ], + [ + 2.3583296, + 48.8764779 + ], + [ + 2.3585133, + 48.8764762 + ], + [ + 2.3591169, + 48.8764524 + ], + [ + 2.3591711, + 48.8764506 + ] + ] + }, + "id": "way/532695042" + }, + { + "type": "Feature", + "properties": { + "@id": "way/532695043", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "30", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3499733, + 48.8773092 + ], + [ + 2.349824, + 48.8773313 + ], + [ + 2.3497161, + 48.8773399 + ], + [ + 2.3495898, + 48.8773365 + ], + [ + 2.3494665, + 48.8773195 + ], + [ + 2.3492522, + 48.8772692 + ] + ] + }, + "id": "way/532695043" + }, + { + "type": "Feature", + "properties": { + "@id": "way/532695048", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:track_ref": "2", + "source": "knowledge;survey;archives", + "start_date": "1910-11-05", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3324195, + 48.8709853 + ], + [ + 2.3324825, + 48.8711511 + ], + [ + 2.3329291, + 48.8720809 + ], + [ + 2.3332241, + 48.8728871 + ], + [ + 2.3333019, + 48.8729912 + ], + [ + 2.3333743, + 48.8730459 + ], + [ + 2.333487, + 48.873097 + ], + [ + 2.3336211, + 48.8731385 + ], + [ + 2.3343177, + 48.8733127 + ], + [ + 2.3405331, + 48.8748691 + ], + [ + 2.3444645, + 48.8760003 + ], + [ + 2.3492341, + 48.8772389 + ], + [ + 2.3494828, + 48.8772966 + ], + [ + 2.3495996, + 48.8773128 + ], + [ + 2.3497188, + 48.8773167 + ], + [ + 2.3498195, + 48.8773082 + ], + [ + 2.3553729, + 48.8765383 + ], + [ + 2.3555216, + 48.8765228 + ], + [ + 2.3556724, + 48.8765126 + ], + [ + 2.3560549, + 48.876504 + ], + [ + 2.3561871, + 48.8764941 + ], + [ + 2.3563211, + 48.8764767 + ], + [ + 2.3568497, + 48.8763897 + ], + [ + 2.3569939, + 48.8763755 + ], + [ + 2.3571642, + 48.8763749 + ] + ] + }, + "id": "way/532695048" + }, + { + "type": "Feature", + "properties": { + "@id": "way/537162102", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "knowledge;survey;archives", + "start_date": "1910-11-05", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.356325, + 48.8765026 + ], + [ + 2.3561923, + 48.8765176 + ], + [ + 2.3560597, + 48.8765267 + ], + [ + 2.3556758, + 48.8765353 + ], + [ + 2.3555265, + 48.8765464 + ], + [ + 2.3553762, + 48.8765624 + ], + [ + 2.3499733, + 48.8773092 + ] + ] + }, + "id": "way/537162102" + }, + { + "type": "Feature", + "properties": { + "@id": "way/537162103", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "40", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3591711, + 48.8764506 + ], + [ + 2.3592715, + 48.8764488 + ], + [ + 2.3594374, + 48.8764615 + ], + [ + 2.3596053, + 48.8764997 + ], + [ + 2.3597608, + 48.8765652 + ], + [ + 2.3598967, + 48.8766508 + ], + [ + 2.3605371, + 48.8772079 + ], + [ + 2.3605352, + 48.8772227 + ] + ] + }, + "id": "way/537162103" + }, + { + "type": "Feature", + "properties": { + "@id": "way/537162104", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "35", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3571622, + 48.8764015 + ], + [ + 2.3570011, + 48.8763991 + ], + [ + 2.3568533, + 48.8764131 + ], + [ + 2.356325, + 48.8765026 + ] + ] + }, + "id": "way/537162104" + }, + { + "type": "Feature", + "properties": { + "@id": "way/539498305", + "electrified": "rail", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Métro 1", + "railway": "subway", + "service": "crossover", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "branch" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2803771, + 48.878442 + ], + [ + 2.2800425, + 48.8785918 + ] + ] + }, + "id": "way/539498305" + }, + { + "type": "Feature", + "properties": { + "@id": "way/539498306", + "electrified": "rail", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "railway": "subway", + "service": "yard", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2801213, + 48.8785944 + ], + [ + 2.2797629, + 48.8786765 + ] + ] + }, + "id": "way/539498306" + }, + { + "type": "Feature", + "properties": { + "@id": "way/550499888", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "maxspeed": "55", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1912-01-20", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3116946, + 48.8953497 + ], + [ + 2.3128828, + 48.8946673 + ] + ] + }, + "id": "way/550499888" + }, + { + "type": "Feature", + "properties": { + "@id": "way/550499889", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "1", + "service": "crossover", + "source": "STIF", + "start_date": "1912-01-20", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.312745, + 48.8958802 + ], + [ + 2.312662, + 48.895978 + ], + [ + 2.3125944, + 48.8960391 + ], + [ + 2.3124993, + 48.896085 + ], + [ + 2.3123768, + 48.8961287 + ], + [ + 2.3122711, + 48.8961537 + ], + [ + 2.312167, + 48.8961673 + ], + [ + 2.3120403, + 48.8961673 + ], + [ + 2.3119262, + 48.8961575 + ], + [ + 2.3118364, + 48.8961402 + ], + [ + 2.3117444, + 48.8961047 + ], + [ + 2.3116557, + 48.8960499 + ], + [ + 2.3115796, + 48.8959707 + ], + [ + 2.311512, + 48.8958637 + ], + [ + 2.3114824, + 48.8957693 + ], + [ + 2.3114734, + 48.8956981 + ], + [ + 2.3114803, + 48.8956352 + ], + [ + 2.3114983, + 48.8955699 + ], + [ + 2.3115331, + 48.895506 + ], + [ + 2.311587, + 48.8954414 + ], + [ + 2.3116367, + 48.8953956 + ], + [ + 2.3116946, + 48.8953497 + ] + ] + }, + "id": "way/550499889" + }, + { + "type": "Feature", + "properties": { + "@id": "way/555720181", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-5", + "location": "underground", + "name": "Métro 14", + "opening_date": "2020-12-14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3398796, + 48.9166007 + ], + [ + 2.3389471, + 48.9157957 + ], + [ + 2.3383301, + 48.9154113 + ], + [ + 2.3366544, + 48.9146216 + ], + [ + 2.335908, + 48.9142422 + ], + [ + 2.3346675, + 48.9132308 + ], + [ + 2.3338193, + 48.9125419 + ], + [ + 2.3335201, + 48.9122829 + ], + [ + 2.3324212, + 48.9113554 + ], + [ + 2.3318642, + 48.9109646 + ], + [ + 2.326258, + 48.9074131 + ], + [ + 2.326076, + 48.9072978 + ], + [ + 2.3223281, + 48.9048743 + ], + [ + 2.3211241, + 48.9040856 + ], + [ + 2.3205131, + 48.9038423 + ], + [ + 2.3187911, + 48.9027562 + ], + [ + 2.3179543, + 48.9022943 + ], + [ + 2.3170799, + 48.9019452 + ], + [ + 2.3155564, + 48.9015361 + ], + [ + 2.3137701, + 48.9010812 + ], + [ + 2.3118603, + 48.9004923 + ], + [ + 2.3108625, + 48.9001009 + ], + [ + 2.3103476, + 48.8998152 + ], + [ + 2.3099238, + 48.8994732 + ], + [ + 2.3097306, + 48.8991699 + ], + [ + 2.3095751, + 48.8987185 + ], + [ + 2.3096287, + 48.8982283 + ], + [ + 2.3097129, + 48.8978827 + ], + [ + 2.3098618, + 48.8975308 + ], + [ + 2.3100846, + 48.8970672 + ], + [ + 2.3104997, + 48.8964167 + ], + [ + 2.3132215, + 48.8948169 + ], + [ + 2.3134958, + 48.8946646 + ], + [ + 2.3139117, + 48.8942224 + ], + [ + 2.3141823, + 48.8937546 + ], + [ + 2.3143197, + 48.8932899 + ], + [ + 2.314432, + 48.891971 + ], + [ + 2.3146746, + 48.890904 + ], + [ + 2.3147748, + 48.8905235 + ], + [ + 2.3148889, + 48.8901341 + ], + [ + 2.3152622, + 48.8895077 + ], + [ + 2.315513, + 48.8891113 + ], + [ + 2.3156858, + 48.8888226 + ], + [ + 2.3158424, + 48.8885426 + ], + [ + 2.3161491, + 48.8879232 + ], + [ + 2.3167956, + 48.8869385 + ], + [ + 2.3171067, + 48.8865928 + ], + [ + 2.3180884, + 48.8857286 + ], + [ + 2.3187804, + 48.8852242 + ], + [ + 2.3195636, + 48.8847515 + ], + [ + 2.3200786, + 48.8843882 + ], + [ + 2.3210442, + 48.8836827 + ], + [ + 2.3221707, + 48.8829983 + ], + [ + 2.3229966, + 48.8825783 + ], + [ + 2.3230934, + 48.8825291 + ], + [ + 2.3234689, + 48.8823492 + ], + [ + 2.3238873, + 48.8821658 + ], + [ + 2.3245579, + 48.8819859 + ], + [ + 2.3249602, + 48.8819259 + ], + [ + 2.3257005, + 48.8818624 + ], + [ + 2.3261994, + 48.8817495 + ], + [ + 2.3266178, + 48.8815767 + ], + [ + 2.3269987, + 48.8813121 + ], + [ + 2.3271006, + 48.8811821 + ], + [ + 2.3273581, + 48.8808535 + ], + [ + 2.327503, + 48.880536 + ], + [ + 2.3275888, + 48.8801655 + ], + [ + 2.3276102, + 48.8793824 + ], + [ + 2.327562, + 48.8790825 + ], + [ + 2.3273689, + 48.8787826 + ], + [ + 2.3269814, + 48.8785338 + ], + [ + 2.3269075, + 48.8784863 + ], + [ + 2.3263773, + 48.8781867 + ] + ] + }, + "id": "way/555720181" + }, + { + "type": "Feature", + "properties": { + "@id": "way/567961684", + "gauge": "1435", + "name": "Connexion ateliers/ligne 7", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3648581, + 48.8180424 + ], + [ + 2.3723156, + 48.8200805 + ] + ] + }, + "id": "way/567961684" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576298604", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "maxspeed": "40", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750", + "wikidata": "Q50748", + "wikipedia": "cs:7 (linka metra v Paříži)" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3418394, + 48.8586746 + ], + [ + 2.3410566, + 48.8587837 + ], + [ + 2.3406944, + 48.8588199 + ], + [ + 2.3404598, + 48.8588878 + ], + [ + 2.3402862, + 48.8589674 + ], + [ + 2.3401373, + 48.8590872 + ], + [ + 2.3400537, + 48.8592273 + ], + [ + 2.340026, + 48.8594633 + ] + ] + }, + "id": "way/576298604" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576298610", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "maxspeed": "45", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750", + "wikidata": "Q50748", + "wikipedia": "cs:7 (linka metra v Paříži)" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3425931, + 48.8584505 + ], + [ + 2.3449507, + 48.857757 + ], + [ + 2.3472096, + 48.8571283 + ] + ] + }, + "id": "way/576298610" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576298615", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750", + "wikidata": "Q50748", + "wikipedia": "cs:7 (linka metra v Paříži)" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.340026, + 48.8594633 + ], + [ + 2.3400856, + 48.860244 + ], + [ + 2.3401332, + 48.8608893 + ], + [ + 2.3401479, + 48.8611302 + ], + [ + 2.3401345, + 48.8613922 + ], + [ + 2.3401064, + 48.8615819 + ], + [ + 2.3400286, + 48.8617602 + ], + [ + 2.3398958, + 48.8619304 + ], + [ + 2.3396718, + 48.8620681 + ], + [ + 2.3386311, + 48.8623522 + ], + [ + 2.3366388, + 48.8628937 + ], + [ + 2.3360153, + 48.8631466 + ], + [ + 2.3356009, + 48.8633531 + ], + [ + 2.3353863, + 48.8635833 + ], + [ + 2.334933, + 48.8646155 + ] + ] + }, + "id": "way/576298615" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576298636", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750", + "wikidata": "Q50748", + "wikipedia": "cs:7 (linka metra v Paříži)" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3400047, + 48.8602487 + ], + [ + 2.3399457, + 48.8594564 + ], + [ + 2.3399886, + 48.8592217 + ], + [ + 2.3400718, + 48.8590646 + ], + [ + 2.3402327, + 48.8589393 + ], + [ + 2.3404258, + 48.8588511 + ], + [ + 2.3406833, + 48.8587841 + ], + [ + 2.3416811, + 48.8586552 + ], + [ + 2.342129, + 48.8585635 + ], + [ + 2.342459, + 48.8584929 + ], + [ + 2.3425931, + 48.8584505 + ] + ] + }, + "id": "way/576298636" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576298900", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750", + "wikidata": "Q50748", + "wikipedia": "cs:7 (linka metra v Paříži)" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3343077, + 48.8660275 + ], + [ + 2.333834, + 48.86705 + ], + [ + 2.333281, + 48.8682566 + ] + ] + }, + "id": "way/576298900" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576317671", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-3", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "note": "Voie à déplacer, la station actuelle est située plus à l'est. Il s'agit de l'emplacement de la station originelle détruite lors de la construction du forum des Halles.", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1977-10-03", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3457545, + 48.8619806 + ], + [ + 2.3458035, + 48.8620681 + ], + [ + 2.3458589, + 48.8621682 + ], + [ + 2.3461831, + 48.8627067 + ], + [ + 2.3462787, + 48.8628685 + ], + [ + 2.3463546, + 48.8629969 + ], + [ + 2.3463828, + 48.8630354 + ], + [ + 2.3464215, + 48.8630732 + ], + [ + 2.3465078, + 48.8631448 + ], + [ + 2.3465828, + 48.8632028 + ], + [ + 2.3466526, + 48.8632516 + ], + [ + 2.3467339, + 48.8632992 + ] + ] + }, + "id": "way/576317671" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576319285", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "55", + "name": "Métro 4", + "name:ru": "Линия 4", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.346617, + 48.859788 + ], + [ + 2.3469634, + 48.8594111 + ], + [ + 2.3472374, + 48.8591273 + ] + ] + }, + "id": "way/576319285" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576319286", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-4", + "level": "-3", + "location": "underground", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3579826, + 48.8773113 + ], + [ + 2.357927, + 48.8771992 + ], + [ + 2.3578829, + 48.877081 + ], + [ + 2.3578533, + 48.8769508 + ], + [ + 2.3577216, + 48.8760526 + ], + [ + 2.357694, + 48.8758984 + ], + [ + 2.3576462, + 48.8754671 + ], + [ + 2.3575258, + 48.8750774 + ], + [ + 2.3572478, + 48.8745202 + ], + [ + 2.3563063, + 48.8728919 + ], + [ + 2.3559878, + 48.8723252 + ], + [ + 2.3553025, + 48.8711105 + ], + [ + 2.3543228, + 48.8693868 + ], + [ + 2.3543075, + 48.8693592 + ], + [ + 2.3543006, + 48.8693468 + ], + [ + 2.3536757, + 48.8682233 + ], + [ + 2.3535723, + 48.8680394 + ] + ] + }, + "id": "way/576319286" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576319354", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "maxspeed": "40", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3463183, + 48.8602411 + ], + [ + 2.3462154, + 48.8603511 + ], + [ + 2.3459512, + 48.860681 + ], + [ + 2.345687, + 48.8609872 + ], + [ + 2.3456144, + 48.8611278 + ], + [ + 2.3455831, + 48.8612972 + ], + [ + 2.3455918, + 48.8613942 + ], + [ + 2.3456174, + 48.861486 + ], + [ + 2.3456411, + 48.8615614 + ], + [ + 2.3456558, + 48.8616732 + ], + [ + 2.3456794, + 48.8618229 + ], + [ + 2.3457545, + 48.8619806 + ] + ] + }, + "id": "way/576319354" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576319355", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-2", + "level": "-3.5", + "name": "Métro 4", + "name:ru": "Линия 4", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3472374, + 48.8591273 + ], + [ + 2.3473956, + 48.8590593 + ], + [ + 2.3464367, + 48.8601084 + ], + [ + 2.3463183, + 48.8602411 + ] + ] + }, + "id": "way/576319355" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576324436", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3495272, + 48.8857384 + ], + [ + 2.3495217, + 48.885259 + ], + [ + 2.3494952, + 48.8839371 + ], + [ + 2.3495072, + 48.8837837 + ], + [ + 2.3495526, + 48.8836368 + ], + [ + 2.3496251, + 48.8834867 + ], + [ + 2.3497466, + 48.8833218 + ], + [ + 2.3499758, + 48.8830344 + ], + [ + 2.3509195, + 48.8819942 + ], + [ + 2.3513465, + 48.8815499 + ], + [ + 2.3520203, + 48.8808067 + ] + ] + }, + "id": "way/576324436" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576365296", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750", + "wikidata": "Q50748", + "wikipedia": "cs:7 (linka metra v Paříži)" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.334933, + 48.8646155 + ], + [ + 2.3345323, + 48.8655192 + ], + [ + 2.3344261, + 48.8657589 + ], + [ + 2.3343077, + 48.8660275 + ] + ] + }, + "id": "way/576365296" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576365302", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3333529, + 48.8682753 + ], + [ + 2.3330953, + 48.8687733 + ], + [ + 2.3326676, + 48.8696003 + ], + [ + 2.3324248, + 48.8701384 + ], + [ + 2.3323886, + 48.8702434 + ], + [ + 2.3323417, + 48.8703881 + ], + [ + 2.3323336, + 48.8705389 + ], + [ + 2.3323551, + 48.8707083 + ], + [ + 2.3324195, + 48.8709853 + ] + ] + }, + "id": "way/576365302" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576370730", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "maxspeed": "50", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3343641, + 48.8660381 + ], + [ + 2.3338973, + 48.8670667 + ], + [ + 2.3333529, + 48.8682753 + ] + ] + }, + "id": "way/576370730" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576370731", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.334933, + 48.8646155 + ], + [ + 2.3350051, + 48.8646265 + ], + [ + 2.334403, + 48.8659523 + ], + [ + 2.3343641, + 48.8660381 + ] + ] + }, + "id": "way/576370731" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576370852", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "maxspeed": "40", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.333281, + 48.8682566 + ], + [ + 2.3326085, + 48.8695933 + ] + ] + }, + "id": "way/576370852" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576370854", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "40", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3399144, + 48.8748108 + ], + [ + 2.3337003, + 48.8732058 + ], + [ + 2.3335833, + 48.8731756 + ] + ] + }, + "id": "way/576370854" + }, + { + "type": "Feature", + "properties": { + "@id": "way/576370855", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "knowledge;survey;archives", + "start_date": "1910-11-05", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3492522, + 48.8772692 + ], + [ + 2.3482642, + 48.8770072 + ], + [ + 2.3470598, + 48.8766881 + ], + [ + 2.3444645, + 48.8760003 + ], + [ + 2.3442991, + 48.8759565 + ], + [ + 2.3399663, + 48.8748242 + ], + [ + 2.3399144, + 48.8748108 + ] + ] + }, + "id": "way/576370855" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984943", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 5", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "STIF", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3556997, + 48.8787548 + ], + [ + 2.3553329, + 48.8775 + ], + [ + 2.3553135, + 48.8773554 + ], + [ + 2.3553232, + 48.877209 + ], + [ + 2.3553743, + 48.8770542 + ], + [ + 2.3554652, + 48.8769146 + ] + ] + }, + "id": "way/585984943" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984944", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "level": "-2;-3", + "maxspeed": "40", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "STIF;local knowledge", + "start_date": "1942-05-10", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3557447, + 48.8787512 + ], + [ + 2.3558012, + 48.8788482 + ], + [ + 2.3558994, + 48.8789396 + ], + [ + 2.3560213, + 48.8790136 + ], + [ + 2.3561665, + 48.8790718 + ], + [ + 2.356664, + 48.879198 + ] + ] + }, + "id": "way/585984944" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984945", + "description": "Ancien tracé de la ligne 5. Aujourd'hui utilisé par l'USFRT pour la formation des conducteurs.", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Unité Spécialisée en Formation et Réglementation du Transport", + "railway": "subway", + "service": "yard", + "source": "survey;carto.metro;local knowledge;streetlevel imagery;archives", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "test", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3545156, + 48.8779988 + ], + [ + 2.3544342, + 48.8781737 + ], + [ + 2.3542545, + 48.8783695 + ], + [ + 2.3542057, + 48.8784572 + ], + [ + 2.3541815, + 48.87855 + ], + [ + 2.3541805, + 48.8786417 + ], + [ + 2.3542041, + 48.8787284 + ], + [ + 2.3546447, + 48.879577 + ] + ] + }, + "id": "way/585984945" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984946", + "demolished": "yes", + "description": "Section de tunnel détruit lors de la construction du RER entre 1977 et 1981.", + "electrified": "rail", + "end_date": "1942-10-05", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "railway": "subway", + "service": "yard", + "source": "local knowledge;carto.metro", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "test", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3555999, + 48.8798121 + ], + [ + 2.3557317, + 48.8797367 + ], + [ + 2.3558197, + 48.8796307 + ] + ] + }, + "id": "way/585984946" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984947", + "demolished": "yes", + "electrified": "rail", + "end_date": "1942-10-05", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "railway": "subway", + "source": "survey;archives", + "start_date": "1907-11-15", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3542545, + 48.8783695 + ], + [ + 2.354176, + 48.878451 + ], + [ + 2.3541236, + 48.8785411 + ], + [ + 2.3541082, + 48.8786733 + ], + [ + 2.3541185, + 48.8787804 + ], + [ + 2.3541498, + 48.8788744 + ], + [ + 2.3545334, + 48.8796019 + ] + ] + }, + "id": "way/585984947" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984948", + "description": "Ancien tracé de la ligne 5. Aujourd'hui utilisé par l'USFRT pour la formation des conducteurs.", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-2;-3", + "name": "Unité Spécialisée en Formation et Réglementation du Transport", + "railway": "subway", + "service": "yard", + "source": "survey;carto.metro;streetlevel imagery;archives", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "test", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3547087, + 48.8796957 + ], + [ + 2.3548181, + 48.8797997 + ], + [ + 2.3549968, + 48.8798645 + ], + [ + 2.3552148, + 48.8798881 + ] + ] + }, + "id": "way/585984948" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984949", + "demolished": "yes", + "description": "Section de tunnel détruit lors de la construction du RER entre 1977 et 1981.", + "electrified": "rail", + "end_date": "1942-10-05", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "railway": "subway", + "service": "yard", + "source": "local knowledge;carto.metro", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "test", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3556178, + 48.8798371 + ], + [ + 2.3557626, + 48.8797503 + ], + [ + 2.3558564, + 48.8796321 + ] + ] + }, + "id": "way/585984949" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984950", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-1", + "maxspeed": "35", + "name": "Métro 5", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3562247, + 48.8764381 + ], + [ + 2.3560767, + 48.8764864 + ], + [ + 2.3559348, + 48.8765534 + ] + ] + }, + "id": "way/585984950" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984951", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-1;-2", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "STIF", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3562129, + 48.8764191 + ], + [ + 2.3568485, + 48.8763109 + ], + [ + 2.3570683, + 48.8762991 + ], + [ + 2.3572876, + 48.8763117 + ] + ] + }, + "id": "way/585984951" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984952", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-1", + "name": "Métro 5", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "STIF", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3558898, + 48.8765479 + ], + [ + 2.3560557, + 48.8764702 + ], + [ + 2.3562129, + 48.8764191 + ] + ] + }, + "id": "way/585984952" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984953", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-1;-2", + "maxspeed": "40", + "name": "Métro 5", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "STIF", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3559348, + 48.8765534 + ], + [ + 2.3557975, + 48.8766348 + ], + [ + 2.3556846, + 48.8767242 + ], + [ + 2.3555086, + 48.8769256 + ] + ] + }, + "id": "way/585984953" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984954", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-1;-2", + "name": "Métro 5", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "STIF", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3554652, + 48.8769146 + ], + [ + 2.3556513, + 48.8767083 + ], + [ + 2.3557678, + 48.8766151 + ], + [ + 2.3558898, + 48.8765479 + ] + ] + }, + "id": "way/585984954" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984955", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "45", + "name": "Métro 5", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "STIF", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3555086, + 48.8769256 + ], + [ + 2.3554186, + 48.8770632 + ], + [ + 2.3553707, + 48.87721 + ], + [ + 2.3553608, + 48.8773531 + ], + [ + 2.3553812, + 48.8774963 + ], + [ + 2.3557447, + 48.8787512 + ] + ] + }, + "id": "way/585984955" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984956", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "level": "-2;-3", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "STIF;local knowledge", + "start_date": "1942-10-05", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3566477, + 48.8792279 + ], + [ + 2.3561566, + 48.8790994 + ], + [ + 2.356005, + 48.8790405 + ], + [ + 2.3558718, + 48.8789629 + ], + [ + 2.3557725, + 48.8788733 + ], + [ + 2.3556997, + 48.8787548 + ] + ] + }, + "id": "way/585984956" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984957", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "location": "underground", + "maxspeed": "50", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "STIF", + "start_date": "1942-10-05", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3576526, + 48.8803584 + ], + [ + 2.3577365, + 48.8805233 + ], + [ + 2.3580214, + 48.881079 + ], + [ + 2.3580872, + 48.8812077 + ], + [ + 2.3581679, + 48.8813601 + ], + [ + 2.358531, + 48.8819728 + ] + ] + }, + "id": "way/585984957" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984958", + "description": "Ancien tracé de la ligne 5. Aujourd'hui utilisé par l'USFRT pour la formation des conducteurs.", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "level": "-2;-3", + "name": "Unité Spécialisée en Formation et Réglementation du Transport", + "railway": "subway", + "service": "yard", + "source": "survey;local knowledge;archives;streetlevel imagery;carto.metro", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "test", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3546447, + 48.879577 + ], + [ + 2.3547087, + 48.8796957 + ], + [ + 2.3548334, + 48.8797883 + ], + [ + 2.3550051, + 48.8798437 + ], + [ + 2.3552138, + 48.8798633 + ] + ] + }, + "id": "way/585984958" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984959", + "demolished": "yes", + "electrified": "rail", + "end_date": "1942-10-05", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "level": "-2;-3", + "railway": "subway", + "start_date": "1907-11-15", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3545334, + 48.8796019 + ], + [ + 2.3546325, + 48.8797281 + ], + [ + 2.3548005, + 48.8798344 + ], + [ + 2.3549992, + 48.8798809 + ], + [ + 2.3552148, + 48.8798881 + ] + ] + }, + "id": "way/585984959" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984960", + "description": "Ancien tracé de la ligne 5. Aujourd'hui utilisé par l'USFRT pour la formation des conducteurs.", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "name": "Unité Spécialisée en Formation et Réglementation du Transport", + "railway": "subway", + "service": "yard", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "test", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3552138, + 48.8798633 + ], + [ + 2.3554202, + 48.8798509 + ], + [ + 2.3555999, + 48.8798121 + ] + ] + }, + "id": "way/585984960" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984961", + "description": "Ancien tracé de la ligne 5. Aujourd'hui utilisé par l'USFRT pour la formation des conducteurs.", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "name": "Unité Spécialisée en Formation et Réglementation du Transport", + "railway": "subway", + "service": "yard", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "test", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3552148, + 48.8798881 + ], + [ + 2.3554289, + 48.8798793 + ], + [ + 2.3556178, + 48.8798371 + ] + ] + }, + "id": "way/585984961" + }, + { + "type": "Feature", + "properties": { + "@id": "way/585984963", + "description": "Voie utilisée par l'USFRT pour la formation des conducteurs.", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Unité Spécialisée en Formation et Réglementation du Transport", + "railway": "subway", + "service": "yard", + "source": "carto.metro;extrapolation", + "tunnel": "yes", + "usage": "test", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3539438, + 48.8786337 + ], + [ + 2.3538809, + 48.8787996 + ], + [ + 2.3527204, + 48.8800849 + ], + [ + 2.3525434, + 48.8801886 + ] + ] + }, + "id": "way/585984963" + }, + { + "type": "Feature", + "properties": { + "@id": "way/586027859", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "maxspeed": "50", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3928231, + 48.8886884 + ], + [ + 2.393571, + 48.8888847 + ], + [ + 2.3949362, + 48.8892462 + ], + [ + 2.3953826, + 48.8893617 + ], + [ + 2.3972939, + 48.8898564 + ], + [ + 2.3992345, + 48.8903793 + ], + [ + 2.4013802, + 48.8909613 + ], + [ + 2.4019308, + 48.8911116 + ], + [ + 2.4023318, + 48.8912245 + ], + [ + 2.4025383, + 48.89128 + ], + [ + 2.4028441, + 48.8913382 + ], + [ + 2.4035978, + 48.8914246 + ], + [ + 2.4039438, + 48.8914705 + ], + [ + 2.4060905, + 48.8918739 + ], + [ + 2.4124805, + 48.8930942 + ], + [ + 2.4133107, + 48.8932564 + ], + [ + 2.4146377, + 48.8935187 + ], + [ + 2.4160191, + 48.8937908 + ], + [ + 2.4184149, + 48.8942537 + ] + ] + }, + "id": "way/586027859" + }, + { + "type": "Feature", + "properties": { + "@id": "way/588798751", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "level": "-2;-3", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3580158, + 48.8773008 + ], + [ + 2.3581932, + 48.877595 + ], + [ + 2.358275, + 48.8777571 + ], + [ + 2.3586342, + 48.8787384 + ], + [ + 2.3586618, + 48.8788902 + ], + [ + 2.3586453, + 48.8790505 + ], + [ + 2.3585578, + 48.8791946 + ], + [ + 2.3584042, + 48.8793053 + ], + [ + 2.3582043, + 48.8793673 + ], + [ + 2.3573507, + 48.8795508 + ], + [ + 2.3573028, + 48.8795611 + ] + ] + }, + "id": "way/588798751" + }, + { + "type": "Feature", + "properties": { + "@id": "way/588798752", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "2", + "rubber_tires": "yes", + "source": "STIF;local knowledge;archives;survey;carto.metro", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3573028, + 48.8795611 + ], + [ + 2.3569207, + 48.8796433 + ], + [ + 2.3567708, + 48.879673 + ], + [ + 2.3566102, + 48.8796986 + ], + [ + 2.3564656, + 48.8797163 + ], + [ + 2.355223, + 48.8798684 + ], + [ + 2.3551828, + 48.8798733 + ], + [ + 2.3549862, + 48.8798974 + ], + [ + 2.3547239, + 48.8799453 + ], + [ + 2.3544643, + 48.8800072 + ], + [ + 2.3538035, + 48.8802092 + ], + [ + 2.3535315, + 48.8802775 + ], + [ + 2.3526537, + 48.8804575 + ], + [ + 2.3524684, + 48.8805194 + ], + [ + 2.3523039, + 48.8806002 + ], + [ + 2.3521603, + 48.8807034 + ], + [ + 2.3520203, + 48.8808067 + ] + ] + }, + "id": "way/588798752" + }, + { + "type": "Feature", + "properties": { + "@id": "way/588798754", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "level": "-2;-3", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "railway:track_ref": "1", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3572966, + 48.8795393 + ], + [ + 2.3581889, + 48.8793427 + ], + [ + 2.3583766, + 48.8792839 + ], + [ + 2.3585243, + 48.8791763 + ], + [ + 2.3586088, + 48.8790425 + ], + [ + 2.3586193, + 48.8788985 + ], + [ + 2.3585918, + 48.8787425 + ], + [ + 2.3582354, + 48.8777691 + ], + [ + 2.3581515, + 48.8776062 + ], + [ + 2.3579826, + 48.8773113 + ] + ] + }, + "id": "way/588798754" + }, + { + "type": "Feature", + "properties": { + "@id": "way/588798757", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "railway:track_ref": "1", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF;local knowledge;archives;survey;carto.metro", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3520203, + 48.8808067 + ], + [ + 2.3521374, + 48.8806923 + ], + [ + 2.352284, + 48.8805821 + ], + [ + 2.3524538, + 48.8805013 + ], + [ + 2.3526401, + 48.8804377 + ], + [ + 2.3535215, + 48.880258 + ], + [ + 2.353796, + 48.8801896 + ], + [ + 2.3544536, + 48.879985 + ], + [ + 2.3547152, + 48.8799267 + ], + [ + 2.354982, + 48.8798755 + ], + [ + 2.3551749, + 48.8798521 + ], + [ + 2.3564351, + 48.8797004 + ], + [ + 2.356461, + 48.8796973 + ], + [ + 2.3565998, + 48.8796799 + ], + [ + 2.356757, + 48.8796551 + ], + [ + 2.3569104, + 48.8796243 + ], + [ + 2.3572966, + 48.8795393 + ] + ] + }, + "id": "way/588798757" + }, + { + "type": "Feature", + "properties": { + "@id": "way/588798772", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "location": "underground", + "railway": "subway", + "service": "crossover", + "source": "carto.metro", + "start_date": "1942-10-05", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.357872, + 48.8808566 + ], + [ + 2.3580214, + 48.881079 + ] + ] + }, + "id": "way/588798772" + }, + { + "type": "Feature", + "properties": { + "@id": "way/588798773", + "demolished": "yes", + "description": "Section de tunnel détruit lors de la construction du RER entre 1977 et 1981.", + "electrified": "rail", + "end_date": "1942-10-05", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "level": "-2;-3", + "railway": "subway", + "service": "yard", + "source": "local knowledge;carto.metro", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "test", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3558197, + 48.8796307 + ], + [ + 2.3558586, + 48.8795175 + ], + [ + 2.3558531, + 48.8793917 + ], + [ + 2.3556997, + 48.8787548 + ] + ] + }, + "id": "way/588798773" + }, + { + "type": "Feature", + "properties": { + "@id": "way/588798777", + "demolished": "yes", + "description": "Section de tunnel détruit lors de la construction du RER entre 1977 et 1981.", + "electrified": "rail", + "end_date": "1942-10-05", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "level": "-2;-3", + "railway": "subway", + "service": "yard", + "source": "local knowledge;carto.metro", + "start_date": "1907-11-15", + "tunnel": "yes", + "usage": "test", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3558564, + 48.8796321 + ], + [ + 2.3558995, + 48.8795197 + ], + [ + 2.3558943, + 48.8793891 + ], + [ + 2.3557725, + 48.8788733 + ], + [ + 2.3557447, + 48.8787512 + ] + ] + }, + "id": "way/588798777" + }, + { + "type": "Feature", + "properties": { + "@id": "way/588798788", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "location": "underground", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "STIF", + "start_date": "1942-10-05", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3584945, + 48.8819806 + ], + [ + 2.3581372, + 48.8813689 + ], + [ + 2.3580584, + 48.8812168 + ], + [ + 2.357872, + 48.8808566 + ], + [ + 2.3573782, + 48.8799021 + ], + [ + 2.3572607, + 48.8796736 + ], + [ + 2.3571619, + 48.8795214 + ], + [ + 2.3570401, + 48.8794053 + ], + [ + 2.3568577, + 48.8792979 + ], + [ + 2.3566477, + 48.8792279 + ] + ] + }, + "id": "way/588798788" + }, + { + "type": "Feature", + "properties": { + "@id": "way/588798789", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "maxspeed": "50", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "STIF", + "start_date": "1942-10-12", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.358531, + 48.8819728 + ], + [ + 2.3588587, + 48.8825259 + ], + [ + 2.3589428, + 48.8826301 + ], + [ + 2.3590868, + 48.8827623 + ], + [ + 2.3592374, + 48.8828619 + ], + [ + 2.3593901, + 48.8829655 + ] + ] + }, + "id": "way/588798789" + }, + { + "type": "Feature", + "properties": { + "@id": "way/589341348", + "layer": "-1", + "railway": "subway", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3443354, + 48.9013028 + ], + [ + 2.3444117, + 48.9014089 + ] + ] + }, + "id": "way/589341348" + }, + { + "type": "Feature", + "properties": { + "@id": "way/597067220", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 14", + "network": "RATP", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3664158, + 48.8270333 + ], + [ + 2.3646616, + 48.8268352 + ] + ] + }, + "id": "way/597067220" + }, + { + "type": "Feature", + "properties": { + "@id": "way/605581740", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-3", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "note": "Voie à déplacer, la station actuelle est située plus à l'est. Il s'agit de l'emplacement de la station originelle détruite lors de la construction du forum des Halles.", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1977-03-10", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3467095, + 48.8633208 + ], + [ + 2.346621, + 48.8632736 + ], + [ + 2.3465567, + 48.8632318 + ], + [ + 2.3464662, + 48.8631667 + ], + [ + 2.3463753, + 48.8630892 + ], + [ + 2.3463355, + 48.8630481 + ], + [ + 2.3463064, + 48.8630084 + ], + [ + 2.3458118, + 48.8621801 + ], + [ + 2.3457593, + 48.8620798 + ], + [ + 2.3457098, + 48.861991 + ] + ] + }, + "id": "way/605581740" + }, + { + "type": "Feature", + "properties": { + "@id": "way/605581741", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "level": "-3", + "location": "underground", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3536571, + 48.8680134 + ], + [ + 2.3537698, + 48.8682118 + ], + [ + 2.3543827, + 48.869378 + ], + [ + 2.3554033, + 48.8710911 + ], + [ + 2.3560685, + 48.8723084 + ], + [ + 2.3563957, + 48.87288 + ], + [ + 2.3573117, + 48.8745048 + ], + [ + 2.3575933, + 48.8750684 + ], + [ + 2.357706, + 48.8754636 + ], + [ + 2.3577462, + 48.8758984 + ], + [ + 2.3577769, + 48.8761235 + ], + [ + 2.3578369, + 48.876528 + ], + [ + 2.3578878, + 48.8768718 + ], + [ + 2.357898, + 48.8769489 + ], + [ + 2.357924, + 48.8770805 + ], + [ + 2.3579641, + 48.8771919 + ], + [ + 2.3580158, + 48.8773008 + ] + ] + }, + "id": "way/605581741" + }, + { + "type": "Feature", + "properties": { + "@id": "way/605581742", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-3", + "level": "-3.5", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3457098, + 48.861991 + ], + [ + 2.3456441, + 48.8618521 + ], + [ + 2.3456241, + 48.8617558 + ], + [ + 2.3456118, + 48.8616705 + ], + [ + 2.3455969, + 48.8616195 + ], + [ + 2.3455783, + 48.8615682 + ], + [ + 2.3455435, + 48.8614625 + ], + [ + 2.3455248, + 48.8613081 + ], + [ + 2.3455488, + 48.8611285 + ], + [ + 2.3456425, + 48.860974 + ], + [ + 2.3459094, + 48.8606705 + ], + [ + 2.3461763, + 48.8603418 + ], + [ + 2.3462726, + 48.8602306 + ], + [ + 2.3466756, + 48.8597916 + ], + [ + 2.346617, + 48.859788 + ] + ] + }, + "id": "way/605581742" + }, + { + "type": "Feature", + "properties": { + "@id": "way/616555536", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "railway": "subway", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3951022, + 48.8477489 + ], + [ + 2.3950065, + 48.8477583 + ], + [ + 2.3947612, + 48.847746 + ], + [ + 2.3945009, + 48.8477141 + ], + [ + 2.3942756, + 48.8476471 + ], + [ + 2.3940583, + 48.847542 + ], + [ + 2.3939121, + 48.8474335 + ], + [ + 2.3938142, + 48.8473055 + ], + [ + 2.3937815, + 48.8471708 + ], + [ + 2.3937993, + 48.8470532 + ], + [ + 2.3938774, + 48.8468927 + ], + [ + 2.3948328, + 48.8458196 + ], + [ + 2.3948906, + 48.8457631 + ], + [ + 2.394945, + 48.8457168 + ], + [ + 2.3950265, + 48.8456599 + ], + [ + 2.3950877, + 48.8456252 + ], + [ + 2.3951592, + 48.8455941 + ], + [ + 2.395238, + 48.8455689 + ], + [ + 2.3953552, + 48.8455424 + ], + [ + 2.3954713, + 48.8455279 + ], + [ + 2.3956084, + 48.8455122 + ], + [ + 2.3976097, + 48.845343 + ], + [ + 2.398681, + 48.8452529 + ] + ] + }, + "id": "way/616555536" + }, + { + "type": "Feature", + "properties": { + "@id": "way/627757366", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 3", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3457466, + 48.8677091 + ], + [ + 2.3428652, + 48.8683175 + ] + ] + }, + "id": "way/627757366" + }, + { + "type": "Feature", + "properties": { + "@id": "way/627757368", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 3", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3508742, + 48.8666086 + ], + [ + 2.3471001, + 48.8674295 + ], + [ + 2.3465779, + 48.8675428 + ], + [ + 2.3458245, + 48.8677063 + ], + [ + 2.3457466, + 48.8677091 + ] + ] + }, + "id": "way/627757368" + }, + { + "type": "Feature", + "properties": { + "@id": "way/627757369", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3457466, + 48.8677091 + ], + [ + 2.3458121, + 48.8676816 + ], + [ + 2.3465656, + 48.867518 + ], + [ + 2.3469731, + 48.8674296 + ], + [ + 2.3470877, + 48.8674047 + ], + [ + 2.3508637, + 48.8665873 + ] + ] + }, + "id": "way/627757369" + }, + { + "type": "Feature", + "properties": { + "@id": "way/629824239", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-3", + "level": "-2", + "location": "underground", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3515864, + 48.8645427 + ], + [ + 2.3515067, + 48.8644924 + ], + [ + 2.351416, + 48.8644447 + ], + [ + 2.3513478, + 48.8644188 + ], + [ + 2.3512746, + 48.8643918 + ], + [ + 2.3512023, + 48.8643684 + ], + [ + 2.3511131, + 48.8643438 + ], + [ + 2.3510459, + 48.8643261 + ], + [ + 2.3493931, + 48.8639526 + ], + [ + 2.3491396, + 48.8638952 + ], + [ + 2.3490301, + 48.8638718 + ], + [ + 2.3468953, + 48.8633871 + ], + [ + 2.3468514, + 48.8633762 + ], + [ + 2.3468088, + 48.8633632 + ], + [ + 2.3467562, + 48.863342 + ], + [ + 2.3467095, + 48.8633208 + ] + ] + }, + "id": "way/629824239" + }, + { + "type": "Feature", + "properties": { + "@id": "way/629824240", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-3", + "level": "-2", + "location": "underground", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3467339, + 48.8632992 + ], + [ + 2.346777, + 48.8633202 + ], + [ + 2.3468236, + 48.8633397 + ], + [ + 2.3468645, + 48.8633526 + ], + [ + 2.3469052, + 48.8633629 + ], + [ + 2.3498519, + 48.8640258 + ], + [ + 2.3510614, + 48.8642926 + ], + [ + 2.3511869, + 48.864327 + ], + [ + 2.351323, + 48.8643729 + ], + [ + 2.3514051, + 48.8644016 + ], + [ + 2.3514731, + 48.8644302 + ], + [ + 2.3515671, + 48.864481 + ], + [ + 2.3516274, + 48.8645175 + ] + ] + }, + "id": "way/629824240" + }, + { + "type": "Feature", + "properties": { + "@id": "way/632992082", + "frequency": "0", + "gauge": "1435", + "name": "Métro 6", + "railway": "subway", + "service": "crossover", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3518803, + 48.8302598 + ], + [ + 2.3519738, + 48.8302833 + ], + [ + 2.3521183, + 48.8303129 + ], + [ + 2.3522128, + 48.8303369 + ] + ] + }, + "id": "way/632992082" + }, + { + "type": "Feature", + "properties": { + "@id": "way/648852730", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "maxspeed": "50", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "owner": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "start_date": "1911-02-26", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3285301, + 48.8963263 + ], + [ + 2.3283721, + 48.8958563 + ], + [ + 2.3282654, + 48.8955388 + ], + [ + 2.327491, + 48.8932372 + ], + [ + 2.3273999, + 48.8929882 + ], + [ + 2.327315, + 48.8927276 + ], + [ + 2.3271051, + 48.8920828 + ] + ] + }, + "id": "way/648852730" + }, + { + "type": "Feature", + "properties": { + "@id": "way/648852731", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "70", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "start_date": "1911-02-26", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3285717, + 48.8963205 + ], + [ + 2.328869, + 48.8971883 + ], + [ + 2.3289431, + 48.8974128 + ], + [ + 2.3290813, + 48.8978169 + ], + [ + 2.3292513, + 48.8983208 + ], + [ + 2.3303707, + 48.9016376 + ] + ] + }, + "id": "way/648852731" + }, + { + "type": "Feature", + "properties": { + "@id": "way/648852732", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "location": "underground", + "maxspeed": "40", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "owner": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "start_date": "1911-02-26", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3256488, + 48.8877892 + ], + [ + 2.3256196, + 48.8876432 + ], + [ + 2.3256183, + 48.8874881 + ], + [ + 2.3256513, + 48.8873299 + ], + [ + 2.3257098, + 48.8871708 + ], + [ + 2.3257931, + 48.886983 + ], + [ + 2.3260781, + 48.8863403 + ] + ] + }, + "id": "way/648852732" + }, + { + "type": "Feature", + "properties": { + "@id": "way/648852733", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "50", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "start_date": "1911-02-26", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3257233, + 48.8878041 + ], + [ + 2.326311, + 48.8895068 + ], + [ + 2.3264464, + 48.8899538 + ], + [ + 2.3273521, + 48.8927239 + ], + [ + 2.3274449, + 48.8929814 + ], + [ + 2.3275333, + 48.8932328 + ], + [ + 2.3283046, + 48.8955339 + ], + [ + 2.3284076, + 48.8958414 + ], + [ + 2.3285717, + 48.8963205 + ] + ] + }, + "id": "way/648852733" + }, + { + "type": "Feature", + "properties": { + "@id": "way/648852734", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "level": "-2;-3", + "location": "underground", + "maxspeed": "40", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "owner": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "start_date": "1911-02-26", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3262273, + 48.8895165 + ], + [ + 2.3260934, + 48.8891167 + ], + [ + 2.3259054, + 48.8885553 + ], + [ + 2.3256488, + 48.8877892 + ] + ] + }, + "id": "way/648852734" + }, + { + "type": "Feature", + "properties": { + "@id": "way/648852735", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "maxspeed": "50", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "owner": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "start_date": "1911-02-26", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.330322, + 48.9016464 + ], + [ + 2.3290367, + 48.8978342 + ], + [ + 2.3289366, + 48.897549 + ], + [ + 2.3288971, + 48.8974184 + ], + [ + 2.3288215, + 48.8971935 + ], + [ + 2.3285301, + 48.8963263 + ] + ] + }, + "id": "way/648852735" + }, + { + "type": "Feature", + "properties": { + "@id": "way/652513342", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Prolongement de la ligne 14 du Métro de Olympiades à l'Aéroport d'Orly", + "opening_date": "2024", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "14", + "rubber_tires": "yes", + "source": "https://prolongementligne14-orly.fr/#lignes/14SU", + "tunnel": "yes", + "voltage": "750", + "wikipedia": "fr:Ligne 14 du métro de Paris" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.363278, + 48.7334584 + ], + [ + 2.3633138, + 48.7334942 + ], + [ + 2.3635305, + 48.73369 + ], + [ + 2.3637422, + 48.7338608 + ], + [ + 2.3677865, + 48.737049 + ], + [ + 2.3683206, + 48.7374772 + ], + [ + 2.3689863, + 48.7380313 + ], + [ + 2.3695314, + 48.7385431 + ], + [ + 2.3702024, + 48.7392493 + ], + [ + 2.3707819, + 48.7398934 + ], + [ + 2.3712436, + 48.740412 + ], + [ + 2.3716143, + 48.7408957 + ], + [ + 2.3719259, + 48.7413686 + ], + [ + 2.372173, + 48.7418062 + ], + [ + 2.3724094, + 48.742311 + ], + [ + 2.3725894, + 48.7427858 + ], + [ + 2.3727183, + 48.7432216 + ], + [ + 2.3728097, + 48.7436466 + ], + [ + 2.3728634, + 48.7439761 + ], + [ + 2.3728983, + 48.7443642 + ], + [ + 2.3729037, + 48.7447307 + ], + [ + 2.3728965, + 48.7452986 + ], + [ + 2.3728679, + 48.7461517 + ], + [ + 2.3728407, + 48.7469987 + ], + [ + 2.3727566, + 48.7487483 + ], + [ + 2.3726036, + 48.7515096 + ], + [ + 2.3724943, + 48.7524965 + ], + [ + 2.3722529, + 48.7533028 + ], + [ + 2.3719847, + 48.7536883 + ], + [ + 2.3714969, + 48.7540516 + ], + [ + 2.3692117, + 48.7553637 + ], + [ + 2.3673663, + 48.7577969 + ], + [ + 2.3673717, + 48.7581295 + ], + [ + 2.3673803, + 48.7586653 + ], + [ + 2.3674092, + 48.7604562 + ], + [ + 2.3674092, + 48.7625214 + ], + [ + 2.3662076, + 48.7639924 + ], + [ + 2.3648343, + 48.7651239 + ], + [ + 2.3600707, + 48.7664534 + ], + [ + 2.3568521, + 48.7718276 + ], + [ + 2.354843, + 48.7746177 + ], + [ + 2.3543386, + 48.7753419 + ], + [ + 2.352826, + 48.7762863 + ], + [ + 2.3520535, + 48.7767953 + ], + [ + 2.3504227, + 48.7781245 + ], + [ + 2.3499936, + 48.7816029 + ], + [ + 2.3475045, + 48.7859858 + ], + [ + 2.3493498, + 48.7898595 + ], + [ + 2.3493683, + 48.7930475 + ], + [ + 2.3496932, + 48.7952977 + ], + [ + 2.3493302, + 48.7971556 + ], + [ + 2.347086, + 48.8018901 + ], + [ + 2.3472486, + 48.802747 + ], + [ + 2.3473787, + 48.8040752 + ], + [ + 2.3482443, + 48.8054736 + ], + [ + 2.3478581, + 48.8080723 + ], + [ + 2.3493172, + 48.8099801 + ], + [ + 2.3517243, + 48.8115909 + ], + [ + 2.3541881, + 48.8123823 + ], + [ + 2.3568489, + 48.813654 + ], + [ + 2.3587371, + 48.8159854 + ], + [ + 2.359533, + 48.8190866 + ], + [ + 2.358504, + 48.8224745 + ], + [ + 2.3609044, + 48.8249568 + ], + [ + 2.3627712, + 48.8265249 + ], + [ + 2.3646707, + 48.826809 + ] + ] + }, + "id": "way/652513342" + }, + { + "type": "Feature", + "properties": { + "@id": "way/661689867", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3144633, + 48.8603728 + ], + [ + 2.3143737, + 48.8596361 + ] + ] + }, + "id": "way/661689867" + }, + { + "type": "Feature", + "properties": { + "@id": "way/661689868", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "oneway": "yes", + "railway": "subway", + "service": "yard", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3143737, + 48.8596361 + ], + [ + 2.3143995, + 48.8595514 + ], + [ + 2.314447, + 48.8594662 + ], + [ + 2.3144968, + 48.8593578 + ] + ] + }, + "id": "way/661689868" + }, + { + "type": "Feature", + "properties": { + "@id": "way/661689869", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3146521, + 48.8609041 + ], + [ + 2.3146455, + 48.8608739 + ], + [ + 2.3146405, + 48.8608544 + ], + [ + 2.3146341, + 48.8608367 + ], + [ + 2.3146242, + 48.860819 + ], + [ + 2.3146137, + 48.8608018 + ], + [ + 2.3145425, + 48.8607188 + ], + [ + 2.3145133, + 48.8606719 + ], + [ + 2.3144946, + 48.860619 + ], + [ + 2.3144703, + 48.860428 + ], + [ + 2.3144633, + 48.8603728 + ] + ] + }, + "id": "way/661689869" + }, + { + "type": "Feature", + "properties": { + "@id": "way/666720747", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "25", + "name": "Métro 13", + "railway": "subway", + "service": "crossover", + "start_date": "1912-01-20", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3250477, + 48.8877654 + ], + [ + 2.3246554, + 48.8880282 + ] + ] + }, + "id": "way/666720747" + }, + { + "type": "Feature", + "properties": { + "@id": "way/670751690", + "electrified": "rail", + "frequency": "0", + "layer": "-2", + "operator": "RATP", + "railway": "subway", + "source": "archives;survey", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3985462, + 48.8651235 + ], + [ + 2.3984843, + 48.865087 + ], + [ + 2.3984379, + 48.8650592 + ], + [ + 2.3983617, + 48.8650134 + ], + [ + 2.398203, + 48.8649531 + ], + [ + 2.3980541, + 48.8649327 + ] + ] + }, + "id": "way/670751690" + }, + { + "type": "Feature", + "properties": { + "@id": "way/670938607", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 3", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "archives;survey;https://www.iledefrance-mobilites.fr/", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3684108, + 48.8664127 + ], + [ + 2.3707083, + 48.8659968 + ], + [ + 2.3739112, + 48.8653786 + ], + [ + 2.3794812, + 48.8643338 + ], + [ + 2.3813144, + 48.863989 + ], + [ + 2.3814964, + 48.8639521 + ], + [ + 2.3822716, + 48.8638063 + ], + [ + 2.3829264, + 48.8636776 + ], + [ + 2.3863841, + 48.8630289 + ], + [ + 2.3865691, + 48.8629938 + ], + [ + 2.3868242, + 48.8629602 + ], + [ + 2.3871553, + 48.8629423 + ], + [ + 2.3874348, + 48.8629496 + ], + [ + 2.387664, + 48.8629708 + ], + [ + 2.3879368, + 48.8630194 + ], + [ + 2.3884008, + 48.863128 + ], + [ + 2.3891516, + 48.8633136 + ], + [ + 2.3914076, + 48.8638707 + ], + [ + 2.3925233, + 48.8641575 + ], + [ + 2.3936898, + 48.8644567 + ], + [ + 2.3945951, + 48.8646905 + ], + [ + 2.3948218, + 48.8647496 + ], + [ + 2.3950631, + 48.8648087 + ], + [ + 2.3952884, + 48.8648626 + ], + [ + 2.3955064, + 48.8649186 + ], + [ + 2.3956562, + 48.8649406 + ], + [ + 2.395894, + 48.8649805 + ], + [ + 2.3963522, + 48.8649851 + ], + [ + 2.3970022, + 48.8649722 + ], + [ + 2.3978212, + 48.864941 + ], + [ + 2.3980541, + 48.8649327 + ], + [ + 2.3983001, + 48.8649203 + ], + [ + 2.3989439, + 48.8648902 + ], + [ + 2.4003111, + 48.864866 + ], + [ + 2.4019003, + 48.8648077 + ], + [ + 2.4037041, + 48.8647478 + ], + [ + 2.4055048, + 48.8646585 + ], + [ + 2.4057938, + 48.8646504 + ], + [ + 2.4071679, + 48.8645967 + ], + [ + 2.4083021, + 48.8645527 + ], + [ + 2.4089619, + 48.8645938 + ], + [ + 2.4091309, + 48.8646079 + ], + [ + 2.4096579, + 48.8647006 + ], + [ + 2.4112943, + 48.8650342 + ], + [ + 2.4115006, + 48.865065 + ], + [ + 2.4116896, + 48.8650735 + ], + [ + 2.4119183, + 48.8650759 + ], + [ + 2.4122581, + 48.8650585 + ] + ] + }, + "id": "way/670938607" + }, + { + "type": "Feature", + "properties": { + "@id": "way/670938610", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 3", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "archives;survey;STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4167364, + 48.8649302 + ], + [ + 2.4158223, + 48.8649455 + ], + [ + 2.415477, + 48.8649547 + ], + [ + 2.414145, + 48.8649915 + ], + [ + 2.4124288, + 48.8650583 + ], + [ + 2.4123779, + 48.8650588 + ], + [ + 2.4122581, + 48.8650585 + ] + ] + }, + "id": "way/670938610" + }, + { + "type": "Feature", + "properties": { + "@id": "way/670939676", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 3", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "archives;survey;STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4122581, + 48.8650585 + ], + [ + 2.4123787, + 48.8650447 + ], + [ + 2.4124338, + 48.8650395 + ], + [ + 2.4141436, + 48.8649772 + ], + [ + 2.4154765, + 48.8649387 + ], + [ + 2.4158242, + 48.8649287 + ], + [ + 2.4167345, + 48.8649144 + ] + ] + }, + "id": "way/670939676" + }, + { + "type": "Feature", + "properties": { + "@id": "way/677923086", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "bing;survey", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3130196, + 48.8424336 + ], + [ + 2.3125494, + 48.8430151 + ] + ] + }, + "id": "way/677923086" + }, + { + "type": "Feature", + "properties": { + "@id": "way/677923091", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "bing;survey", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3125079, + 48.8429983 + ], + [ + 2.3129707, + 48.8424197 + ] + ] + }, + "id": "way/677923091" + }, + { + "type": "Feature", + "properties": { + "@id": "way/677923096", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "bing;survey", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3114608, + 48.8443314 + ], + [ + 2.3125079, + 48.8429983 + ] + ] + }, + "id": "way/677923096" + }, + { + "type": "Feature", + "properties": { + "@id": "way/677923100", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "bing;survey", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3125494, + 48.8430151 + ], + [ + 2.3114916, + 48.844343 + ] + ] + }, + "id": "way/677923100" + }, + { + "type": "Feature", + "properties": { + "@id": "way/677923104", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "bing;survey", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3301462, + 48.8394547 + ], + [ + 2.3287882, + 48.8398931 + ], + [ + 2.3250866, + 48.8411225 + ], + [ + 2.3227124, + 48.8419588 + ], + [ + 2.3224611, + 48.8420481 + ], + [ + 2.3223139, + 48.8420957 + ], + [ + 2.322181, + 48.8421369 + ], + [ + 2.3220648, + 48.8421659 + ], + [ + 2.321935, + 48.8421911 + ], + [ + 2.3218198, + 48.8422097 + ], + [ + 2.3216761, + 48.8422259 + ], + [ + 2.3215624, + 48.8422332 + ], + [ + 2.3214617, + 48.8422355 + ], + [ + 2.3213564, + 48.8422363 + ], + [ + 2.3212429, + 48.8422304 + ], + [ + 2.3211281, + 48.8422229 + ], + [ + 2.3210176, + 48.8422119 + ], + [ + 2.3209389, + 48.8422011 + ], + [ + 2.3208787, + 48.8421929 + ], + [ + 2.3207189, + 48.8421684 + ], + [ + 2.3205037, + 48.8421286 + ], + [ + 2.3199298, + 48.8419564 + ], + [ + 2.3156734, + 48.8407293 + ], + [ + 2.3155536, + 48.8407104 + ], + [ + 2.3154301, + 48.8406989 + ], + [ + 2.3153289, + 48.840692 + ], + [ + 2.3151592, + 48.8406876 + ], + [ + 2.3149936, + 48.8407049 + ], + [ + 2.314838, + 48.8407294 + ], + [ + 2.3147386, + 48.8407501 + ], + [ + 2.3146309, + 48.8407809 + ], + [ + 2.3145495, + 48.8408069 + ], + [ + 2.3144795, + 48.8408396 + ], + [ + 2.3144107, + 48.8408727 + ], + [ + 2.3143563, + 48.8409038 + ], + [ + 2.3143039, + 48.8409434 + ], + [ + 2.3142558, + 48.8409883 + ], + [ + 2.3141894, + 48.8410555 + ], + [ + 2.3141305, + 48.8411172 + ], + [ + 2.3137236, + 48.8415634 + ] + ] + }, + "id": "way/677923104" + }, + { + "type": "Feature", + "properties": { + "@id": "way/677923265", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "bing;survey", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3137236, + 48.8415634 + ], + [ + 2.3130196, + 48.8424336 + ] + ] + }, + "id": "way/677923265" + }, + { + "type": "Feature", + "properties": { + "@id": "way/677923266", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "bing;survey", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3136902, + 48.8415367 + ], + [ + 2.3142004, + 48.8409819 + ], + [ + 2.314299, + 48.8408951 + ], + [ + 2.314418, + 48.8408185 + ], + [ + 2.3145595, + 48.8407616 + ], + [ + 2.3147173, + 48.8407163 + ], + [ + 2.3148813, + 48.8406821 + ], + [ + 2.3150195, + 48.8406612 + ], + [ + 2.3151825, + 48.8406461 + ], + [ + 2.3153226, + 48.8406494 + ], + [ + 2.3154554, + 48.8406622 + ], + [ + 2.3155525, + 48.8406727 + ], + [ + 2.3156921, + 48.8406995 + ], + [ + 2.3199392, + 48.8419344 + ], + [ + 2.320512, + 48.8421 + ], + [ + 2.3207417, + 48.8421463 + ], + [ + 2.3209372, + 48.8421773 + ], + [ + 2.3209483, + 48.8421786 + ], + [ + 2.3210704, + 48.8421925 + ], + [ + 2.32116, + 48.8421996 + ], + [ + 2.3212334, + 48.8422044 + ], + [ + 2.3213603, + 48.8422116 + ], + [ + 2.3214701, + 48.8422106 + ], + [ + 2.3216107, + 48.8422074 + ], + [ + 2.3217281, + 48.8421964 + ], + [ + 2.3218332, + 48.8421822 + ], + [ + 2.3219323, + 48.8421681 + ], + [ + 2.3220525, + 48.8421428 + ], + [ + 2.3221426, + 48.842121 + ], + [ + 2.3222254, + 48.8420976 + ], + [ + 2.3223464, + 48.8420559 + ], + [ + 2.3224666, + 48.8420122 + ], + [ + 2.3226858, + 48.8419348 + ], + [ + 2.3250718, + 48.8410969 + ], + [ + 2.3301169, + 48.8394323 + ], + [ + 2.3302356, + 48.8393764 + ], + [ + 2.3303454, + 48.8393161 + ], + [ + 2.3304592, + 48.8392238 + ], + [ + 2.3305466, + 48.8391195 + ], + [ + 2.3306096, + 48.8390084 + ], + [ + 2.3306518, + 48.838901 + ], + [ + 2.330819, + 48.8384746 + ], + [ + 2.3315746, + 48.8364772 + ], + [ + 2.3319533, + 48.8354454 + ], + [ + 2.3321097, + 48.8350611 + ], + [ + 2.3321985, + 48.8348506 + ], + [ + 2.3322661, + 48.8347374 + ], + [ + 2.3323492, + 48.834643 + ], + [ + 2.3324525, + 48.8345406 + ], + [ + 2.3326373, + 48.8343956 + ], + [ + 2.3327224, + 48.8343425 + ], + [ + 2.3328909, + 48.8342373 + ], + [ + 2.3331173, + 48.8341054 + ], + [ + 2.3333438, + 48.8339868 + ], + [ + 2.3335773, + 48.8338889 + ], + [ + 2.3338091, + 48.8338051 + ], + [ + 2.334071, + 48.8337224 + ], + [ + 2.3348036, + 48.8335244 + ], + [ + 2.3362802, + 48.8331111 + ] + ] + }, + "id": "way/677923266" + }, + { + "type": "Feature", + "properties": { + "@id": "way/677931342", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "3", + "ref": "Voie 3", + "rubber_tires": "yes", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2928313, + 48.8707397 + ], + [ + 2.2928637, + 48.8707731 + ], + [ + 2.2928929, + 48.8707943 + ], + [ + 2.2929307, + 48.870815 + ], + [ + 2.29303, + 48.8708653 + ], + [ + 2.2930623, + 48.8708845 + ], + [ + 2.2930896, + 48.8709081 + ], + [ + 2.2936884, + 48.8717106 + ], + [ + 2.2937054, + 48.8717392 + ], + [ + 2.2937211, + 48.8717719 + ], + [ + 2.293729, + 48.8718019 + ], + [ + 2.293729, + 48.8718942 + ], + [ + 2.2937302, + 48.8719085 + ], + [ + 2.2937326, + 48.8719221 + ], + [ + 2.2937369, + 48.8719353 + ], + [ + 2.2937424, + 48.8719485 + ], + [ + 2.2937503, + 48.8719628 + ] + ] + }, + "id": "way/677931342" + }, + { + "type": "Feature", + "properties": { + "@id": "way/677931343", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "4", + "ref": "Voie 4", + "rubber_tires": "yes", + "start_date": "1900-10-02", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2941715, + 48.8726433 + ], + [ + 2.2937357, + 48.872066 + ], + [ + 2.2936988, + 48.8720252 + ], + [ + 2.293512, + 48.8718433 + ], + [ + 2.2934439, + 48.8717769 + ], + [ + 2.2934209, + 48.8717463 + ], + [ + 2.2928489, + 48.8709868 + ], + [ + 2.292837, + 48.8709628 + ], + [ + 2.2928306, + 48.8709332 + ], + [ + 2.2928212, + 48.8708114 + ], + [ + 2.2928173, + 48.8707839 + ], + [ + 2.2928125, + 48.8707699 + ], + [ + 2.2928022, + 48.8707496 + ] + ] + }, + "id": "way/677931343" + }, + { + "type": "Feature", + "properties": { + "@id": "way/678369244", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "1E", + "ref": "6", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1900-10-02", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.294917, + 48.8729438 + ], + [ + 2.2957083, + 48.873052 + ], + [ + 2.2958672, + 48.8730947 + ], + [ + 2.2960305, + 48.8731564 + ], + [ + 2.2961676, + 48.8732433 + ], + [ + 2.2962776, + 48.8733443 + ], + [ + 2.2963431, + 48.873453 + ], + [ + 2.2963743, + 48.8735856 + ], + [ + 2.2963632, + 48.8736944 + ], + [ + 2.2963214, + 48.8738137 + ], + [ + 2.2962404, + 48.8739231 + ], + [ + 2.2961189, + 48.874019 + ], + [ + 2.2959642, + 48.8740934 + ] + ] + }, + "id": "way/678369244" + }, + { + "type": "Feature", + "properties": { + "@id": "way/678369245", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "1", + "ref": "Voie 1", + "rubber_tires": "yes", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2923933, + 48.8701247 + ], + [ + 2.2928313, + 48.8707397 + ], + [ + 2.2929626, + 48.8709155 + ], + [ + 2.2929933, + 48.8709529 + ], + [ + 2.2934481, + 48.8715549 + ] + ] + }, + "id": "way/678369245" + }, + { + "type": "Feature", + "properties": { + "@id": "way/678369246", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "2", + "ref": "Voie 2", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2929573, + 48.8709634 + ], + [ + 2.2928633, + 48.8708309 + ], + [ + 2.2928022, + 48.8707496 + ], + [ + 2.2923592, + 48.8701381 + ] + ] + }, + "id": "way/678369246" + }, + { + "type": "Feature", + "properties": { + "@id": "way/678369247", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "siding", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2928306, + 48.8709332 + ], + [ + 2.292822, + 48.870899 + ], + [ + 2.2928098, + 48.8708645 + ], + [ + 2.2927916, + 48.8708306 + ], + [ + 2.2922814, + 48.8701567 + ] + ] + }, + "id": "way/678369247" + }, + { + "type": "Feature", + "properties": { + "@id": "way/678369248", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "crossover", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2929626, + 48.8709155 + ], + [ + 2.2929366, + 48.8708912 + ], + [ + 2.2928894, + 48.8708547 + ], + [ + 2.2928633, + 48.8708309 + ] + ] + }, + "id": "way/678369248" + }, + { + "type": "Feature", + "properties": { + "@id": "way/678369249", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "C", + "rubber_tires": "yes", + "service": "siding", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2941498, + 48.8731439 + ], + [ + 2.2942247, + 48.8730957 + ], + [ + 2.2943035, + 48.8730552 + ], + [ + 2.294387, + 48.8730195 + ], + [ + 2.294454, + 48.8729956 + ], + [ + 2.2945249, + 48.872977 + ], + [ + 2.2945809, + 48.8729687 + ], + [ + 2.2946518, + 48.872963 + ], + [ + 2.2947345, + 48.8729594 + ], + [ + 2.2948244, + 48.8729614 + ], + [ + 2.2948985, + 48.8729661 + ] + ] + }, + "id": "way/678369249" + }, + { + "type": "Feature", + "properties": { + "@id": "way/678369251", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "2", + "rubber_tires": "yes", + "service": "siding", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2942209, + 48.8726357 + ], + [ + 2.2942783, + 48.8726992 + ], + [ + 2.2943358, + 48.8727463 + ], + [ + 2.2943973, + 48.8727878 + ], + [ + 2.2944745, + 48.8728329 + ], + [ + 2.2945454, + 48.8728671 + ], + [ + 2.2946297, + 48.8729013 + ], + [ + 2.2946904, + 48.87292 + ], + [ + 2.2947921, + 48.8729443 + ], + [ + 2.2948985, + 48.8729661 + ] + ] + }, + "id": "way/678369251" + }, + { + "type": "Feature", + "properties": { + "@id": "way/678369254", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "1", + "ref": "Voie 1", + "rubber_tires": "yes", + "start_date": "1900-10-02", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2934481, + 48.8715549 + ], + [ + 2.2935886, + 48.8717446 + ], + [ + 2.2937503, + 48.8719628 + ], + [ + 2.2938839, + 48.8721422 + ], + [ + 2.2942489, + 48.8726256 + ], + [ + 2.2943271, + 48.8727054 + ], + [ + 2.2944233, + 48.8727764 + ], + [ + 2.2945107, + 48.8728246 + ], + [ + 2.2945848, + 48.8728593 + ], + [ + 2.2946739, + 48.8728904 + ], + [ + 2.2947802, + 48.8729163 + ], + [ + 2.294917, + 48.8729438 + ] + ] + }, + "id": "way/678369254" + }, + { + "type": "Feature", + "properties": { + "@id": "way/678369255", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 6", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "crossover", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2936869, + 48.8719258 + ], + [ + 2.2936476, + 48.8718904 + ], + [ + 2.2934653, + 48.8717833 + ], + [ + 2.2934209, + 48.8717463 + ] + ] + }, + "id": "way/678369255" + }, + { + "type": "Feature", + "properties": { + "@id": "way/678369256", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 6", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "crossover", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2937143, + 48.8719622 + ], + [ + 2.2938839, + 48.8721422 + ] + ] + }, + "id": "way/678369256" + }, + { + "type": "Feature", + "properties": { + "@id": "way/678369257", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "2", + "ref": "Voie 2", + "rubber_tires": "yes", + "start_date": "1900-10-02", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2942643, + 48.8727764 + ], + [ + 2.2942551, + 48.8727074 + ], + [ + 2.2942209, + 48.8726357 + ], + [ + 2.2937143, + 48.8719622 + ], + [ + 2.2936869, + 48.8719258 + ], + [ + 2.2934112, + 48.871566 + ], + [ + 2.2929573, + 48.8709634 + ] + ] + }, + "id": "way/678369257" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326851", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "maxspeed": "55", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "1", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.286615, + 48.8764655 + ], + [ + 2.2860028, + 48.8766668 + ] + ] + }, + "id": "way/680326851" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326856", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Métro 1", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "A", + "rubber_tires": "yes", + "service": "yard", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "branch", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2804052, + 48.8784734 + ], + [ + 2.2800425, + 48.8785918 + ], + [ + 2.2797629, + 48.8786765 + ], + [ + 2.2777763, + 48.8793003 + ] + ] + }, + "id": "way/680326856" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326858", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "yard", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "branch", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2777529, + 48.8792667 + ], + [ + 2.2795992, + 48.8786868 + ], + [ + 2.2803771, + 48.878442 + ], + [ + 2.2807089, + 48.8783366 + ] + ] + }, + "id": "way/680326858" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326860", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2777361, + 48.879245 + ], + [ + 2.2784632, + 48.8790103 + ], + [ + 2.2806911, + 48.8783135 + ] + ] + }, + "id": "way/680326860" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326865", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "location": "underground", + "maxspeed": "55", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "1", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2840425, + 48.8772888 + ], + [ + 2.2839699, + 48.8773131 + ] + ] + }, + "id": "way/680326865" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326872", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3;-2", + "level": "-3;-2", + "location": "underground", + "maxspeed": "30", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2840253, + 48.8772615 + ], + [ + 2.2859858, + 48.8766407 + ] + ] + }, + "id": "way/680326872" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326879", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "level": "-2;-3", + "location": "underground", + "maxspeed": "55", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "1", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2860028, + 48.8766668 + ], + [ + 2.2840425, + 48.8772888 + ] + ] + }, + "id": "way/680326879" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326882", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "maxspeed": "30", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2859858, + 48.8766407 + ], + [ + 2.2865974, + 48.8764424 + ] + ] + }, + "id": "way/680326882" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326923", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "railway": "subway", + "railway:track_ref": "R", + "rubber_tires": "yes", + "service": "crossover", + "start_date": "1900", + "tunnel": "yes", + "usage": "branch", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2959642, + 48.8740934 + ], + [ + 2.2962434, + 48.8739842 + ], + [ + 2.2963492, + 48.8739214 + ], + [ + 2.2964335, + 48.8738343 + ], + [ + 2.2965479, + 48.8736439 + ], + [ + 2.2965812, + 48.8735785 + ] + ] + }, + "id": "way/680326923" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326926", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "E", + "ref": "6", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1900-10-02", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2959642, + 48.8740934 + ], + [ + 2.2949579, + 48.8744156 + ] + ] + }, + "id": "way/680326926" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326930", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Métro 6", + "oneway": "yes", + "railway": "subway", + "railway:track_ref": "4E", + "start_date": "1900-10-02", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2948437, + 48.8744508 + ], + [ + 2.2947284, + 48.8744845 + ], + [ + 2.2946086, + 48.8745117 + ], + [ + 2.2944964, + 48.8745258 + ], + [ + 2.2943805, + 48.8745272 + ], + [ + 2.2942645, + 48.8745209 + ], + [ + 2.2941467, + 48.8745045 + ], + [ + 2.2940357, + 48.8744792 + ], + [ + 2.2939217, + 48.8744421 + ], + [ + 2.2938157, + 48.8743981 + ], + [ + 2.2937377, + 48.87435 + ], + [ + 2.2936685, + 48.8742943 + ], + [ + 2.2936125, + 48.8742316 + ], + [ + 2.2935605, + 48.874153 + ], + [ + 2.2935207, + 48.8740713 + ], + [ + 2.2934959, + 48.8739836 + ], + [ + 2.2934896, + 48.8738847 + ], + [ + 2.2935187, + 48.8737726 + ], + [ + 2.2935738, + 48.8736741 + ], + [ + 2.2940957, + 48.8731289 + ], + [ + 2.2941523, + 48.8730413 + ], + [ + 2.2941873, + 48.87296 + ], + [ + 2.2942112, + 48.8728687 + ], + [ + 2.2942195, + 48.8727766 + ], + [ + 2.2942063, + 48.8727052 + ], + [ + 2.2941715, + 48.8726433 + ] + ] + }, + "id": "way/680326930" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326934", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 6", + "operator": "RATP", + "railway": "subway", + "railway:track_ref": "B", + "rubber_tires": "yes", + "service": "siding", + "tunnel": "yes", + "usage": "branch", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2948985, + 48.8729661 + ], + [ + 2.2957052, + 48.8730713 + ], + [ + 2.2958555, + 48.8731161 + ], + [ + 2.2960123, + 48.873179 + ], + [ + 2.2961374, + 48.8732544 + ], + [ + 2.2962435, + 48.8733533 + ], + [ + 2.2963059, + 48.8734633 + ], + [ + 2.2963389, + 48.8735902 + ], + [ + 2.2963272, + 48.8736969 + ], + [ + 2.296283, + 48.8738077 + ], + [ + 2.2962041, + 48.87391 + ], + [ + 2.2960951, + 48.8739953 + ], + [ + 2.2959373, + 48.8740705 + ] + ] + }, + "id": "way/680326934" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680326939", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Métro 1", + "railway": "subway", + "rubber_tires": "yes", + "service": "crossover", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2966401, + 48.8733997 + ], + [ + 2.296611, + 48.8735986 + ] + ] + }, + "id": "way/680326939" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680335007", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "maxspeed": "45", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "ref": "2", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2960057, + 48.8751192 + ], + [ + 2.2965695, + 48.8758928 + ], + [ + 2.2979014, + 48.8776921 + ], + [ + 2.2981087, + 48.8778666 + ], + [ + 2.2983098, + 48.8780037 + ], + [ + 2.2985258, + 48.8781054 + ], + [ + 2.2987643, + 48.8781936 + ], + [ + 2.2990808, + 48.8782859 + ], + [ + 2.3008128, + 48.8786391 + ], + [ + 2.3013278, + 48.8787502 + ], + [ + 2.3030216, + 48.8791074 + ], + [ + 2.3043746, + 48.8793962 + ], + [ + 2.3085925, + 48.8802919 + ], + [ + 2.3093006, + 48.8804242 + ], + [ + 2.3100356, + 48.8805406 + ], + [ + 2.3136498, + 48.8809684 + ], + [ + 2.314915, + 48.8811145 + ], + [ + 2.3163535, + 48.8812806 + ], + [ + 2.3167129, + 48.8813256 + ], + [ + 2.3170522, + 48.8813811 + ], + [ + 2.3203996, + 48.8820532 + ], + [ + 2.3213306, + 48.8822428 + ], + [ + 2.3229966, + 48.8825783 + ], + [ + 2.3231979, + 48.8826189 + ], + [ + 2.3246224, + 48.8829068 + ], + [ + 2.3262435, + 48.8832345 + ], + [ + 2.3274914, + 48.8835101 + ], + [ + 2.3277932, + 48.8835974 + ], + [ + 2.3279836, + 48.8836679 + ], + [ + 2.3283678, + 48.8838977 + ], + [ + 2.3288761, + 48.8842107 + ], + [ + 2.3290894, + 48.8843324 + ], + [ + 2.3292798, + 48.8844012 + ], + [ + 2.3293421, + 48.8844131 + ], + [ + 2.329493, + 48.8844418 + ], + [ + 2.3297277, + 48.8844541 + ], + [ + 2.3300563, + 48.8844092 + ], + [ + 2.3320639, + 48.8839241 + ], + [ + 2.3325186, + 48.8837945 + ], + [ + 2.3336343, + 48.8834886 + ], + [ + 2.3363709, + 48.8826669 + ], + [ + 2.3368081, + 48.8825294 + ], + [ + 2.3370799, + 48.8824492 + ], + [ + 2.3371075, + 48.8824374 + ], + [ + 2.3371584, + 48.8824262 + ], + [ + 2.3373023, + 48.8823925 + ], + [ + 2.3374876, + 48.882349 + ], + [ + 2.3377058, + 48.8823134 + ], + [ + 2.3380774, + 48.8822491 + ], + [ + 2.3382822, + 48.882222 + ] + ] + }, + "id": "way/680335007" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680335008", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "name": "Métro 2", + "operator": "RATP", + "railway": "subway", + "ref": "2", + "source": "STIF", + "start_date": "1900-10-13", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2931133, + 48.8730304 + ], + [ + 2.2935108, + 48.8732453 + ], + [ + 2.294448, + 48.8739033 + ], + [ + 2.2946153, + 48.8740125 + ], + [ + 2.2953628, + 48.8744577 + ], + [ + 2.2954477, + 48.8745157 + ], + [ + 2.2955325, + 48.8745791 + ], + [ + 2.2956047, + 48.8746448 + ], + [ + 2.2956897, + 48.8747257 + ], + [ + 2.2957603, + 48.8748013 + ] + ] + }, + "id": "way/680335008" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680424562", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-2", + "location": "underground", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "passenger_lines": "2", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2806911, + 48.8783135 + ], + [ + 2.2811657, + 48.8781086 + ], + [ + 2.28125, + 48.8780809 + ], + [ + 2.2824531, + 48.877686 + ], + [ + 2.2825572, + 48.8776529 + ], + [ + 2.282628, + 48.87763 + ] + ] + }, + "id": "way/680424562" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680424564", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "location": "underground", + "maxspeed": "30", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "railway:track_ref": "2", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2839469, + 48.8772876 + ], + [ + 2.2840253, + 48.8772615 + ] + ] + }, + "id": "way/680424564" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680424565", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-2", + "location": "underground", + "maxspeed": "50", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "1", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2839699, + 48.8773131 + ], + [ + 2.2836416, + 48.8774228 + ], + [ + 2.2834644, + 48.8774883 + ], + [ + 2.2832654, + 48.877568 + ], + [ + 2.2829054, + 48.8777122 + ] + ] + }, + "id": "way/680424565" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680434142", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "maxspeed": "40", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "1", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1900-07-19", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2948625, + 48.8746074 + ], + [ + 2.294776, + 48.8746223 + ], + [ + 2.2946405, + 48.8746354 + ], + [ + 2.2945037, + 48.8746421 + ], + [ + 2.2943673, + 48.8746411 + ], + [ + 2.2942322, + 48.8746284 + ], + [ + 2.2941065, + 48.8746079 + ], + [ + 2.2934431, + 48.87443 + ], + [ + 2.2934252, + 48.8744252 + ], + [ + 2.2932334, + 48.8743883 + ], + [ + 2.2930197, + 48.8743672 + ], + [ + 2.2927893, + 48.8743728 + ], + [ + 2.2925784, + 48.8743977 + ], + [ + 2.2923256, + 48.8744667 + ], + [ + 2.2921157, + 48.8745533 + ], + [ + 2.291093, + 48.875023 + ], + [ + 2.2909133, + 48.8750929 + ], + [ + 2.290729, + 48.875158 + ], + [ + 2.2906911, + 48.8751701 + ], + [ + 2.2895868, + 48.8755232 + ], + [ + 2.2895804, + 48.8755254 + ], + [ + 2.2895718, + 48.8755279 + ] + ] + }, + "id": "way/680434142" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680434144", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-2", + "location": "underground", + "maxspeed": "40", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "1", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2829054, + 48.8777122 + ], + [ + 2.2827365, + 48.8777722 + ], + [ + 2.2826859, + 48.8777887 + ], + [ + 2.2826643, + 48.8777957 + ], + [ + 2.2814369, + 48.8781955 + ], + [ + 2.2813541, + 48.8782221 + ], + [ + 2.2813446, + 48.8782252 + ] + ] + }, + "id": "way/680434144" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680434145", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-2", + "location": "underground", + "maxspeed": "50", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "1", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1936-11-15", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2813446, + 48.8782252 + ], + [ + 2.2809912, + 48.8783389 + ], + [ + 2.2804222, + 48.8784958 + ], + [ + 2.2801213, + 48.8785944 + ], + [ + 2.2797189, + 48.8787211 + ] + ] + }, + "id": "way/680434145" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680434146", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "maxspeed": "55", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "railway:track_ref": "1", + "ref": "1", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1900-07-19", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2895718, + 48.8755279 + ], + [ + 2.286615, + 48.8764655 + ] + ] + }, + "id": "way/680434146" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680571156", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3789913, + 48.8402878 + ], + [ + 2.3789584, + 48.8402753 + ], + [ + 2.3789049, + 48.8402546 + ], + [ + 2.3788682, + 48.8402381 + ], + [ + 2.3788382, + 48.8402242 + ], + [ + 2.3788039, + 48.8402078 + ], + [ + 2.378757, + 48.8401839 + ], + [ + 2.378556, + 48.8400762 + ], + [ + 2.3769312, + 48.8391919 + ] + ] + }, + "id": "way/680571156" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680571158", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3769591, + 48.8391714 + ], + [ + 2.377301, + 48.8393592 + ], + [ + 2.3787116, + 48.8401256 + ], + [ + 2.3788185, + 48.8401821 + ], + [ + 2.3788744, + 48.8402092 + ], + [ + 2.3789073, + 48.840224 + ], + [ + 2.3789529, + 48.8402437 + ], + [ + 2.378995, + 48.8402601 + ], + [ + 2.3790465, + 48.8402783 + ] + ] + }, + "id": "way/680571158" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680571161", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3603661, + 48.832364 + ], + [ + 2.3608916, + 48.8325388 + ], + [ + 2.3623863, + 48.8330369 + ], + [ + 2.3633019, + 48.8333459 + ], + [ + 2.3638346, + 48.8335236 + ], + [ + 2.3672969, + 48.8346629 + ], + [ + 2.3676644, + 48.8347867 + ], + [ + 2.3685496, + 48.8350849 + ], + [ + 2.3692907, + 48.835341 + ], + [ + 2.369414, + 48.8353824 + ], + [ + 2.3694844, + 48.8354062 + ], + [ + 2.3695646, + 48.835435 + ], + [ + 2.3696309, + 48.8354614 + ], + [ + 2.3696872, + 48.8354845 + ], + [ + 2.3697345, + 48.835505 + ], + [ + 2.369897, + 48.8355732 + ], + [ + 2.3706573, + 48.8359046 + ], + [ + 2.3710558, + 48.8360862 + ], + [ + 2.3711222, + 48.8361191 + ], + [ + 2.3711927, + 48.8361564 + ], + [ + 2.3713566, + 48.8362426 + ], + [ + 2.3721792, + 48.8366823 + ], + [ + 2.3722714, + 48.8367311 + ], + [ + 2.3723882, + 48.8367938 + ], + [ + 2.3724347, + 48.8368186 + ], + [ + 2.3731656, + 48.8371778 + ], + [ + 2.3732645, + 48.8372257 + ], + [ + 2.3733363, + 48.8372575 + ], + [ + 2.3736285, + 48.8373868 + ], + [ + 2.3736944, + 48.8374157 + ], + [ + 2.373755, + 48.8374431 + ], + [ + 2.3738064, + 48.8374668 + ], + [ + 2.3738666, + 48.8374952 + ], + [ + 2.3739227, + 48.8375231 + ], + [ + 2.3739934, + 48.8375595 + ], + [ + 2.37408, + 48.8376056 + ], + [ + 2.3741441, + 48.8376403 + ], + [ + 2.3755467, + 48.8384063 + ], + [ + 2.3757991, + 48.8385348 + ], + [ + 2.3763767, + 48.8388496 + ], + [ + 2.3769591, + 48.8391714 + ] + ] + }, + "id": "way/680571161" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680571162", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3769312, + 48.8391919 + ], + [ + 2.3757776, + 48.8385596 + ], + [ + 2.3755199, + 48.838427 + ], + [ + 2.3741098, + 48.8376589 + ], + [ + 2.3739933, + 48.8375949 + ], + [ + 2.3739351, + 48.8375643 + ], + [ + 2.3738832, + 48.8375377 + ], + [ + 2.3738266, + 48.8375104 + ], + [ + 2.3737622, + 48.8374797 + ], + [ + 2.3736859, + 48.8374455 + ], + [ + 2.3736028, + 48.8374082 + ], + [ + 2.3733071, + 48.8372758 + ], + [ + 2.3732399, + 48.8372457 + ], + [ + 2.3731087, + 48.8371825 + ], + [ + 2.372465, + 48.8368663 + ], + [ + 2.3723643, + 48.836814 + ], + [ + 2.3713349, + 48.8362631 + ], + [ + 2.3711449, + 48.8361629 + ], + [ + 2.3710888, + 48.836134 + ], + [ + 2.3710213, + 48.8361018 + ], + [ + 2.3707968, + 48.8359944 + ], + [ + 2.3703661, + 48.8358102 + ], + [ + 2.3698727, + 48.8355955 + ], + [ + 2.3697842, + 48.8355597 + ], + [ + 2.3696438, + 48.8355013 + ], + [ + 2.3695932, + 48.8354797 + ], + [ + 2.3695372, + 48.8354581 + ], + [ + 2.3694732, + 48.8354337 + ], + [ + 2.3694066, + 48.8354092 + ], + [ + 2.3691865, + 48.8353355 + ], + [ + 2.3677202, + 48.8348419 + ], + [ + 2.3658825, + 48.8342316 + ], + [ + 2.3632901, + 48.8333763 + ], + [ + 2.3624216, + 48.8330804 + ], + [ + 2.3608804, + 48.8325626 + ], + [ + 2.3603455, + 48.8323863 + ] + ] + }, + "id": "way/680571162" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680571163", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3590208, + 48.831915 + ], + [ + 2.3603661, + 48.832364 + ] + ] + }, + "id": "way/680571163" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680767057", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "maxspeed": "55", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "owner": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "start_date": "1911-02-26", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3271051, + 48.8920828 + ], + [ + 2.3264111, + 48.8899517 + ], + [ + 2.3262273, + 48.8895165 + ] + ] + }, + "id": "way/680767057" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680767058", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "location": "underground", + "maxspeed": "35", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "owner": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "start_date": "1911-02-26", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3260781, + 48.8863403 + ], + [ + 2.3262106, + 48.885965 + ], + [ + 2.3265212, + 48.8852572 + ] + ] + }, + "id": "way/680767058" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680767059", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "location": "underground", + "maxspeed": "20", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "owner": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "start_date": "1911-02-26", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3265212, + 48.8852572 + ], + [ + 2.3266963, + 48.8849913 + ] + ] + }, + "id": "way/680767059" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680767060", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "20", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1912-01-20", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.326572, + 48.8852671 + ], + [ + 2.3266963, + 48.8849913 + ] + ] + }, + "id": "way/680767060" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680771794", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "65", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1980-05-09", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3097175, + 48.8990619 + ], + [ + 2.3098189, + 48.8989327 + ], + [ + 2.3098686, + 48.898848 + ], + [ + 2.3099137, + 48.8987637 + ], + [ + 2.3103377, + 48.8975297 + ], + [ + 2.3103604, + 48.8974383 + ], + [ + 2.3103667, + 48.8973772 + ], + [ + 2.3103593, + 48.8973098 + ], + [ + 2.310316, + 48.8970897 + ], + [ + 2.3103048, + 48.8969923 + ], + [ + 2.3103013, + 48.8968458 + ] + ] + }, + "id": "way/680771794" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680771795", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "70", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1980-05-09", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3103013, + 48.8968458 + ], + [ + 2.3103128, + 48.8966951 + ], + [ + 2.3103192, + 48.8966535 + ], + [ + 2.31033, + 48.8966085 + ], + [ + 2.310358, + 48.8964633 + ], + [ + 2.3103918, + 48.8963494 + ], + [ + 2.3104272, + 48.8962511 + ], + [ + 2.3104639, + 48.8961697 + ] + ] + }, + "id": "way/680771795" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680771796", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "55", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1980-05-09", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3104639, + 48.8961697 + ], + [ + 2.3105406, + 48.896054 + ], + [ + 2.3105743, + 48.8960155 + ], + [ + 2.3106694, + 48.8959384 + ], + [ + 2.3116946, + 48.8953497 + ] + ] + }, + "id": "way/680771796" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680771798", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "maxspeed": "35", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1912-01-20", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3128828, + 48.8946673 + ], + [ + 2.3129568, + 48.8946305 + ], + [ + 2.3130286, + 48.8945992 + ], + [ + 2.3132632, + 48.8945103 + ], + [ + 2.3133794, + 48.8944638 + ], + [ + 2.3134925, + 48.8944029 + ], + [ + 2.3139224, + 48.8941543 + ] + ] + }, + "id": "way/680771798" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680771799", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-2", + "location": "underground", + "maxspeed": "55", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1912-01-20", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3139224, + 48.8941543 + ], + [ + 2.3178946, + 48.8918573 + ], + [ + 2.3183768, + 48.8916021 + ] + ] + }, + "id": "way/680771799" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680771800", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "45", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1912-01-20", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3183768, + 48.8916021 + ], + [ + 2.3201146, + 48.8906026 + ] + ] + }, + "id": "way/680771800" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680771801", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "60", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1912-01-20", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3201146, + 48.8906026 + ], + [ + 2.3202057, + 48.8905502 + ], + [ + 2.3248167, + 48.8878982 + ] + ] + }, + "id": "way/680771801" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680771803", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "40", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1912-01-20", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3248167, + 48.8878982 + ], + [ + 2.3250477, + 48.8877654 + ], + [ + 2.3252301, + 48.8876605 + ], + [ + 2.3253823, + 48.887558 + ], + [ + 2.3255147, + 48.8874409 + ], + [ + 2.3256276, + 48.887309 + ], + [ + 2.3257143, + 48.8871701 + ], + [ + 2.3257893, + 48.8870037 + ], + [ + 2.3260901, + 48.8863364 + ] + ] + }, + "id": "way/680771803" + }, + { + "type": "Feature", + "properties": { + "@id": "way/680771807", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "30", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "source": "STIF", + "start_date": "1912-01-20", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3260901, + 48.8863364 + ], + [ + 2.326572, + 48.8852671 + ] + ] + }, + "id": "way/680771807" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682318620", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3268218, + 48.8848229 + ], + [ + 2.3267888, + 48.8848905 + ], + [ + 2.3267623, + 48.88494 + ], + [ + 2.326711, + 48.8850416 + ], + [ + 2.3266191, + 48.8852162 + ], + [ + 2.3266152, + 48.8852219 + ], + [ + 2.3266095, + 48.8852306 + ], + [ + 2.326569, + 48.8853294 + ], + [ + 2.3265553, + 48.8853536 + ], + [ + 2.3258261, + 48.8870102 + ], + [ + 2.3257537, + 48.8871746 + ] + ] + }, + "id": "way/682318620" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682318621", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "location": "underground", + "maxspeed": "20", + "name": "Métro 13", + "oneway": "yes", + "operator": "RATP", + "owner": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "railway:track_ref": "2", + "start_date": "1911-02-26", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3266963, + 48.8849913 + ], + [ + 2.3267832, + 48.8848184 + ] + ] + }, + "id": "way/682318621" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682702942", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "level": "-3", + "name": "Métro 12", + "name:ru": "Линия 12", + "old_name": "Ligne A", + "old_operator": "Nord-Sud", + "operator": "RATP", + "railway": "subway", + "service": "crossover", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3224029, + 48.8444012 + ], + [ + 2.3227844, + 48.8442463 + ] + ] + }, + "id": "way/682702942" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682702943", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 12", + "name:ru": "Линия 12", + "old_name": "Ligne A", + "old_operator": "Nord-Sud", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3274974, + 48.843131 + ], + [ + 2.3285891, + 48.8440781 + ], + [ + 2.3287446, + 48.8442326 + ], + [ + 2.3288318, + 48.8443315 + ], + [ + 2.3288627, + 48.8444418 + ], + [ + 2.3288613, + 48.8445557 + ], + [ + 2.3288305, + 48.844688 + ], + [ + 2.3277854, + 48.8482145 + ], + [ + 2.3272714, + 48.850049 + ], + [ + 2.3268345, + 48.8516234 + ], + [ + 2.3266871, + 48.8521199 + ] + ] + }, + "id": "way/682702943" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682702946", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-3", + "name": "Métro 12", + "name:ru": "Линия 12", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3233525, + 48.8440572 + ], + [ + 2.3232495, + 48.8440804 + ], + [ + 2.3231969, + 48.8440871 + ], + [ + 2.3231285, + 48.844089 + ], + [ + 2.3230677, + 48.8440858 + ], + [ + 2.3230077, + 48.8440779 + ], + [ + 2.322944, + 48.8440647 + ], + [ + 2.3228896, + 48.844049 + ], + [ + 2.3228366, + 48.8440305 + ], + [ + 2.3227886, + 48.8440047 + ], + [ + 2.3227468, + 48.8439749 + ], + [ + 2.3225073, + 48.8437368 + ] + ] + }, + "id": "way/682702946" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682702947", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-2", + "name": "Métro 12", + "name:ru": "Линия 12", + "old_name": "Ligne A", + "old_operator": "Nord-Sud", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3165825, + 48.844137 + ], + [ + 2.3169169, + 48.8442108 + ], + [ + 2.3172498, + 48.8443118 + ], + [ + 2.3173635, + 48.8443361 + ], + [ + 2.3175428, + 48.8443643 + ], + [ + 2.317667, + 48.8443888 + ], + [ + 2.3184705, + 48.8446074 + ], + [ + 2.3197846, + 48.844965 + ], + [ + 2.3198471, + 48.8449798 + ], + [ + 2.3199192, + 48.8449941 + ], + [ + 2.319996, + 48.8450045 + ], + [ + 2.3200874, + 48.8450107 + ], + [ + 2.3201823, + 48.845013 + ], + [ + 2.3202778, + 48.8450087 + ], + [ + 2.3203534, + 48.8450006 + ], + [ + 2.3204378, + 48.8449898 + ], + [ + 2.3204988, + 48.8449802 + ], + [ + 2.320587, + 48.8449621 + ], + [ + 2.3206646, + 48.8449435 + ], + [ + 2.3207464, + 48.8449221 + ], + [ + 2.3208552, + 48.8448875 + ], + [ + 2.3209831, + 48.8448447 + ], + [ + 2.321186, + 48.8447759 + ], + [ + 2.3214048, + 48.8447016 + ] + ] + }, + "id": "way/682702947" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682702948", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-2", + "name": "Métro 12", + "name:ru": "Линия 12", + "old_name": "Ligne A", + "old_operator": "Nord-Sud", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3214247, + 48.8447264 + ], + [ + 2.3208723, + 48.84491 + ], + [ + 2.3207467, + 48.8449503 + ], + [ + 2.3206558, + 48.8449757 + ], + [ + 2.32057, + 48.8449956 + ], + [ + 2.3204856, + 48.8450122 + ], + [ + 2.3204079, + 48.8450249 + ], + [ + 2.3203241, + 48.8450361 + ], + [ + 2.3202485, + 48.8450423 + ], + [ + 2.3201835, + 48.845045 + ], + [ + 2.3200956, + 48.8450446 + ], + [ + 2.3200065, + 48.8450415 + ], + [ + 2.3199204, + 48.8450319 + ], + [ + 2.319843, + 48.8450207 + ], + [ + 2.3197614, + 48.8450019 + ], + [ + 2.317932, + 48.8445042 + ], + [ + 2.3176425, + 48.8444254 + ], + [ + 2.3175282, + 48.8444028 + ], + [ + 2.3173465, + 48.8443751 + ], + [ + 2.3172275, + 48.8443492 + ], + [ + 2.3168884, + 48.844247 + ], + [ + 2.3165825, + 48.844137 + ] + ] + }, + "id": "way/682702948" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682707953", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3275045, + 48.842714 + ], + [ + 2.3273632, + 48.8427647 + ], + [ + 2.3271915, + 48.8428354 + ], + [ + 2.3269252, + 48.8429583 + ], + [ + 2.3266221, + 48.843087 + ], + [ + 2.3261993, + 48.8432731 + ], + [ + 2.3258546, + 48.8434108 + ], + [ + 2.3254923, + 48.8435244 + ], + [ + 2.3248119, + 48.8437521 + ], + [ + 2.3247499, + 48.8437748 + ], + [ + 2.3247282, + 48.8437826 + ], + [ + 2.3244944, + 48.843866 + ], + [ + 2.3244083, + 48.8439126 + ], + [ + 2.324346, + 48.8439572 + ], + [ + 2.3243018, + 48.8440138 + ], + [ + 2.3242832, + 48.8440571 + ], + [ + 2.3242688, + 48.8441066 + ], + [ + 2.3242666, + 48.8441476 + ], + [ + 2.3242695, + 48.8441832 + ], + [ + 2.3242799, + 48.8442243 + ], + [ + 2.32429, + 48.8442519 + ], + [ + 2.3243082, + 48.8442822 + ], + [ + 2.3243323, + 48.8443145 + ], + [ + 2.3243743, + 48.8443624 + ], + [ + 2.3246, + 48.8445989 + ], + [ + 2.3260254, + 48.8460424 + ], + [ + 2.3270408, + 48.8470929 + ], + [ + 2.327801, + 48.8478793 + ], + [ + 2.329099, + 48.8493198 + ], + [ + 2.330733, + 48.8510979 + ], + [ + 2.3308297, + 48.8512031 + ], + [ + 2.3320831, + 48.8525799 + ], + [ + 2.3326975, + 48.8532731 + ], + [ + 2.3328195, + 48.8533814 + ], + [ + 2.3329435, + 48.8534777 + ], + [ + 2.3330837, + 48.8535553 + ], + [ + 2.3332769, + 48.8536289 + ], + [ + 2.3335025, + 48.8536783 + ], + [ + 2.333718, + 48.8536971 + ], + [ + 2.3339456, + 48.8536931 + ], + [ + 2.3341408, + 48.8536797 + ], + [ + 2.3343278, + 48.8536476 + ], + [ + 2.3344642, + 48.8536177 + ], + [ + 2.3348458, + 48.853534 + ], + [ + 2.3351517, + 48.8534511 + ], + [ + 2.3356724, + 48.8532913 + ], + [ + 2.3359815, + 48.8532103 + ], + [ + 2.3364876, + 48.8530726 + ], + [ + 2.338103, + 48.8526679 + ], + [ + 2.3393929, + 48.8523524 + ], + [ + 2.3396, + 48.8523018 + ], + [ + 2.339908, + 48.8522323 + ], + [ + 2.3401514, + 48.8521989 + ], + [ + 2.3403147, + 48.8521887 + ], + [ + 2.3405504, + 48.8521948 + ], + [ + 2.3407845, + 48.8522192 + ], + [ + 2.3410526, + 48.8522729 + ], + [ + 2.3413668, + 48.852339 + ], + [ + 2.341657, + 48.8524147 + ], + [ + 2.3418198, + 48.8524717 + ], + [ + 2.3422268, + 48.8526569 + ], + [ + 2.3429466, + 48.8530037 + ], + [ + 2.3437465, + 48.853388 + ], + [ + 2.3439512, + 48.8534749 + ], + [ + 2.3442886, + 48.8535832 + ], + [ + 2.3443662, + 48.8536025 + ] + ] + }, + "id": "way/682707953" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682707954", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "0", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3443196, + 48.8536349 + ], + [ + 2.3439598, + 48.8535225 + ], + [ + 2.3437487, + 48.8534324 + ], + [ + 2.3433028, + 48.8532168 + ], + [ + 2.3430667, + 48.8531003 + ], + [ + 2.3427895, + 48.8529635 + ], + [ + 2.3420496, + 48.8526064 + ], + [ + 2.3417122, + 48.8524539 + ], + [ + 2.3412832, + 48.8523416 + ], + [ + 2.3408056, + 48.8522479 + ], + [ + 2.3404844, + 48.8522091 + ], + [ + 2.3402336, + 48.8522095 + ], + [ + 2.339923, + 48.852254 + ], + [ + 2.3396891, + 48.8523024 + ], + [ + 2.3394061, + 48.8523723 + ], + [ + 2.336794, + 48.8530174 + ], + [ + 2.3357889, + 48.8532898 + ], + [ + 2.3353991, + 48.8534044 + ], + [ + 2.3350942, + 48.8535034 + ], + [ + 2.3346868, + 48.8536016 + ], + [ + 2.3344841, + 48.8536471 + ], + [ + 2.3342975, + 48.8536889 + ], + [ + 2.3340462, + 48.8537227 + ], + [ + 2.3337772, + 48.8537297 + ], + [ + 2.333487, + 48.8537111 + ], + [ + 2.3332499, + 48.853654 + ], + [ + 2.3330357, + 48.8535725 + ], + [ + 2.3328889, + 48.8534863 + ], + [ + 2.3327685, + 48.8533955 + ], + [ + 2.3326712, + 48.8533049 + ], + [ + 2.3316681, + 48.8522025 + ], + [ + 2.3306673, + 48.8511173 + ], + [ + 2.3303985, + 48.8508258 + ], + [ + 2.328832, + 48.8491013 + ], + [ + 2.3276871, + 48.8478337 + ], + [ + 2.3269988, + 48.8471088 + ], + [ + 2.3264312, + 48.8465111 + ], + [ + 2.325159, + 48.8452236 + ], + [ + 2.3245547, + 48.84462 + ], + [ + 2.3243245, + 48.84438 + ], + [ + 2.3242799, + 48.8443277 + ], + [ + 2.3242528, + 48.8442854 + ], + [ + 2.3242417, + 48.8442614 + ], + [ + 2.324232, + 48.8442355 + ], + [ + 2.3242209, + 48.844184 + ], + [ + 2.3242168, + 48.8441214 + ], + [ + 2.3242329, + 48.844058 + ], + [ + 2.324283, + 48.8439754 + ], + [ + 2.3243463, + 48.8439194 + ], + [ + 2.3244086, + 48.8438802 + ], + [ + 2.3244941, + 48.8438395 + ], + [ + 2.3246583, + 48.8437809 + ], + [ + 2.3248898, + 48.8437022 + ], + [ + 2.3254605, + 48.8435126 + ], + [ + 2.3257421, + 48.8434131 + ], + [ + 2.3259985, + 48.843319 + ], + [ + 2.326227, + 48.8432217 + ], + [ + 2.3265255, + 48.8430914 + ], + [ + 2.3268264, + 48.8429588 + ], + [ + 2.3271338, + 48.8428217 + ], + [ + 2.3273132, + 48.8427471 + ], + [ + 2.3274576, + 48.8426939 + ], + [ + 2.3283392, + 48.8424002 + ], + [ + 2.3288881, + 48.8422176 + ], + [ + 2.3289251, + 48.8422053 + ], + [ + 2.3289851, + 48.8421854 + ], + [ + 2.329281, + 48.8420791 + ], + [ + 2.3294363, + 48.8420042 + ], + [ + 2.3296083, + 48.8418939 + ], + [ + 2.3297251, + 48.8417803 + ], + [ + 2.3298109, + 48.8416437 + ], + [ + 2.3298967, + 48.8414054 + ], + [ + 2.3304701, + 48.8398564 + ], + [ + 2.3307851, + 48.8389263 + ], + [ + 2.33083, + 48.8387936 + ], + [ + 2.3313393, + 48.837457 + ], + [ + 2.3320267, + 48.8356548 + ], + [ + 2.3322705, + 48.8350203 + ], + [ + 2.3323131, + 48.8348966 + ], + [ + 2.3323415, + 48.8347494 + ], + [ + 2.3323415, + 48.8345541 + ], + [ + 2.3323131, + 48.8343079 + ], + [ + 2.3322358, + 48.8340965 + ], + [ + 2.3319147, + 48.8337138 + ], + [ + 2.331187, + 48.8328467 + ], + [ + 2.329847, + 48.831293 + ], + [ + 2.3293936, + 48.8307673 + ], + [ + 2.3275157, + 48.8286161 + ], + [ + 2.327221, + 48.8282891 + ], + [ + 2.3270903, + 48.82812 + ], + [ + 2.3270226, + 48.8280277 + ], + [ + 2.3268941, + 48.8278526 + ], + [ + 2.3266887, + 48.8274591 + ], + [ + 2.3264318, + 48.8268011 + ], + [ + 2.3260621, + 48.825521 + ], + [ + 2.3257778, + 48.8243132 + ], + [ + 2.3255824, + 48.8236401 + ], + [ + 2.3255488, + 48.8235242 + ], + [ + 2.3253827, + 48.8230564 + ], + [ + 2.3252432, + 48.8227703 + ], + [ + 2.3250823, + 48.8225443 + ], + [ + 2.3247604, + 48.822237 + ], + [ + 2.3244547, + 48.8220427 + ], + [ + 2.3240523, + 48.8218555 + ], + [ + 2.3227488, + 48.8214458 + ], + [ + 2.3222842, + 48.8213127 + ], + [ + 2.3217974, + 48.8211301 + ], + [ + 2.3213661, + 48.820911 + ], + [ + 2.3209656, + 48.8206189 + ], + [ + 2.3206821, + 48.8203065 + ], + [ + 2.3197639, + 48.8188702 + ], + [ + 2.3190172, + 48.8176334 + ], + [ + 2.3185694, + 48.8168916 + ], + [ + 2.3174368, + 48.8150416 + ], + [ + 2.3160747, + 48.8128274 + ], + [ + 2.315997, + 48.8126707 + ], + [ + 2.3158984, + 48.8123806 + ], + [ + 2.315846, + 48.8121249 + ], + [ + 2.3158429, + 48.8117577 + ], + [ + 2.3159168, + 48.8114411 + ], + [ + 2.3160678, + 48.8111043 + ], + [ + 2.31629, + 48.8107906 + ], + [ + 2.3166015, + 48.8105226 + ], + [ + 2.3169165, + 48.8103128 + ], + [ + 2.3171713, + 48.8101357 + ], + [ + 2.3173482, + 48.8099818 + ], + [ + 2.3175075, + 48.809807 + ], + [ + 2.317598, + 48.8096284 + ], + [ + 2.3177628, + 48.8088438 + ], + [ + 2.317779, + 48.8087666 + ], + [ + 2.3181217, + 48.8070251 + ], + [ + 2.318255, + 48.8064342 + ], + [ + 2.3183087, + 48.8062138 + ], + [ + 2.3183247, + 48.806148 + ], + [ + 2.3184588, + 48.8057664 + ], + [ + 2.31855, + 48.8053778 + ], + [ + 2.3186198, + 48.8049503 + ], + [ + 2.3185929, + 48.804551 + ], + [ + 2.3183784, + 48.8040776 + ], + [ + 2.3179868, + 48.8035688 + ], + [ + 2.3178114, + 48.8033708 + ] + ] + }, + "id": "way/682707954" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682839698", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "level": "-3", + "name": "Métro 12", + "old_name": "Ligne A", + "old_operator": "Nord-Sud", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3220196, + 48.8445286 + ], + [ + 2.3213605, + 48.8447996 + ] + ] + }, + "id": "way/682839698" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682839699", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-3", + "name": "Métro 12", + "old_name": "Ligne A", + "old_operator": "Nord-Sud", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3231148, + 48.8442131 + ], + [ + 2.3213605, + 48.8447996 + ], + [ + 2.319308, + 48.8454858 + ], + [ + 2.3191805, + 48.8455319 + ] + ] + }, + "id": "way/682839699" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682841124", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-3", + "name": "Métro 12", + "name:ru": "Линия 12", + "old_name": "Ligne A", + "old_operator": "Nord-Sud", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3214048, + 48.8447016 + ], + [ + 2.3219383, + 48.8445257 + ], + [ + 2.3227844, + 48.8442463 + ], + [ + 2.3231089, + 48.8441367 + ], + [ + 2.3233525, + 48.8440572 + ], + [ + 2.3242015, + 48.8437759 + ], + [ + 2.3243539, + 48.8437175 + ], + [ + 2.3262615, + 48.8430646 + ], + [ + 2.326538, + 48.842992 + ], + [ + 2.3267543, + 48.8429568 + ], + [ + 2.326894, + 48.8429502 + ], + [ + 2.3270442, + 48.8429573 + ], + [ + 2.3271734, + 48.842987 + ], + [ + 2.3272942, + 48.8430262 + ], + [ + 2.327375, + 48.8430616 + ], + [ + 2.3274974, + 48.843131 + ] + ] + }, + "id": "way/682841124" + }, + { + "type": "Feature", + "properties": { + "@id": "way/682841125", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-3", + "name": "Métro 12", + "name:ru": "Линия 12", + "old_name": "Ligne A", + "old_operator": "Nord-Sud", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3266338, + 48.852163 + ], + [ + 2.3267475, + 48.8517942 + ], + [ + 2.3268033, + 48.8516209 + ], + [ + 2.3268401, + 48.8515064 + ], + [ + 2.3268781, + 48.8513734 + ], + [ + 2.3271569, + 48.8502734 + ], + [ + 2.3276106, + 48.8486191 + ], + [ + 2.3277369, + 48.8482089 + ], + [ + 2.3279888, + 48.847391 + ], + [ + 2.3284137, + 48.8459504 + ], + [ + 2.3287239, + 48.8449055 + ], + [ + 2.3287851, + 48.8446832 + ], + [ + 2.3288089, + 48.8445969 + ], + [ + 2.3288248, + 48.8444676 + ], + [ + 2.3288018, + 48.8443675 + ], + [ + 2.3287469, + 48.8442801 + ], + [ + 2.3285648, + 48.8440984 + ], + [ + 2.3276989, + 48.8433454 + ], + [ + 2.3275046, + 48.8431791 + ], + [ + 2.3274006, + 48.8431111 + ], + [ + 2.3272693, + 48.8430461 + ], + [ + 2.3271372, + 48.843007 + ], + [ + 2.3269971, + 48.8429772 + ], + [ + 2.3268555, + 48.8429694 + ], + [ + 2.3267233, + 48.8429847 + ], + [ + 2.3265742, + 48.8430081 + ], + [ + 2.3263544, + 48.8430617 + ], + [ + 2.3254294, + 48.8433761 + ], + [ + 2.3246993, + 48.8436284 + ], + [ + 2.3242527, + 48.84378 + ], + [ + 2.3235871, + 48.8440052 + ], + [ + 2.3224029, + 48.8444012 + ], + [ + 2.3220196, + 48.8445286 + ], + [ + 2.3214247, + 48.8447264 + ] + ] + }, + "id": "way/682841125" + }, + { + "type": "Feature", + "properties": { + "@id": "way/683304845", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "maxspeed": "50", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3208083, + 48.8425277 + ], + [ + 2.3208868, + 48.8423252 + ] + ] + }, + "id": "way/683304845" + }, + { + "type": "Feature", + "properties": { + "@id": "way/683304849", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "maxspeed": "50", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3205086, + 48.8433623 + ], + [ + 2.3207939, + 48.8425778 + ], + [ + 2.3208083, + 48.8425277 + ] + ] + }, + "id": "way/683304849" + }, + { + "type": "Feature", + "properties": { + "@id": "way/695892764", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.395933, + 48.8479623 + ], + [ + 2.3959583, + 48.8479625 + ], + [ + 2.3960824, + 48.8479653 + ], + [ + 2.3962176, + 48.8479733 + ], + [ + 2.3963442, + 48.847983 + ], + [ + 2.3964634, + 48.847997 + ], + [ + 2.3968379, + 48.8480848 + ] + ] + }, + "id": "way/695892764" + }, + { + "type": "Feature", + "properties": { + "@id": "way/699871159", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 10", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "knowledge;survey;archives", + "station": "subway", + "subway": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2780662, + 48.8461462 + ], + [ + 2.2782955, + 48.8461368 + ] + ] + }, + "id": "way/699871159" + }, + { + "type": "Feature", + "properties": { + "@id": "way/743596769", + "bridge": "yes", + "layer": "1", + "railway": "subway", + "service": "siding" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3516849, + 48.8839069 + ], + [ + 2.351782, + 48.8839048 + ], + [ + 2.3518994, + 48.8839019 + ], + [ + 2.3520289, + 48.8839062 + ] + ] + }, + "id": "way/743596769" + }, + { + "type": "Feature", + "properties": { + "@id": "way/755335015", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "maxspeed": "55", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3620607, + 48.8398818 + ], + [ + 2.3624097, + 48.8403496 + ], + [ + 2.3627157, + 48.8407601 + ], + [ + 2.3628873, + 48.8409872 + ], + [ + 2.363079, + 48.8412464 + ], + [ + 2.363267, + 48.8414728 + ] + ] + }, + "id": "way/755335015" + }, + { + "type": "Feature", + "properties": { + "@id": "way/755335016", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3620277, + 48.8398924 + ], + [ + 2.3612057, + 48.838796 + ] + ] + }, + "id": "way/755335016" + }, + { + "type": "Feature", + "properties": { + "@id": "way/755700947", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 12", + "name:ru": "Линия 12", + "old_name": "Ligne A", + "old_operator": "Nord-Sud", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3266871, + 48.8521199 + ], + [ + 2.326673, + 48.8521673 + ], + [ + 2.3258882, + 48.8548661 + ], + [ + 2.3257952, + 48.855187 + ], + [ + 2.3256982, + 48.8555227 + ], + [ + 2.3255382, + 48.8560743 + ], + [ + 2.3255284, + 48.85611 + ], + [ + 2.3254767, + 48.8562318 + ], + [ + 2.3253881, + 48.8563787 + ], + [ + 2.3252603, + 48.8565032 + ], + [ + 2.324654, + 48.8569543 + ], + [ + 2.3245273, + 48.8570554 + ], + [ + 2.3244182, + 48.8571594 + ], + [ + 2.3237219, + 48.8579056 + ], + [ + 2.3232429, + 48.8584136 + ], + [ + 2.3231904, + 48.8584455 + ] + ] + }, + "id": "way/755700947" + }, + { + "type": "Feature", + "properties": { + "@id": "way/755700948", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 12", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3231904, + 48.8584455 + ], + [ + 2.3232083, + 48.858399 + ], + [ + 2.3236864, + 48.8578911 + ], + [ + 2.3243893, + 48.8571407 + ], + [ + 2.3244932, + 48.8570399 + ], + [ + 2.3246236, + 48.8569362 + ], + [ + 2.3252289, + 48.856485 + ], + [ + 2.3253531, + 48.8563641 + ], + [ + 2.3254343, + 48.8562318 + ], + [ + 2.3254881, + 48.8561046 + ], + [ + 2.3256572, + 48.8555176 + ], + [ + 2.3257541, + 48.8551819 + ], + [ + 2.3258472, + 48.854861 + ], + [ + 2.3266338, + 48.852163 + ] + ] + }, + "id": "way/755700948" + }, + { + "type": "Feature", + "properties": { + "@id": "way/755700951", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 12", + "name:ru": "Линия 12", + "old_name": "Ligne A", + "old_operator": "Nord-Sud", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3231904, + 48.8584455 + ], + [ + 2.3229936, + 48.858657 + ], + [ + 2.3216423, + 48.8600991 + ], + [ + 2.3210551, + 48.860697 + ] + ] + }, + "id": "way/755700951" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756383635", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 1", + "name:ru": "Линия 1", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.382867, + 48.8468914 + ], + [ + 2.3850019, + 48.8471384 + ], + [ + 2.3868025, + 48.8473517 + ], + [ + 2.3885543, + 48.8475444 + ], + [ + 2.3905136, + 48.847765 + ], + [ + 2.3935576, + 48.8481146 + ], + [ + 2.3937057, + 48.8481237 + ], + [ + 2.3938467, + 48.8481212 + ], + [ + 2.393993, + 48.848114 + ], + [ + 2.3941358, + 48.8480952 + ] + ] + }, + "id": "way/756383635" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756383636", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 1", + "name:ru": "Линия 1", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "rubber_tires": "yes", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3691214, + 48.8519007 + ], + [ + 2.3692369, + 48.8518775 + ], + [ + 2.3693458, + 48.8518538 + ], + [ + 2.369418, + 48.8518347 + ], + [ + 2.369515, + 48.8518025 + ], + [ + 2.3696048, + 48.8517648 + ], + [ + 2.3696785, + 48.8517258 + ], + [ + 2.3697436, + 48.8516842 + ], + [ + 2.3697763, + 48.8516578 + ], + [ + 2.3698069, + 48.851629 + ], + [ + 2.3698423, + 48.8515945 + ], + [ + 2.3698725, + 48.8515579 + ], + [ + 2.3699059, + 48.8515097 + ], + [ + 2.3699317, + 48.8514591 + ], + [ + 2.3699505, + 48.8514137 + ], + [ + 2.3699703, + 48.851353 + ], + [ + 2.3700787, + 48.8509996 + ], + [ + 2.3701019, + 48.8509254 + ], + [ + 2.3701233, + 48.8508668 + ], + [ + 2.3701505, + 48.8507966 + ], + [ + 2.3708121, + 48.8492851 + ], + [ + 2.3714537, + 48.8479307 + ], + [ + 2.3717452, + 48.847248 + ], + [ + 2.3718087, + 48.8470786 + ], + [ + 2.371906, + 48.8467947 + ], + [ + 2.3719519, + 48.8465878 + ], + [ + 2.3719835, + 48.8463977 + ], + [ + 2.3720259, + 48.8462561 + ], + [ + 2.3720891, + 48.8461296 + ], + [ + 2.3721708, + 48.8460169 + ], + [ + 2.3722883, + 48.845917 + ], + [ + 2.372418, + 48.8458425 + ], + [ + 2.3725632, + 48.8457824 + ], + [ + 2.3727458, + 48.8457496 + ], + [ + 2.3729151, + 48.8457508 + ], + [ + 2.3737852, + 48.845849 + ], + [ + 2.3744313, + 48.8459218 + ], + [ + 2.3748355, + 48.8459536 + ], + [ + 2.3761841, + 48.8461035 + ], + [ + 2.3769156, + 48.84621 + ], + [ + 2.3772007, + 48.8462341 + ], + [ + 2.3827078, + 48.8468731 + ], + [ + 2.382867, + 48.8468914 + ] + ] + }, + "id": "way/756383636" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756383637", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 1", + "name:ru": "Линия 1", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "rubber_tires": "yes", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3828582, + 48.846909 + ], + [ + 2.3771923, + 48.8462611 + ], + [ + 2.3769092, + 48.8462373 + ], + [ + 2.3759668, + 48.8461427 + ], + [ + 2.3748203, + 48.8460134 + ], + [ + 2.374424, + 48.8459488 + ], + [ + 2.3737786, + 48.8458762 + ], + [ + 2.3729098, + 48.8457785 + ], + [ + 2.372889, + 48.8457785 + ], + [ + 2.3727549, + 48.8457782 + ], + [ + 2.3725795, + 48.8458113 + ], + [ + 2.3724387, + 48.8458687 + ], + [ + 2.3723139, + 48.845939 + ], + [ + 2.3722089, + 48.8460271 + ], + [ + 2.3721285, + 48.8461344 + ], + [ + 2.3720693, + 48.8462606 + ], + [ + 2.3720232, + 48.8464007 + ], + [ + 2.3719919, + 48.8465916 + ], + [ + 2.3719431, + 48.8468014 + ], + [ + 2.3718503, + 48.8470838 + ], + [ + 2.3717885, + 48.8472586 + ], + [ + 2.3715001, + 48.8479497 + ], + [ + 2.3708558, + 48.8492944 + ], + [ + 2.370205, + 48.8507984 + ], + [ + 2.3701815, + 48.8508576 + ], + [ + 2.3701561, + 48.8509227 + ], + [ + 2.3701367, + 48.8509854 + ], + [ + 2.3701199, + 48.8510394 + ], + [ + 2.3700558, + 48.8512572 + ], + [ + 2.3700317, + 48.8513229 + ], + [ + 2.3700087, + 48.8513904 + ], + [ + 2.369989, + 48.8514458 + ], + [ + 2.3699604, + 48.8515084 + ], + [ + 2.3699252, + 48.8515632 + ], + [ + 2.3698734, + 48.8516254 + ], + [ + 2.3698257, + 48.8516739 + ], + [ + 2.3697797, + 48.8517089 + ], + [ + 2.3697087, + 48.851753 + ], + [ + 2.3696282, + 48.8517929 + ], + [ + 2.3695369, + 48.8518311 + ], + [ + 2.3694464, + 48.8518624 + ], + [ + 2.369365, + 48.8518837 + ], + [ + 2.36922, + 48.8519143 + ], + [ + 2.3691311, + 48.8519318 + ] + ] + }, + "id": "way/756383637" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756383640", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3695524, + 48.8453658 + ], + [ + 2.3696751, + 48.8453677 + ], + [ + 2.3697796, + 48.845369 + ], + [ + 2.3699022, + 48.8453782 + ], + [ + 2.3726178, + 48.845682 + ], + [ + 2.3727296, + 48.845682 + ], + [ + 2.3728366, + 48.8456796 + ], + [ + 2.3729302, + 48.8456837 + ], + [ + 2.3745404, + 48.8458635 + ], + [ + 2.3747236, + 48.8458915 + ], + [ + 2.3749016, + 48.8459235 + ], + [ + 2.3750582, + 48.8459498 + ], + [ + 2.3757892, + 48.8460316 + ], + [ + 2.3759739, + 48.8460603 + ], + [ + 2.3761841, + 48.8461035 + ] + ] + }, + "id": "way/756383640" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756383642", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3726178, + 48.845682 + ], + [ + 2.372485, + 48.8456805 + ], + [ + 2.3723606, + 48.8456729 + ], + [ + 2.3721838, + 48.8456573 + ], + [ + 2.3713732, + 48.8455663 + ], + [ + 2.3695524, + 48.8453658 + ], + [ + 2.3694203, + 48.8453702 + ], + [ + 2.3692835, + 48.8453731 + ], + [ + 2.3691417, + 48.8453677 + ], + [ + 2.3690251, + 48.8453486 + ], + [ + 2.3689239, + 48.8453117 + ], + [ + 2.3688532, + 48.8452672 + ], + [ + 2.3687347, + 48.8451734 + ], + [ + 2.368618, + 48.8450992 + ], + [ + 2.3684924, + 48.8450561 + ], + [ + 2.3683163, + 48.8450263 + ], + [ + 2.3681477, + 48.8450456 + ], + [ + 2.3679537, + 48.8450957 + ], + [ + 2.3677658, + 48.84518 + ], + [ + 2.3675769, + 48.8452791 + ], + [ + 2.3673171, + 48.8454709 + ] + ] + }, + "id": "way/756383642" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780027", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-7", + "location": "underground", + "name": "Métro 11", + "name:ru": "Линия 11", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.366429, + 48.8685056 + ], + [ + 2.365959, + 48.8683522 + ], + [ + 2.3655219, + 48.8681928 + ], + [ + 2.3650877, + 48.8680343 + ], + [ + 2.3646334, + 48.8678688 + ], + [ + 2.3644717, + 48.8678105 + ], + [ + 2.364314, + 48.8677573 + ], + [ + 2.3641737, + 48.8677199 + ], + [ + 2.3640233, + 48.8676908 + ], + [ + 2.3638034, + 48.8676559 + ], + [ + 2.3636113, + 48.8676243 + ], + [ + 2.3634052, + 48.8675786 + ], + [ + 2.3632321, + 48.8675204 + ], + [ + 2.3630837, + 48.8674382 + ], + [ + 2.362923, + 48.8673198 + ], + [ + 2.3616975, + 48.8665951 + ], + [ + 2.3615423, + 48.8664861 + ], + [ + 2.3611506, + 48.8661568 + ], + [ + 2.3606541, + 48.8656653 + ], + [ + 2.3605699, + 48.8655511 + ], + [ + 2.3605343, + 48.8654979 + ], + [ + 2.3604803, + 48.8654163 + ], + [ + 2.3604057, + 48.8652817 + ], + [ + 2.3602957, + 48.8650832 + ], + [ + 2.3602412, + 48.864984 + ], + [ + 2.360148, + 48.864905 + ], + [ + 2.3600435, + 48.8648423 + ], + [ + 2.3599098, + 48.8647989 + ], + [ + 2.3597557, + 48.864771 + ], + [ + 2.3595937, + 48.8647656 + ], + [ + 2.3594241, + 48.864771 + ], + [ + 2.3592432, + 48.8647913 + ], + [ + 2.3569397, + 48.8652946 + ], + [ + 2.3567131, + 48.8653503 + ], + [ + 2.3566088, + 48.865373 + ], + [ + 2.3565543, + 48.8653848 + ], + [ + 2.3563835, + 48.8654196 + ], + [ + 2.3562545, + 48.865438 + ], + [ + 2.356099, + 48.8654481 + ], + [ + 2.3559649, + 48.865441 + ], + [ + 2.3558247, + 48.8654127 + ], + [ + 2.3556907, + 48.8653519 + ], + [ + 2.355606, + 48.8652779 + ], + [ + 2.3555428, + 48.8651796 + ], + [ + 2.3554904, + 48.8650377 + ], + [ + 2.3554398, + 48.8648733 + ], + [ + 2.3553971, + 48.8647489 + ], + [ + 2.3552955, + 48.864555 + ], + [ + 2.3547074, + 48.8634654 + ], + [ + 2.353822, + 48.861819 + ], + [ + 2.3536867, + 48.8615675 + ], + [ + 2.3528611, + 48.8600532 + ], + [ + 2.3527039, + 48.8597795 + ], + [ + 2.3521169, + 48.8587119 + ], + [ + 2.3516963, + 48.8579347 + ], + [ + 2.3516776, + 48.8578996 + ], + [ + 2.3516265, + 48.8578037 + ], + [ + 2.3515742, + 48.8577367 + ], + [ + 2.3514937, + 48.8576502 + ], + [ + 2.3513878, + 48.8575814 + ], + [ + 2.3512912, + 48.8575399 + ], + [ + 2.3511048, + 48.8574949 + ], + [ + 2.3505151, + 48.8573986 + ], + [ + 2.3499552, + 48.857305 + ], + [ + 2.3498046, + 48.8572857 + ], + [ + 2.349657, + 48.8572751 + ], + [ + 2.3494626, + 48.8572866 + ], + [ + 2.3492426, + 48.857328 + ], + [ + 2.3489168, + 48.857405 + ], + [ + 2.3487194, + 48.8574569 + ] + ] + }, + "id": "way/756780027" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780029", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "location": "underground", + "name": "Métro 11", + "name:ru": "Линия 11", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3565987, + 48.8653497 + ], + [ + 2.3569269, + 48.8652684 + ], + [ + 2.3592124, + 48.8647687 + ], + [ + 2.359401, + 48.8647437 + ], + [ + 2.3595829, + 48.8647365 + ], + [ + 2.3597624, + 48.8647442 + ], + [ + 2.3599284, + 48.8647728 + ], + [ + 2.3600682, + 48.8648187 + ], + [ + 2.3601839, + 48.8648887 + ], + [ + 2.3602822, + 48.8649745 + ], + [ + 2.3603383, + 48.8650784 + ], + [ + 2.3604949, + 48.8653576 + ], + [ + 2.3605212, + 48.8654045 + ], + [ + 2.360565, + 48.8654791 + ], + [ + 2.3606078, + 48.8655424 + ], + [ + 2.3606781, + 48.865626 + ], + [ + 2.3607923, + 48.8657516 + ], + [ + 2.3611078, + 48.866056 + ], + [ + 2.361386, + 48.8663051 + ], + [ + 2.3616157, + 48.866485 + ], + [ + 2.3618534, + 48.8666433 + ], + [ + 2.3629666, + 48.8673076 + ], + [ + 2.3631189, + 48.8674196 + ], + [ + 2.3632615, + 48.8674978 + ], + [ + 2.3634167, + 48.8675518 + ], + [ + 2.3636315, + 48.8675994 + ], + [ + 2.3638519, + 48.8676358 + ], + [ + 2.3640299, + 48.867665 + ], + [ + 2.3641809, + 48.8676933 + ], + [ + 2.3643243, + 48.8677316 + ], + [ + 2.3644889, + 48.8677856 + ], + [ + 2.3646536, + 48.8678448 + ], + [ + 2.3651079, + 48.8680102 + ], + [ + 2.365542, + 48.8681687 + ], + [ + 2.3659802, + 48.8683282 + ], + [ + 2.3664664, + 48.8684657 + ], + [ + 2.3672287, + 48.8686943 + ], + [ + 2.368302, + 48.8690312 + ], + [ + 2.3698021, + 48.8695741 + ], + [ + 2.3705145, + 48.869799 + ], + [ + 2.3712019, + 48.8700088 + ], + [ + 2.3720391, + 48.8702643 + ], + [ + 2.3728851, + 48.8705142 + ], + [ + 2.3734408, + 48.8707077 + ], + [ + 2.3740293, + 48.8709473 + ], + [ + 2.3744449, + 48.8711162 + ], + [ + 2.3754956, + 48.8714941 + ], + [ + 2.3764011, + 48.8718317 + ], + [ + 2.3765708, + 48.8718926 + ], + [ + 2.3771682, + 48.872107 + ], + [ + 2.3782948, + 48.8724351 + ], + [ + 2.3791591, + 48.8726513 + ], + [ + 2.3798096, + 48.8728063 + ], + [ + 2.3810333, + 48.8730497 + ], + [ + 2.3823581, + 48.8733167 + ], + [ + 2.3830236, + 48.8734382 + ], + [ + 2.3834095, + 48.8735013 + ], + [ + 2.3842705, + 48.8736178 + ], + [ + 2.3846137, + 48.8736772 + ], + [ + 2.3849704, + 48.8737601 + ], + [ + 2.3852199, + 48.8738536 + ], + [ + 2.3852852, + 48.8738816 + ], + [ + 2.3856276, + 48.8740282 + ], + [ + 2.3861909, + 48.8743158 + ], + [ + 2.3863848, + 48.874406 + ], + [ + 2.3864986, + 48.8744598 + ], + [ + 2.386645, + 48.8745136 + ], + [ + 2.3868569, + 48.8745772 + ], + [ + 2.3870903, + 48.8746177 + ], + [ + 2.3875167, + 48.8746548 + ], + [ + 2.3880036, + 48.8746888 + ], + [ + 2.3882389, + 48.8747091 + ], + [ + 2.3884853, + 48.8747623 + ], + [ + 2.3887292, + 48.8748375 + ], + [ + 2.3889217, + 48.8749097 + ], + [ + 2.3892802, + 48.8750785 + ], + [ + 2.3895681, + 48.875214 + ], + [ + 2.3896605, + 48.8752566 + ], + [ + 2.3898228, + 48.8753166 + ] + ] + }, + "id": "way/756780029" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780031", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Métro 3", + "name:ru": "Линия 3", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3518419, + 48.8663785 + ], + [ + 2.355109, + 48.8656703 + ], + [ + 2.3554847, + 48.8655884 + ], + [ + 2.355799, + 48.8655398 + ], + [ + 2.3560193, + 48.8655286 + ], + [ + 2.3561784, + 48.8655324 + ], + [ + 2.3562781, + 48.8655347 + ], + [ + 2.3565184, + 48.8655509 + ], + [ + 2.3567341, + 48.8655884 + ], + [ + 2.3577286, + 48.8658094 + ], + [ + 2.3594695, + 48.8662018 + ], + [ + 2.3608823, + 48.8665237 + ], + [ + 2.3609508, + 48.8665393 + ], + [ + 2.3610777, + 48.8665705 + ], + [ + 2.3613286, + 48.8666312 + ], + [ + 2.3614925, + 48.866681 + ], + [ + 2.3616449, + 48.8667422 + ], + [ + 2.3625215, + 48.8671132 + ], + [ + 2.3627977, + 48.8672297 + ], + [ + 2.3629261, + 48.8672708 + ], + [ + 2.3630571, + 48.8673041 + ], + [ + 2.3631933, + 48.8673255 + ], + [ + 2.363332, + 48.8673374 + ], + [ + 2.3634764, + 48.867335 + ], + [ + 2.3636159, + 48.8673262 + ], + [ + 2.3637559, + 48.8673084 + ], + [ + 2.3638935, + 48.8672842 + ], + [ + 2.3643917, + 48.8671878 + ], + [ + 2.3648682, + 48.8670959 + ], + [ + 2.3681165, + 48.8664636 + ], + [ + 2.3684108, + 48.8664127 + ] + ] + }, + "id": "way/756780031" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780032", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Métro 3", + "name:ru": "Линия 3", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3684108, + 48.8664127 + ], + [ + 2.368127, + 48.8664902 + ], + [ + 2.365941, + 48.8669157 + ], + [ + 2.36488, + 48.8671222 + ], + [ + 2.3644036, + 48.8672142 + ], + [ + 2.3639053, + 48.8673105 + ], + [ + 2.3637656, + 48.8673355 + ], + [ + 2.3636235, + 48.8673541 + ], + [ + 2.3634752, + 48.8673621 + ], + [ + 2.363291, + 48.8673601 + ], + [ + 2.3631844, + 48.8673509 + ], + [ + 2.3630443, + 48.8673316 + ], + [ + 2.3629102, + 48.8672954 + ], + [ + 2.362776, + 48.8672532 + ], + [ + 2.3625054, + 48.867139 + ], + [ + 2.3616113, + 48.8667571 + ], + [ + 2.3614713, + 48.8667047 + ], + [ + 2.3613146, + 48.8666575 + ], + [ + 2.3610641, + 48.8665948 + ], + [ + 2.3609374, + 48.866564 + ], + [ + 2.3608665, + 48.866548 + ], + [ + 2.3588832, + 48.8660986 + ], + [ + 2.3571389, + 48.8657047 + ], + [ + 2.3566411, + 48.8655968 + ], + [ + 2.356431, + 48.8655707 + ], + [ + 2.3561784, + 48.8655545 + ], + [ + 2.3558776, + 48.8655584 + ], + [ + 2.3555367, + 48.8656076 + ], + [ + 2.3549693, + 48.8657258 + ], + [ + 2.3528468, + 48.8661821 + ], + [ + 2.3521767, + 48.8663311 + ], + [ + 2.3518524, + 48.8663998 + ] + ] + }, + "id": "way/756780032" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780036", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "location": "underground", + "name": "Métro 5", + "name:ru": "Линия 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3617401, + 48.8699468 + ], + [ + 2.3618089, + 48.869843 + ], + [ + 2.3624543, + 48.8690758 + ], + [ + 2.3627793, + 48.8687207 + ], + [ + 2.3631121, + 48.8683982 + ], + [ + 2.3632839, + 48.8682633 + ], + [ + 2.3634676, + 48.868119 + ], + [ + 2.3638296, + 48.8678547 + ], + [ + 2.3641708, + 48.8676052 + ], + [ + 2.3644626, + 48.8673888 + ], + [ + 2.3649941, + 48.8669945 + ], + [ + 2.3652247, + 48.8668158 + ], + [ + 2.3654453, + 48.8666273 + ], + [ + 2.365655, + 48.8664173 + ], + [ + 2.3658675, + 48.8662388 + ], + [ + 2.3660896, + 48.8660785 + ], + [ + 2.3670513, + 48.8655001 + ], + [ + 2.3672092, + 48.8654296 + ] + ] + }, + "id": "way/756780036" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780037", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 9", + "name:ru": "Линия 9", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3700028, + 48.8638393 + ], + [ + 2.3747956, + 48.8610516 + ], + [ + 2.3798044, + 48.858158 + ], + [ + 2.3806269, + 48.8576344 + ], + [ + 2.3806546, + 48.8576175 + ], + [ + 2.3853565, + 48.8547441 + ], + [ + 2.3857102, + 48.8545214 + ], + [ + 2.3887914, + 48.8525808 + ], + [ + 2.3904651, + 48.8515395 + ], + [ + 2.3945746, + 48.8492176 + ], + [ + 2.394693, + 48.8491434 + ] + ] + }, + "id": "way/756780037" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780038", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 9", + "name:ru": "Линия 9", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3675064, + 48.8653229 + ], + [ + 2.367166, + 48.8655976 + ], + [ + 2.3662085, + 48.8661782 + ], + [ + 2.3659019, + 48.8663273 + ], + [ + 2.3655694, + 48.8664555 + ], + [ + 2.3648489, + 48.8667194 + ], + [ + 2.3645756, + 48.8668333 + ], + [ + 2.3643091, + 48.8669648 + ], + [ + 2.3638561, + 48.8672214 + ], + [ + 2.3629287, + 48.8677803 + ], + [ + 2.3628764, + 48.8678119 + ], + [ + 2.3626568, + 48.8679341 + ], + [ + 2.3624723, + 48.8680112 + ], + [ + 2.3623455, + 48.8680504 + ], + [ + 2.3621665, + 48.8680951 + ], + [ + 2.3619614, + 48.868121 + ], + [ + 2.3616537, + 48.8681471 + ], + [ + 2.3612953, + 48.8681807 + ], + [ + 2.3606445, + 48.868269 + ], + [ + 2.3603391, + 48.8683088 + ] + ] + }, + "id": "way/756780038" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780039", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "location": "underground", + "maxspeed": "50", + "name": "Métro 5", + "name:ru": "Линия 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3661214, + 48.8661017 + ], + [ + 2.3659091, + 48.8662585 + ], + [ + 2.3656994, + 48.8664283 + ], + [ + 2.3654858, + 48.8666376 + ], + [ + 2.3652667, + 48.8668261 + ], + [ + 2.3650277, + 48.8670114 + ], + [ + 2.3643588, + 48.8675072 + ], + [ + 2.3642017, + 48.8676236 + ], + [ + 2.3638601, + 48.8678735 + ], + [ + 2.3634985, + 48.8681374 + ], + [ + 2.3631511, + 48.868412 + ] + ] + }, + "id": "way/756780039" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780042", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 9", + "name:ru": "Линия 9", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.360207, + 48.868242 + ], + [ + 2.3606233, + 48.8681733 + ], + [ + 2.3612809, + 48.8680712 + ], + [ + 2.3616208, + 48.8680127 + ], + [ + 2.3619125, + 48.8679449 + ], + [ + 2.3621786, + 48.8678608 + ], + [ + 2.3623133, + 48.8678073 + ], + [ + 2.3624565, + 48.8677421 + ], + [ + 2.3626559, + 48.8676362 + ], + [ + 2.3627064, + 48.8676057 + ], + [ + 2.3635967, + 48.8670669 + ], + [ + 2.363932, + 48.8668652 + ], + [ + 2.3642296, + 48.8667165 + ], + [ + 2.3644557, + 48.8666481 + ] + ] + }, + "id": "way/756780042" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780045", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 8", + "name:ru": "Линия 8", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3653906, + 48.8654083 + ], + [ + 2.3648583, + 48.8662847 + ], + [ + 2.3647419, + 48.8664691 + ], + [ + 2.3646186, + 48.866597 + ], + [ + 2.3644378, + 48.8667429 + ], + [ + 2.3637358, + 48.8671705 + ], + [ + 2.3628429, + 48.8677128 + ], + [ + 2.3627913, + 48.8677441 + ], + [ + 2.3625737, + 48.8678544 + ], + [ + 2.3624023, + 48.8679214 + ], + [ + 2.3622766, + 48.8679624 + ], + [ + 2.3620142, + 48.8680251 + ], + [ + 2.361639, + 48.8680923 + ], + [ + 2.3609434, + 48.8681931 + ], + [ + 2.360663, + 48.8682337 + ], + [ + 2.3602303, + 48.8682972 + ], + [ + 2.3598472, + 48.8683442 + ], + [ + 2.3593807, + 48.8683929 + ], + [ + 2.3576982, + 48.8686353 + ], + [ + 2.3567165, + 48.8687906 + ], + [ + 2.3562373, + 48.868867 + ], + [ + 2.3557517, + 48.8689592 + ], + [ + 2.3551119, + 48.8690943 + ], + [ + 2.3537259, + 48.8694121 + ], + [ + 2.3510235, + 48.8700329 + ], + [ + 2.3489445, + 48.8704745 + ], + [ + 2.3483356, + 48.870598 + ], + [ + 2.3479172, + 48.8706756 + ], + [ + 2.3474063, + 48.8707599 + ], + [ + 2.3435718, + 48.8714331 + ], + [ + 2.3422268, + 48.8716692 + ] + ] + }, + "id": "way/756780045" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780046", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 8", + "name:ru": "Линия 8", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3602201, + 48.8682731 + ], + [ + 2.3606481, + 48.8682048 + ], + [ + 2.3609281, + 48.8681636 + ], + [ + 2.3616333, + 48.8680596 + ], + [ + 2.3619782, + 48.8679947 + ], + [ + 2.3622439, + 48.8679273 + ], + [ + 2.3623721, + 48.8678828 + ], + [ + 2.3625383, + 48.8678205 + ], + [ + 2.3627483, + 48.8677098 + ], + [ + 2.3627996, + 48.8676788 + ], + [ + 2.3636966, + 48.8671386 + ], + [ + 2.3643926, + 48.8667209 + ], + [ + 2.3645803, + 48.8665747 + ], + [ + 2.3646942, + 48.8664537 + ], + [ + 2.3647633, + 48.8663401 + ], + [ + 2.3652756, + 48.8654741 + ], + [ + 2.3653906, + 48.8654083 + ] + ] + }, + "id": "way/756780046" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780047", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3612953, + 48.8681807 + ], + [ + 2.3609434, + 48.8681931 + ] + ] + }, + "id": "way/756780047" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780048", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3609281, + 48.8681636 + ], + [ + 2.3612809, + 48.8680712 + ] + ] + }, + "id": "way/756780048" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780049", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3642143, + 48.8678785 + ], + [ + 2.3640073, + 48.8679539 + ], + [ + 2.3632029, + 48.8684318 + ] + ] + }, + "id": "way/756780049" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780050", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3604208, + 48.868336 + ], + [ + 2.3627391, + 48.8683992 + ], + [ + 2.3628797, + 48.8683967 + ], + [ + 2.3630264, + 48.8683741 + ], + [ + 2.3631662, + 48.8683304 + ], + [ + 2.3632839, + 48.8682633 + ] + ] + }, + "id": "way/756780050" + }, + { + "type": "Feature", + "properties": { + "@id": "way/756780051", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3643588, + 48.8675072 + ], + [ + 2.3644626, + 48.8673888 + ] + ] + }, + "id": "way/756780051" + }, + { + "type": "Feature", + "properties": { + "@id": "way/786608515", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "maxspeed": "40", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "voltage": "750", + "wikidata": "Q3396422", + "wikipedia": "fr:Pont-métro Morland" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3656803, + 48.846789 + ], + [ + 2.3656413, + 48.846879 + ], + [ + 2.3656111, + 48.8469576 + ], + [ + 2.365591, + 48.8470264 + ], + [ + 2.3655742, + 48.8470973 + ] + ] + }, + "id": "way/786608515" + }, + { + "type": "Feature", + "properties": { + "@id": "way/834252718", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4004525, + 48.8400775 + ], + [ + 2.4004812, + 48.8401268 + ], + [ + 2.400511, + 48.8402031 + ], + [ + 2.4005284, + 48.840254 + ], + [ + 2.401049, + 48.8416546 + ], + [ + 2.4017262, + 48.8434809 + ] + ] + }, + "id": "way/834252718" + }, + { + "type": "Feature", + "properties": { + "@id": "way/834252719", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4017262, + 48.8434809 + ], + [ + 2.402081, + 48.8444421 + ], + [ + 2.4020988, + 48.8444925 + ], + [ + 2.4021168, + 48.8445451 + ], + [ + 2.4021221, + 48.844565 + ], + [ + 2.4021303, + 48.8446048 + ], + [ + 2.4021359, + 48.8446514 + ], + [ + 2.4021353, + 48.8446779 + ], + [ + 2.402128, + 48.8447336 + ], + [ + 2.4021089, + 48.8447796 + ], + [ + 2.4020745, + 48.8448396 + ], + [ + 2.4020146, + 48.8449024 + ], + [ + 2.4019539, + 48.844942 + ], + [ + 2.4018988, + 48.8449673 + ], + [ + 2.4018349, + 48.8449903 + ], + [ + 2.4017536, + 48.8450119 + ], + [ + 2.401687, + 48.8450242 + ], + [ + 2.4016219, + 48.8450353 + ], + [ + 2.4015297, + 48.845045 + ], + [ + 2.4010652, + 48.8450853 + ], + [ + 2.3988598, + 48.8452766 + ], + [ + 2.3986268, + 48.8453031 + ], + [ + 2.3985313, + 48.8453169 + ], + [ + 2.3984437, + 48.8453409 + ], + [ + 2.3983779, + 48.8453659 + ], + [ + 2.3983183, + 48.8453965 + ], + [ + 2.3982775, + 48.8454293 + ], + [ + 2.3982362, + 48.8454708 + ], + [ + 2.398195, + 48.8455188 + ], + [ + 2.3970283, + 48.8471013 + ], + [ + 2.3969532, + 48.847199 + ], + [ + 2.3969102, + 48.8472515 + ], + [ + 2.3968672, + 48.8473004 + ], + [ + 2.3968173, + 48.8473501 + ], + [ + 2.3967625, + 48.8473995 + ], + [ + 2.3967064, + 48.8474421 + ], + [ + 2.3966368, + 48.8474875 + ], + [ + 2.396578, + 48.8475229 + ], + [ + 2.3965255, + 48.8475497 + ], + [ + 2.3964444, + 48.8475817 + ], + [ + 2.396365, + 48.8476053 + ], + [ + 2.3962434, + 48.8476304 + ], + [ + 2.3961742, + 48.8476418 + ], + [ + 2.3961148, + 48.8476496 + ], + [ + 2.3956415, + 48.847696 + ] + ] + }, + "id": "way/834252719" + }, + { + "type": "Feature", + "properties": { + "@id": "way/834252720", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3956313, + 48.847617 + ], + [ + 2.3961104, + 48.8475694 + ], + [ + 2.3962305, + 48.8475506 + ], + [ + 2.3962831, + 48.8475412 + ], + [ + 2.3963849, + 48.8475155 + ], + [ + 2.3964851, + 48.8474818 + ], + [ + 2.3965601, + 48.8474511 + ], + [ + 2.3966394, + 48.8474103 + ], + [ + 2.3966923, + 48.8473767 + ], + [ + 2.3967535, + 48.8473309 + ], + [ + 2.396798, + 48.8472903 + ], + [ + 2.3968574, + 48.8472312 + ], + [ + 2.3969002, + 48.8471801 + ], + [ + 2.3969705, + 48.8470884 + ], + [ + 2.3979715, + 48.8457312 + ], + [ + 2.3981188, + 48.8455222 + ], + [ + 2.3981612, + 48.8454654 + ], + [ + 2.3982182, + 48.8454057 + ], + [ + 2.3982639, + 48.8453679 + ], + [ + 2.3983219, + 48.845336 + ], + [ + 2.3983861, + 48.8453126 + ], + [ + 2.3984519, + 48.8452929 + ], + [ + 2.3985229, + 48.8452755 + ], + [ + 2.398681, + 48.8452529 + ] + ] + }, + "id": "way/834252720" + }, + { + "type": "Feature", + "properties": { + "@id": "way/834252721", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3790465, + 48.8402783 + ], + [ + 2.3791047, + 48.8402957 + ], + [ + 2.3791966, + 48.8403193 + ], + [ + 2.3793056, + 48.8403401 + ], + [ + 2.379402, + 48.8403539 + ], + [ + 2.3794978, + 48.8403653 + ], + [ + 2.3795887, + 48.8403731 + ], + [ + 2.3796679, + 48.8403758 + ], + [ + 2.379783, + 48.8403769 + ], + [ + 2.3798939, + 48.8403728 + ], + [ + 2.3799734, + 48.8403674 + ], + [ + 2.3800371, + 48.8403619 + ], + [ + 2.3801064, + 48.8403537 + ], + [ + 2.3801917, + 48.8403418 + ], + [ + 2.3803794, + 48.8403096 + ], + [ + 2.3805923, + 48.8402715 + ], + [ + 2.387583, + 48.8390202 + ], + [ + 2.3878209, + 48.8389817 + ], + [ + 2.3880129, + 48.8389566 + ], + [ + 2.3881363, + 48.8389434 + ], + [ + 2.3882384, + 48.838937 + ], + [ + 2.3883673, + 48.838933 + ], + [ + 2.3885218, + 48.8389371 + ], + [ + 2.3887234, + 48.8389446 + ], + [ + 2.3888249, + 48.8389506 + ], + [ + 2.3893367, + 48.8389842 + ], + [ + 2.389702, + 48.8390096 + ], + [ + 2.3902268, + 48.8390462 + ], + [ + 2.3942341, + 48.839375 + ], + [ + 2.3949126, + 48.8394221 + ], + [ + 2.3953529, + 48.8394467 + ], + [ + 2.3965874, + 48.8395151 + ], + [ + 2.3970057, + 48.8395322 + ], + [ + 2.3993543, + 48.8396074 + ], + [ + 2.3994636, + 48.8396103 + ], + [ + 2.3995623, + 48.8396176 + ], + [ + 2.3996696, + 48.8396296 + ], + [ + 2.3997682, + 48.8396488 + ], + [ + 2.3998318, + 48.8396627 + ], + [ + 2.3998962, + 48.8396783 + ], + [ + 2.3999625, + 48.8396988 + ], + [ + 2.400036, + 48.8397253 + ], + [ + 2.4001096, + 48.8397594 + ], + [ + 2.4001831, + 48.8398003 + ], + [ + 2.4002414, + 48.8398413 + ], + [ + 2.4003049, + 48.8398947 + ], + [ + 2.4003539, + 48.8399433 + ], + [ + 2.4003987, + 48.8399972 + ], + [ + 2.4004346, + 48.8400482 + ], + [ + 2.4004525, + 48.8400775 + ] + ] + }, + "id": "way/834252721" + }, + { + "type": "Feature", + "properties": { + "@id": "way/852352983", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 6 Corvisart-Place D'Italie", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.350489, + 48.8297902 + ], + [ + 2.3510212, + 48.8299591 + ], + [ + 2.3522128, + 48.8303369 + ], + [ + 2.3522844, + 48.8303596 + ] + ] + }, + "id": "way/852352983" + }, + { + "type": "Feature", + "properties": { + "@id": "way/852352984", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3494294, + 48.8295681 + ], + [ + 2.3493895, + 48.8295701 + ], + [ + 2.3492611, + 48.8295833 + ], + [ + 2.349146, + 48.8296047 + ], + [ + 2.3483315, + 48.8298261 + ], + [ + 2.3464961, + 48.830328 + ], + [ + 2.3435017, + 48.8311543 + ], + [ + 2.3431315, + 48.8312571 + ], + [ + 2.3411566, + 48.8318055 + ], + [ + 2.3395908, + 48.8322348 + ] + ] + }, + "id": "way/852352984" + }, + { + "type": "Feature", + "properties": { + "@id": "way/852352985", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro Corvisart Ligne 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.339577, + 48.83221 + ], + [ + 2.3411609, + 48.8317785 + ], + [ + 2.3439327, + 48.8310052 + ], + [ + 2.346478, + 48.8303039 + ], + [ + 2.3483171, + 48.8298034 + ], + [ + 2.3490368, + 48.8296063 + ], + [ + 2.3491516, + 48.8295762 + ], + [ + 2.3492667, + 48.8295555 + ], + [ + 2.3493755, + 48.8295409 + ], + [ + 2.3494287, + 48.829538 + ] + ] + }, + "id": "way/852352985" + }, + { + "type": "Feature", + "properties": { + "@id": "way/852352986", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3395908, + 48.8322348 + ], + [ + 2.3366495, + 48.8330397 + ], + [ + 2.3365863, + 48.8330573 + ] + ] + }, + "id": "way/852352986" + }, + { + "type": "Feature", + "properties": { + "@id": "way/859801254", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-1", + "name": "Métro 1", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3685326, + 48.8520149 + ], + [ + 2.3686653, + 48.8519877 + ], + [ + 2.368807, + 48.8519607 + ] + ] + }, + "id": "way/859801254" + }, + { + "type": "Feature", + "properties": { + "@id": "way/859801255", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-1", + "name": "Métro 1", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.368807, + 48.8519607 + ], + [ + 2.3691214, + 48.8519007 + ] + ] + }, + "id": "way/859801255" + }, + { + "type": "Feature", + "properties": { + "@id": "way/860778570", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "level": "2", + "maxspeed": "65", + "name": "Métro 2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3555112, + 48.8841554 + ], + [ + 2.3583321, + 48.884352 + ] + ] + }, + "id": "way/860778570" + }, + { + "type": "Feature", + "properties": { + "@id": "way/860778571", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "level": "1", + "maxspeed": "65", + "name": "Métro 2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3555088, + 48.8841751 + ], + [ + 2.3538197, + 48.8840609 + ], + [ + 2.3525034, + 48.8839642 + ], + [ + 2.3516849, + 48.8839069 + ], + [ + 2.3511038, + 48.8838662 + ], + [ + 2.3501165, + 48.8837969 + ], + [ + 2.3498087, + 48.8837734 + ], + [ + 2.3496392, + 48.8837588 + ], + [ + 2.3494914, + 48.8837431 + ], + [ + 2.3493163, + 48.8837235 + ], + [ + 2.3489647, + 48.883685 + ] + ] + }, + "id": "way/860778571" + }, + { + "type": "Feature", + "properties": { + "@id": "way/860778572", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "2", + "level": "2", + "maxspeed": "65", + "name": "Métro 2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3583289, + 48.8843759 + ], + [ + 2.3555088, + 48.8841751 + ] + ] + }, + "id": "way/860778572" + }, + { + "type": "Feature", + "properties": { + "@id": "way/860778573", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "level": "1", + "maxspeed": "65", + "name": "Métro 2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3583321, + 48.884352 + ], + [ + 2.3586657, + 48.8843752 + ], + [ + 2.3588636, + 48.8843866 + ], + [ + 2.3590426, + 48.884397 + ], + [ + 2.3592385, + 48.8843999 + ], + [ + 2.3595923, + 48.8843999 + ], + [ + 2.3608142, + 48.8843973 + ], + [ + 2.3614422, + 48.8843916 + ], + [ + 2.3625464, + 48.8843916 + ], + [ + 2.3635798, + 48.8843823 + ], + [ + 2.364133, + 48.8843802 + ], + [ + 2.3643377, + 48.8843751 + ], + [ + 2.3644869, + 48.8843687 + ], + [ + 2.3647548, + 48.8843494 + ], + [ + 2.3652894, + 48.8843131 + ] + ] + }, + "id": "way/860778573" + }, + { + "type": "Feature", + "properties": { + "@id": "way/886442595", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "maxspeed": "45", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "voltage": "750", + "wikidata": "Q3396422", + "wikipedia": "fr:Pont-métro Morland" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3655742, + 48.8470973 + ], + [ + 2.3655716, + 48.847112 + ], + [ + 2.3655682, + 48.8471443 + ], + [ + 2.365565, + 48.8471975 + ], + [ + 2.3655634, + 48.847228 + ], + [ + 2.3655638, + 48.8472631 + ], + [ + 2.3655663, + 48.8472989 + ] + ] + }, + "id": "way/886442595" + }, + { + "type": "Feature", + "properties": { + "@id": "way/886442596", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "voltage": "750", + "wikidata": "Q3396422", + "wikipedia": "fr:Pont-métro Morland" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3654793, + 48.847302 + ], + [ + 2.3654764, + 48.8472583 + ], + [ + 2.3654759, + 48.8472289 + ], + [ + 2.365476, + 48.8471955 + ], + [ + 2.3654784, + 48.847166 + ], + [ + 2.3654804, + 48.8471424 + ], + [ + 2.3654861, + 48.8471072 + ], + [ + 2.3654916, + 48.847081 + ], + [ + 2.365498, + 48.847056 + ] + ] + }, + "id": "way/886442596" + }, + { + "type": "Feature", + "properties": { + "@id": "way/916789596", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 8", + "name:ru": "Линия 8", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.333613, + 48.8708777 + ], + [ + 2.3326314, + 48.8706839 + ] + ] + }, + "id": "way/916789596" + }, + { + "type": "Feature", + "properties": { + "@id": "way/916789597", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 8", + "name:ru": "Линия 8", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.333613, + 48.8708777 + ], + [ + 2.3345566, + 48.8710402 + ], + [ + 2.3367342, + 48.8714041 + ], + [ + 2.3378435, + 48.8715894 + ], + [ + 2.3385398, + 48.8717041 + ], + [ + 2.3392363, + 48.8718189 + ], + [ + 2.3397043, + 48.8718965 + ], + [ + 2.3398505, + 48.8719159 + ], + [ + 2.3400245, + 48.8719286 + ], + [ + 2.3402271, + 48.8719331 + ], + [ + 2.3404573, + 48.8718889 + ], + [ + 2.3411529, + 48.8717724 + ], + [ + 2.3422184, + 48.8716258 + ], + [ + 2.3435577, + 48.8713917 + ], + [ + 2.3474705, + 48.8707079 + ], + [ + 2.3481658, + 48.8705915 + ], + [ + 2.3489269, + 48.8704306 + ], + [ + 2.3506751, + 48.8700608 + ], + [ + 2.3537241, + 48.8693749 + ], + [ + 2.3550605, + 48.8690648 + ], + [ + 2.3560119, + 48.8688669 + ], + [ + 2.3566423, + 48.8687591 + ], + [ + 2.3580226, + 48.868538 + ], + [ + 2.3593598, + 48.8683559 + ], + [ + 2.3596417, + 48.8683297 + ], + [ + 2.3598999, + 48.8683083 + ], + [ + 2.3599075, + 48.8683075 + ], + [ + 2.3600808, + 48.8682896 + ], + [ + 2.3602201, + 48.8682731 + ] + ] + }, + "id": "way/916789597" + }, + { + "type": "Feature", + "properties": { + "@id": "way/916789598", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 8", + "name:ru": "Линия 8", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3400457, + 48.8719666 + ], + [ + 2.3398612, + 48.8719521 + ], + [ + 2.3396923, + 48.8719291 + ], + [ + 2.3392309, + 48.8718467 + ], + [ + 2.3385319, + 48.8717313 + ], + [ + 2.3378328, + 48.8716156 + ], + [ + 2.3345489, + 48.8710552 + ], + [ + 2.333613, + 48.8708777 + ] + ] + }, + "id": "way/916789598" + }, + { + "type": "Feature", + "properties": { + "@id": "way/916789600", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 9", + "name:ru": "Линия 9", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3351499, + 48.8726666 + ], + [ + 2.3364481, + 48.8724602 + ], + [ + 2.3382935, + 48.8722478 + ], + [ + 2.3387937, + 48.8721853 + ], + [ + 2.339294, + 48.8721228 + ], + [ + 2.3395952, + 48.8720794 + ], + [ + 2.3399144, + 48.8720371 + ], + [ + 2.3401039, + 48.8720006 + ], + [ + 2.340281, + 48.8719621 + ], + [ + 2.3405905, + 48.8718797 + ], + [ + 2.3411529, + 48.8717724 + ], + [ + 2.3422184, + 48.8716258 + ], + [ + 2.3435577, + 48.8713917 + ], + [ + 2.3474705, + 48.8707079 + ], + [ + 2.3481658, + 48.8705915 + ], + [ + 2.3489269, + 48.8704306 + ], + [ + 2.3506751, + 48.8700608 + ], + [ + 2.3537241, + 48.8693749 + ], + [ + 2.3550605, + 48.8690648 + ], + [ + 2.3560119, + 48.8688669 + ], + [ + 2.3566423, + 48.8687591 + ], + [ + 2.3580226, + 48.868538 + ], + [ + 2.3589099, + 48.8684164 + ], + [ + 2.3593598, + 48.8683559 + ], + [ + 2.3596643, + 48.8683149 + ], + [ + 2.360207, + 48.868242 + ] + ] + }, + "id": "way/916789600" + }, + { + "type": "Feature", + "properties": { + "@id": "way/916789601", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 9", + "name:ru": "Линия 9", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3603391, + 48.8683088 + ], + [ + 2.3600678, + 48.8683421 + ], + [ + 2.3598747, + 48.8683581 + ], + [ + 2.3595698, + 48.8683755 + ], + [ + 2.3593807, + 48.8683929 + ], + [ + 2.3576982, + 48.8686353 + ], + [ + 2.3567165, + 48.8687906 + ], + [ + 2.3562373, + 48.868867 + ], + [ + 2.3557517, + 48.8689592 + ], + [ + 2.3551119, + 48.8690943 + ], + [ + 2.3537259, + 48.8694121 + ], + [ + 2.3510235, + 48.8700329 + ], + [ + 2.3489445, + 48.8704745 + ], + [ + 2.3483356, + 48.870598 + ], + [ + 2.3479172, + 48.8706756 + ], + [ + 2.3474063, + 48.8707599 + ], + [ + 2.3435718, + 48.8714331 + ], + [ + 2.3422268, + 48.8716692 + ], + [ + 2.3408931, + 48.8718836 + ], + [ + 2.3406494, + 48.8719234 + ], + [ + 2.3402652, + 48.8720092 + ], + [ + 2.3400066, + 48.8720568 + ], + [ + 2.3395796, + 48.8721157 + ], + [ + 2.339304, + 48.8721505 + ], + [ + 2.3388021, + 48.8722127 + ], + [ + 2.3383002, + 48.8722749 + ], + [ + 2.338032, + 48.8723111 + ], + [ + 2.3364548, + 48.8724928 + ], + [ + 2.3351499, + 48.8726666 + ] + ] + }, + "id": "way/916789601" + }, + { + "type": "Feature", + "properties": { + "@id": "way/922839346", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-1", + "name": "Métro 1", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3688129, + 48.8519965 + ], + [ + 2.3691311, + 48.8519318 + ] + ] + }, + "id": "way/922839346" + }, + { + "type": "Feature", + "properties": { + "@id": "way/922839349", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-1", + "name": "Métro 1", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.368206, + 48.8522518 + ], + [ + 2.3682246, + 48.8522246 + ], + [ + 2.3682489, + 48.8521945 + ], + [ + 2.3682685, + 48.8521722 + ], + [ + 2.3683187, + 48.8521339 + ], + [ + 2.3683559, + 48.8521118 + ], + [ + 2.3684022, + 48.8520894 + ], + [ + 2.3684604, + 48.8520695 + ], + [ + 2.368544, + 48.8520487 + ] + ] + }, + "id": "way/922839349" + }, + { + "type": "Feature", + "properties": { + "@id": "way/922839350", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "level": "-1", + "name": "Métro 1", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "BDOrtho IGN 2016", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.368544, + 48.8520487 + ], + [ + 2.3686803, + 48.8520225 + ], + [ + 2.3688129, + 48.8519965 + ] + ] + }, + "id": "way/922839350" + }, + { + "type": "Feature", + "properties": { + "@id": "way/928540525", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "40", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3224866, + 48.8386332 + ], + [ + 2.3230378, + 48.8372914 + ], + [ + 2.3231169, + 48.8371043 + ], + [ + 2.3231375, + 48.8370581 + ], + [ + 2.3231499, + 48.8370136 + ], + [ + 2.323153, + 48.8369607 + ], + [ + 2.3231485, + 48.8368995 + ], + [ + 2.3231344, + 48.8368565 + ], + [ + 2.3231105, + 48.8368115 + ], + [ + 2.3230775, + 48.8367768 + ], + [ + 2.323037, + 48.8367395 + ], + [ + 2.3229782, + 48.8366924 + ], + [ + 2.322906, + 48.8366426 + ], + [ + 2.3226623, + 48.8364873 + ] + ] + }, + "id": "way/928540525" + }, + { + "type": "Feature", + "properties": { + "@id": "way/964309454", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3026971, + 48.8259938 + ], + [ + 2.300515, + 48.8241418 + ], + [ + 2.2985252, + 48.8224984 + ], + [ + 2.2973228, + 48.8216011 + ] + ] + }, + "id": "way/964309454" + }, + { + "type": "Feature", + "properties": { + "@id": "way/964309455", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3144836, + 48.8737834 + ], + [ + 2.3143999, + 48.8739994 + ], + [ + 2.3143558, + 48.8741475 + ], + [ + 2.3143328, + 48.874343 + ], + [ + 2.3143612, + 48.874496 + ], + [ + 2.3144042, + 48.8746268 + ], + [ + 2.3145095, + 48.874808 + ], + [ + 2.3146595, + 48.8749749 + ], + [ + 2.3148595, + 48.8751284 + ], + [ + 2.3150929, + 48.8752368 + ], + [ + 2.3153633, + 48.8752928 + ], + [ + 2.3156282, + 48.8753148 + ], + [ + 2.3159338, + 48.8753002 + ], + [ + 2.316282, + 48.8752417 + ], + [ + 2.3165013, + 48.8751754 + ], + [ + 2.3167876, + 48.8751126 + ], + [ + 2.3172858, + 48.8750346 + ], + [ + 2.3185823, + 48.8748592 + ], + [ + 2.3192047, + 48.8748117 + ], + [ + 2.3194962, + 48.8748105 + ], + [ + 2.3198011, + 48.8748324 + ], + [ + 2.3215217, + 48.8750285 + ], + [ + 2.322144, + 48.8750687 + ], + [ + 2.3230135, + 48.8751062 + ], + [ + 2.3235405, + 48.8751123 + ], + [ + 2.3238536, + 48.8751299 + ], + [ + 2.3241668, + 48.8751628 + ], + [ + 2.3247604, + 48.8752503 + ], + [ + 2.3250076, + 48.8752873 + ], + [ + 2.3251869, + 48.8753141 + ], + [ + 2.3259535, + 48.8754268 + ], + [ + 2.3260923, + 48.875445 + ], + [ + 2.3261765, + 48.8754571 + ], + [ + 2.3262993, + 48.8754792 + ], + [ + 2.3264092, + 48.8755043 + ], + [ + 2.3265137, + 48.8755409 + ], + [ + 2.3266106, + 48.8755946 + ], + [ + 2.326709, + 48.8756774 + ], + [ + 2.326796, + 48.8757868 + ], + [ + 2.3268646, + 48.8759087 + ], + [ + 2.3269051, + 48.8761019 + ], + [ + 2.326918, + 48.8762419 + ], + [ + 2.3269918, + 48.8780012 + ], + [ + 2.3270703, + 48.8796039 + ], + [ + 2.3271484, + 48.8813266 + ], + [ + 2.3272347, + 48.8832313 + ], + [ + 2.3272888, + 48.883436 + ], + [ + 2.3273079, + 48.8834872 + ], + [ + 2.3273422, + 48.8836422 + ], + [ + 2.3273201, + 48.8838278 + ], + [ + 2.3269966, + 48.8845122 + ], + [ + 2.3268218, + 48.8848229 + ] + ] + }, + "id": "way/964309455" + }, + { + "type": "Feature", + "properties": { + "@id": "way/969227535", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3268379, + 48.8759153 + ], + [ + 2.3267719, + 48.8757951 + ], + [ + 2.3266862, + 48.8756878 + ], + [ + 2.3265895, + 48.8756086 + ] + ] + }, + "id": "way/969227535" + }, + { + "type": "Feature", + "properties": { + "@id": "way/969231814", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "60", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3160241, + 48.8478386 + ], + [ + 2.3158537, + 48.8481567 + ], + [ + 2.3153415, + 48.8490992 + ], + [ + 2.3150151, + 48.8497055 + ], + [ + 2.3146553, + 48.8503591 + ], + [ + 2.3145183, + 48.8506013 + ], + [ + 2.3144479, + 48.8507884 + ], + [ + 2.3144085, + 48.850966 + ], + [ + 2.3143919, + 48.8511635 + ], + [ + 2.3144382, + 48.8514925 + ] + ] + }, + "id": "way/969231814" + }, + { + "type": "Feature", + "properties": { + "@id": "way/969231815", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "30", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3209355, + 48.8423306 + ], + [ + 2.3208554, + 48.8425401 + ], + [ + 2.3205753, + 48.8433248 + ] + ] + }, + "id": "way/969231815" + }, + { + "type": "Feature", + "properties": { + "@id": "way/969231816", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "50", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3224767, + 48.83879 + ], + [ + 2.321451, + 48.8411368 + ] + ] + }, + "id": "way/969231816" + }, + { + "type": "Feature", + "properties": { + "@id": "way/969231817", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "40", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3227041, + 48.8364623 + ], + [ + 2.3229503, + 48.8366175 + ], + [ + 2.3230247, + 48.8366672 + ], + [ + 2.3230847, + 48.8367156 + ], + [ + 2.3231251, + 48.8367564 + ], + [ + 2.3231603, + 48.8367966 + ], + [ + 2.3231861, + 48.8368504 + ], + [ + 2.3232006, + 48.8368974 + ], + [ + 2.3232047, + 48.8369634 + ], + [ + 2.3232006, + 48.8370138 + ], + [ + 2.3231892, + 48.8370642 + ], + [ + 2.3231696, + 48.8371118 + ], + [ + 2.323091, + 48.8373011 + ], + [ + 2.3225369, + 48.838644 + ], + [ + 2.3224767, + 48.83879 + ] + ] + }, + "id": "way/969231817" + }, + { + "type": "Feature", + "properties": { + "@id": "way/969231818", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "60", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3204179, + 48.835148 + ], + [ + 2.3227041, + 48.8364623 + ] + ] + }, + "id": "way/969231818" + }, + { + "type": "Feature", + "properties": { + "@id": "way/969231819", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "maxspeed": "55", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3140548, + 48.8317522 + ], + [ + 2.3157275, + 48.8326341 + ], + [ + 2.3182034, + 48.833981 + ], + [ + 2.3195408, + 48.8346798 + ], + [ + 2.3204179, + 48.835148 + ] + ] + }, + "id": "way/969231819" + }, + { + "type": "Feature", + "properties": { + "@id": "way/969231821", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "maxspeed": "60", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3116165, + 48.8305943 + ], + [ + 2.3140548, + 48.8317522 + ] + ] + }, + "id": "way/969231821" + }, + { + "type": "Feature", + "properties": { + "@id": "way/969231822", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "maxspeed": "65", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3085575, + 48.8291558 + ], + [ + 2.3116165, + 48.8305943 + ] + ] + }, + "id": "way/969231822" + }, + { + "type": "Feature", + "properties": { + "@id": "way/969231823", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3026971, + 48.8259938 + ], + [ + 2.3027914, + 48.8260661 + ], + [ + 2.3045458, + 48.8272243 + ], + [ + 2.3048365, + 48.8273884 + ], + [ + 2.3053279, + 48.8276519 + ], + [ + 2.3059527, + 48.8279536 + ], + [ + 2.3076627, + 48.8287327 + ], + [ + 2.3085575, + 48.8291558 + ] + ] + }, + "id": "way/969231823" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027027", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "50", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3146084, + 48.8723635 + ], + [ + 2.3146681, + 48.8724506 + ], + [ + 2.3147193, + 48.8725415 + ], + [ + 2.3147421, + 48.8726223 + ], + [ + 2.3147478, + 48.87272 + ], + [ + 2.314736, + 48.8728862 + ], + [ + 2.3147074, + 48.8730718 + ], + [ + 2.314634, + 48.8733509 + ], + [ + 2.3144836, + 48.8737834 + ] + ] + }, + "id": "way/982027027" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027028", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "55", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3132907, + 48.8696878 + ], + [ + 2.3132204, + 48.869879 + ], + [ + 2.3131796, + 48.8700752 + ], + [ + 2.3131629, + 48.8702384 + ], + [ + 2.3131741, + 48.8704029 + ], + [ + 2.3132333, + 48.8706149 + ], + [ + 2.3133852, + 48.8708317 + ], + [ + 2.3136686, + 48.8711619 + ], + [ + 2.3140001, + 48.8715261 + ], + [ + 2.3146084, + 48.8723635 + ] + ] + }, + "id": "way/982027028" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027029", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "50", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3139089, + 48.8677932 + ], + [ + 2.3138945, + 48.8682019 + ], + [ + 2.3138787, + 48.8682995 + ], + [ + 2.3138525, + 48.8683869 + ], + [ + 2.3137982, + 48.8685133 + ], + [ + 2.3134963, + 48.8691944 + ], + [ + 2.3132907, + 48.8696878 + ] + ] + }, + "id": "way/982027029" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027030", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "50", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3145339, + 48.8640763 + ], + [ + 2.3144269, + 48.8645181 + ], + [ + 2.3142576, + 48.8651831 + ], + [ + 2.3141595, + 48.8655771 + ], + [ + 2.3140392, + 48.8662334 + ], + [ + 2.313921, + 48.8669864 + ], + [ + 2.3139089, + 48.8677932 + ] + ] + }, + "id": "way/982027030" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027031", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "55", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3146185, + 48.8603596 + ], + [ + 2.3146411, + 48.8605133 + ], + [ + 2.3146819, + 48.8607522 + ], + [ + 2.3147076, + 48.8609043 + ], + [ + 2.3147539, + 48.8613039 + ], + [ + 2.3147577, + 48.8614731 + ], + [ + 2.3147385, + 48.8616114 + ], + [ + 2.3147023, + 48.8618202 + ], + [ + 2.3146418, + 48.8620849 + ], + [ + 2.3145724, + 48.8623896 + ], + [ + 2.3145339, + 48.8640763 + ] + ] + }, + "id": "way/982027031" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027032", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "50", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3145417, + 48.8596716 + ], + [ + 2.3145693, + 48.859929 + ], + [ + 2.3146185, + 48.8603596 + ] + ] + }, + "id": "way/982027032" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027033", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "35", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.315108, + 48.8570041 + ], + [ + 2.3151586, + 48.8575329 + ], + [ + 2.3151699, + 48.857729 + ], + [ + 2.3151546, + 48.8578282 + ], + [ + 2.3151146, + 48.857934 + ], + [ + 2.3149085, + 48.858408 + ], + [ + 2.3145875, + 48.8593428 + ], + [ + 2.3145452, + 48.8594528 + ], + [ + 2.3145265, + 48.8595656 + ], + [ + 2.3145417, + 48.8596716 + ] + ] + }, + "id": "way/982027033" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027034", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "60", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3144382, + 48.8514925 + ], + [ + 2.3150836, + 48.8568038 + ], + [ + 2.315108, + 48.8570041 + ] + ] + }, + "id": "way/982027034" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027035", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "maxspeed": "55", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3150719, + 48.8570457 + ], + [ + 2.3150585, + 48.8568023 + ], + [ + 2.3148834, + 48.8553626 + ], + [ + 2.3144012, + 48.851398 + ] + ] + }, + "id": "way/982027035" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027036", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "maxspeed": "60", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3144012, + 48.851398 + ], + [ + 2.3143724, + 48.8511641 + ], + [ + 2.3143878, + 48.8509664 + ], + [ + 2.3144281, + 48.8507851 + ], + [ + 2.3145018, + 48.8505976 + ], + [ + 2.3146346, + 48.8503531 + ], + [ + 2.314991, + 48.8497001 + ], + [ + 2.3153186, + 48.8490929 + ], + [ + 2.3158296, + 48.8481505 + ], + [ + 2.3160019, + 48.8478327 + ], + [ + 2.316228, + 48.8474016 + ] + ] + }, + "id": "way/982027036" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027037", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2;-3", + "maxspeed": "50", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.316228, + 48.8474016 + ], + [ + 2.3163025, + 48.8472707 + ], + [ + 2.3164118, + 48.8470723 + ], + [ + 2.3165094, + 48.8469581 + ], + [ + 2.3166321, + 48.8468313 + ], + [ + 2.3168139, + 48.8467216 + ], + [ + 2.3188248, + 48.8456882 + ], + [ + 2.3189843, + 48.845607 + ], + [ + 2.3193043, + 48.8454441 + ], + [ + 2.3194081, + 48.8453893 + ], + [ + 2.3194968, + 48.8453359 + ], + [ + 2.3195663, + 48.845286 + ], + [ + 2.3196396, + 48.8452225 + ], + [ + 2.3197085, + 48.8451607 + ], + [ + 2.3197717, + 48.8450946 + ], + [ + 2.3198663, + 48.8449661 + ], + [ + 2.3199137, + 48.8448836 + ], + [ + 2.3199601, + 48.8447949 + ], + [ + 2.3205086, + 48.8433623 + ] + ] + }, + "id": "way/982027037" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027038", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "50", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3208868, + 48.8423252 + ], + [ + 2.3209389, + 48.8422011 + ], + [ + 2.3209483, + 48.8421786 + ], + [ + 2.3212504, + 48.8414587 + ], + [ + 2.3224866, + 48.8386332 + ] + ] + }, + "id": "way/982027038" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027039", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "45", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3226623, + 48.8364873 + ], + [ + 2.3204075, + 48.8351643 + ] + ] + }, + "id": "way/982027039" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027040", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "35", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3204075, + 48.8351643 + ], + [ + 2.3189581, + 48.8344033 + ], + [ + 2.3182783, + 48.834038 + ], + [ + 2.3181876, + 48.83399 + ] + ] + }, + "id": "way/982027040" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027041", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "55", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3179967, + 48.8338915 + ], + [ + 2.3140286, + 48.8317757 + ] + ] + }, + "id": "way/982027041" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027042", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "35", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3181876, + 48.83399 + ], + [ + 2.3179967, + 48.8338915 + ] + ] + }, + "id": "way/982027042" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027043", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "60", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3140286, + 48.8317757 + ], + [ + 2.3103861, + 48.8300679 + ] + ] + }, + "id": "way/982027043" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027044", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "45", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3103861, + 48.8300679 + ], + [ + 2.3085345, + 48.8291786 + ] + ] + }, + "id": "way/982027044" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982027045", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3085345, + 48.8291786 + ], + [ + 2.3076385, + 48.8287532 + ], + [ + 2.3059339, + 48.8279776 + ], + [ + 2.3053062, + 48.8276683 + ], + [ + 2.3048086, + 48.8274068 + ], + [ + 2.3045226, + 48.8272418 + ], + [ + 2.3027683, + 48.8260783 + ], + [ + 2.3026791, + 48.8260069 + ], + [ + 2.2984941, + 48.8225118 + ], + [ + 2.2984833, + 48.8225032 + ], + [ + 2.2972837, + 48.8216134 + ] + ] + }, + "id": "way/982027045" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982235397", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "45", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3168316, + 48.8467331 + ], + [ + 2.3166706, + 48.8468505 + ], + [ + 2.3165311, + 48.8469696 + ], + [ + 2.3164376, + 48.8470774 + ], + [ + 2.3163311, + 48.8472755 + ], + [ + 2.3162731, + 48.8473818 + ], + [ + 2.3160241, + 48.8478386 + ] + ] + }, + "id": "way/982235397" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982235398", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "50", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3204651, + 48.8436272 + ], + [ + 2.3200047, + 48.8448024 + ], + [ + 2.319962, + 48.8448916 + ], + [ + 2.31991, + 48.8449758 + ], + [ + 2.3198089, + 48.8451051 + ], + [ + 2.3197456, + 48.8451719 + ], + [ + 2.3196779, + 48.8452351 + ], + [ + 2.3196053, + 48.8452943 + ], + [ + 2.3195231, + 48.8453486 + ], + [ + 2.3194314, + 48.8454005 + ], + [ + 2.3193483, + 48.8454448 + ], + [ + 2.3191805, + 48.8455319 + ], + [ + 2.3168316, + 48.8467331 + ] + ] + }, + "id": "way/982235398" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982235399", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "50", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3205753, + 48.8433248 + ], + [ + 2.3205581, + 48.8433701 + ], + [ + 2.3204651, + 48.8436272 + ] + ] + }, + "id": "way/982235399" + }, + { + "type": "Feature", + "properties": { + "@id": "way/982235400", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1;-3", + "maxspeed": "30", + "name": "Métro 13", + "name:fr": "Métro 13", + "name:ru": "Линия 13", + "operator": "RATP", + "railway": "subway", + "railway:ouragan": "yes", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.321451, + 48.8411368 + ], + [ + 2.3209355, + 48.8423306 + ] + ] + }, + "id": "way/982235400" + }, + { + "type": "Feature", + "properties": { + "@id": "way/996669199", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "Ile de France Mobilités", + "start_date": "2013-03-23", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3455128, + 48.8538783 + ], + [ + 2.3457481, + 48.853936 + ], + [ + 2.3459838, + 48.8540044 + ], + [ + 2.3462104, + 48.8540835 + ], + [ + 2.3464249, + 48.8541743 + ], + [ + 2.3465932, + 48.8542569 + ], + [ + 2.3467535, + 48.8543503 + ], + [ + 2.3469046, + 48.8544628 + ], + [ + 2.3470242, + 48.8545618 + ], + [ + 2.3471232, + 48.8546636 + ], + [ + 2.347204, + 48.854757 + ], + [ + 2.3472769, + 48.8548587 + ], + [ + 2.3473263, + 48.8549367 + ], + [ + 2.3473696, + 48.8550091 + ], + [ + 2.3474631, + 48.8551915 + ], + [ + 2.3475245, + 48.8553272 + ], + [ + 2.347593, + 48.8554972 + ], + [ + 2.3476471, + 48.8556492 + ], + [ + 2.3476802, + 48.8557806 + ], + [ + 2.3477027, + 48.8558866 + ], + [ + 2.3477148, + 48.8559795 + ], + [ + 2.3477249, + 48.8560888 + ], + [ + 2.3477339, + 48.8563888 + ], + [ + 2.3476975, + 48.8568675 + ], + [ + 2.3476753, + 48.8574599 + ] + ] + }, + "id": "way/996669199" + }, + { + "type": "Feature", + "properties": { + "@id": "way/996669200", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "Ile de France Mobilités", + "start_date": "2013-03-23", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3455274, + 48.8538505 + ], + [ + 2.3457638, + 48.8539084 + ], + [ + 2.3460016, + 48.8539774 + ], + [ + 2.3462309, + 48.8540575 + ], + [ + 2.3464466, + 48.8541492 + ], + [ + 2.3466196, + 48.8542334 + ], + [ + 2.3467856, + 48.8543281 + ], + [ + 2.3469388, + 48.8544421 + ], + [ + 2.3470603, + 48.8545427 + ], + [ + 2.3471607, + 48.8546459 + ], + [ + 2.3472368, + 48.8547356 + ], + [ + 2.3473163, + 48.8548479 + ], + [ + 2.3473651, + 48.8549293 + ], + [ + 2.3474055, + 48.8549998 + ], + [ + 2.3474975, + 48.855187 + ], + [ + 2.3475596, + 48.8553219 + ], + [ + 2.3476288, + 48.8554912 + ], + [ + 2.3476856, + 48.8556443 + ], + [ + 2.3477247, + 48.8557731 + ], + [ + 2.3477499, + 48.855883 + ], + [ + 2.347762, + 48.8559769 + ], + [ + 2.3477722, + 48.8560877 + ], + [ + 2.3477805, + 48.856388 + ], + [ + 2.3477396, + 48.8568677 + ], + [ + 2.3476753, + 48.8574599 + ] + ] + }, + "id": "way/996669200" + }, + { + "type": "Feature", + "properties": { + "@id": "way/996669201", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "Ile de France Mobilités", + "start_date": "2013-03-23", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3472374, + 48.8591273 + ], + [ + 2.3474785, + 48.8588405 + ], + [ + 2.3475281, + 48.8586685 + ], + [ + 2.3475844, + 48.8582679 + ], + [ + 2.347626, + 48.8580597 + ], + [ + 2.3476753, + 48.8574599 + ] + ] + }, + "id": "way/996669201" + }, + { + "type": "Feature", + "properties": { + "@id": "way/996904314", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 11", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3970282, + 48.8756129 + ], + [ + 2.3968091, + 48.8757186 + ], + [ + 2.396687, + 48.8758016 + ], + [ + 2.3965973, + 48.8758888 + ], + [ + 2.3965203, + 48.8759833 + ], + [ + 2.396272, + 48.8763723 + ], + [ + 2.3962022, + 48.876466 + ], + [ + 2.3961129, + 48.876555 + ], + [ + 2.395994, + 48.876644 + ], + [ + 2.3958578, + 48.876724 + ], + [ + 2.3957447, + 48.8767775 + ], + [ + 2.3956018, + 48.8768277 + ], + [ + 2.3953987, + 48.8768772 + ], + [ + 2.3952352, + 48.8768998 + ], + [ + 2.395053, + 48.8769118 + ], + [ + 2.3948906, + 48.8769077 + ], + [ + 2.3929935, + 48.8767438 + ], + [ + 2.3923652, + 48.8766895 + ], + [ + 2.3921856, + 48.8766651 + ], + [ + 2.391985, + 48.8766196 + ], + [ + 2.3918297, + 48.8765682 + ], + [ + 2.3916743, + 48.8764982 + ], + [ + 2.3915363, + 48.8764166 + ], + [ + 2.3914062, + 48.8763171 + ], + [ + 2.3913072, + 48.8762158 + ], + [ + 2.391072, + 48.8759227 + ], + [ + 2.39097, + 48.8758136 + ], + [ + 2.3908788, + 48.8757355 + ], + [ + 2.3907812, + 48.8756744 + ], + [ + 2.3901971, + 48.8754436 + ], + [ + 2.3900024, + 48.8753912 + ], + [ + 2.3897987, + 48.8753413 + ], + [ + 2.3896233, + 48.8752905 + ], + [ + 2.389398, + 48.8751812 + ], + [ + 2.3892456, + 48.8751086 + ], + [ + 2.3891647, + 48.87507 + ], + [ + 2.3889125, + 48.8749536 + ], + [ + 2.3885799, + 48.8748324 + ], + [ + 2.3884016, + 48.8747855 + ], + [ + 2.3881883, + 48.8747401 + ], + [ + 2.3877228, + 48.8747089 + ], + [ + 2.3873036, + 48.8746748 + ], + [ + 2.3869886, + 48.8746389 + ], + [ + 2.3866893, + 48.8745728 + ], + [ + 2.3864745, + 48.8744966 + ], + [ + 2.3862877, + 48.8744174 + ], + [ + 2.3855198, + 48.8740175 + ], + [ + 2.3853072, + 48.8739245 + ], + [ + 2.3852566, + 48.873906 + ], + [ + 2.3850145, + 48.8738175 + ], + [ + 2.3845835, + 48.8737052 + ], + [ + 2.384238, + 48.8736544 + ], + [ + 2.3831637, + 48.8735062 + ], + [ + 2.3825797, + 48.8733968 + ], + [ + 2.3813068, + 48.8731602 + ], + [ + 2.3796938, + 48.8728394 + ], + [ + 2.3788672, + 48.8726459 + ], + [ + 2.377749, + 48.8723491 + ], + [ + 2.3771139, + 48.8721617 + ], + [ + 2.376853, + 48.872065 + ], + [ + 2.376533, + 48.8719463 + ], + [ + 2.3759791, + 48.8717409 + ], + [ + 2.3747384, + 48.8712842 + ], + [ + 2.3741966, + 48.8710815 + ], + [ + 2.3736409, + 48.8708449 + ], + [ + 2.3728517, + 48.8705654 + ], + [ + 2.3712886, + 48.8700915 + ], + [ + 2.3711766, + 48.8700572 + ], + [ + 2.3701494, + 48.8697424 + ], + [ + 2.3693404, + 48.869467 + ], + [ + 2.36832, + 48.8690979 + ], + [ + 2.3675743, + 48.8688494 + ], + [ + 2.3670417, + 48.8686889 + ], + [ + 2.366429, + 48.8685056 + ] + ] + }, + "id": "way/996904314" + }, + { + "type": "Feature", + "properties": { + "@id": "way/996904315", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 11", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3898228, + 48.8753166 + ], + [ + 2.389985, + 48.8753577 + ], + [ + 2.3902199, + 48.8754186 + ], + [ + 2.3908083, + 48.8756511 + ], + [ + 2.3909119, + 48.8757159 + ], + [ + 2.3910067, + 48.875797 + ], + [ + 2.3911105, + 48.8759083 + ], + [ + 2.3913456, + 48.8762011 + ], + [ + 2.3914418, + 48.8762996 + ], + [ + 2.3915681, + 48.8763961 + ], + [ + 2.3917018, + 48.8764752 + ], + [ + 2.3918523, + 48.876543 + ], + [ + 2.3920023, + 48.8765927 + ], + [ + 2.3921973, + 48.8766369 + ], + [ + 2.3923726, + 48.8766607 + ], + [ + 2.3929992, + 48.8767148 + ], + [ + 2.3948943, + 48.8768786 + ], + [ + 2.3950516, + 48.8768826 + ], + [ + 2.3952284, + 48.8768709 + ], + [ + 2.3953863, + 48.8768491 + ], + [ + 2.3955835, + 48.876801 + ], + [ + 2.3957212, + 48.8767527 + ], + [ + 2.3958299, + 48.8767012 + ], + [ + 2.3959625, + 48.8766234 + ], + [ + 2.3960775, + 48.8765372 + ], + [ + 2.3961636, + 48.8764515 + ], + [ + 2.3962316, + 48.8763603 + ], + [ + 2.3964802, + 48.8759708 + ], + [ + 2.3965593, + 48.8758737 + ], + [ + 2.3966524, + 48.8757831 + ], + [ + 2.3967771, + 48.8756983 + ], + [ + 2.3970473, + 48.8755703 + ], + [ + 2.3972206, + 48.8755243 + ], + [ + 2.3974671, + 48.8754736 + ], + [ + 2.397729, + 48.8754533 + ], + [ + 2.3981603, + 48.8754533 + ], + [ + 2.3987365, + 48.8754635 + ], + [ + 2.398983, + 48.8754837 + ], + [ + 2.3990406, + 48.8754913 + ], + [ + 2.3996793, + 48.8755749 + ], + [ + 2.4015771, + 48.8758382 + ], + [ + 2.4024015, + 48.8759449 + ], + [ + 2.4027342, + 48.8760098 + ], + [ + 2.4034121, + 48.8761901 + ], + [ + 2.404551, + 48.8765306 + ] + ] + }, + "id": "way/996904315" + }, + { + "type": "Feature", + "properties": { + "@id": "way/996904318", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 7bis", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3909884, + 48.8782525 + ], + [ + 2.3910365, + 48.878219 + ], + [ + 2.3911136, + 48.8781802 + ], + [ + 2.3911685, + 48.8781445 + ], + [ + 2.3918384, + 48.8775421 + ], + [ + 2.3920242, + 48.8773582 + ], + [ + 2.3921348, + 48.8772585 + ], + [ + 2.3922683, + 48.8771699 + ], + [ + 2.392344, + 48.8771337 + ], + [ + 2.3924426, + 48.8770998 + ], + [ + 2.3925445, + 48.8770733 + ], + [ + 2.3926538, + 48.877053 + ], + [ + 2.3927685, + 48.8770376 + ], + [ + 2.3928932, + 48.8770239 + ], + [ + 2.3930059, + 48.8770155 + ], + [ + 2.3931554, + 48.8770085 + ], + [ + 2.3932955, + 48.877008 + ], + [ + 2.3934109, + 48.8770116 + ], + [ + 2.3935725, + 48.8770217 + ], + [ + 2.3937093, + 48.8770349 + ], + [ + 2.3940338, + 48.8770724 + ], + [ + 2.394178, + 48.8770975 + ], + [ + 2.3942819, + 48.8771253 + ], + [ + 2.3944203, + 48.8771769 + ] + ] + }, + "id": "way/996904318" + }, + { + "type": "Feature", + "properties": { + "@id": "way/998384373", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Voie Navette", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4061629, + 48.8761249 + ], + [ + 2.4064543, + 48.8768687 + ], + [ + 2.4064919, + 48.8770082 + ], + [ + 2.4065014, + 48.8771634 + ], + [ + 2.4064669, + 48.8773076 + ], + [ + 2.4063914, + 48.8774424 + ], + [ + 2.4062693, + 48.8775614 + ], + [ + 2.4061127, + 48.8776561 + ], + [ + 2.4059155, + 48.8777209 + ], + [ + 2.4057084, + 48.8777692 + ], + [ + 2.4053506, + 48.8778381 + ], + [ + 2.402931, + 48.8783038 + ], + [ + 2.4027691, + 48.8783429 + ], + [ + 2.4025877, + 48.8783974 + ], + [ + 2.4023199, + 48.8785029 + ], + [ + 2.402112, + 48.8786022 + ], + [ + 2.4005004, + 48.8794664 + ], + [ + 2.3998631, + 48.8798092 + ], + [ + 2.3993288, + 48.8800967 + ], + [ + 2.3985114, + 48.8805237 + ], + [ + 2.3982513, + 48.8806416 + ], + [ + 2.3980265, + 48.8807584 + ] + ] + }, + "id": "way/998384373" + }, + { + "type": "Feature", + "properties": { + "@id": "way/998384374", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "name": "Voie des Fêtes", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3950328, + 48.8774632 + ], + [ + 2.3958685, + 48.8778674 + ], + [ + 2.3962778, + 48.8780593 + ], + [ + 2.3974711, + 48.8787279 + ], + [ + 2.3978251, + 48.8789078 + ], + [ + 2.3981363, + 48.8790507 + ], + [ + 2.3986982, + 48.8792959 + ], + [ + 2.399063, + 48.8794362 + ], + [ + 2.39935, + 48.8795288 + ], + [ + 2.3994867, + 48.8795632 + ], + [ + 2.399653, + 48.8795861 + ], + [ + 2.3998408, + 48.8795905 + ], + [ + 2.4000299, + 48.8795737 + ], + [ + 2.4001828, + 48.8795402 + ], + [ + 2.4003236, + 48.8794935 + ], + [ + 2.4004497, + 48.8794335 + ], + [ + 2.4020939, + 48.8785462 + ], + [ + 2.4022856, + 48.8784563 + ], + [ + 2.402519, + 48.8783681 + ], + [ + 2.4027027, + 48.8783152 + ], + [ + 2.4029153, + 48.8782682 + ], + [ + 2.4056934, + 48.8777436 + ], + [ + 2.4058959, + 48.8776969 + ], + [ + 2.4060863, + 48.8776343 + ], + [ + 2.4062352, + 48.8775443 + ], + [ + 2.4063506, + 48.8774313 + ], + [ + 2.4064229, + 48.8773026 + ], + [ + 2.4064525, + 48.8771615 + ], + [ + 2.4064471, + 48.8770098 + ], + [ + 2.4064095, + 48.8768704 + ], + [ + 2.4061188, + 48.8761324 + ] + ] + }, + "id": "way/998384374" + }, + { + "type": "Feature", + "properties": { + "@id": "way/998384376", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3993481, + 48.8799849 + ], + [ + 2.3994412, + 48.8799481 + ], + [ + 2.3997617, + 48.8798502 + ], + [ + 2.3998631, + 48.8798092 + ] + ] + }, + "id": "way/998384376" + }, + { + "type": "Feature", + "properties": { + "@id": "way/998384377", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 7bis", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3982177, + 48.8806135 + ], + [ + 2.3980265, + 48.8807584 + ], + [ + 2.3976606, + 48.8809611 + ], + [ + 2.397524, + 48.881025 + ], + [ + 2.3973712, + 48.8810801 + ], + [ + 2.3972049, + 48.8811286 + ], + [ + 2.397038, + 48.8811692 + ], + [ + 2.3956187, + 48.8814785 + ], + [ + 2.3943049, + 48.8817498 + ] + ] + }, + "id": "way/998384377" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539920", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "location": "underground", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4099274, + 48.8782477 + ], + [ + 2.4097316, + 48.8781701 + ], + [ + 2.4096262, + 48.878129 + ], + [ + 2.4090652, + 48.8779621 + ], + [ + 2.4078855, + 48.8775984 + ], + [ + 2.4074161, + 48.8774538 + ], + [ + 2.4069468, + 48.8773091 + ], + [ + 2.4068476, + 48.8772785 + ], + [ + 2.406612, + 48.8772026 + ] + ] + }, + "id": "way/1000539920" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539921", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4061547, + 48.8770594 + ], + [ + 2.4062254, + 48.8770752 + ], + [ + 2.4063531, + 48.877096 + ], + [ + 2.4064323, + 48.8771122 + ] + ] + }, + "id": "way/1000539921" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539923", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 11", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4099274, + 48.8782477 + ], + [ + 2.4096041, + 48.878154 + ], + [ + 2.4090618, + 48.8779912 + ], + [ + 2.4081406, + 48.8777097 + ], + [ + 2.4080698, + 48.8776938 + ], + [ + 2.407929, + 48.87767 + ], + [ + 2.4078493, + 48.8776511 + ], + [ + 2.4073793, + 48.8775072 + ], + [ + 2.4069093, + 48.8773632 + ], + [ + 2.4068872, + 48.8773565 + ], + [ + 2.4068306, + 48.8773282 + ], + [ + 2.4067178, + 48.8772525 + ], + [ + 2.4066659, + 48.8772258 + ], + [ + 2.406612, + 48.8772026 + ] + ] + }, + "id": "way/1000539923" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539924", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 11", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.404551, + 48.8765306 + ], + [ + 2.4047688, + 48.8765994 + ], + [ + 2.4064323, + 48.8771122 + ], + [ + 2.4068744, + 48.8772423 + ], + [ + 2.4069722, + 48.8772724 + ], + [ + 2.4074414, + 48.8774171 + ], + [ + 2.4079107, + 48.8775617 + ], + [ + 2.4090984, + 48.8779277 + ], + [ + 2.4096306, + 48.8780931 + ], + [ + 2.4098067, + 48.8781542 + ], + [ + 2.4100696, + 48.8782336 + ], + [ + 2.4104827, + 48.87835 + ], + [ + 2.4116811, + 48.8786623 + ], + [ + 2.4128275, + 48.8789243 + ], + [ + 2.4141164, + 48.8792178 + ], + [ + 2.4148413, + 48.8793733 + ], + [ + 2.4152033, + 48.8794563 + ] + ] + }, + "id": "way/1000539924" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539927", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4067278, + 48.8765587 + ], + [ + 2.4064902, + 48.8762554 + ] + ] + }, + "id": "way/1000539927" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539928", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4065295, + 48.8762418 + ], + [ + 2.406767, + 48.876545 + ] + ] + }, + "id": "way/1000539928" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539929", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4074633, + 48.8781809 + ], + [ + 2.4073577, + 48.878227 + ], + [ + 2.4072517, + 48.8782627 + ], + [ + 2.4071364, + 48.8782905 + ], + [ + 2.4069822, + 48.8782993 + ], + [ + 2.4068414, + 48.8782887 + ], + [ + 2.4066885, + 48.8782552 + ], + [ + 2.4065584, + 48.8782023 + ], + [ + 2.4064136, + 48.878122 + ], + [ + 2.4061547, + 48.8779218 + ], + [ + 2.4060541, + 48.8778653 + ], + [ + 2.4059334, + 48.8778274 + ], + [ + 2.4058007, + 48.8778036 + ], + [ + 2.4056967, + 48.8778001 + ], + [ + 2.4055251, + 48.8778133 + ], + [ + 2.4053506, + 48.8778381 + ] + ] + }, + "id": "way/1000539929" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539930", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4072848, + 48.8769333 + ], + [ + 2.4073785, + 48.8769542 + ], + [ + 2.407475, + 48.8769692 + ], + [ + 2.4075468, + 48.8769847 + ], + [ + 2.4077385, + 48.8770493 + ], + [ + 2.4078569, + 48.8771164 + ], + [ + 2.4079446, + 48.8771956 + ], + [ + 2.4080051, + 48.877273 + ], + [ + 2.4080438, + 48.8773557 + ], + [ + 2.4080599, + 48.8774414 + ], + [ + 2.408053, + 48.8775279 + ], + [ + 2.4080268, + 48.8775994 + ], + [ + 2.4079875, + 48.8776605 + ], + [ + 2.4077267, + 48.8779974 + ], + [ + 2.4076564, + 48.8780679 + ], + [ + 2.4075674, + 48.87813 + ], + [ + 2.4074633, + 48.8781809 + ], + [ + 2.4073499, + 48.8782184 + ], + [ + 2.4072284, + 48.8782426 + ], + [ + 2.4071025, + 48.8782529 + ], + [ + 2.4069757, + 48.8782488 + ], + [ + 2.4068519, + 48.8782306 + ], + [ + 2.4067346, + 48.8781988 + ], + [ + 2.4066272, + 48.8781542 + ], + [ + 2.4065331, + 48.8780983 + ], + [ + 2.4064548, + 48.8780326 + ], + [ + 2.4063947, + 48.877959 + ], + [ + 2.4063546, + 48.8778799 + ], + [ + 2.4063356, + 48.8777973 + ], + [ + 2.4063383, + 48.8777139 + ], + [ + 2.4063626, + 48.877632 + ], + [ + 2.406407, + 48.8775554 + ], + [ + 2.4064577, + 48.8774876 + ], + [ + 2.4065623, + 48.8773575 + ], + [ + 2.4066065, + 48.8773173 + ], + [ + 2.4066711, + 48.8772678 + ], + [ + 2.4067281, + 48.8772145 + ] + ] + }, + "id": "way/1000539930" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539931", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.406767, + 48.876545 + ], + [ + 2.4068948, + 48.8767086 + ], + [ + 2.4069187, + 48.8767392 + ], + [ + 2.4069647, + 48.8767884 + ], + [ + 2.4070318, + 48.8768325 + ], + [ + 2.4071056, + 48.8768695 + ], + [ + 2.4071967, + 48.8769044 + ], + [ + 2.4072848, + 48.8769333 + ], + [ + 2.4077117, + 48.8770764 + ], + [ + 2.4078205, + 48.8771384 + ], + [ + 2.4079026, + 48.8772126 + ], + [ + 2.4079595, + 48.8772853 + ], + [ + 2.4079956, + 48.8773624 + ], + [ + 2.4080106, + 48.8774426 + ], + [ + 2.4080042, + 48.8775232 + ], + [ + 2.40798, + 48.8775893 + ], + [ + 2.407943, + 48.8776469 + ], + [ + 2.4076842, + 48.8779812 + ], + [ + 2.4076177, + 48.8780478 + ], + [ + 2.4075346, + 48.8781058 + ], + [ + 2.4074374, + 48.8781533 + ], + [ + 2.4073316, + 48.8781883 + ], + [ + 2.4072182, + 48.8782109 + ], + [ + 2.4071006, + 48.8782205 + ], + [ + 2.4069823, + 48.8782167 + ], + [ + 2.4068667, + 48.8781997 + ], + [ + 2.4067572, + 48.87817 + ], + [ + 2.406657, + 48.8781284 + ], + [ + 2.4065691, + 48.8780762 + ], + [ + 2.406496, + 48.8780148 + ], + [ + 2.4064399, + 48.8779462 + ], + [ + 2.4064025, + 48.8778723 + ], + [ + 2.4063847, + 48.8777953 + ], + [ + 2.4063873, + 48.8777174 + ], + [ + 2.40641, + 48.8776409 + ], + [ + 2.4064522, + 48.8775681 + ], + [ + 2.4065009, + 48.8774999 + ], + [ + 2.4067281, + 48.8772145 + ], + [ + 2.4068097, + 48.8771222 + ], + [ + 2.406866, + 48.8770381 + ], + [ + 2.4068957, + 48.876969 + ], + [ + 2.4069062, + 48.8769078 + ], + [ + 2.4069083, + 48.8768505 + ], + [ + 2.4068989, + 48.8767954 + ], + [ + 2.406879, + 48.8767524 + ], + [ + 2.4067445, + 48.8765802 + ], + [ + 2.4067278, + 48.8765587 + ] + ] + }, + "id": "way/1000539931" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539932", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4067445, + 48.8765802 + ], + [ + 2.4067897, + 48.8766221 + ], + [ + 2.4068534, + 48.876673 + ], + [ + 2.4068948, + 48.8767086 + ] + ] + }, + "id": "way/1000539932" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539933", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 3bis", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4044016, + 48.8717231 + ], + [ + 2.4045806, + 48.8721464 + ], + [ + 2.4054867, + 48.8744248 + ], + [ + 2.4056502, + 48.8748478 + ], + [ + 2.4057355, + 48.8750539 + ], + [ + 2.4057767, + 48.8751538 + ], + [ + 2.4058409, + 48.8752898 + ], + [ + 2.4059039, + 48.8754063 + ], + [ + 2.4059803, + 48.8755302 + ], + [ + 2.4060723, + 48.8756588 + ], + [ + 2.4062921, + 48.8759386 + ], + [ + 2.4065295, + 48.8762418 + ] + ] + }, + "id": "way/1000539933" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539934", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 3bis", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4064902, + 48.8762554 + ], + [ + 2.4062527, + 48.875952 + ], + [ + 2.4060328, + 48.8756715 + ], + [ + 2.40594, + 48.8755418 + ], + [ + 2.4058629, + 48.8754165 + ], + [ + 2.4057992, + 48.875299 + ], + [ + 2.4057327, + 48.8751609 + ], + [ + 2.4054431, + 48.8744319 + ], + [ + 2.4045382, + 48.8721551 + ], + [ + 2.4044016, + 48.8717231 + ] + ] + }, + "id": "way/1000539934" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539936", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4060491, + 48.8759569 + ], + [ + 2.4060793, + 48.8760042 + ], + [ + 2.4061266, + 48.8760653 + ], + [ + 2.4061543, + 48.8761034 + ] + ] + }, + "id": "way/1000539936" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539937", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4061629, + 48.8761249 + ], + [ + 2.4061543, + 48.8761034 + ], + [ + 2.4060426, + 48.8758225 + ] + ] + }, + "id": "way/1000539937" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1000539940", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4061188, + 48.8761324 + ], + [ + 2.4060491, + 48.8759569 + ], + [ + 2.4057327, + 48.8751609 + ] + ] + }, + "id": "way/1000539940" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1012102692", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 11", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.406612, + 48.8772026 + ], + [ + 2.4064161, + 48.8771395 + ], + [ + 2.4061547, + 48.8770594 + ], + [ + 2.4047503, + 48.876626 + ], + [ + 2.4045233, + 48.8765549 + ], + [ + 2.4032457, + 48.8761739 + ], + [ + 2.4026726, + 48.876026 + ], + [ + 2.401964, + 48.8759166 + ], + [ + 2.3997866, + 48.8756232 + ], + [ + 2.3990317, + 48.8755226 + ], + [ + 2.3987711, + 48.875497 + ], + [ + 2.3982641, + 48.8754882 + ], + [ + 2.397945, + 48.8754866 + ], + [ + 2.3977044, + 48.8754831 + ], + [ + 2.3974708, + 48.875504 + ], + [ + 2.3972177, + 48.8755517 + ], + [ + 2.3970282, + 48.8756129 + ] + ] + }, + "id": "way/1012102692" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1020660165", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "location": "underground", + "name": "Métro 1", + "name:ru": "Линия 1", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4389148, + 48.8445929 + ], + [ + 2.4343662, + 48.8449883 + ], + [ + 2.4338368, + 48.8450375 + ], + [ + 2.4331592, + 48.8450987 + ], + [ + 2.4321681, + 48.8451879 + ], + [ + 2.4314535, + 48.8452536 + ], + [ + 2.4305087, + 48.8453379 + ], + [ + 2.429654, + 48.8454162 + ], + [ + 2.4292641, + 48.8454503 + ], + [ + 2.4286854, + 48.845504 + ], + [ + 2.4197024, + 48.8463429 + ], + [ + 2.4190332, + 48.8464025 + ], + [ + 2.4184443, + 48.8464526 + ], + [ + 2.418146, + 48.8464783 + ], + [ + 2.4174239, + 48.8465512 + ], + [ + 2.4162315, + 48.8466596 + ], + [ + 2.4150547, + 48.8467636 + ], + [ + 2.4102551, + 48.8471734 + ], + [ + 2.4088175, + 48.8472997 + ], + [ + 2.4080898, + 48.8473598 + ], + [ + 2.4076108, + 48.8474003 + ], + [ + 2.4059286, + 48.8475469 + ], + [ + 2.4049131, + 48.8476327 + ], + [ + 2.4035222, + 48.847752 + ], + [ + 2.4019587, + 48.8478802 + ], + [ + 2.4004313, + 48.8480023 + ], + [ + 2.3992924, + 48.8480964 + ], + [ + 2.3986827, + 48.8481492 + ], + [ + 2.3985169, + 48.8481537 + ], + [ + 2.3983325, + 48.8481499 + ], + [ + 2.3981338, + 48.8481407 + ], + [ + 2.3978537, + 48.8481115 + ], + [ + 2.3977524, + 48.8480962 + ], + [ + 2.3970401, + 48.8479731 + ], + [ + 2.3968524, + 48.8479331 + ], + [ + 2.396634, + 48.8478941 + ], + [ + 2.3965179, + 48.847878 + ], + [ + 2.3963456, + 48.8478593 + ], + [ + 2.3961106, + 48.8478414 + ], + [ + 2.395869, + 48.8478363 + ], + [ + 2.3956688, + 48.8478457 + ], + [ + 2.3954212, + 48.8478675 + ], + [ + 2.3952726, + 48.8478897 + ], + [ + 2.3941375, + 48.8481061 + ], + [ + 2.3940146, + 48.84812 + ], + [ + 2.3938518, + 48.8481276 + ], + [ + 2.393689, + 48.8481306 + ], + [ + 2.3936052, + 48.8481263 + ], + [ + 2.390714, + 48.847798 + ], + [ + 2.3867958, + 48.8473639 + ], + [ + 2.3849968, + 48.8471527 + ], + [ + 2.3849401, + 48.8471462 + ], + [ + 2.3828582, + 48.846909 + ] + ] + }, + "id": "way/1020660165" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1026399017", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2645448, + 48.8481896 + ], + [ + 2.2644027, + 48.8481561 + ], + [ + 2.264239, + 48.8481278 + ], + [ + 2.2640352, + 48.8481084 + ], + [ + 2.2638909, + 48.8480972 + ], + [ + 2.2631045, + 48.8480361 + ], + [ + 2.2628765, + 48.847991 + ] + ] + }, + "id": "way/1026399017" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1026404341", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 10", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2605336, + 48.847916 + ], + [ + 2.2600427, + 48.8478966 + ], + [ + 2.2593279, + 48.8479531 + ], + [ + 2.258247, + 48.8480661 + ], + [ + 2.25796, + 48.8481084 + ], + [ + 2.2578433, + 48.8481155 + ], + [ + 2.2576542, + 48.8480969 + ], + [ + 2.2574061, + 48.8480246 + ], + [ + 2.2572666, + 48.847961 + ], + [ + 2.2570641, + 48.8477589 + ], + [ + 2.2569155, + 48.8476033 + ] + ] + }, + "id": "way/1026404341" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1026404344", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 10", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2605336, + 48.847916 + ], + [ + 2.2601929, + 48.8479425 + ], + [ + 2.259855, + 48.8479849 + ], + [ + 2.258141, + 48.8481826 + ], + [ + 2.2580525, + 48.8481949 + ], + [ + 2.2579586, + 48.8481984 + ], + [ + 2.2577763, + 48.8481958 + ], + [ + 2.2575429, + 48.8481667 + ], + [ + 2.2573324, + 48.8480837 + ], + [ + 2.2571808, + 48.8480149 + ], + [ + 2.2570038, + 48.8478348 + ], + [ + 2.2569126, + 48.8477095 + ], + [ + 2.2568777, + 48.8476169 + ], + [ + 2.2568553, + 48.8474897 + ] + ] + }, + "id": "way/1026404344" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1056275128", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro Corvisart Ligne 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3494287, + 48.829538 + ], + [ + 2.3494968, + 48.8295366 + ], + [ + 2.3495482, + 48.8295387 + ], + [ + 2.3495957, + 48.8295427 + ], + [ + 2.3496503, + 48.8295494 + ], + [ + 2.349699, + 48.8295578 + ] + ] + }, + "id": "way/1056275128" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1056275129", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3496879, + 48.829587 + ], + [ + 2.3496443, + 48.829581 + ], + [ + 2.3495979, + 48.8295754 + ], + [ + 2.3495466, + 48.8295705 + ], + [ + 2.3494939, + 48.8295677 + ], + [ + 2.3494294, + 48.8295681 + ] + ] + }, + "id": "way/1056275129" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1056275130", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3497597, + 48.8296015 + ], + [ + 2.349724, + 48.8295938 + ], + [ + 2.3496879, + 48.829587 + ] + ] + }, + "id": "way/1056275130" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1056275131", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3504719, + 48.8298145 + ], + [ + 2.3499394, + 48.8296467 + ], + [ + 2.3499053, + 48.8296379 + ], + [ + 2.3498322, + 48.8296181 + ], + [ + 2.3497597, + 48.8296015 + ] + ] + }, + "id": "way/1056275131" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1056275132", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro Corvisart Ligne 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3497718, + 48.8295724 + ], + [ + 2.3498313, + 48.8295866 + ], + [ + 2.3499229, + 48.829612 + ], + [ + 2.3499568, + 48.8296214 + ], + [ + 2.350489, + 48.8297902 + ] + ] + }, + "id": "way/1056275132" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1056275133", + "bridge": "viaduct", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "name": "Métro Corvisart Ligne 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.349699, + 48.8295578 + ], + [ + 2.3497356, + 48.8295645 + ], + [ + 2.3497718, + 48.8295724 + ] + ] + }, + "id": "way/1056275133" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1071247534", + "electrified": "rail", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3847247, + 48.9006276 + ], + [ + 2.3848104, + 48.9005837 + ], + [ + 2.3851167, + 48.9003905 + ] + ] + }, + "id": "way/1071247534" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1071247535", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3847323, + 48.9008882 + ], + [ + 2.3849821, + 48.9007186 + ], + [ + 2.3850002, + 48.9007013 + ], + [ + 2.385012, + 48.900681 + ], + [ + 2.3850193, + 48.9006529 + ], + [ + 2.385032, + 48.9006332 + ], + [ + 2.3850802, + 48.900601 + ] + ] + }, + "id": "way/1071247535" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1071247536", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3811288, + 48.9009206 + ], + [ + 2.3812244, + 48.9008627 + ], + [ + 2.3812957, + 48.900839 + ], + [ + 2.3813828, + 48.900828 + ], + [ + 2.3814155, + 48.9008269 + ] + ] + }, + "id": "way/1071247536" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1071247538", + "gauge": "1435", + "railway": "subway", + "service": "yard" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3843777, + 48.9007976 + ], + [ + 2.3844428, + 48.9006984 + ], + [ + 2.3845141, + 48.9006343 + ], + [ + 2.3846045, + 48.9005846 + ], + [ + 2.384763, + 48.9005402 + ] + ] + }, + "id": "way/1071247538" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1096222369", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-4", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2899023, + 48.8336982 + ], + [ + 2.2899924, + 48.8337927 + ], + [ + 2.2900359, + 48.8339359 + ], + [ + 2.2900505, + 48.8340577 + ], + [ + 2.2900448, + 48.8341807 + ], + [ + 2.2900127, + 48.8342578 + ], + [ + 2.2899023, + 48.8343895 + ], + [ + 2.2898183, + 48.8344585 + ], + [ + 2.2890971, + 48.8350749 + ], + [ + 2.2890225, + 48.8351681 + ], + [ + 2.2885165, + 48.8360156 + ], + [ + 2.2884835, + 48.8360777 + ], + [ + 2.2884314, + 48.8361482 + ], + [ + 2.2883725, + 48.8362205 + ], + [ + 2.2881651, + 48.8364132 + ], + [ + 2.2880395, + 48.8365327 + ] + ] + }, + "id": "way/1096222369" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1096224836", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "operator": "RATP", + "railway": "subway", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3174396, + 48.8471485 + ], + [ + 2.3172857, + 48.8471027 + ], + [ + 2.3171836, + 48.8470841 + ], + [ + 2.3170493, + 48.8470779 + ], + [ + 2.3169071, + 48.8470867 + ], + [ + 2.3167108, + 48.8471033 + ], + [ + 2.3166197, + 48.8471301 + ], + [ + 2.3164532, + 48.8472278 + ], + [ + 2.3163252, + 48.8473337 + ], + [ + 2.3162731, + 48.8473818 + ] + ] + }, + "id": "way/1096224836" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1096231117", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 10", + "operator": "RATP", + "railway": "subway", + "service": "siding", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3669699, + 48.8398678 + ], + [ + 2.3656357, + 48.8410709 + ], + [ + 2.3650097, + 48.841811 + ], + [ + 2.3647599, + 48.842138 + ] + ] + }, + "id": "way/1096231117" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1109179985", + "layer": "-1", + "location": "underground", + "name": "Raccordement lignes 6 et 7", + "railway": "subway", + "service": "spur", + "source": "local knowledge;https://youtu.be/HFnt39uG5W0?t=855", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3563909, + 48.8290101 + ], + [ + 2.3562925, + 48.8292056 + ], + [ + 2.3561195, + 48.8294961 + ], + [ + 2.3560562, + 48.8296318 + ], + [ + 2.3560257, + 48.8297596 + ], + [ + 2.3560313, + 48.8298815 + ], + [ + 2.3561058, + 48.8302215 + ], + [ + 2.3561035, + 48.8303234 + ], + [ + 2.3560843, + 48.8304047 + ], + [ + 2.3560381, + 48.8304892 + ], + [ + 2.3559565, + 48.8305665 + ], + [ + 2.3558496, + 48.8306247 + ], + [ + 2.3557301, + 48.8306641 + ], + [ + 2.3555768, + 48.8306898 + ], + [ + 2.3554111, + 48.8306945 + ] + ] + }, + "id": "way/1109179985" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1109179986", + "layer": "-2", + "location": "underground", + "name": "Raccordement lignes 5 et 7", + "railway": "subway", + "service": "spur", + "source": "local knowledge;Extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3569159, + 48.8333804 + ], + [ + 2.3564031, + 48.8324153 + ], + [ + 2.3561436, + 48.831855 + ], + [ + 2.356021, + 48.8314119 + ], + [ + 2.3559558, + 48.8310834 + ], + [ + 2.355929, + 48.8306764 + ], + [ + 2.355929, + 48.8305352 + ], + [ + 2.3559532, + 48.8304169 + ], + [ + 2.3559943, + 48.8302903 + ] + ] + }, + "id": "way/1109179986" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1109180851", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3523205, + 48.8319532 + ], + [ + 2.3523622, + 48.8319442 + ], + [ + 2.3524206, + 48.8319352 + ], + [ + 2.3524669, + 48.8319312 + ], + [ + 2.3525667, + 48.8319219 + ] + ] + }, + "id": "way/1109180851" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1109180852", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3523531, + 48.8319857 + ], + [ + 2.352385, + 48.8319752 + ], + [ + 2.3524313, + 48.8319617 + ], + [ + 2.352473, + 48.8319492 + ], + [ + 2.3525667, + 48.8319219 + ] + ] + }, + "id": "way/1109180852" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1109180853", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3523865, + 48.8320136 + ], + [ + 2.3524176, + 48.8320002 + ], + [ + 2.3524882, + 48.8319657 + ], + [ + 2.3525667, + 48.8319219 + ] + ] + }, + "id": "way/1109180853" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1109180854", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3524153, + 48.8320446 + ], + [ + 2.3524472, + 48.8320291 + ], + [ + 2.3525102, + 48.8319782 + ], + [ + 2.3525667, + 48.8319219 + ] + ] + }, + "id": "way/1109180854" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1111737842", + "layer": "-1", + "name": "Raccordement lignes 6 et 14", + "railway": "subway", + "service": "spur", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3810343, + 48.8402283 + ], + [ + 2.3809828, + 48.8402446 + ], + [ + 2.3809554, + 48.8402584 + ], + [ + 2.380882, + 48.8403025 + ], + [ + 2.3808429, + 48.8403238 + ], + [ + 2.3808002, + 48.8403371 + ], + [ + 2.378545, + 48.8407354 + ], + [ + 2.3784515, + 48.840759 + ], + [ + 2.3783407, + 48.8408036 + ] + ] + }, + "id": "way/1111737842" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1111816914", + "layer": "-1", + "railway": "subway", + "service": "yard", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3111937, + 48.8581527 + ], + [ + 2.3112245, + 48.8581871 + ], + [ + 2.3112471, + 48.858227 + ], + [ + 2.3112876, + 48.8583529 + ], + [ + 2.3112929, + 48.8584383 + ], + [ + 2.3112725, + 48.8585421 + ], + [ + 2.3112801, + 48.8586501 + ], + [ + 2.3113764, + 48.8593626 + ], + [ + 2.3113852, + 48.8594346 + ], + [ + 2.3114031, + 48.8598982 + ] + ] + }, + "id": "way/1111816914" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1111816915", + "layer": "-1", + "railway": "subway", + "service": "yard", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3144703, + 48.860428 + ], + [ + 2.3144403, + 48.8605353 + ], + [ + 2.3143588, + 48.8606355 + ], + [ + 2.3141978, + 48.8607301 + ], + [ + 2.3139351, + 48.8608085 + ], + [ + 2.3136613, + 48.8608704 + ], + [ + 2.312704, + 48.8609352 + ], + [ + 2.3124172, + 48.860924 + ], + [ + 2.3121664, + 48.8609005 + ], + [ + 2.3119253, + 48.8608394 + ], + [ + 2.3116781, + 48.8607053 + ], + [ + 2.311558, + 48.8605993 + ], + [ + 2.3114747, + 48.8604048 + ], + [ + 2.3114031, + 48.8598982 + ] + ] + }, + "id": "way/1111816915" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1111816916", + "layer": "-1", + "railway": "subway", + "service": "yard", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.312704, + 48.8609352 + ], + [ + 2.312584, + 48.860922 + ], + [ + 2.3124173, + 48.8608978 + ], + [ + 2.3121863, + 48.8608542 + ], + [ + 2.3119652, + 48.860791 + ], + [ + 2.3117444, + 48.8606767 + ], + [ + 2.3116215, + 48.8605785 + ], + [ + 2.3115447, + 48.8603986 + ], + [ + 2.3114348, + 48.8594064 + ], + [ + 2.3114848, + 48.8592432 + ], + [ + 2.3115714, + 48.8591079 + ], + [ + 2.3117086, + 48.8590106 + ], + [ + 2.3119612, + 48.8589275 + ], + [ + 2.3123148, + 48.8589014 + ], + [ + 2.3129099, + 48.8588701 + ], + [ + 2.3130789, + 48.8588613 + ], + [ + 2.3134011, + 48.8588444 + ], + [ + 2.313614, + 48.8588467 + ], + [ + 2.3138305, + 48.85888 + ], + [ + 2.3140227, + 48.8589376 + ], + [ + 2.3141553, + 48.8590319 + ], + [ + 2.3142563, + 48.8591506 + ], + [ + 2.3142955, + 48.859258 + ], + [ + 2.3143737, + 48.8596361 + ] + ] + }, + "id": "way/1111816916" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1111816917", + "layer": "-1", + "railway": "subway", + "service": "yard", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.314432, + 48.8603711 + ], + [ + 2.314378, + 48.860523 + ], + [ + 2.314307, + 48.8606053 + ], + [ + 2.3141692, + 48.8606863 + ], + [ + 2.313914, + 48.8607693 + ], + [ + 2.3136535, + 48.8608257 + ], + [ + 2.3133025, + 48.8608518 + ], + [ + 2.3128929, + 48.8608813 + ], + [ + 2.3127003, + 48.8608839 + ], + [ + 2.3124475, + 48.8608629 + ], + [ + 2.3122141, + 48.8608079 + ], + [ + 2.3120131, + 48.8607478 + ], + [ + 2.3118105, + 48.8606521 + ], + [ + 2.3116964, + 48.8605606 + ], + [ + 2.3116123, + 48.8603905 + ], + [ + 2.3115033, + 48.8594823 + ], + [ + 2.3115124, + 48.859379 + ], + [ + 2.3115473, + 48.8592552 + ], + [ + 2.3116262, + 48.8591335 + ], + [ + 2.3117491, + 48.8590546 + ], + [ + 2.3118447, + 48.8590147 + ], + [ + 2.3119965, + 48.8589677 + ], + [ + 2.3123166, + 48.8589448 + ], + [ + 2.3126276, + 48.8589228 + ], + [ + 2.3129099, + 48.8588701 + ] + ] + }, + "id": "way/1111816917" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1111816918", + "layer": "-1", + "railway": "subway", + "service": "yard", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3130789, + 48.8588613 + ], + [ + 2.3133153, + 48.8588276 + ], + [ + 2.3136112, + 48.8587279 + ], + [ + 2.3140226, + 48.8585629 + ], + [ + 2.3142039, + 48.8584584 + ], + [ + 2.3143415, + 48.8583336 + ], + [ + 2.3144737, + 48.858107 + ], + [ + 2.314711, + 48.8576894 + ], + [ + 2.3148483, + 48.8572196 + ], + [ + 2.3149497, + 48.8566981 + ], + [ + 2.3149417, + 48.8563474 + ], + [ + 2.314858, + 48.855585 + ], + [ + 2.3148644, + 48.8554777 + ], + [ + 2.3148834, + 48.8553626 + ] + ] + }, + "id": "way/1111816918" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1111816919", + "layer": "-4", + "railway": "subway", + "service": "yard", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3151146, + 48.857934 + ], + [ + 2.3149986, + 48.8579896 + ], + [ + 2.3149102, + 48.8580277 + ], + [ + 2.314818, + 48.8580691 + ], + [ + 2.3146736, + 48.8581361 + ], + [ + 2.3145525, + 48.8582152 + ], + [ + 2.3144308, + 48.8583409 + ], + [ + 2.3143822, + 48.8584603 + ], + [ + 2.3143931, + 48.8585666 + ], + [ + 2.3144552, + 48.8589299 + ], + [ + 2.3144689, + 48.8591884 + ], + [ + 2.3144547, + 48.8592807 + ], + [ + 2.3144071, + 48.8593919 + ], + [ + 2.3143995, + 48.8595514 + ] + ] + }, + "id": "way/1111816919" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449987", + "cutting": "yes", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3545828, + 48.8318465 + ], + [ + 2.3544809, + 48.8317785 + ], + [ + 2.3543846, + 48.8316861 + ], + [ + 2.354313, + 48.8315791 + ], + [ + 2.3542864, + 48.8315115 + ], + [ + 2.3542703, + 48.8313677 + ] + ] + }, + "id": "way/1123449987" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449988", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3528868, + 48.8306595 + ], + [ + 2.352986, + 48.83068 + ], + [ + 2.3530917, + 48.830686 + ], + [ + 2.3531945, + 48.8306919 + ], + [ + 2.353299, + 48.8307109 + ] + ] + }, + "id": "way/1123449988" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449989", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.352933, + 48.8305951 + ], + [ + 2.3530155, + 48.8306354 + ], + [ + 2.3530917, + 48.830686 + ], + [ + 2.353163, + 48.8307334 + ], + [ + 2.3532454, + 48.8307732 + ] + ] + }, + "id": "way/1123449989" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449990", + "cutting": "yes", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3535862, + 48.8308812 + ], + [ + 2.3538074, + 48.8309686 + ], + [ + 2.3539965, + 48.8310587 + ], + [ + 2.3541319, + 48.831143 + ], + [ + 2.3541976, + 48.8312114 + ], + [ + 2.3542459, + 48.8312891 + ], + [ + 2.3542703, + 48.8313677 + ] + ] + }, + "id": "way/1123449990" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449991", + "cutting": "yes", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3546288, + 48.830881 + ], + [ + 2.3544766, + 48.8309439 + ], + [ + 2.3543143, + 48.8309775 + ], + [ + 2.3541658, + 48.8309889 + ], + [ + 2.3540254, + 48.8309821 + ], + [ + 2.3538802, + 48.8309598 + ], + [ + 2.3537301, + 48.8309229 + ], + [ + 2.3535862, + 48.8308812 + ], + [ + 2.3532454, + 48.8307732 + ], + [ + 2.3528868, + 48.8306595 + ], + [ + 2.3521015, + 48.8304107 + ] + ] + }, + "id": "way/1123449991" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449992", + "cutting": "yes", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3555302, + 48.8321356 + ], + [ + 2.3548615, + 48.8319591 + ], + [ + 2.3547032, + 48.8319185 + ] + ] + }, + "id": "way/1123449992" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449993", + "cutting": "yes", + "gauge": "1435", + "location": "underground", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3547032, + 48.8319185 + ], + [ + 2.3548266, + 48.8319437 + ], + [ + 2.3550278, + 48.8319786 + ], + [ + 2.3551653, + 48.8320099 + ] + ] + }, + "id": "way/1123449993" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449994", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3527519, + 48.8320869 + ], + [ + 2.3528036, + 48.8320503 + ], + [ + 2.3528827, + 48.8320031 + ], + [ + 2.3529538, + 48.8319703 + ] + ] + }, + "id": "way/1123449994" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449995", + "cutting": "yes", + "gauge": "1435", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.352734, + 48.8320538 + ], + [ + 2.3527798, + 48.832028 + ], + [ + 2.3528373, + 48.8320033 + ] + ] + }, + "id": "way/1123449995" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449996", + "cutting": "yes", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3527255, + 48.8320374 + ], + [ + 2.3528373, + 48.8320033 + ], + [ + 2.3529538, + 48.8319703 + ], + [ + 2.3530603, + 48.8319401 + ], + [ + 2.3531684, + 48.831921 + ], + [ + 2.3532842, + 48.8319165 + ], + [ + 2.3537254, + 48.8319279 + ], + [ + 2.3538488, + 48.8319236 + ], + [ + 2.3539485, + 48.8319087 + ], + [ + 2.3540497, + 48.8318761 + ], + [ + 2.3541279, + 48.8318366 + ], + [ + 2.3541997, + 48.8317808 + ], + [ + 2.3542432, + 48.8317354 + ], + [ + 2.3542734, + 48.8316797 + ], + [ + 2.3542888, + 48.83161 + ], + [ + 2.3542864, + 48.8315115 + ] + ] + }, + "id": "way/1123449996" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449997", + "cutting": "yes", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3547032, + 48.8319185 + ], + [ + 2.3545665, + 48.8318881 + ], + [ + 2.3544417, + 48.8318691 + ], + [ + 2.3543371, + 48.8318643 + ], + [ + 2.3542453, + 48.8318687 + ], + [ + 2.3541608, + 48.831882 + ], + [ + 2.354066, + 48.831907 + ], + [ + 2.3539617, + 48.8319354 + ], + [ + 2.3538547, + 48.8319514 + ], + [ + 2.3537257, + 48.8319559 + ], + [ + 2.3532846, + 48.8319444 + ], + [ + 2.3531752, + 48.8319487 + ], + [ + 2.3530743, + 48.8319666 + ], + [ + 2.3529639, + 48.8319979 + ] + ] + }, + "id": "way/1123449997" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449998", + "cutting": "yes", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.354827, + 48.830828 + ], + [ + 2.3546288, + 48.830881 + ], + [ + 2.3544793, + 48.8309113 + ], + [ + 2.3543322, + 48.8309306 + ], + [ + 2.3541655, + 48.8309379 + ], + [ + 2.3540224, + 48.8309347 + ], + [ + 2.3538597, + 48.8309121 + ] + ] + }, + "id": "way/1123449998" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123449999", + "cutting": "yes", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3563287, + 48.8310861 + ], + [ + 2.3564016, + 48.8311252 + ], + [ + 2.3564664, + 48.8311746 + ], + [ + 2.3565234, + 48.8312354 + ], + [ + 2.3565758, + 48.8313182 + ], + [ + 2.3566019, + 48.8313842 + ], + [ + 2.3566162, + 48.8314473 + ], + [ + 2.3566195, + 48.8315091 + ], + [ + 2.3566123, + 48.8315742 + ], + [ + 2.356596, + 48.8316454 + ], + [ + 2.3565595, + 48.8317153 + ], + [ + 2.3564936, + 48.8318201 + ], + [ + 2.3564528, + 48.8318789 + ], + [ + 2.3562411, + 48.8321847 + ], + [ + 2.3561959, + 48.8322637 + ], + [ + 2.356167, + 48.8323524 + ], + [ + 2.3561588, + 48.8324431 + ], + [ + 2.3561765, + 48.8325852 + ], + [ + 2.3562189, + 48.8326897 + ], + [ + 2.3562769, + 48.8327924 + ] + ] + }, + "id": "way/1123449999" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123450000", + "cutting": "yes", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "railway": "subway", + "service": "spur", + "source": "bing", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3564528, + 48.8318789 + ], + [ + 2.356383, + 48.8319444 + ], + [ + 2.3563012, + 48.8319954 + ], + [ + 2.356208, + 48.8320404 + ], + [ + 2.356098, + 48.8320748 + ], + [ + 2.3559666, + 48.8320995 + ], + [ + 2.3558445, + 48.8321039 + ], + [ + 2.3556615, + 48.8320898 + ], + [ + 2.3554449, + 48.8320607 + ], + [ + 2.3552732, + 48.8320324 + ], + [ + 2.3551653, + 48.8320099 + ] + ] + }, + "id": "way/1123450000" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123450001", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "service": "spur", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3556858, + 48.8307634 + ], + [ + 2.3556601, + 48.8308261 + ], + [ + 2.3556192, + 48.8309391 + ], + [ + 2.3555946, + 48.8309988 + ] + ] + }, + "id": "way/1123450001" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123450002", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Métro 7", + "name:ru": "Линия 7", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3535565, + 48.8343612 + ], + [ + 2.3535394, + 48.834356 + ], + [ + 2.3540526, + 48.8336193 + ], + [ + 2.3541592, + 48.8334607 + ], + [ + 2.354255, + 48.8332987 + ], + [ + 2.3550441, + 48.8319006 + ], + [ + 2.3552937, + 48.8314583 + ], + [ + 2.3555433, + 48.8310159 + ], + [ + 2.3556858, + 48.8307634 + ], + [ + 2.3559576, + 48.8302818 + ], + [ + 2.3560288, + 48.8301399 + ], + [ + 2.3560793, + 48.8300073 + ], + [ + 2.3563909, + 48.8290101 + ], + [ + 2.3564103, + 48.8289504 + ], + [ + 2.3564287, + 48.828953 + ] + ] + }, + "id": "way/1123450002" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123450003", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Métro 7", + "name:ru": "Линия 7", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3564287, + 48.828953 + ], + [ + 2.3564483, + 48.8289558 + ], + [ + 2.3561173, + 48.830013 + ], + [ + 2.3560662, + 48.830147 + ], + [ + 2.3559943, + 48.8302903 + ], + [ + 2.3555946, + 48.8309988 + ], + [ + 2.3555799, + 48.8310248 + ], + [ + 2.3553302, + 48.8314671 + ], + [ + 2.355138, + 48.8318142 + ], + [ + 2.3550806, + 48.8319095 + ], + [ + 2.3542915, + 48.8333078 + ], + [ + 2.3541951, + 48.8334706 + ], + [ + 2.3540881, + 48.8336298 + ], + [ + 2.3535748, + 48.8343667 + ], + [ + 2.3535565, + 48.8343612 + ] + ] + }, + "id": "way/1123450003" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123450004", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.359533, + 48.8190866 + ], + [ + 2.358504, + 48.8224745 + ], + [ + 2.3584824, + 48.8225422 + ], + [ + 2.3583653, + 48.8229093 + ], + [ + 2.3573505, + 48.8260904 + ], + [ + 2.3573206, + 48.8261906 + ], + [ + 2.3572234, + 48.8264905 + ], + [ + 2.3571617, + 48.8266986 + ], + [ + 2.3564287, + 48.828953 + ] + ] + }, + "id": "way/1123450004" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123450008", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3557095, + 48.830893 + ], + [ + 2.3558208, + 48.8309176 + ], + [ + 2.3559534, + 48.8309532 + ], + [ + 2.3560486, + 48.8309819 + ], + [ + 2.3561347, + 48.8310118 + ], + [ + 2.3562393, + 48.8310488 + ], + [ + 2.3563287, + 48.8310861 + ], + [ + 2.3564339, + 48.8311333 + ], + [ + 2.3565077, + 48.8311743 + ], + [ + 2.3565674, + 48.8312213 + ] + ] + }, + "id": "way/1123450008" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123450009", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3544877, + 48.8310445 + ], + [ + 2.354606, + 48.8309457 + ], + [ + 2.3547113, + 48.830879 + ], + [ + 2.354827, + 48.830828 + ], + [ + 2.3549315, + 48.8307996 + ], + [ + 2.3550278, + 48.8307824 + ], + [ + 2.3551394, + 48.8307724 + ], + [ + 2.3552232, + 48.8307709 + ], + [ + 2.3553316, + 48.8307731 + ], + [ + 2.3554415, + 48.8307794 + ], + [ + 2.3555925, + 48.8307937 + ], + [ + 2.3557424, + 48.8308171 + ] + ] + }, + "id": "way/1123450009" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123450013", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3590006, + 48.831941 + ], + [ + 2.3583866, + 48.8317351 + ], + [ + 2.3580061, + 48.8315981 + ], + [ + 2.3576275, + 48.8314487 + ], + [ + 2.3574828, + 48.8313907 + ], + [ + 2.3570584, + 48.8312205 + ], + [ + 2.3566339, + 48.8310503 + ], + [ + 2.3562409, + 48.8308933 + ], + [ + 2.3561136, + 48.8308527 + ], + [ + 2.3559565, + 48.8308098 + ], + [ + 2.3557846, + 48.8307704 + ], + [ + 2.3555991, + 48.8307442 + ], + [ + 2.3554062, + 48.8307219 + ], + [ + 2.3552189, + 48.8307144 + ], + [ + 2.3550112, + 48.8307227 + ], + [ + 2.3547853, + 48.8307547 + ], + [ + 2.3542324, + 48.8308277 + ], + [ + 2.3540802, + 48.8308389 + ], + [ + 2.3539254, + 48.8308398 + ], + [ + 2.3537584, + 48.8308245 + ], + [ + 2.3535969, + 48.8307967 + ], + [ + 2.3534053, + 48.8307441 + ], + [ + 2.353299, + 48.8307109 + ], + [ + 2.3532016, + 48.8306804 + ], + [ + 2.352933, + 48.8305951 + ], + [ + 2.3522678, + 48.8303826 + ] + ] + }, + "id": "way/1123450013" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1123450014", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3522844, + 48.8303596 + ], + [ + 2.3532197, + 48.8306556 + ], + [ + 2.3534223, + 48.830719 + ], + [ + 2.3536103, + 48.8307706 + ], + [ + 2.3537666, + 48.8307975 + ], + [ + 2.3539281, + 48.8308122 + ], + [ + 2.3540777, + 48.8308114 + ], + [ + 2.3542259, + 48.8308005 + ], + [ + 2.3547768, + 48.8307278 + ], + [ + 2.3550055, + 48.8306954 + ], + [ + 2.3552189, + 48.8306869 + ], + [ + 2.3554111, + 48.8306945 + ], + [ + 2.3556072, + 48.8307172 + ], + [ + 2.3557959, + 48.8307439 + ], + [ + 2.3559714, + 48.830784 + ], + [ + 2.3561307, + 48.8308276 + ], + [ + 2.3562609, + 48.8308691 + ], + [ + 2.3566546, + 48.8310264 + ], + [ + 2.357079, + 48.8311966 + ], + [ + 2.3575034, + 48.8313667 + ], + [ + 2.3576491, + 48.8314251 + ], + [ + 2.3580269, + 48.8315742 + ], + [ + 2.3584061, + 48.8317107 + ], + [ + 2.3590208, + 48.831915 + ] + ] + }, + "id": "way/1123450014" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1159249102", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3544877, + 48.8310445 + ], + [ + 2.3545702, + 48.8309891 + ], + [ + 2.3546658, + 48.8309347 + ], + [ + 2.3547537, + 48.8308972 + ], + [ + 2.3548537, + 48.8308733 + ], + [ + 2.3549825, + 48.8308559 + ], + [ + 2.3551194, + 48.8308495 + ], + [ + 2.3552211, + 48.8308498 + ], + [ + 2.3553245, + 48.8308519 + ], + [ + 2.3554278, + 48.8308578 + ], + [ + 2.3555701, + 48.8308713 + ], + [ + 2.3557095, + 48.830893 + ] + ] + }, + "id": "way/1159249102" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1174223727", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2885279, + 48.8366695 + ], + [ + 2.2885596, + 48.8366407 + ], + [ + 2.2886555, + 48.836552 + ], + [ + 2.2887, + 48.8365067 + ] + ] + }, + "id": "way/1174223727" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1174223729", + "covered": "yes", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2883918, + 48.8367945 + ], + [ + 2.2885279, + 48.8366695 + ] + ] + }, + "id": "way/1174223729" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1174223730", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2873026, + 48.8371582 + ], + [ + 2.2872426, + 48.8372045 + ] + ] + }, + "id": "way/1174223730" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1174223731", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2880395, + 48.8365327 + ], + [ + 2.2879982, + 48.8365694 + ], + [ + 2.2878561, + 48.8366448 + ] + ] + }, + "id": "way/1174223731" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1174223732", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2879991, + 48.8365125 + ], + [ + 2.2878561, + 48.8366448 + ], + [ + 2.287789, + 48.8367076 + ] + ] + }, + "id": "way/1174223732" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1174223733", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2879982, + 48.8365694 + ], + [ + 2.2878242, + 48.8367248 + ] + ] + }, + "id": "way/1174223733" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1174223734", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.2879434, + 48.8367829 + ], + [ + 2.2880604, + 48.8367402 + ], + [ + 2.2881413, + 48.8367106 + ], + [ + 2.2882381, + 48.8366738 + ], + [ + 2.28829, + 48.8366515 + ], + [ + 2.2883609, + 48.8366193 + ], + [ + 2.288485, + 48.8365293 + ] + ] + }, + "id": "way/1174223734" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1174223735", + "covered": "yes", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "source": "bing", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.287678, + 48.836892 + ], + [ + 2.2877768, + 48.836846 + ], + [ + 2.2878297, + 48.8368289 + ], + [ + 2.2879434, + 48.8367829 + ] + ] + }, + "id": "way/1174223735" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1187810555", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 3", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3309264, + 48.8715913 + ], + [ + 2.330207, + 48.8719948 + ], + [ + 2.3286811, + 48.8728599 + ] + ] + }, + "id": "way/1187810555" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1188626672", + "layer": "-2", + "name": "Raccordement lignes 5 et 7", + "railway": "subway", + "service": "spur", + "source": "local knowledge;Extrapolation", + "tunnel": "yes" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3574071, + 48.8341389 + ], + [ + 2.3572433, + 48.8339031 + ], + [ + 2.3569187, + 48.8333858 + ], + [ + 2.3569159, + 48.8333804 + ] + ] + }, + "id": "way/1188626672" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1191871435", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 9", + "name:ru": "Линия 9", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3675064, + 48.8653229 + ], + [ + 2.3678342, + 48.8651271 + ], + [ + 2.3695433, + 48.8641124 + ], + [ + 2.3700028, + 48.8638393 + ] + ] + }, + "id": "way/1191871435" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1192675358", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "35", + "name": "Métro 7", + "name:ru": "Линия 7", + "operator": "RATP", + "railway": "subway", + "railway:preferred_direction": "forward", + "railway:track_ref": "1", + "source": "knowledge;survey;archives", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3579966, + 48.8764815 + ], + [ + 2.3571622, + 48.8764015 + ] + ] + }, + "id": "way/1192675358" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1214795812", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3634459, + 48.817727 + ], + [ + 2.3633946, + 48.8177105 + ], + [ + 2.3633535, + 48.817696 + ], + [ + 2.3633139, + 48.8176779 + ], + [ + 2.3632409, + 48.8176374 + ], + [ + 2.3631995, + 48.8176181 + ], + [ + 2.3631641, + 48.8176048 + ], + [ + 2.3631162, + 48.817589 + ] + ] + }, + "id": "way/1214795812" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1214795813", + "gauge": "1435", + "operator": "RATP", + "railway": "subway", + "service": "yard", + "tunnel": "no" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3625147, + 48.8171599 + ], + [ + 2.3624838, + 48.8171254 + ], + [ + 2.3624609, + 48.8170966 + ], + [ + 2.3624397, + 48.8170605 + ], + [ + 2.3624264, + 48.8170327 + ] + ] + }, + "id": "way/1214795813" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1219562944", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-5", + "level": "-5", + "name": "Métro 14", + "name:it": "Metro 14", + "name:ru": "Линия 14", + "note": "Livelli e layer nei pressi delle due gallerie monotubo 'RER B' dedotti dai due siti web https://it.parismap360.com/mappa-metro-parigi e https://it.wikipedia.org/wiki/Linea_14_(metropolitana_di_Parigi)", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3791368, + 48.8402939 + ], + [ + 2.3786875, + 48.8405799 + ], + [ + 2.3783407, + 48.8408036 + ], + [ + 2.3781511, + 48.8409259 + ], + [ + 2.3775127, + 48.8413355 + ], + [ + 2.3768891, + 48.8417371 + ], + [ + 2.3760027, + 48.8422816 + ], + [ + 2.3739596, + 48.8434008 + ], + [ + 2.3729548, + 48.8439606 + ], + [ + 2.3722435, + 48.8443533 + ], + [ + 2.3717438, + 48.8446482 + ], + [ + 2.3706695, + 48.8452751 + ], + [ + 2.3706419, + 48.8452941 + ], + [ + 2.3696293, + 48.8459596 + ], + [ + 2.3675112, + 48.8470874 + ], + [ + 2.3666099, + 48.8475604 + ], + [ + 2.3658106, + 48.8481817 + ], + [ + 2.3649792, + 48.8488171 + ], + [ + 2.3641573, + 48.8497683 + ], + [ + 2.3609443, + 48.8523118 + ], + [ + 2.3605083, + 48.8525325 + ], + [ + 2.3600439, + 48.8527265 + ], + [ + 2.3594873, + 48.8529312 + ], + [ + 2.3584225, + 48.8533239 + ], + [ + 2.3557443, + 48.8543008 + ], + [ + 2.352747, + 48.855477 + ], + [ + 2.3519584, + 48.8557841 + ], + [ + 2.3513468, + 48.8560241 + ], + [ + 2.3498504, + 48.8565775 + ] + ] + }, + "id": "way/1219562944" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1219562945", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-4", + "level": "-4", + "name": "Métro 14", + "name:it": "Metro 14", + "name:ru": "Линия 14", + "note": "Livelli e layer nei pressi delle due gallerie monotubo 'RER B' dedotti dai due siti web https://it.parismap360.com/mappa-metro-parigi e https://it.wikipedia.org/wiki/Linea_14_(metropolitana_di_Parigi)", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3498504, + 48.8565775 + ], + [ + 2.3490639, + 48.8568809 + ], + [ + 2.3485861, + 48.8571668 + ], + [ + 2.3482309, + 48.8574495 + ], + [ + 2.3479193, + 48.857731 + ] + ] + }, + "id": "way/1219562945" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873147", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-5", + "location": "underground", + "name": "Métro 14", + "opening_date": "2020-12-14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3399014, + 48.9165898 + ], + [ + 2.3389675, + 48.9157837 + ], + [ + 2.3383475, + 48.9153974 + ], + [ + 2.3366707, + 48.9146072 + ], + [ + 2.3359273, + 48.9142293 + ], + [ + 2.3346887, + 48.9132195 + ], + [ + 2.3338408, + 48.9125308 + ], + [ + 2.3335417, + 48.912272 + ], + [ + 2.332442, + 48.9113437 + ], + [ + 2.3318836, + 48.910952 + ], + [ + 2.3262769, + 48.9074002 + ], + [ + 2.326095, + 48.9072849 + ], + [ + 2.3223473, + 48.9048616 + ], + [ + 2.321141, + 48.9040714 + ], + [ + 2.3205298, + 48.903828 + ], + [ + 2.3188093, + 48.9027428 + ], + [ + 2.3179703, + 48.9022797 + ], + [ + 2.3170922, + 48.9019291 + ], + [ + 2.3155665, + 48.9015194 + ], + [ + 2.3137808, + 48.9010647 + ], + [ + 2.3118731, + 48.9004764 + ], + [ + 2.3108784, + 48.9000862 + ], + [ + 2.3103671, + 48.8998026 + ], + [ + 2.3099474, + 48.8994639 + ], + [ + 2.3097567, + 48.8991644 + ], + [ + 2.3096026, + 48.8987171 + ], + [ + 2.3096558, + 48.8982304 + ], + [ + 2.3097396, + 48.8978865 + ], + [ + 2.309888, + 48.8975359 + ], + [ + 2.3101102, + 48.8970734 + ], + [ + 2.3105225, + 48.8964274 + ], + [ + 2.3132394, + 48.8948305 + ], + [ + 2.3135167, + 48.8946765 + ], + [ + 2.3139363, + 48.8942304 + ], + [ + 2.3142086, + 48.8937595 + ], + [ + 2.3143468, + 48.8932921 + ], + [ + 2.3144592, + 48.8919728 + ], + [ + 2.3147015, + 48.8909069 + ], + [ + 2.3148016, + 48.8905267 + ], + [ + 2.3149153, + 48.8901391 + ], + [ + 2.3152876, + 48.8895144 + ], + [ + 2.3155383, + 48.8891181 + ], + [ + 2.3157113, + 48.888829 + ], + [ + 2.3158682, + 48.8885485 + ], + [ + 2.3161747, + 48.8879295 + ], + [ + 2.31682, + 48.8869467 + ], + [ + 2.3171294, + 48.8866028 + ], + [ + 2.3181095, + 48.88574 + ], + [ + 2.3187998, + 48.8852368 + ], + [ + 2.3195828, + 48.8847642 + ], + [ + 2.3200987, + 48.8844003 + ], + [ + 2.3210636, + 48.8836953 + ], + [ + 2.3221883, + 48.883012 + ], + [ + 2.3230133, + 48.8825925 + ], + [ + 2.3231098, + 48.8825435 + ], + [ + 2.3234845, + 48.8823639 + ], + [ + 2.3239002, + 48.8821817 + ], + [ + 2.3245661, + 48.8820031 + ], + [ + 2.324965, + 48.8819436 + ], + [ + 2.3257068, + 48.88188 + ], + [ + 2.3262113, + 48.8817658 + ], + [ + 2.3266352, + 48.8815907 + ], + [ + 2.3270212, + 48.8813226 + ], + [ + 2.3271249, + 48.8811903 + ], + [ + 2.3273835, + 48.8808602 + ], + [ + 2.3275297, + 48.88054 + ], + [ + 2.3276161, + 48.880167 + ], + [ + 2.3276375, + 48.8793816 + ], + [ + 2.3275887, + 48.879078 + ], + [ + 2.3273919, + 48.8787723 + ], + [ + 2.3270005, + 48.878521 + ], + [ + 2.3269259, + 48.8784731 + ], + [ + 2.3263986, + 48.8781751 + ] + ] + }, + "id": "way/1229873147" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873148", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-5", + "level": "-5", + "name": "Métro 14", + "name:it": "Metro 14", + "name:ru": "Линия 14", + "note": "Livelli e layer nei pressi delle due gallerie monotubo 'RER B' dedotti dai due siti web https://it.parismap360.com/mappa-metro-parigi e https://it.wikipedia.org/wiki/Linea_14_(metropolitana_di_Parigi)", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3479422, + 48.8577408 + ], + [ + 2.3476124, + 48.8581142 + ], + [ + 2.3473649, + 48.8584837 + ], + [ + 2.3470763, + 48.8589209 + ], + [ + 2.3467522, + 48.8593493 + ], + [ + 2.3463256, + 48.8597846 + ], + [ + 2.3459804, + 48.8601433 + ], + [ + 2.3455366, + 48.8605335 + ], + [ + 2.3451558, + 48.8608238 + ], + [ + 2.3447674, + 48.8610787 + ], + [ + 2.3445883, + 48.8611963 + ], + [ + 2.3438933, + 48.8615793 + ], + [ + 2.3434478, + 48.8617926 + ], + [ + 2.343028, + 48.8619626 + ], + [ + 2.3424821, + 48.8621607 + ], + [ + 2.3420761, + 48.8622854 + ], + [ + 2.3414497, + 48.8624726 + ], + [ + 2.3398879, + 48.8629364 + ], + [ + 2.3389527, + 48.8632546 + ], + [ + 2.3380058, + 48.8635929 + ], + [ + 2.3367683, + 48.8641298 + ], + [ + 2.3363961, + 48.8643633 + ], + [ + 2.3359154, + 48.8646742 + ], + [ + 2.3353086, + 48.8651245 + ], + [ + 2.3345404, + 48.8656986 + ], + [ + 2.334286, + 48.865874 + ], + [ + 2.33393, + 48.8660913 + ], + [ + 2.3333788, + 48.8664302 + ], + [ + 2.3329175, + 48.8667098 + ], + [ + 2.3321289, + 48.867194 + ], + [ + 2.3309595, + 48.8679113 + ], + [ + 2.3301433, + 48.8684094 + ], + [ + 2.3286647, + 48.8694288 + ], + [ + 2.3279637, + 48.8699155 + ], + [ + 2.327687, + 48.8700308 + ], + [ + 2.3274293, + 48.8701201 + ], + [ + 2.3267772, + 48.8703403 + ], + [ + 2.3265641, + 48.8704075 + ], + [ + 2.3251966, + 48.8708728 + ], + [ + 2.3245365, + 48.8712106 + ], + [ + 2.3239081, + 48.8716587 + ], + [ + 2.3234414, + 48.8721477 + ], + [ + 2.3231347, + 48.8726802 + ], + [ + 2.3229865, + 48.8733089 + ], + [ + 2.3230202, + 48.8738871 + ], + [ + 2.3232105, + 48.8743842 + ], + [ + 2.3234806, + 48.8748881 + ], + [ + 2.324136, + 48.8756052 + ], + [ + 2.3263986, + 48.8781751 + ] + ] + }, + "id": "way/1229873148" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873149", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-4", + "level": "-4", + "name": "Métro 14", + "name:it": "Metro 14", + "name:ru": "Линия 14", + "note": "Livelli e layer nei pressi delle due gallerie monotubo 'RER B' dedotti dai due siti web https://it.parismap360.com/mappa-metro-parigi e https://it.wikipedia.org/wiki/Linea_14_(metropolitana_di_Parigi)", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.349864, + 48.8565931 + ], + [ + 2.3490802, + 48.8568954 + ], + [ + 2.3486059, + 48.8571792 + ], + [ + 2.3482525, + 48.8574605 + ], + [ + 2.3479422, + 48.8577408 + ] + ] + }, + "id": "way/1229873149" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873150", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-5", + "level": "-5", + "name": "Métro 14", + "name:it": "Metro 14", + "name:ru": "Линия 14", + "note": "Livelli e layer nei pressi delle due gallerie monotubo 'RER B' dedotti dai due siti web https://it.parismap360.com/mappa-metro-parigi e https://it.wikipedia.org/wiki/Linea_14_(metropolitana_di_Parigi)", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3791563, + 48.8403065 + ], + [ + 2.3787065, + 48.8405928 + ], + [ + 2.3783598, + 48.8408164 + ], + [ + 2.3781702, + 48.8409387 + ], + [ + 2.3775318, + 48.8413483 + ], + [ + 2.376908, + 48.8417501 + ], + [ + 2.3760208, + 48.8422951 + ], + [ + 2.3739771, + 48.8434146 + ], + [ + 2.3729724, + 48.8439743 + ], + [ + 2.3722614, + 48.8443669 + ], + [ + 2.371762, + 48.8446616 + ], + [ + 2.3706884, + 48.845288 + ], + [ + 2.3706614, + 48.8453067 + ], + [ + 2.3696476, + 48.845973 + ], + [ + 2.3675283, + 48.8471014 + ], + [ + 2.366629, + 48.8475733 + ], + [ + 2.3658314, + 48.8481934 + ], + [ + 2.3650016, + 48.8488275 + ], + [ + 2.3641798, + 48.8497786 + ], + [ + 2.3609633, + 48.8523248 + ], + [ + 2.360524, + 48.8525472 + ], + [ + 2.3600579, + 48.8527419 + ], + [ + 2.3595006, + 48.8529469 + ], + [ + 2.3584358, + 48.8533396 + ], + [ + 2.3557579, + 48.8543164 + ], + [ + 2.3527609, + 48.8554924 + ], + [ + 2.3519723, + 48.8557995 + ], + [ + 2.3513605, + 48.8560396 + ], + [ + 2.349864, + 48.8565931 + ] + ] + }, + "id": "way/1229873150" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873151", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-4", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "http://www.adapter-les-stations-de-la-ligne14.com", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3816174, + 48.8313596 + ], + [ + 2.3823905, + 48.8315435 + ], + [ + 2.3831673, + 48.8317733 + ], + [ + 2.3840106, + 48.8320562 + ], + [ + 2.3843557, + 48.8322027 + ], + [ + 2.3847142, + 48.8324125 + ], + [ + 2.3852747, + 48.832829 + ], + [ + 2.3857138, + 48.8332098 + ], + [ + 2.385978, + 48.8335395 + ], + [ + 2.3862041, + 48.8338004 + ], + [ + 2.3865781, + 48.834185 + ], + [ + 2.3869134, + 48.8345563 + ], + [ + 2.3871835, + 48.8348356 + ], + [ + 2.3873096, + 48.8350831 + ], + [ + 2.3873686, + 48.8353275 + ], + [ + 2.3873497, + 48.835637 + ], + [ + 2.3873333, + 48.8358301 + ], + [ + 2.3872876, + 48.8359555 + ], + [ + 2.3870616, + 48.8361607 + ], + [ + 2.3867673, + 48.8364404 + ], + [ + 2.386518, + 48.8366141 + ], + [ + 2.3859134, + 48.8368778 + ], + [ + 2.3853034, + 48.8370642 + ], + [ + 2.3848629, + 48.837224 + ], + [ + 2.3839991, + 48.8375308 + ], + [ + 2.3836197, + 48.8376575 + ], + [ + 2.3829651, + 48.8378729 + ], + [ + 2.3823917, + 48.8380579 + ], + [ + 2.3818572, + 48.838287 + ], + [ + 2.3812945, + 48.8386713 + ], + [ + 2.3801373, + 48.8395608 + ], + [ + 2.3796013, + 48.8399924 + ], + [ + 2.3791563, + 48.8403065 + ] + ] + }, + "id": "way/1229873151" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873152", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-4", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "interpolation", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3774998, + 48.8302209 + ], + [ + 2.3783661, + 48.8305677 + ], + [ + 2.3795594, + 48.8310489 + ], + [ + 2.380176, + 48.831142 + ], + [ + 2.3816174, + 48.8313596 + ] + ] + }, + "id": "way/1229873152" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873153", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-3", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "APUR - 2014", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3767315, + 48.8299133 + ], + [ + 2.3774998, + 48.8302209 + ] + ] + }, + "id": "way/1229873153" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873154", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-3", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3767315, + 48.8299133 + ], + [ + 2.3758624, + 48.8295551 + ] + ] + }, + "id": "way/1229873154" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873155", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-3", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "interpolation", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3758624, + 48.8295551 + ], + [ + 2.3724763, + 48.8282381 + ] + ] + }, + "id": "way/1229873155" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873156", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-3", + "name": "Métro 14", + "name:ru": "Линия 14", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3724763, + 48.8282381 + ], + [ + 2.3717318, + 48.8278522 + ], + [ + 2.3714891, + 48.8277612 + ], + [ + 2.3712575, + 48.8276881 + ], + [ + 2.3709432, + 48.8276158 + ], + [ + 2.3664211, + 48.8270157 + ] + ] + }, + "id": "way/1229873156" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873157", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 14", + "network": "RATP", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3664211, + 48.8270157 + ], + [ + 2.3646707, + 48.826809 + ] + ] + }, + "id": "way/1229873157" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1229873158", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Prolongement de la ligne 14 du Métro de Olympiades à l'Aéroport d'Orly", + "opening_date": "2024", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "14", + "rubber_tires": "yes", + "source": "https://prolongementligne14-orly.fr/#lignes/14SU", + "tunnel": "yes", + "voltage": "750", + "wikipedia": "fr:Ligne 14 du métro de Paris" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3632322, + 48.7334615 + ], + [ + 2.3632802, + 48.7335096 + ], + [ + 2.3634982, + 48.7337065 + ], + [ + 2.3637107, + 48.733878 + ], + [ + 2.3677551, + 48.7370662 + ], + [ + 2.3682888, + 48.7374941 + ], + [ + 2.3689535, + 48.7380474 + ], + [ + 2.3694973, + 48.738558 + ], + [ + 2.3701675, + 48.7392633 + ], + [ + 2.3707467, + 48.7399071 + ], + [ + 2.3712077, + 48.7404249 + ], + [ + 2.3715773, + 48.7409072 + ], + [ + 2.371888, + 48.7413787 + ], + [ + 2.3721343, + 48.7418149 + ], + [ + 2.37237, + 48.7423182 + ], + [ + 2.3725495, + 48.7427917 + ], + [ + 2.372678, + 48.7432261 + ], + [ + 2.3727691, + 48.7436499 + ], + [ + 2.3728227, + 48.7439783 + ], + [ + 2.3728575, + 48.7443651 + ], + [ + 2.3728628, + 48.7447307 + ], + [ + 2.3728556, + 48.7452982 + ], + [ + 2.3728271, + 48.7461511 + ], + [ + 2.3727999, + 48.746998 + ], + [ + 2.3727158, + 48.7487474 + ], + [ + 2.3725628, + 48.7515081 + ], + [ + 2.3724537, + 48.7524929 + ], + [ + 2.3722138, + 48.7532945 + ], + [ + 2.3719501, + 48.7536734 + ], + [ + 2.3714681, + 48.7540324 + ], + [ + 2.3691788, + 48.7553469 + ], + [ + 2.3673253, + 48.7577907 + ], + [ + 2.3673308, + 48.7581298 + ], + [ + 2.3673394, + 48.7586656 + ], + [ + 2.3673683, + 48.7604563 + ], + [ + 2.3673683, + 48.7625146 + ], + [ + 2.3661734, + 48.7639775 + ], + [ + 2.3648089, + 48.7651018 + ], + [ + 2.360039, + 48.766433 + ], + [ + 2.3594285, + 48.7674524 + ], + [ + 2.3568146, + 48.7718169 + ], + [ + 2.354806, + 48.7746063 + ], + [ + 2.3543048, + 48.7753259 + ], + [ + 2.3527975, + 48.776267 + ], + [ + 2.3520231, + 48.7767773 + ], + [ + 2.350383, + 48.778114 + ], + [ + 2.3499533, + 48.781597 + ], + [ + 2.3474613, + 48.785985 + ], + [ + 2.349309, + 48.7898637 + ], + [ + 2.3493274, + 48.7930488 + ], + [ + 2.3496521, + 48.7952973 + ], + [ + 2.3492901, + 48.7971498 + ], + [ + 2.3470444, + 48.8018876 + ], + [ + 2.3472079, + 48.8027495 + ], + [ + 2.3473384, + 48.8040813 + ], + [ + 2.3482027, + 48.8054776 + ], + [ + 2.3478163, + 48.8080774 + ], + [ + 2.3492836, + 48.809996 + ], + [ + 2.3517001, + 48.8116131 + ], + [ + 2.354167, + 48.8124055 + ], + [ + 2.3568173, + 48.8136721 + ], + [ + 2.3586979, + 48.8159942 + ], + [ + 2.3594915, + 48.8190862 + ], + [ + 2.3584607, + 48.8224798 + ], + [ + 2.360871, + 48.8249724 + ], + [ + 2.362748, + 48.826549 + ], + [ + 2.3646616, + 48.8268352 + ] + ] + }, + "id": "way/1229873158" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231424080", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3557424, + 48.8308171 + ], + [ + 2.3558625, + 48.8308436 + ], + [ + 2.3560009, + 48.8308808 + ], + [ + 2.3561016, + 48.8309111 + ], + [ + 2.3561938, + 48.8309432 + ], + [ + 2.3563061, + 48.8309958 + ], + [ + 2.3563937, + 48.8310513 + ], + [ + 2.3564594, + 48.8311042 + ], + [ + 2.3565092, + 48.8311533 + ], + [ + 2.3565674, + 48.8312213 + ], + [ + 2.3566222, + 48.8313079 + ], + [ + 2.3566498, + 48.8313778 + ], + [ + 2.3566649, + 48.8314444 + ], + [ + 2.3566684, + 48.8315097 + ], + [ + 2.3566608, + 48.8315778 + ], + [ + 2.3566436, + 48.831653 + ], + [ + 2.3566051, + 48.8317269 + ], + [ + 2.3565355, + 48.8318327 + ], + [ + 2.3562838, + 48.8321963 + ], + [ + 2.356243, + 48.8322724 + ], + [ + 2.3562156, + 48.8323568 + ], + [ + 2.3562077, + 48.8324428 + ] + ] + }, + "id": "way/1231424080" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231424081", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "maxspeed": "35", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3562077, + 48.8324428 + ], + [ + 2.3562249, + 48.8325797 + ], + [ + 2.3562656, + 48.8326802 + ], + [ + 2.3563222, + 48.8327802 + ], + [ + 2.3569103, + 48.8335739 + ] + ] + }, + "id": "way/1231424081" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231426591", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "maxspeed": "50", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3569103, + 48.8335739 + ], + [ + 2.3570269, + 48.8337205 + ], + [ + 2.3571523, + 48.8338643 + ], + [ + 2.3574071, + 48.8341389 + ], + [ + 2.3577986, + 48.8345609 + ], + [ + 2.3578489, + 48.8346193 + ], + [ + 2.3578997, + 48.8346835 + ], + [ + 2.3580002, + 48.8348167 + ], + [ + 2.3582211, + 48.8351097 + ], + [ + 2.3584419, + 48.8354025 + ] + ] + }, + "id": "way/1231426591" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231426592", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "location": "underground", + "maxspeed": "55", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3584419, + 48.8354025 + ], + [ + 2.3592944, + 48.8365498 + ] + ] + }, + "id": "way/1231426592" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231426593", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "maxspeed": "45", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.363267, + 48.8414728 + ], + [ + 2.363348, + 48.8415725 + ], + [ + 2.3634169, + 48.8416375 + ], + [ + 2.3635004, + 48.8416981 + ], + [ + 2.3635935, + 48.8417451 + ], + [ + 2.3636984, + 48.8417933 + ], + [ + 2.3638141, + 48.8418322 + ], + [ + 2.3639769, + 48.8418757 + ], + [ + 2.364215, + 48.8419271 + ], + [ + 2.3646148, + 48.8420199 + ], + [ + 2.3648451, + 48.8420782 + ], + [ + 2.3650644, + 48.8421414 + ] + ] + }, + "id": "way/1231426593" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231426594", + "bridge": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "1", + "maxspeed": "40", + "name": "Métro 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3685602, + 48.8439377 + ], + [ + 2.3686185, + 48.8439777 + ], + [ + 2.368653, + 48.8440032 + ], + [ + 2.3687215, + 48.8440598 + ], + [ + 2.3687778, + 48.8441195 + ], + [ + 2.3688281, + 48.8441876 + ], + [ + 2.3688677, + 48.8442594 + ], + [ + 2.3688922, + 48.8443273 + ], + [ + 2.3689038, + 48.8443854 + ], + [ + 2.3689085, + 48.8444358 + ], + [ + 2.3689073, + 48.8444942 + ], + [ + 2.3689014, + 48.8445393 + ], + [ + 2.3688842, + 48.8445975 + ] + ] + }, + "id": "way/1231426594" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436445", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "45", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.365638, + 48.847571 + ], + [ + 2.3657885, + 48.8478613 + ], + [ + 2.3661979, + 48.8487277 + ], + [ + 2.3664598, + 48.8492891 + ], + [ + 2.3670094, + 48.8504669 + ], + [ + 2.3678111, + 48.8522067 + ] + ] + }, + "id": "way/1231436445" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436446", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "40", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3678111, + 48.8522067 + ], + [ + 2.3679476, + 48.8524111 + ], + [ + 2.3683027, + 48.8527639 + ] + ] + }, + "id": "way/1231436446" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436447", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "35", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3683027, + 48.8527639 + ], + [ + 2.3684237, + 48.8529371 + ], + [ + 2.3685718, + 48.8532438 + ], + [ + 2.3687394, + 48.853587 + ] + ] + }, + "id": "way/1231436447" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436448", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "maxspeed": "40", + "name": "Métro 5", + "name:ru": "Линия 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3672092, + 48.8654296 + ], + [ + 2.367079, + 48.865521 + ], + [ + 2.3661214, + 48.8661017 + ] + ] + }, + "id": "way/1231436448" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436449", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "maxspeed": "60", + "name": "Métro 5", + "name:ru": "Линия 5", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3631511, + 48.868412 + ], + [ + 2.3628226, + 48.8687344 + ], + [ + 2.3624951, + 48.8690917 + ], + [ + 2.3618448, + 48.8698576 + ], + [ + 2.3617401, + 48.8699468 + ] + ] + }, + "id": "way/1231436449" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436450", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "45", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3586669, + 48.8734486 + ], + [ + 2.3585792, + 48.873617 + ], + [ + 2.3585457, + 48.8737766 + ], + [ + 2.3585471, + 48.873901 + ], + [ + 2.3585725, + 48.874028 + ], + [ + 2.3586557, + 48.8741894 + ], + [ + 2.3588072, + 48.8744549 + ], + [ + 2.3593021, + 48.8752638 + ], + [ + 2.359506, + 48.8755901 + ] + ] + }, + "id": "way/1231436450" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436451", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "maxspeed": "40", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.359506, + 48.8755901 + ], + [ + 2.3595435, + 48.8756889 + ], + [ + 2.3595194, + 48.8757718 + ], + [ + 2.359455, + 48.8758521 + ] + ] + }, + "id": "way/1231436451" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436452", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "maxspeed": "35", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "railway:track_ref": "2", + "source": "STIF", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3579861, + 48.876367 + ], + [ + 2.3576075, + 48.8763634 + ], + [ + 2.3574284, + 48.87635 + ], + [ + 2.3572841, + 48.8763359 + ] + ] + }, + "id": "way/1231436452" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436453", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "location": "underground", + "maxspeed": "40", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "source": "STIF", + "start_date": "1942-10-05", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.356664, + 48.879198 + ], + [ + 2.3568797, + 48.8792726 + ], + [ + 2.3570603, + 48.8793837 + ], + [ + 2.3571938, + 48.8795051 + ], + [ + 2.3573032, + 48.8796718 + ], + [ + 2.3576526, + 48.8803584 + ] + ] + }, + "id": "way/1231436453" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436454", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "maxspeed": "50", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3593901, + 48.8829655 + ], + [ + 2.3613958, + 48.8841139 + ] + ] + }, + "id": "way/1231436454" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436455", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "maxspeed": "40", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3613958, + 48.8841139 + ], + [ + 2.3617169, + 48.8842636 + ], + [ + 2.3620246, + 48.8843707 + ], + [ + 2.3623414, + 48.8844364 + ], + [ + 2.3626321, + 48.8844826 + ], + [ + 2.3629931, + 48.8845116 + ], + [ + 2.3633391, + 48.8845235 + ], + [ + 2.3642484, + 48.8844984 + ] + ] + }, + "id": "way/1231436455" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436456", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "level": "-3", + "maxspeed": "50", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3682087, + 48.8842669 + ], + [ + 2.3685265, + 48.8842263 + ], + [ + 2.3688457, + 48.8841549 + ], + [ + 2.3691582, + 48.8840614 + ], + [ + 2.3694734, + 48.8839229 + ], + [ + 2.3697174, + 48.8837933 + ] + ] + }, + "id": "way/1231436456" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436457", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "maxspeed": "50", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3697174, + 48.8837933 + ], + [ + 2.3699924, + 48.8835834 + ], + [ + 2.370168, + 48.8834476 + ], + [ + 2.3704001, + 48.8833144 + ], + [ + 2.3706428, + 48.8832254 + ], + [ + 2.3711766, + 48.8831248 + ], + [ + 2.3714314, + 48.8831231 + ], + [ + 2.3717371, + 48.8831557 + ], + [ + 2.372397, + 48.8833127 + ], + [ + 2.373561, + 48.8836152 + ], + [ + 2.3757698, + 48.8842052 + ], + [ + 2.3779746, + 48.8847766 + ], + [ + 2.3794612, + 48.8851633 + ], + [ + 2.3807795, + 48.8855134 + ], + [ + 2.3823565, + 48.8859174 + ], + [ + 2.3847264, + 48.8865434 + ], + [ + 2.3866312, + 48.8870481 + ] + ] + }, + "id": "way/1231436457" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1231436458", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "maxspeed": "60", + "name": "Métro 5", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3866312, + 48.8870481 + ], + [ + 2.3866783, + 48.8870606 + ], + [ + 2.3873985, + 48.887252 + ], + [ + 2.3885747, + 48.8875659 + ], + [ + 2.3902108, + 48.887998 + ], + [ + 2.3919703, + 48.8884662 + ], + [ + 2.3921714, + 48.8885168 + ], + [ + 2.3926738, + 48.8886492 + ], + [ + 2.3928231, + 48.8886884 + ] + ] + }, + "id": "way/1231436458" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1239521852", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "service": "yard", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3256447, + 48.8231992 + ], + [ + 2.3256543, + 48.8231555 + ], + [ + 2.3257056, + 48.8230796 + ], + [ + 2.3257617, + 48.8230199 + ], + [ + 2.3258232, + 48.8229575 + ], + [ + 2.3258848, + 48.8229087 + ], + [ + 2.3260384, + 48.8228281 + ], + [ + 2.3261577, + 48.8227742 + ], + [ + 2.3262952, + 48.8227327 + ], + [ + 2.3263879, + 48.8227169 + ], + [ + 2.3264957, + 48.8226992 + ], + [ + 2.3266238, + 48.8226905 + ], + [ + 2.3268011, + 48.8226894 + ], + [ + 2.3268325, + 48.8226896 + ], + [ + 2.3272467, + 48.8226911 + ], + [ + 2.3279803, + 48.8226944 + ], + [ + 2.3281077, + 48.8226916 + ], + [ + 2.3282419, + 48.8226839 + ], + [ + 2.3283922, + 48.8226561 + ], + [ + 2.3285407, + 48.8226088 + ], + [ + 2.3286648, + 48.8225466 + ], + [ + 2.328756, + 48.8224832 + ], + [ + 2.3288319, + 48.8224049 + ], + [ + 2.3288732, + 48.8223523 + ], + [ + 2.3289228, + 48.8222477 + ], + [ + 2.3289347, + 48.822138 + ], + [ + 2.3289228, + 48.8220656 + ], + [ + 2.3288986, + 48.821987 + ], + [ + 2.3288467, + 48.8218936 + ], + [ + 2.3288077, + 48.8218496 + ], + [ + 2.3287715, + 48.8218098 + ], + [ + 2.328656, + 48.8217314 + ], + [ + 2.3285836, + 48.8216902 + ], + [ + 2.3284959, + 48.8216549 + ], + [ + 2.3283895, + 48.8216242 + ], + [ + 2.3282398, + 48.8216054 + ], + [ + 2.3280832, + 48.8215857 + ], + [ + 2.327871, + 48.8215706 + ], + [ + 2.3277583, + 48.821572 + ], + [ + 2.3276873, + 48.8215784 + ], + [ + 2.3276017, + 48.8215885 + ], + [ + 2.3268341, + 48.8217672 + ], + [ + 2.3265017, + 48.8218496 + ], + [ + 2.3263528, + 48.8218857 + ], + [ + 2.326268, + 48.8219063 + ], + [ + 2.3261463, + 48.8219341 + ], + [ + 2.3260239, + 48.8219641 + ], + [ + 2.3259488, + 48.8219875 + ], + [ + 2.325865, + 48.8220223 + ], + [ + 2.3258066, + 48.822054 + ], + [ + 2.3257268, + 48.8221011 + ], + [ + 2.3256545, + 48.8221487 + ], + [ + 2.3256217, + 48.8221808 + ], + [ + 2.3255588, + 48.8222528 + ], + [ + 2.3255106, + 48.8223311 + ], + [ + 2.3254638, + 48.8224275 + ], + [ + 2.3254474, + 48.8225308 + ], + [ + 2.3254556, + 48.8226442 + ], + [ + 2.3255669, + 48.8230931 + ], + [ + 2.3256034, + 48.823277 + ], + [ + 2.3256079, + 48.8232997 + ], + [ + 2.3257719, + 48.8238577 + ] + ] + }, + "id": "way/1239521852" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1239521853", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "service": "yard", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3245602, + 48.821525 + ], + [ + 2.3251005, + 48.8217528 + ], + [ + 2.3254775, + 48.8218499 + ], + [ + 2.3258422, + 48.821885 + ], + [ + 2.3260244, + 48.8218643 + ], + [ + 2.3262149, + 48.8218426 + ], + [ + 2.3269265, + 48.821668 + ], + [ + 2.327288, + 48.8215825 + ], + [ + 2.3276729, + 48.8214988 + ], + [ + 2.3278888, + 48.8214905 + ], + [ + 2.3281402, + 48.8215172 + ], + [ + 2.328336, + 48.8215398 + ], + [ + 2.3284776, + 48.8215688 + ], + [ + 2.3286353, + 48.8216263 + ], + [ + 2.3287481, + 48.8216871 + ], + [ + 2.3288532, + 48.8217642 + ], + [ + 2.3289473, + 48.821868 + ], + [ + 2.3290084, + 48.8219752 + ], + [ + 2.3290474, + 48.8221164 + ], + [ + 2.3290372, + 48.8222119 + ], + [ + 2.3290016, + 48.8223336 + ], + [ + 2.328955, + 48.8224179 + ], + [ + 2.3288354, + 48.8225362 + ], + [ + 2.3286972, + 48.8226239 + ], + [ + 2.3285284, + 48.8226892 + ], + [ + 2.3283926, + 48.8227231 + ], + [ + 2.3282055, + 48.8227522 + ], + [ + 2.3280725, + 48.8227575 + ], + [ + 2.3275523, + 48.8227448 + ], + [ + 2.327265, + 48.8227393 + ], + [ + 2.3270617, + 48.8227363 + ], + [ + 2.3269833, + 48.8227338 + ], + [ + 2.3269386, + 48.8227265 + ], + [ + 2.3269139, + 48.8227174 + ], + [ + 2.32689, + 48.8227061 + ], + [ + 2.3268711, + 48.8226972 + ], + [ + 2.3268563, + 48.8226933 + ], + [ + 2.3268325, + 48.8226896 + ] + ] + }, + "id": "way/1239521853" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1239521854", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "rubber_tires": "yes", + "service": "yard", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3260244, + 48.8218643 + ], + [ + 2.3260798, + 48.8218622 + ], + [ + 2.3261237, + 48.8218639 + ], + [ + 2.326171, + 48.8218716 + ], + [ + 2.3262216, + 48.8218844 + ], + [ + 2.3262545, + 48.8218917 + ], + [ + 2.3262858, + 48.8218944 + ], + [ + 2.3263125, + 48.8218922 + ], + [ + 2.3263528, + 48.8218857 + ] + ] + }, + "id": "way/1239521854" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244001803", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 9", + "name:ru": "Линия 9", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3646817, + 48.8665951 + ], + [ + 2.3651912, + 48.8665258 + ], + [ + 2.3653833, + 48.8664836 + ], + [ + 2.3655595, + 48.8664227 + ], + [ + 2.365894, + 48.8662911 + ], + [ + 2.3661766, + 48.8661551 + ], + [ + 2.3671383, + 48.8655767 + ], + [ + 2.3675064, + 48.8653229 + ] + ] + }, + "id": "way/1244001803" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244001804", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Métro 9", + "name:ru": "Линия 9", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:octys": "yes", + "railway:preferred_direction": "forward", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3644557, + 48.8666481 + ], + [ + 2.3646817, + 48.8665951 + ] + ] + }, + "id": "way/1244001804" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244001805", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 8", + "name:ru": "Линия 8", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3422268, + 48.8716692 + ], + [ + 2.3408931, + 48.8718836 + ], + [ + 2.3406494, + 48.8719234 + ], + [ + 2.3403827, + 48.8719612 + ] + ] + }, + "id": "way/1244001805" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244001806", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 8", + "name:ru": "Линия 8", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3403827, + 48.8719612 + ], + [ + 2.3401773, + 48.8719698 + ], + [ + 2.3400457, + 48.8719666 + ] + ] + }, + "id": "way/1244001806" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244037168", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Métro 11", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3487194, + 48.8574569 + ], + [ + 2.348573, + 48.8575012 + ], + [ + 2.3475229, + 48.8578177 + ] + ] + }, + "id": "way/1244037168" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244037169", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Métro 11", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3474653, + 48.8577236 + ], + [ + 2.3484898, + 48.8574053 + ], + [ + 2.3486096, + 48.857374 + ], + [ + 2.3487377, + 48.8573472 + ], + [ + 2.3489491, + 48.8573205 + ], + [ + 2.3492275, + 48.8572844 + ], + [ + 2.3493715, + 48.8572635 + ] + ] + }, + "id": "way/1244037169" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244037170", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-3", + "location": "underground", + "name": "Métro 11", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3475176, + 48.8577988 + ], + [ + 2.3485536, + 48.857479 + ], + [ + 2.3490199, + 48.8573433 + ], + [ + 2.3492069, + 48.8572983 + ], + [ + 2.3493715, + 48.8572635 + ], + [ + 2.3495315, + 48.8572459 + ], + [ + 2.3496936, + 48.8572434 + ], + [ + 2.3498598, + 48.857265 + ], + [ + 2.3504716, + 48.8573679 + ], + [ + 2.3508484, + 48.8574323 + ], + [ + 2.3509745, + 48.8574477 + ], + [ + 2.3510725, + 48.857463 + ], + [ + 2.3512103, + 48.8574922 + ], + [ + 2.3513271, + 48.8575214 + ], + [ + 2.3514415, + 48.8575752 + ], + [ + 2.3515512, + 48.8576597 + ], + [ + 2.3516423, + 48.8577611 + ], + [ + 2.3517115, + 48.8578908 + ], + [ + 2.3518314, + 48.8581159 + ], + [ + 2.3522492, + 48.8588897 + ], + [ + 2.3530755, + 48.860348 + ], + [ + 2.3538626, + 48.8618101 + ], + [ + 2.3540537, + 48.862165 + ], + [ + 2.3550398, + 48.8640283 + ], + [ + 2.3554131, + 48.8647078 + ], + [ + 2.3554687, + 48.8648322 + ], + [ + 2.3555036, + 48.8649476 + ], + [ + 2.3555419, + 48.8650621 + ], + [ + 2.3555714, + 48.8651415 + ], + [ + 2.3556116, + 48.8652156 + ], + [ + 2.3556572, + 48.8652773 + ], + [ + 2.3557243, + 48.8653373 + ], + [ + 2.3558343, + 48.8653885 + ], + [ + 2.3559657, + 48.8654185 + ], + [ + 2.3561079, + 48.8654291 + ], + [ + 2.3563358, + 48.8654061 + ], + [ + 2.3565987, + 48.8653497 + ] + ] + }, + "id": "way/1244037170" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244037171", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 11", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "siding", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3475229, + 48.8578177 + ], + [ + 2.3474682, + 48.8578303 + ], + [ + 2.3473583, + 48.8578506 + ], + [ + 2.3471718, + 48.8578961 + ] + ] + }, + "id": "way/1244037171" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244037172", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "name": "Métro 11", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "service": "siding", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3470272, + 48.8579367 + ], + [ + 2.3470954, + 48.8579071 + ], + [ + 2.347192, + 48.8578577 + ], + [ + 2.3472765, + 48.8578003 + ], + [ + 2.3473703, + 48.857758 + ], + [ + 2.3474653, + 48.8577236 + ] + ] + }, + "id": "way/1244037172" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244037176", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "indoor": "yes", + "layer": "-2", + "level": "-3", + "location": "underground", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3535723, + 48.8680394 + ], + [ + 2.3528282, + 48.8667156 + ], + [ + 2.3517231, + 48.8646728 + ], + [ + 2.3516992, + 48.8646345 + ], + [ + 2.3516636, + 48.864597 + ], + [ + 2.3515864, + 48.8645427 + ] + ] + }, + "id": "way/1244037176" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244037177", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-3", + "location": "underground", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "source": "STIF", + "start_date": "1908-04-21", + "tunnel": "yes", + "usage": "main", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3516274, + 48.8645175 + ], + [ + 2.3517307, + 48.864593 + ], + [ + 2.3517743, + 48.8646371 + ], + [ + 2.3518045, + 48.8646786 + ], + [ + 2.3529115, + 48.8667015 + ], + [ + 2.3536571, + 48.8680134 + ] + ] + }, + "id": "way/1244037177" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244163537", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.398681, + 48.8452529 + ], + [ + 2.3988719, + 48.8452362 + ], + [ + 2.4010636, + 48.8450483 + ], + [ + 2.401088, + 48.8450462 + ], + [ + 2.4015271, + 48.8450101 + ], + [ + 2.4016181, + 48.8449996 + ], + [ + 2.4016992, + 48.8449856 + ], + [ + 2.401763, + 48.8449708 + ], + [ + 2.4018276, + 48.8449511 + ], + [ + 2.4018788, + 48.8449288 + ], + [ + 2.401933, + 48.8448989 + ], + [ + 2.401976, + 48.8448685 + ], + [ + 2.4020117, + 48.8448298 + ], + [ + 2.40205, + 48.8447648 + ], + [ + 2.4020666, + 48.8447095 + ], + [ + 2.4020736, + 48.8446528 + ], + [ + 2.4020731, + 48.8446239 + ], + [ + 2.4020701, + 48.8445835 + ], + [ + 2.4020505, + 48.8445059 + ], + [ + 2.4020268, + 48.8444415 + ], + [ + 2.4016835, + 48.8434887 + ] + ] + }, + "id": "way/1244163537" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244163539", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3178505, + 48.8033468 + ], + [ + 2.3180698, + 48.8035983 + ], + [ + 2.3184273, + 48.8040528 + ], + [ + 2.3185435, + 48.8042927 + ], + [ + 2.3186532, + 48.8045398 + ], + [ + 2.318678, + 48.8048195 + ], + [ + 2.3186709, + 48.8050619 + ], + [ + 2.3186037, + 48.8054768 + ], + [ + 2.3184974, + 48.8058368 + ], + [ + 2.3183834, + 48.8061817 + ], + [ + 2.3183064, + 48.8065064 + ], + [ + 2.3181204, + 48.8074029 + ], + [ + 2.3178832, + 48.8085803 + ], + [ + 2.3176792, + 48.8095475 + ], + [ + 2.3176713, + 48.8095852 + ], + [ + 2.3176167, + 48.8097168 + ], + [ + 2.3174907, + 48.8098895 + ], + [ + 2.3172874, + 48.8100917 + ], + [ + 2.3169968, + 48.8102978 + ], + [ + 2.3166255, + 48.8105491 + ], + [ + 2.3163967, + 48.8107521 + ], + [ + 2.3162706, + 48.8108859 + ], + [ + 2.3161118, + 48.8111119 + ], + [ + 2.315995, + 48.8113718 + ], + [ + 2.3159319, + 48.8115386 + ], + [ + 2.3158782, + 48.8118031 + ], + [ + 2.3158852, + 48.8121568 + ], + [ + 2.3159612, + 48.812452 + ], + [ + 2.3160989, + 48.8127811 + ], + [ + 2.3164313, + 48.8133442 + ], + [ + 2.3175093, + 48.8150897 + ], + [ + 2.3188682, + 48.8172953 + ], + [ + 2.3194998, + 48.8183386 + ], + [ + 2.3197547, + 48.8187596 + ], + [ + 2.3201149, + 48.8193384 + ], + [ + 2.3205621, + 48.8200517 + ], + [ + 2.3207284, + 48.8202986 + ], + [ + 2.3209215, + 48.820507 + ], + [ + 2.3211415, + 48.8207048 + ], + [ + 2.3215009, + 48.8209397 + ], + [ + 2.3219086, + 48.8211339 + ], + [ + 2.3223699, + 48.8212981 + ], + [ + 2.3236301, + 48.8216849 + ], + [ + 2.3240646, + 48.8218191 + ], + [ + 2.3243945, + 48.8219692 + ], + [ + 2.3247164, + 48.8221547 + ], + [ + 2.3249881, + 48.8223824 + ], + [ + 2.3251544, + 48.8225572 + ], + [ + 2.3253234, + 48.8227992 + ], + [ + 2.3254549, + 48.823087 + ], + [ + 2.3255628, + 48.8234132 + ], + [ + 2.3256314, + 48.823636 + ], + [ + 2.3257402, + 48.8240297 + ], + [ + 2.325926, + 48.8247505 + ], + [ + 2.3263878, + 48.8264867 + ], + [ + 2.3265364, + 48.8269072 + ], + [ + 2.3266732, + 48.8272656 + ], + [ + 2.3268019, + 48.827557 + ], + [ + 2.3269216, + 48.8277794 + ], + [ + 2.3270771, + 48.8280178 + ], + [ + 2.3273427, + 48.8283462 + ], + [ + 2.3279099, + 48.8289907 + ], + [ + 2.3285538, + 48.8297127 + ], + [ + 2.3299143, + 48.8312695 + ], + [ + 2.33012, + 48.8315048 + ], + [ + 2.330621, + 48.8320788 + ], + [ + 2.3318668, + 48.8335558 + ], + [ + 2.3322394, + 48.833989 + ], + [ + 2.3323303, + 48.8341514 + ], + [ + 2.3323747, + 48.8343128 + ], + [ + 2.3323957, + 48.8345172 + ], + [ + 2.3324004, + 48.8347201 + ], + [ + 2.332363, + 48.8349276 + ], + [ + 2.3323043, + 48.8350955 + ], + [ + 2.3320195, + 48.8357994 + ], + [ + 2.3313793, + 48.8374786 + ], + [ + 2.3308516, + 48.8388658 + ], + [ + 2.33083, + 48.838936 + ], + [ + 2.3307658, + 48.8391447 + ], + [ + 2.330212, + 48.8406972 + ], + [ + 2.3298639, + 48.8416363 + ], + [ + 2.3298149, + 48.8417319 + ], + [ + 2.3297075, + 48.8418625 + ], + [ + 2.3295814, + 48.8419593 + ], + [ + 2.3293876, + 48.842073 + ], + [ + 2.329105, + 48.8421775 + ], + [ + 2.3289097, + 48.8422424 + ], + [ + 2.3275045, + 48.842714 + ] + ] + }, + "id": "way/1244163539" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244182541", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3443662, + 48.8536025 + ], + [ + 2.3445122, + 48.8536388 + ], + [ + 2.3447806, + 48.8536889 + ], + [ + 2.3455274, + 48.8538505 + ] + ] + }, + "id": "way/1244182541" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1244182542", + "covered": "yes", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "level": "-2", + "name": "Métro 4", + "name:ru": "Линия 4", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "railway:saet": "yes", + "ref": "4", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3455128, + 48.8538783 + ], + [ + 2.3448481, + 48.8537432 + ], + [ + 2.3443196, + 48.8536349 + ] + ] + }, + "id": "way/1244182542" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1248871701", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-2", + "location": "underground", + "name": "Métro 11", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "source": "STIF", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4154669, + 48.8795543 + ], + [ + 2.4150729, + 48.8794652 + ], + [ + 2.4134504, + 48.8791034 + ], + [ + 2.4122444, + 48.8788376 + ], + [ + 2.4113101, + 48.8786165 + ], + [ + 2.4104532, + 48.8783888 + ], + [ + 2.4099274, + 48.8782477 + ] + ] + }, + "id": "way/1248871701" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1249820122", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3950879, + 48.8476709 + ], + [ + 2.3956313, + 48.847617 + ] + ] + }, + "id": "way/1249820122" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1249820123", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "name": "Métro 6", + "oneway": "yes", + "operator": "RATP", + "railway": "subway", + "rubber_tires": "yes", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.3956415, + 48.847696 + ], + [ + 2.3951022, + 48.8477489 + ] + ] + }, + "id": "way/1249820123" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1254323107", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "railway": "subway", + "railway:track_ref": "5", + "service": "yard", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4094036, + 48.8490836 + ], + [ + 2.4093981, + 48.849098 + ], + [ + 2.4093586, + 48.8491789 + ], + [ + 2.4093183, + 48.8492355 + ] + ] + }, + "id": "way/1254323107" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1254323108", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "railway": "subway", + "railway:track_ref": "5", + "service": "yard", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4094528, + 48.8489484 + ], + [ + 2.4094311, + 48.8490101 + ] + ] + }, + "id": "way/1254323108" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1254323109", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "layer": "-1", + "railway": "subway", + "railway:track_ref": "5", + "service": "yard", + "source": "bing", + "tunnel": "yes", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4094201, + 48.8490401 + ], + [ + 2.4094036, + 48.8490836 + ] + ] + }, + "id": "way/1254323109" + }, + { + "type": "Feature", + "properties": { + "@id": "way/1254323110", + "electrified": "rail", + "frequency": "0", + "gauge": "1435", + "railway": "subway", + "railway:track_ref": "5", + "service": "yard", + "source": "bing", + "voltage": "750" + }, + "geometry": { + "type": "LineString", + "coordinates": [ + [ + 2.4094311, + 48.8490101 + ], + [ + 2.4094258, + 48.849025 + ], + [ + 2.4094201, + 48.8490401 + ] + ] + }, + "id": "way/1254323110" + } + ] +} \ No newline at end of file diff --git a/melting-pot-vue/src/assets/logo.svg b/melting-pot-vue/src/assets/logo.svg new file mode 100644 index 0000000..7565660 --- /dev/null +++ b/melting-pot-vue/src/assets/logo.svg @@ -0,0 +1 @@ + diff --git a/melting-pot-vue/src/assets/main.css b/melting-pot-vue/src/assets/main.css new file mode 100644 index 0000000..5330ec6 --- /dev/null +++ b/melting-pot-vue/src/assets/main.css @@ -0,0 +1,37 @@ +@import "node_modules/maplibre-gl/dist/maplibre-gl.css"; +@import "node_modules/vue-maplibre-gl/dist/vue-maplibre-gl.css"; +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; + padding: 3px; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/melting-pot-vue/src/components/HelloWorld.vue b/melting-pot-vue/src/components/HelloWorld.vue new file mode 100644 index 0000000..374e14d --- /dev/null +++ b/melting-pot-vue/src/components/HelloWorld.vue @@ -0,0 +1,173 @@ + + + + + \ No newline at end of file diff --git a/melting-pot-vue/src/components/HelloWorld_.vue b/melting-pot-vue/src/components/HelloWorld_.vue new file mode 100644 index 0000000..b4f59b4 --- /dev/null +++ b/melting-pot-vue/src/components/HelloWorld_.vue @@ -0,0 +1,83 @@ + + + + + \ No newline at end of file diff --git a/melting-pot-vue/src/components/TheWelcome.vue b/melting-pot-vue/src/components/TheWelcome.vue new file mode 100644 index 0000000..49d8f73 --- /dev/null +++ b/melting-pot-vue/src/components/TheWelcome.vue @@ -0,0 +1,88 @@ + + + diff --git a/melting-pot-vue/src/components/WelcomeItem.vue b/melting-pot-vue/src/components/WelcomeItem.vue new file mode 100644 index 0000000..6d7086a --- /dev/null +++ b/melting-pot-vue/src/components/WelcomeItem.vue @@ -0,0 +1,87 @@ + + + diff --git a/melting-pot-vue/src/components/__tests__/HelloWorld.spec.ts b/melting-pot-vue/src/components/__tests__/HelloWorld.spec.ts new file mode 100644 index 0000000..2533202 --- /dev/null +++ b/melting-pot-vue/src/components/__tests__/HelloWorld.spec.ts @@ -0,0 +1,11 @@ +import { describe, it, expect } from 'vitest' + +import { mount } from '@vue/test-utils' +import HelloWorld from '../HelloWorld.vue' + +describe('HelloWorld', () => { + it('renders properly', () => { + const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) + expect(wrapper.text()).toContain('Hello Vitest') + }) +}) diff --git a/melting-pot-vue/src/components/icons/IconCommunity.vue b/melting-pot-vue/src/components/icons/IconCommunity.vue new file mode 100644 index 0000000..2dc8b05 --- /dev/null +++ b/melting-pot-vue/src/components/icons/IconCommunity.vue @@ -0,0 +1,7 @@ + diff --git a/melting-pot-vue/src/components/icons/IconDocumentation.vue b/melting-pot-vue/src/components/icons/IconDocumentation.vue new file mode 100644 index 0000000..6d4791c --- /dev/null +++ b/melting-pot-vue/src/components/icons/IconDocumentation.vue @@ -0,0 +1,7 @@ + diff --git a/melting-pot-vue/src/components/icons/IconEcosystem.vue b/melting-pot-vue/src/components/icons/IconEcosystem.vue new file mode 100644 index 0000000..c3a4f07 --- /dev/null +++ b/melting-pot-vue/src/components/icons/IconEcosystem.vue @@ -0,0 +1,7 @@ + diff --git a/melting-pot-vue/src/components/icons/IconSupport.vue b/melting-pot-vue/src/components/icons/IconSupport.vue new file mode 100644 index 0000000..7452834 --- /dev/null +++ b/melting-pot-vue/src/components/icons/IconSupport.vue @@ -0,0 +1,7 @@ + diff --git a/melting-pot-vue/src/components/icons/IconTooling.vue b/melting-pot-vue/src/components/icons/IconTooling.vue new file mode 100644 index 0000000..660598d --- /dev/null +++ b/melting-pot-vue/src/components/icons/IconTooling.vue @@ -0,0 +1,19 @@ + + diff --git a/melting-pot-vue/src/main.ts b/melting-pot-vue/src/main.ts new file mode 100644 index 0000000..1d224cf --- /dev/null +++ b/melting-pot-vue/src/main.ts @@ -0,0 +1,17 @@ +import './assets/main.css' + +import { createApp } from 'vue' +import { createPinia } from 'pinia' + +import VueMaplibreGl from 'vue-maplibre-gl' + +import App from './App.vue' +import router from './router' + +const app = createApp(App) + +app.use(createPinia()) +app.use(router) +app.use(VueMaplibreGl) + +app.mount('#app') diff --git a/melting-pot-vue/src/router/index.ts b/melting-pot-vue/src/router/index.ts new file mode 100644 index 0000000..a49ae50 --- /dev/null +++ b/melting-pot-vue/src/router/index.ts @@ -0,0 +1,23 @@ +import { createRouter, createWebHistory } from 'vue-router' +import HomeView from '../views/HomeView.vue' + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: '/', + name: 'home', + component: HomeView + }, + { + path: '/about', + name: 'about', + // route level code-splitting + // this generates a separate chunk (About.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import('../views/AboutView.vue') + } + ] +}) + +export default router diff --git a/melting-pot-vue/src/services/osmtogeojson.js b/melting-pot-vue/src/services/osmtogeojson.js new file mode 100644 index 0000000..c46ca3a --- /dev/null +++ b/melting-pot-vue/src/services/osmtogeojson.js @@ -0,0 +1 @@ +!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n;n="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,n.osmtogeojson=e()}}(function(){return function e(n,t,r){function o(i,s){if(!t[i]){if(!n[i]){var l="function"==typeof require&&require;if(!s&&l)return l(i,!0);if(a)return a(i,!0);var u=new Error("Cannot find module '"+i+"'");throw u.code="MODULE_NOT_FOUND",u}var c=t[i]={exports:{}};n[i][0].call(c.exports,function(e){var t=n[i][1][e];return o(t?t:e)},c,c.exports,e,n,t,r)}return t[i].exports}for(var a="function"==typeof require&&require,i=0;i0});y.center&&n(y),g?a(y):y.bounds&&t(y)}return s(i,l,u)}function i(e){function n(e,n,t){e.hasAttribute(t)&&(n[t]=e.getAttribute(t))}function t(e,t){var o=r.clone(e);n(t,o,"lat"),n(t,o,"lon"),o.__is_center_placeholder=!0,l.push(o)}function o(e,n){function t(e,n,t){var r={type:"node",id:"_"+o.type+"/"+o.id+"bounds"+t,lat:e,lon:n};o.nodes.push(r.id),l.push(r)}var o=r.clone(e);o.nodes=[],t(n.getAttribute("minlat"),n.getAttribute("minlon"),1),t(n.getAttribute("maxlat"),n.getAttribute("minlon"),2),t(n.getAttribute("maxlat"),n.getAttribute("maxlon"),3),t(n.getAttribute("minlat"),n.getAttribute("maxlon"),4),o.nodes.push(o.nodes[0]),o.__is_bounds_placeholder=!0,u.push(o)}function a(e,n){function t(e,n,t){var r={type:"node",id:t,lat:e,lon:n,__is_uninteresting:!0};return l.push(r),r.id}r.isArray(e.nodes)||(e.nodes=[],r.each(n,function(n,t){e.nodes.push("_anonymous@"+n.getAttribute("lat")+"/"+n.getAttribute("lon"))})),r.each(n,function(n,r){n.getAttribute("lat")&&t(n.getAttribute("lat"),n.getAttribute("lon"),e.nodes[r])})}function i(e,n){function t(e,n,t){var r={type:"node",id:t,lat:e,lon:n};l.push(r)}function o(e,n){function t(e,n){var t={type:"node",id:"_anonymous@"+e+"/"+n,lat:e,lon:n,__is_uninteresting:!0};o.nodes.push(t.id),l.push(t)}if(!u.some(function(e){return"way"==e.type&&e.id==n})){var o={type:"way",id:n,nodes:[]};r.each(e,function(e){e.getAttribute("lat")?t(e.getAttribute("lat"),e.getAttribute("lon")):o.nodes.push(void 0)}),u.push(o)}}r.each(n,function(n,r){"node"==e.members[r].type?n.getAttribute("lat")&&t(n.getAttribute("lat"),n.getAttribute("lon"),e.members[r].ref):"way"==e.members[r].type&&n.getElementsByTagName("nd").length>0&&(e.members[r].ref="_fullGeom"+e.members[r].ref,o(n.getElementsByTagName("nd"),e.members[r].ref))})}var l=new Array,u=new Array,c=new Array;r.each(e.getElementsByTagName("node"),function(e,t){var o={};r.each(e.getElementsByTagName("tag"),function(e){o[e.getAttribute("k")]=e.getAttribute("v")});var a={type:"node"};n(e,a,"id"),n(e,a,"lat"),n(e,a,"lon"),n(e,a,"version"),n(e,a,"timestamp"),n(e,a,"changeset"),n(e,a,"uid"),n(e,a,"user"),r.isEmpty(o)||(a.tags=o),l.push(a)});var f,p;return r.each(e.getElementsByTagName("way"),function(e,i){var s={},l=[];r.each(e.getElementsByTagName("tag"),function(e){s[e.getAttribute("k")]=e.getAttribute("v")});var c=!1;r.each(e.getElementsByTagName("nd"),function(e,n){var t;(t=e.getAttribute("ref"))&&(l[n]=t),!c&&e.getAttribute("lat")&&(c=!0)});var y={type:"way"};n(e,y,"id"),n(e,y,"version"),n(e,y,"timestamp"),n(e,y,"changeset"),n(e,y,"uid"),n(e,y,"user"),l.length>0&&(y.nodes=l),r.isEmpty(s)||(y.tags=s),(f=e.getElementsByTagName("center")[0])&&t(y,f),c?a(y,e.getElementsByTagName("nd")):(p=e.getElementsByTagName("bounds")[0])&&o(y,p),u.push(y)}),r.each(e.getElementsByTagName("relation"),function(e,a){var s={},l=[];r.each(e.getElementsByTagName("tag"),function(e){s[e.getAttribute("k")]=e.getAttribute("v")});var u=!1;r.each(e.getElementsByTagName("member"),function(e,t){l[t]={},n(e,l[t],"ref"),n(e,l[t],"role"),n(e,l[t],"type"),(!u&&"node"==l[t].type&&e.getAttribute("lat")||"way"==l[t].type&&e.getElementsByTagName("nd").length>0)&&(u=!0)});var y={type:"relation"};n(e,y,"id"),n(e,y,"version"),n(e,y,"timestamp"),n(e,y,"changeset"),n(e,y,"uid"),n(e,y,"user"),l.length>0&&(y.members=l),r.isEmpty(s)||(y.tags=s),(f=e.getElementsByTagName("center")[0])&&t(y,f),u?i(y,e.getElementsByTagName("member")):(p=e.getElementsByTagName("bounds")[0])&&o(y,p),c.push(y)}),s(l,u,c)}function s(e,t,a){function i(e,t){if("object"!=typeof t&&(t={}),"function"==typeof n.uninterestingTags)return!n.uninterestingTags(e,t);for(var r in e)if(n.uninterestingTags[r]!==!0&&t[r]!==!0&&t[r]!==e[r])return!0;return!1}function s(e){var n={timestamp:e.timestamp,version:e.version,changeset:e.changeset,user:e.user,uid:e.uid};for(var t in n)void 0===n[t]&&delete n[t];return n}function u(e,t){function o(e){for(var t,r,o,a,i,s,l=function(e){return e[0]},f=function(e){return e[e.length-1]},p=[];e.length;)for(t=e.pop().nodes.slice(),p.push(t);e.length&&l(t)!==f(t);){for(r=l(t),o=f(t),a=0;ar!=c>r&&t<(u-s)*(r-l)/(c-l)+s;f&&(o=!o)}return o};for(e=o(e),n=0;n3&&"function"==typeof n[t-2])var o=f(n[--t-1],n[t--],2);else t>2&&"function"==typeof n[t-1]&&(o=n[--t]);for(var s=i(arguments,1,t),l=-1,u=r(),c=r();++l2?g(e,17,i(arguments,2),null,n):g(e,1,null,null,n)}function T(e){return e}function N(){}var S=[],C={},M=40,L=/\w*$/,B=/^\s*function[ \n\r\t]+\w/,F=/\bthis\b/,I=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],D="[object Arguments]",R="[object Array]",G="[object Boolean]",H="[object Date]",U="[object Error]",W="[object Function]",q="[object Number]",$="[object Object]",X="[object RegExp]",V="[object String]",z={};z[W]=!1,z[D]=z[R]=z[G]=z[H]=z[q]=z[$]=z[X]=z[V]=!0;var J={configurable:!1,enumerable:!1,value:null,writable:!1},K={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Q={boolean:!1,function:!0,object:!0,number:!1,string:!1,undefined:!1},Y=Q[typeof window]&&window||this,Z=Q[typeof t]&&t&&!t.nodeType&&t,ee=Q[typeof n]&&n&&!n.nodeType&&n,ne=ee&&ee.exports===Z&&Z,te=Q[typeof e]&&e;!te||te.global!==te&&te.window!==te||(Y=te);var re=[],oe=Error.prototype,ae=Object.prototype,ie=String.prototype,se=ae.toString,le=RegExp("^"+String(se).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),ue=Function.prototype.toString,ce=b(ce=Object.getPrototypeOf)&&ce,fe=ae.hasOwnProperty,pe=re.push,ye=ae.propertyIsEnumerable,ge=re.unshift,de=function(){try{var e={},n=b(n=Object.defineProperty)&&n,t=n(e,e,e)&&n}catch(e){}return t}(),be=b(be=Object.create)&&be,me=b(me=Array.isArray)&&me,he=b(he=Object.keys)&&he,ve={};ve[R]=Array,ve[G]=Boolean,ve[H]=Date,ve[W]=Function,ve[$]=Object,ve[q]=Number,ve[X]=RegExp,ve[V]=String;var we={};we[R]=we[H]=we[q]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},we[G]=we[V]={constructor:!0,toString:!0,valueOf:!0},we[U]=we[W]=we[X]={constructor:!0,toString:!0},we[$]={constructor:!0},function(){for(var e=I.length;e--;){var n=I[e];for(var t in we)fe.call(we,t)&&!fe.call(we[t],n)&&(we[t][n]=!1)}}();var _e=s.support={};!function(){var e=function(){this.x=1},n={0:1,length:1},t=[];e.prototype={valueOf:1,y:1};for(var r in new e)t.push(r);for(r in arguments);_e.argsClass=se.call(arguments)==D,_e.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_e.enumErrorProps=ye.call(oe,"message")||ye.call(oe,"name"),_e.enumPrototypes=ye.call(e,"prototype"),_e.funcDecomp=!b(Y.WinRTError)&&F.test(function(){return this}),_e.funcNames="string"==typeof Function.name,_e.nonEnumArgs=0!=r,_e.nonEnumShadows=!/valueOf/.test(t),_e.ownLast="x"!=t[0],_e.spliceObjects=(re.splice.call(n,0,1),!n[0]),_e.unindexedChars="x"[0]+Object("x")[0]!="xx";try{_e.nodeClass=!(se.call(document)==$&&!({toString:0}+""))}catch(e){_e.nodeClass=!0}}(1);var xe=function(e){var n="var index, iterable = "+e.firstArg+", result = "+e.init+";\nif (!iterable) return result;\n"+e.top+";";e.array?(n+="\nvar length = iterable.length; index = -1;\nif ("+e.array+") { ",_e.unindexedChars&&(n+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),n+="\n while (++index < length) {\n "+e.loop+";\n }\n}\nelse { "):_e.nonEnumArgs&&(n+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+e.loop+";\n }\n } else { "),_e.enumPrototypes&&(n+="\n var skipProto = typeof iterable == 'function';\n "),_e.enumErrorProps&&(n+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var t=[];if(_e.enumPrototypes&&t.push('!(skipProto && index == "prototype")'),_e.enumErrorProps&&t.push('!(skipErrorProps && (index == "message" || index == "name"))'),e.useHas&&e.keys)n+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",t.length&&(n+=" if ("+t.join(" && ")+") {\n "),n+=e.loop+"; ",t.length&&(n+="\n }"),n+="\n } ";else if(n+="\n for (index in iterable) {\n",e.useHas&&t.push("hasOwnProperty.call(iterable, index)"),t.length&&(n+=" if ("+t.join(" && ")+") {\n "),n+=e.loop+"; ",t.length&&(n+="\n }"),n+="\n } ",_e.nonEnumShadows){for(n+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;k<7;k++)n+="\n index = '"+e.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",e.useHas||(n+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),n+=") {\n "+e.loop+";\n } ";n+="\n } "}return(e.array||_e.nonEnumArgs)&&(n+="\n}"),n+=e.bottom+";\nreturn result"};be||(c=function(){function e(){}return function(n){if(x(n)){e.prototype=n;var t=new e;e.prototype=null}return t||Y.Object()}}());var ke=de?function(e,n){J.value=n,de(e,"__bindData__",J)}:N;_e.argsClass||(h=function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&fe.call(e,"callee")&&!ye.call(e,"callee")||!1});var Ae=me||function(e){return e&&"object"==typeof e&&"number"==typeof e.length&&se.call(e)==R||!1},je=d({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),Ee=he?function(e){return x(e)?_e.enumPrototypes&&"function"==typeof e||_e.nonEnumArgs&&e.length&&h(e)?je(e):he(e):[]}:je,Pe={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:Ee,loop:"if (callback(iterable[index], index, collection) === false) return result"},Oe={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:Ee,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},Te={top:"if (!objectTypes[typeof iterable]) return result;\n"+Pe.top,array:!1},Ne=d(Pe),Se=d(Oe,{top:Oe.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),Ce=d(Pe,Te,{useHas:!1}),Me=d(Pe,Te);_(/x/)&&(_=function(e){return"function"==typeof e&&se.call(e)==W});var Le=ce?function(e){if(!e||se.call(e)!=$||!_e.argsClass&&h(e))return!1;var n=e.valueOf,t=b(n)&&(t=ce(n))&&ce(t);return t?e==t||ce(e)==t:m(e)}:m;s.assign=Se,s.bind=O,s.compact=P,s.forEach=E,s.forIn=Ce,s.forOwn=Me,s.keys=Ee,s.merge=j,s.each=E,s.extend=Se,s.clone=v,s.identity=T,s.isArguments=h,s.isArray=Ae,s.isEmpty=w,s.isFunction=_,s.isObject=x,s.isPlainObject=Le,s.isString=A,s.noop=N,s.VERSION="2.4.1",Z&&ee&&ne&&((ee.exports=s)._=s)}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],3:[function(e,n,t){function r(e,n){switch(e&&e.type||null){case"FeatureCollection":return e.features=e.features.map(o(r,n)),e;case"Feature":return e.geometry=r(e.geometry,n),e;case"Polygon":case"MultiPolygon":return a(e,n);default:return e}}function o(e,n){return function(t){return e(t,n)}}function a(e,n){return"Polygon"===e.type?e.coordinates=i(e.coordinates,n):"MultiPolygon"===e.type&&(e.coordinates=e.coordinates.map(o(i,n))),e}function i(e,n){n=!!n,e[0]=s(e[0],!n);for(var t=1;t=0}var u=e("geojson-area");n.exports=r},{"geojson-area":4}],4:[function(e,n,t){function r(e){if("Polygon"===e.type)return o(e.coordinates);if("MultiPolygon"===e.type){for(var n=0,t=0;t0){n+=Math.abs(a(e[0]));for(var t=1;t2){for(var t,r,o=0;o { + const count = ref(0) + const doubleCount = computed(() => count.value * 2) + function increment() { + count.value++ + } + + return { count, doubleCount, increment } +}) diff --git a/melting-pot-vue/src/views/AboutView.vue b/melting-pot-vue/src/views/AboutView.vue new file mode 100644 index 0000000..756ad2a --- /dev/null +++ b/melting-pot-vue/src/views/AboutView.vue @@ -0,0 +1,15 @@ + + + diff --git a/melting-pot-vue/src/views/HomeView.vue b/melting-pot-vue/src/views/HomeView.vue new file mode 100644 index 0000000..d5c0217 --- /dev/null +++ b/melting-pot-vue/src/views/HomeView.vue @@ -0,0 +1,9 @@ + + + diff --git a/melting-pot-vue/tsconfig.app.json b/melting-pot-vue/tsconfig.app.json new file mode 100644 index 0000000..e14c754 --- /dev/null +++ b/melting-pot-vue/tsconfig.app.json @@ -0,0 +1,14 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/melting-pot-vue/tsconfig.json b/melting-pot-vue/tsconfig.json new file mode 100644 index 0000000..5304731 --- /dev/null +++ b/melting-pot-vue/tsconfig.json @@ -0,0 +1,17 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.vitest.json" + } + ], + "compilerOptions": { + "module": "NodeNext" + } +} diff --git a/melting-pot-vue/tsconfig.node.json b/melting-pot-vue/tsconfig.node.json new file mode 100644 index 0000000..f094063 --- /dev/null +++ b/melting-pot-vue/tsconfig.node.json @@ -0,0 +1,19 @@ +{ + "extends": "@tsconfig/node20/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*" + ], + "compilerOptions": { + "composite": true, + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/melting-pot-vue/tsconfig.vitest.json b/melting-pot-vue/tsconfig.vitest.json new file mode 100644 index 0000000..571995d --- /dev/null +++ b/melting-pot-vue/tsconfig.vitest.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.app.json", + "exclude": [], + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.vitest.tsbuildinfo", + + "lib": [], + "types": ["node", "jsdom"] + } +} diff --git a/melting-pot-vue/vite.config.ts b/melting-pot-vue/vite.config.ts new file mode 100644 index 0000000..5c45e1d --- /dev/null +++ b/melting-pot-vue/vite.config.ts @@ -0,0 +1,16 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + } + } +}) diff --git a/melting-pot-vue/vitest.config.ts b/melting-pot-vue/vitest.config.ts new file mode 100644 index 0000000..10067d5 --- /dev/null +++ b/melting-pot-vue/vitest.config.ts @@ -0,0 +1,14 @@ +import { fileURLToPath } from 'node:url' +import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' +import viteConfig from './vite.config' + +export default mergeConfig( + viteConfig, + defineConfig({ + test: { + environment: 'jsdom', + exclude: [...configDefaults.exclude, 'e2e/*'], + root: fileURLToPath(new URL('./', import.meta.url)) + } + }) +)