diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 78207169..3c566e9c 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -4,6 +4,7 @@ on: push: branches: - main + - beta jobs: deploy: @@ -14,14 +15,14 @@ jobs: steps: # Checks out a copy of your repository. - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 # Builds code using bazelisk and copies the site folder out of the bazel symlinked dir. - name: Build the site uses: "docker://mattinsler/bazelisk:latest" with: args: bash -c "bazel build site/... && cp -r --dereference bazel-bin/site ./deploy" - + # Deploy the site to Cloudflare. - name: Publish uses: cloudflare/pages-action@1 diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 37630021..3a47f570 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -10,7 +10,7 @@ jobs: steps: # Checks out a copy of your repository. - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 # Builds code and runs the tests using Bazelisk. - name: Run tests diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index a260da7e..764cd187 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1924,7 +1924,7 @@ "general": { "bzlTransitiveDigest": "1AgLnqJKLQ3oVnMjCFAnZu9xkVBlccfPNkYRAnC0R10=", "accumulatedFileDigests": { - "@@//:pnpm-lock.yaml": "0bb0e652a9b5a4420950c8e55acd87cd1786b1027a41305b7ccdc0b113705316" + "@@//:pnpm-lock.yaml": "6aba6df0ea3b6c452d7afaf56acd5f6cee8b3961b12a115d72483ea540ff43af" }, "envVariables": {}, "generatedRepoSpecs": { @@ -3035,7 +3035,7 @@ "2.2.0" ], "body-parser": [ - "1.20.1" + "1.20.2" ], "bonjour-service": [ "1.2.1" @@ -3113,7 +3113,7 @@ "1.0.5" ], "cookie": [ - "0.5.0" + "0.6.0" ], "cookie-signature": [ "1.0.6" @@ -3243,7 +3243,7 @@ "5.1.1" ], "express": [ - "4.18.2" + "4.19.2" ], "fast-deep-equal": [ "3.1.3" @@ -3270,7 +3270,7 @@ "5.0.2" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "foreground-child": [ "3.1.1" @@ -3618,7 +3618,7 @@ "1.2.1" ], "raw-body": [ - "2.5.1" + "2.5.2" ], "readable-stream": [ "2.3.8", @@ -3819,7 +3819,7 @@ "5.1.4_-975075900" ], "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" + "7.1.1_webpack_5.90.3" ], "webpack-dev-server": [ "5.0.2_-359619668" @@ -5774,6 +5774,31 @@ ] } }, + "npm__at_sinonjs_commons__3.0.1": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_sinonjs_commons__3.0.1", + "package": "@sinonjs/commons", + "version": "3.0.1", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "url": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__ws__8.16.0__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -6201,7 +6226,7 @@ "2.2.0" ], "body-parser": [ - "1.20.1" + "1.20.2" ], "bonjour-service": [ "1.2.1" @@ -6269,7 +6294,7 @@ "1.0.5" ], "cookie": [ - "0.5.0" + "0.6.0" ], "cookie-signature": [ "1.0.6" @@ -6372,7 +6397,7 @@ "5.1.1" ], "express": [ - "4.18.2" + "4.19.2" ], "fast-deep-equal": [ "3.1.3" @@ -6399,7 +6424,7 @@ "5.0.2" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "foreground-child": [ "3.1.1" @@ -6714,7 +6739,7 @@ "1.2.1" ], "raw-body": [ - "2.5.1" + "2.5.2" ], "readable-stream": [ "2.3.8", @@ -6906,7 +6931,7 @@ "5.1.4_-975075900" ], "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" + "7.1.1_webpack_5.90.3" ], "webpack-dev-server": [ "5.0.2_-359619668" @@ -8179,6 +8204,40 @@ ] } }, + "npm__at_sinonjs_fake-timers__11.2.2__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_sinonjs_fake-timers__11.2.2__links", + "package": "@sinonjs/fake-timers", + "version": "11.2.2", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "@sinonjs/commons": "3.0.1" + }, + "transitive_closure": { + "@sinonjs/commons": [ + "3.0.1" + ], + "@sinonjs/fake-timers": [ + "11.2.2" + ], + "type-detect": [ + "4.0.8" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__array-flatten__1.1.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -10264,31 +10323,6 @@ "generate_bzl_library_targets": false } }, - "npm__webpack-dev-middleware__7.0.0__webpack_5.90.3": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__webpack-dev-middleware__7.0.0__webpack_5.90.3", - "package": "webpack-dev-middleware", - "version": "7.0.0_webpack_5.90.3", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-tZ5hqsWwww/8DislmrzXE3x+4f+v10H1z57mA2dWFrILb4i3xX+dPhTkcdR0DLyQztrhF2AUmO5nN085UYjd/Q==", - "url": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.0.0.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, "npm__at_types_eslint-scope__3.7.7": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -10890,6 +10924,31 @@ "generate_bzl_library_targets": false } }, + "npm__path-to-regexp__6.2.2": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__path-to-regexp__6.2.2", + "package": "path-to-regexp", + "version": "6.2.2", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==", + "url": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__resolve-alpn__1.2.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -11177,6 +11236,45 @@ "generate_bzl_library_targets": false } }, + "npm__at_sinonjs_samsam__8.0.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_sinonjs_samsam__8.0.0__links", + "package": "@sinonjs/samsam", + "version": "8.0.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "@sinonjs/commons": "2.0.0", + "lodash.get": "4.4.2", + "type-detect": "4.0.8" + }, + "transitive_closure": { + "@sinonjs/commons": [ + "2.0.0" + ], + "@sinonjs/samsam": [ + "8.0.0" + ], + "lodash.get": [ + "4.4.2" + ], + "type-detect": [ + "4.0.8" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__at_babel_highlight__7.23.4": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -12145,6 +12243,32 @@ ] } }, + "npm__lodash.get__4.4.2__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__lodash.get__4.4.2__links", + "package": "lodash.get", + "version": "4.4.2", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "lodash.get": [ + "4.4.2" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__deep-eql__4.1.3": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -12328,6 +12452,31 @@ ] } }, + "npm__at_types_sinonjs__fake-timers__8.1.5": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_types_sinonjs__fake-timers__8.1.5", + "package": "@types/sinonjs__fake-timers", + "version": "8.1.5", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", + "url": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__es-module-lexer__1.4.1__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -13708,6 +13857,31 @@ "generate_bzl_library_targets": false } }, + "npm__diff__5.2.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__diff__5.2.0", + "package": "diff", + "version": "5.2.0", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "url": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__at_babel_plugin-transform-optional-chaining__7.23.4__at_babel_core_7.23.9": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -14493,31 +14667,6 @@ "generate_bzl_library_targets": false } }, - "npm__cookie__0.5.0": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__cookie__0.5.0", - "package": "cookie", - "version": "0.5.0", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "url": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, "npm__at_types_http-proxy__1.17.14": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -15169,7 +15318,7 @@ "link_packages": {}, "deps": { "eventemitter3": "4.0.7", - "follow-redirects": "1.15.5", + "follow-redirects": "1.15.6", "requires-port": "1.0.0" }, "transitive_closure": { @@ -15177,7 +15326,7 @@ "4.0.7" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "http-proxy": [ "1.18.1" @@ -16286,6 +16435,37 @@ "generate_bzl_library_targets": false } }, + "npm__at_sinonjs_commons__3.0.1__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_sinonjs_commons__3.0.1__links", + "package": "@sinonjs/commons", + "version": "3.0.1", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "type-detect": "4.0.8" + }, + "transitive_closure": { + "@sinonjs/commons": [ + "3.0.1" + ], + "type-detect": [ + "4.0.8" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__http-errors__2.0.0__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -16441,6 +16621,32 @@ ] } }, + "npm__follow-redirects__1.15.6__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__follow-redirects__1.15.6__links", + "package": "follow-redirects", + "version": "1.15.6", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "follow-redirects": [ + "1.15.6" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__ansi-colors__4.1.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -17153,6 +17359,31 @@ ] } }, + "npm__at_sinonjs_commons__2.0.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_sinonjs_commons__2.0.0", + "package": "@sinonjs/commons", + "version": "2.0.0", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "url": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__react-dom__16.14.0__react_16.14.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -18818,31 +19049,6 @@ ] } }, - "npm__express__4.18.2": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__express__4.18.2", - "package": "express", - "version": "4.18.2", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "url": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, "npm__ansi-regex__6.0.1__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -19970,20 +20176,20 @@ ] } }, - "npm__cookie__0.5.0__links": { + "npm__at_types_sinonjs__fake-timers__8.1.5__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__cookie__0.5.0__links", - "package": "cookie", - "version": "0.5.0", + "name": "aspect_rules_js~1.35.0~npm~npm__at_types_sinonjs__fake-timers__8.1.5__links", + "package": "@types/sinonjs__fake-timers", + "version": "8.1.5", "dev": false, "root_package": "", "link_packages": {}, "deps": {}, "transitive_closure": { - "cookie": [ - "0.5.0" + "@types/sinonjs__fake-timers": [ + "8.1.5" ] }, "lifecycle_build_target": false, @@ -19996,31 +20202,6 @@ ] } }, - "npm__use-sync-external-store__1.2.0__react_16.14.0": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__use-sync-external-store__1.2.0__react_16.14.0", - "package": "use-sync-external-store", - "version": "1.2.0_react_16.14.0", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "url": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, "npm__entities__2.2.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -20718,6 +20899,32 @@ "generate_bzl_library_targets": false } }, + "npm__diff__5.2.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__diff__5.2.0__links", + "package": "diff", + "version": "5.2.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "diff": [ + "5.2.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__ms__2.0.0__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -21507,6 +21714,31 @@ ] } }, + "npm__at_sinonjs_samsam__8.0.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_sinonjs_samsam__8.0.0", + "package": "@sinonjs/samsam", + "version": "8.0.0", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", + "url": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__brace-expansion__2.0.1__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -23005,67 +23237,6 @@ ] } }, - "npm__raw-body__2.5.1__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__raw-body__2.5.1__links", - "package": "raw-body", - "version": "2.5.1", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "transitive_closure": { - "bytes": [ - "3.1.2" - ], - "depd": [ - "2.0.0" - ], - "http-errors": [ - "2.0.0" - ], - "iconv-lite": [ - "0.4.24" - ], - "inherits": [ - "2.0.4" - ], - "raw-body": [ - "2.5.1" - ], - "safer-buffer": [ - "2.1.2" - ], - "setprototypeof": [ - "1.2.0" - ], - "statuses": [ - "2.0.1" - ], - "toidentifier": [ - "1.0.1" - ], - "unpipe": [ - "1.0.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, "npm__at_babel_plugin-transform-template-literals__7.23.3__at_babel_core_7.23.9": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -23319,6 +23490,32 @@ ] } }, + "npm__cookie__0.6.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__cookie__0.6.0__links", + "package": "cookie", + "version": "0.6.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "cookie": [ + "0.6.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__color-name__1.1.4__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -23546,35 +23743,6 @@ "generate_bzl_library_targets": false } }, - "npm__mobx__6.12.0": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__mobx__6.12.0", - "package": "mobx", - "version": "6.12.0", - "root_package": "", - "link_workspace": "", - "link_packages": { - "": [ - "mobx" - ] - }, - "integrity": "sha512-Mn6CN6meXEnMa0a5u6a5+RKrqRedHBhZGd15AWLk9O6uFY4KYHzImdt8JI8WODo1bjTSRnwXhJox+FCUZhCKCQ==", - "url": "https://registry.npmjs.org/mobx/-/mobx-6.12.0.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, "npm__at_babel_plugin-syntax-import-assertions__7.23.3__at_babel_core_7.23.9__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -24712,31 +24880,6 @@ ] } }, - "npm__mobx-react-lite__4.0.5__-901741053": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__mobx-react-lite__4.0.5__-901741053", - "package": "mobx-react-lite", - "version": "4.0.5_-901741053", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-StfB2wxE8imKj1f6T8WWPf4lVMx3cYH9Iy60bbKXEs21+HQ4tvvfIBZfSmMXgQAefi8xYEwQIz4GN9s0d2h7dg==", - "url": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-4.0.5.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, "npm__glob-to-regexp__0.4.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -25621,18 +25764,18 @@ ] } }, - "npm__body-parser__1.20.1": { + "npm__body-parser__1.20.2": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__body-parser__1.20.1", + "name": "aspect_rules_js~1.35.0~npm~npm__body-parser__1.20.2", "package": "body-parser", - "version": "1.20.1", + "version": "1.20.2", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "url": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "url": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", "commit": "", "patch_args": [], "patches": [], @@ -25710,308 +25853,1281 @@ ] } }, - "npm__unicode-property-aliases-ecmascript__2.1.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__unicode-property-aliases-ecmascript__2.1.0__links", - "package": "unicode-property-aliases-ecmascript", - "version": "2.1.0", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": { - "unicode-property-aliases-ecmascript": [ - "2.1.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__at_babel_generator__7.23.6": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_generator__7.23.6", - "package": "@babel/generator", - "version": "7.23.6", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "url": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__jsesc__0.5.0": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__jsesc__0.5.0", - "package": "jsesc", - "version": "0.5.0", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "url": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__pathval__1.1.1": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__pathval__1.1.1", - "package": "pathval", - "version": "1.1.1", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "url": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__at_jridgewell_resolve-uri__3.1.2__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_jridgewell_resolve-uri__3.1.2__links", - "package": "@jridgewell/resolve-uri", - "version": "3.1.2", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": { - "@jridgewell/resolve-uri": [ - "3.1.2" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__growl__1.10.5": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__growl__1.10.5", - "package": "growl", - "version": "1.10.5", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "url": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__is-extglob__2.1.1": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__is-extglob__2.1.1", - "package": "is-extglob", - "version": "2.1.1", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "url": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__postcss-selector-parser__6.0.15": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__postcss-selector-parser__6.0.15", - "package": "postcss-selector-parser", - "version": "6.0.15", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", - "url": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__encodeurl__1.0.2__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__encodeurl__1.0.2__links", - "package": "encodeurl", - "version": "1.0.2", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": { - "encodeurl": [ - "1.0.2" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__update-browserslist-db__1.0.13__browserslist_4.23.0__links": { + "npm__webpack-dev-middleware__7.1.1__webpack_5.90.3__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__update-browserslist-db__1.0.13__browserslist_4.23.0__links", - "package": "update-browserslist-db", - "version": "1.0.13_browserslist_4.23.0", + "name": "aspect_rules_js~1.35.0~npm~npm__webpack-dev-middleware__7.1.1__webpack_5.90.3__links", + "package": "webpack-dev-middleware", + "version": "7.1.1_webpack_5.90.3", "dev": false, "root_package": "", "link_packages": {}, "deps": { - "browserslist": "4.23.0", - "escalade": "3.1.2", - "picocolors": "1.0.0" + "colorette": "2.0.20", + "memfs": "4.7.7", + "mime-types": "2.1.35", + "on-finished": "2.4.1", + "range-parser": "1.2.1", + "schema-utils": "4.2.0", + "webpack": "5.90.3_webpack-cli_5.1.4" }, "transitive_closure": { - "browserslist": [ - "4.23.0" + "@discoveryjs/json-ext": [ + "0.5.7" ], - "caniuse-lite": [ - "1.0.30001589" + "@isaacs/cliui": [ + "8.0.2" ], - "electron-to-chromium": [ - "1.4.681" + "@jridgewell/gen-mapping": [ + "0.3.3" ], - "escalade": [ + "@jridgewell/resolve-uri": [ "3.1.2" ], - "node-releases": [ - "2.0.14" + "@jridgewell/set-array": [ + "1.1.2" ], - "picocolors": [ - "1.0.0" + "@jridgewell/source-map": [ + "0.3.5" ], - "update-browserslist-db": [ - "1.0.13_browserslist_4.23.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__terser-webpack-plugin__5.3.10__webpack_5.90.3": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__terser-webpack-plugin__5.3.10__webpack_5.90.3", - "package": "terser-webpack-plugin", - "version": "5.3.10_webpack_5.90.3", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "url": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__minimist__1.2.8": { + "@jridgewell/sourcemap-codec": [ + "1.4.15" + ], + "@jridgewell/trace-mapping": [ + "0.3.22" + ], + "@leichtgewicht/ip-codec": [ + "2.0.4" + ], + "@pkgjs/parseargs": [ + "0.11.0" + ], + "@types/body-parser": [ + "1.19.5" + ], + "@types/bonjour": [ + "3.5.13" + ], + "@types/connect": [ + "3.4.38" + ], + "@types/connect-history-api-fallback": [ + "1.5.4" + ], + "@types/eslint": [ + "8.56.3" + ], + "@types/eslint-scope": [ + "3.7.7" + ], + "@types/estree": [ + "1.0.5" + ], + "@types/express": [ + "4.17.21" + ], + "@types/express-serve-static-core": [ + "4.17.43" + ], + "@types/http-errors": [ + "2.0.4" + ], + "@types/http-proxy": [ + "1.17.14" + ], + "@types/json-schema": [ + "7.0.15" + ], + "@types/mime": [ + "1.3.5", + "3.0.4" + ], + "@types/node": [ + "20.11.20" + ], + "@types/node-forge": [ + "1.3.11" + ], + "@types/qs": [ + "6.9.11" + ], + "@types/range-parser": [ + "1.2.7" + ], + "@types/retry": [ + "0.12.2" + ], + "@types/send": [ + "0.17.4" + ], + "@types/serve-index": [ + "1.9.4" + ], + "@types/serve-static": [ + "1.15.5" + ], + "@types/sockjs": [ + "0.3.36" + ], + "@types/ws": [ + "8.5.10" + ], + "@webassemblyjs/ast": [ + "1.11.6" + ], + "@webassemblyjs/floating-point-hex-parser": [ + "1.11.6" + ], + "@webassemblyjs/helper-api-error": [ + "1.11.6" + ], + "@webassemblyjs/helper-buffer": [ + "1.11.6" + ], + "@webassemblyjs/helper-numbers": [ + "1.11.6" + ], + "@webassemblyjs/helper-wasm-bytecode": [ + "1.11.6" + ], + "@webassemblyjs/helper-wasm-section": [ + "1.11.6" + ], + "@webassemblyjs/ieee754": [ + "1.11.6" + ], + "@webassemblyjs/leb128": [ + "1.11.6" + ], + "@webassemblyjs/utf8": [ + "1.11.6" + ], + "@webassemblyjs/wasm-edit": [ + "1.11.6" + ], + "@webassemblyjs/wasm-gen": [ + "1.11.6" + ], + "@webassemblyjs/wasm-opt": [ + "1.11.6" + ], + "@webassemblyjs/wasm-parser": [ + "1.11.6" + ], + "@webassemblyjs/wast-printer": [ + "1.11.6" + ], + "@webpack-cli/configtest": [ + "2.1.1_-359619668" + ], + "@webpack-cli/info": [ + "2.0.2_-359619668" + ], + "@webpack-cli/serve": [ + "2.0.5_-1025266409" + ], + "@xtuc/ieee754": [ + "1.2.0" + ], + "@xtuc/long": [ + "4.2.2" + ], + "accepts": [ + "1.3.8" + ], + "acorn": [ + "8.11.3" + ], + "acorn-import-assertions": [ + "1.9.0_acorn_8.11.3" + ], + "ajv": [ + "6.12.6", + "8.12.0" + ], + "ajv-formats": [ + "2.1.1_ajv_8.12.0" + ], + "ajv-keywords": [ + "3.5.2_ajv_6.12.6", + "5.1.0_ajv_8.12.0" + ], + "ansi-html-community": [ + "0.0.8" + ], + "ansi-regex": [ + "5.0.1", + "6.0.1" + ], + "ansi-styles": [ + "4.3.0", + "6.2.1" + ], + "anymatch": [ + "3.1.3" + ], + "array-flatten": [ + "1.1.1" + ], + "balanced-match": [ + "1.0.2" + ], + "batch": [ + "0.6.1" + ], + "binary-extensions": [ + "2.2.0" + ], + "body-parser": [ + "1.20.2" + ], + "bonjour-service": [ + "1.2.1" + ], + "brace-expansion": [ + "2.0.1" + ], + "braces": [ + "3.0.2" + ], + "browserslist": [ + "4.23.0" + ], + "buffer-from": [ + "1.1.2" + ], + "bundle-name": [ + "4.1.0" + ], + "bytes": [ + "3.0.0", + "3.1.2" + ], + "call-bind": [ + "1.0.7" + ], + "caniuse-lite": [ + "1.0.30001589" + ], + "chokidar": [ + "3.6.0" + ], + "chrome-trace-event": [ + "1.0.3" + ], + "clone-deep": [ + "4.0.1" + ], + "color-convert": [ + "2.0.1" + ], + "color-name": [ + "1.1.4" + ], + "colorette": [ + "2.0.20" + ], + "commander": [ + "10.0.1", + "2.20.3" + ], + "compressible": [ + "2.0.18" + ], + "compression": [ + "1.7.4" + ], + "connect-history-api-fallback": [ + "2.0.0" + ], + "content-disposition": [ + "0.5.4" + ], + "content-type": [ + "1.0.5" + ], + "cookie": [ + "0.6.0" + ], + "cookie-signature": [ + "1.0.6" + ], + "core-util-is": [ + "1.0.3" + ], + "cross-spawn": [ + "7.0.3" + ], + "debug": [ + "2.6.9", + "4.3.4_supports-color_8.1.1" + ], + "default-browser": [ + "5.2.1" + ], + "default-browser-id": [ + "5.0.0" + ], + "default-gateway": [ + "6.0.3" + ], + "define-data-property": [ + "1.1.4" + ], + "define-lazy-prop": [ + "3.0.0" + ], + "depd": [ + "1.1.2", + "2.0.0" + ], + "destroy": [ + "1.2.0" + ], + "detect-node": [ + "2.1.0" + ], + "dns-packet": [ + "5.6.1" + ], + "eastasianwidth": [ + "0.2.0" + ], + "ee-first": [ + "1.1.1" + ], + "electron-to-chromium": [ + "1.4.681" + ], + "emoji-regex": [ + "8.0.0", + "9.2.2" + ], + "encodeurl": [ + "1.0.2" + ], + "enhanced-resolve": [ + "5.15.0" + ], + "envinfo": [ + "7.11.1" + ], + "es-define-property": [ + "1.0.0" + ], + "es-errors": [ + "1.3.0" + ], + "es-module-lexer": [ + "1.4.1" + ], + "escalade": [ + "3.1.2" + ], + "escape-html": [ + "1.0.3" + ], + "eslint-scope": [ + "5.1.1" + ], + "esrecurse": [ + "4.3.0" + ], + "estraverse": [ + "4.3.0", + "5.3.0" + ], + "etag": [ + "1.8.1" + ], + "eventemitter3": [ + "4.0.7" + ], + "events": [ + "3.3.0" + ], + "execa": [ + "5.1.1" + ], + "express": [ + "4.19.2" + ], + "fast-deep-equal": [ + "3.1.3" + ], + "fast-json-stable-stringify": [ + "2.1.0" + ], + "fastest-levenshtein": [ + "1.0.16" + ], + "faye-websocket": [ + "0.11.4" + ], + "fill-range": [ + "7.0.1" + ], + "finalhandler": [ + "1.2.0" + ], + "find-up": [ + "4.1.0" + ], + "flat": [ + "5.0.2" + ], + "follow-redirects": [ + "1.15.6" + ], + "foreground-child": [ + "3.1.1" + ], + "forwarded": [ + "0.2.0" + ], + "fresh": [ + "0.5.2" + ], + "fsevents": [ + "2.3.3" + ], + "function-bind": [ + "1.1.2" + ], + "get-intrinsic": [ + "1.2.4" + ], + "get-stream": [ + "6.0.1" + ], + "glob": [ + "10.3.10" + ], + "glob-parent": [ + "5.1.2" + ], + "glob-to-regexp": [ + "0.4.1" + ], + "gopd": [ + "1.0.1" + ], + "graceful-fs": [ + "4.2.11" + ], + "handle-thing": [ + "2.0.1" + ], + "has-flag": [ + "4.0.0" + ], + "has-property-descriptors": [ + "1.0.2" + ], + "has-proto": [ + "1.0.3" + ], + "has-symbols": [ + "1.0.3" + ], + "hasown": [ + "2.0.1" + ], + "hpack.js": [ + "2.1.6" + ], + "html-entities": [ + "2.4.0" + ], + "http-deceiver": [ + "1.2.7" + ], + "http-errors": [ + "1.6.3", + "2.0.0" + ], + "http-parser-js": [ + "0.5.8" + ], + "http-proxy": [ + "1.18.1" + ], + "http-proxy-middleware": [ + "2.0.6_at_types_express_4.17.21" + ], + "human-signals": [ + "2.1.0" + ], + "iconv-lite": [ + "0.4.24" + ], + "import-local": [ + "3.1.0" + ], + "inherits": [ + "2.0.3", + "2.0.4" + ], + "interpret": [ + "3.1.1" + ], + "ipaddr.js": [ + "1.9.1", + "2.1.0" + ], + "is-binary-path": [ + "2.1.0" + ], + "is-core-module": [ + "2.13.1" + ], + "is-docker": [ + "3.0.0" + ], + "is-extglob": [ + "2.1.1" + ], + "is-fullwidth-code-point": [ + "3.0.0" + ], + "is-glob": [ + "4.0.3" + ], + "is-inside-container": [ + "1.0.0" + ], + "is-network-error": [ + "1.0.1" + ], + "is-number": [ + "7.0.0" + ], + "is-plain-obj": [ + "3.0.0" + ], + "is-plain-object": [ + "2.0.4" + ], + "is-stream": [ + "2.0.1" + ], + "is-wsl": [ + "3.1.0" + ], + "isarray": [ + "1.0.0" + ], + "isexe": [ + "2.0.0" + ], + "isobject": [ + "3.0.1" + ], + "jackspeak": [ + "2.3.6" + ], + "jest-worker": [ + "27.5.1" + ], + "json-parse-even-better-errors": [ + "2.3.1" + ], + "json-schema-traverse": [ + "0.4.1", + "1.0.0" + ], + "kind-of": [ + "6.0.3" + ], + "launch-editor": [ + "2.6.1" + ], + "loader-runner": [ + "4.3.0" + ], + "locate-path": [ + "5.0.0" + ], + "lru-cache": [ + "10.2.0" + ], + "media-typer": [ + "0.3.0" + ], + "memfs": [ + "4.7.7" + ], + "merge-descriptors": [ + "1.0.1" + ], + "merge-stream": [ + "2.0.0" + ], + "methods": [ + "1.1.2" + ], + "micromatch": [ + "4.0.5" + ], + "mime": [ + "1.6.0" + ], + "mime-db": [ + "1.52.0" + ], + "mime-types": [ + "2.1.35" + ], + "mimic-fn": [ + "2.1.0" + ], + "minimalistic-assert": [ + "1.0.1" + ], + "minimatch": [ + "9.0.3" + ], + "minipass": [ + "7.0.4" + ], + "ms": [ + "2.0.0", + "2.1.2", + "2.1.3" + ], + "multicast-dns": [ + "7.2.5" + ], + "negotiator": [ + "0.6.3" + ], + "neo-async": [ + "2.6.2" + ], + "node-forge": [ + "1.3.1" + ], + "node-releases": [ + "2.0.14" + ], + "normalize-path": [ + "3.0.0" + ], + "npm-run-path": [ + "4.0.1" + ], + "object-inspect": [ + "1.13.1" + ], + "obuf": [ + "1.1.2" + ], + "on-finished": [ + "2.4.1" + ], + "on-headers": [ + "1.0.2" + ], + "onetime": [ + "5.1.2" + ], + "open": [ + "10.0.3" + ], + "p-limit": [ + "2.3.0" + ], + "p-locate": [ + "4.1.0" + ], + "p-retry": [ + "6.2.0" + ], + "p-try": [ + "2.2.0" + ], + "parseurl": [ + "1.3.3" + ], + "path-exists": [ + "4.0.0" + ], + "path-key": [ + "3.1.1" + ], + "path-parse": [ + "1.0.7" + ], + "path-scurry": [ + "1.10.1" + ], + "path-to-regexp": [ + "0.1.7" + ], + "picocolors": [ + "1.0.0" + ], + "picomatch": [ + "2.3.1" + ], + "pkg-dir": [ + "4.2.0" + ], + "process-nextick-args": [ + "2.0.1" + ], + "proxy-addr": [ + "2.0.7" + ], + "punycode": [ + "2.3.1" + ], + "qs": [ + "6.11.0" + ], + "randombytes": [ + "2.1.0" + ], + "range-parser": [ + "1.2.1" + ], + "raw-body": [ + "2.5.2" + ], + "readable-stream": [ + "2.3.8", + "3.6.2" + ], + "readdirp": [ + "3.6.0" + ], + "rechoir": [ + "0.8.0" + ], + "require-from-string": [ + "2.0.2" + ], + "requires-port": [ + "1.0.0" + ], + "resolve": [ + "1.22.8" + ], + "resolve-cwd": [ + "3.0.0" + ], + "resolve-from": [ + "5.0.0" + ], + "retry": [ + "0.13.1" + ], + "rimraf": [ + "5.0.5" + ], + "run-applescript": [ + "7.0.0" + ], + "safe-buffer": [ + "5.1.2", + "5.2.1" + ], + "safer-buffer": [ + "2.1.2" + ], + "schema-utils": [ + "3.3.0", + "4.2.0" + ], + "select-hose": [ + "2.0.0" + ], + "selfsigned": [ + "2.4.1" + ], + "send": [ + "0.18.0" + ], + "serialize-javascript": [ + "6.0.2" + ], + "serve-index": [ + "1.9.1" + ], + "serve-static": [ + "1.15.0" + ], + "set-function-length": [ + "1.2.1" + ], + "setprototypeof": [ + "1.1.0", + "1.2.0" + ], + "shallow-clone": [ + "3.0.1" + ], + "shebang-command": [ + "2.0.0" + ], + "shebang-regex": [ + "3.0.0" + ], + "shell-quote": [ + "1.8.1" + ], + "side-channel": [ + "1.0.5" + ], + "signal-exit": [ + "3.0.7", + "4.1.0" + ], + "sockjs": [ + "0.3.24" + ], + "source-map": [ + "0.6.1" + ], + "source-map-support": [ + "0.5.21" + ], + "spdy": [ + "4.0.2" + ], + "spdy-transport": [ + "3.0.0" + ], + "statuses": [ + "1.5.0", + "2.0.1" + ], + "string-width": [ + "4.2.3", + "5.1.2" + ], + "string_decoder": [ + "1.1.1", + "1.3.0" + ], + "strip-ansi": [ + "6.0.1", + "7.1.0" + ], + "strip-final-newline": [ + "2.0.0" + ], + "supports-color": [ + "8.1.1" + ], + "supports-preserve-symlinks-flag": [ + "1.0.0" + ], + "tapable": [ + "2.2.1" + ], + "terser": [ + "5.28.1" + ], + "terser-webpack-plugin": [ + "5.3.10_webpack_5.90.3" + ], + "thunky": [ + "1.1.0" + ], + "to-regex-range": [ + "5.0.1" + ], + "toidentifier": [ + "1.0.1" + ], + "tslib": [ + "2.6.2" + ], + "type-is": [ + "1.6.18" + ], + "undici-types": [ + "5.26.5" + ], + "unpipe": [ + "1.0.0" + ], + "update-browserslist-db": [ + "1.0.13_browserslist_4.23.0" + ], + "uri-js": [ + "4.4.1" + ], + "util-deprecate": [ + "1.0.2" + ], + "utils-merge": [ + "1.0.1" + ], + "uuid": [ + "8.3.2" + ], + "vary": [ + "1.1.2" + ], + "watchpack": [ + "2.4.0" + ], + "wbuf": [ + "1.7.3" + ], + "webpack": [ + "5.90.3_webpack-cli_5.1.4" + ], + "webpack-cli": [ + "5.1.4_-975075900" + ], + "webpack-dev-middleware": [ + "7.1.1_webpack_5.90.3" + ], + "webpack-dev-server": [ + "5.0.2_-359619668" + ], + "webpack-merge": [ + "5.10.0" + ], + "webpack-sources": [ + "3.2.3" + ], + "websocket-driver": [ + "0.7.4" + ], + "websocket-extensions": [ + "0.1.4" + ], + "which": [ + "2.0.2" + ], + "wildcard": [ + "2.0.1" + ], + "wrap-ansi": [ + "7.0.0", + "8.1.0" + ], + "ws": [ + "8.16.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__unicode-property-aliases-ecmascript__2.1.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__unicode-property-aliases-ecmascript__2.1.0__links", + "package": "unicode-property-aliases-ecmascript", + "version": "2.1.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "unicode-property-aliases-ecmascript": [ + "2.1.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__at_babel_generator__7.23.6": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_generator__7.23.6", + "package": "@babel/generator", + "version": "7.23.6", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "url": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__jsesc__0.5.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__jsesc__0.5.0", + "package": "jsesc", + "version": "0.5.0", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "url": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__pathval__1.1.1": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__pathval__1.1.1", + "package": "pathval", + "version": "1.1.1", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "url": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__at_jridgewell_resolve-uri__3.1.2__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_jridgewell_resolve-uri__3.1.2__links", + "package": "@jridgewell/resolve-uri", + "version": "3.1.2", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "@jridgewell/resolve-uri": [ + "3.1.2" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__growl__1.10.5": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__growl__1.10.5", + "package": "growl", + "version": "1.10.5", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "url": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__is-extglob__2.1.1": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__is-extglob__2.1.1", + "package": "is-extglob", + "version": "2.1.1", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "url": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__postcss-selector-parser__6.0.15": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__postcss-selector-parser__6.0.15", + "package": "postcss-selector-parser", + "version": "6.0.15", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "url": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__encodeurl__1.0.2__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__encodeurl__1.0.2__links", + "package": "encodeurl", + "version": "1.0.2", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "encodeurl": [ + "1.0.2" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__update-browserslist-db__1.0.13__browserslist_4.23.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__update-browserslist-db__1.0.13__browserslist_4.23.0__links", + "package": "update-browserslist-db", + "version": "1.0.13_browserslist_4.23.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "browserslist": "4.23.0", + "escalade": "3.1.2", + "picocolors": "1.0.0" + }, + "transitive_closure": { + "browserslist": [ + "4.23.0" + ], + "caniuse-lite": [ + "1.0.30001589" + ], + "electron-to-chromium": [ + "1.4.681" + ], + "escalade": [ + "3.1.2" + ], + "node-releases": [ + "2.0.14" + ], + "picocolors": [ + "1.0.0" + ], + "update-browserslist-db": [ + "1.0.13_browserslist_4.23.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__terser-webpack-plugin__5.3.10__webpack_5.90.3": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__terser-webpack-plugin__5.3.10__webpack_5.90.3", + "package": "terser-webpack-plugin", + "version": "5.3.10_webpack_5.90.3", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "url": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__minimist__1.2.8": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { @@ -27813,7 +28929,7 @@ "2.2.0" ], "body-parser": [ - "1.20.1" + "1.20.2" ], "bonjour-service": [ "1.2.1" @@ -27892,7 +29008,7 @@ "2.0.0" ], "cookie": [ - "0.5.0" + "0.6.0" ], "cookie-signature": [ "1.0.6" @@ -27998,7 +29114,7 @@ "5.1.1" ], "express": [ - "4.18.2" + "4.19.2" ], "fast-deep-equal": [ "3.1.3" @@ -28029,7 +29145,7 @@ "5.0.2" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "foreground-child": [ "3.1.1" @@ -28366,7 +29482,7 @@ "1.2.1" ], "raw-body": [ - "2.5.1" + "2.5.2" ], "readable-stream": [ "2.3.8", @@ -28565,7 +29681,7 @@ "5.1.4_-975075900" ], "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" + "7.1.1_webpack_5.90.3" ], "webpack-dev-server": [ "5.0.2_-359619668" @@ -29171,7 +30287,7 @@ "2.2.0" ], "body-parser": [ - "1.20.1" + "1.20.2" ], "bonjour-service": [ "1.2.1" @@ -29239,7 +30355,7 @@ "1.0.5" ], "cookie": [ - "0.5.0" + "0.6.0" ], "cookie-signature": [ "1.0.6" @@ -29342,7 +30458,7 @@ "5.1.1" ], "express": [ - "4.18.2" + "4.19.2" ], "fast-deep-equal": [ "3.1.3" @@ -29369,7 +30485,7 @@ "5.0.2" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "foreground-child": [ "3.1.1" @@ -29684,7 +30800,7 @@ "1.2.1" ], "raw-body": [ - "2.5.1" + "2.5.2" ], "readable-stream": [ "2.3.8", @@ -29876,7 +30992,7 @@ "5.1.4_-975075900" ], "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" + "7.1.1_webpack_5.90.3" ], "webpack-dev-server": [ "5.0.2_-359619668" @@ -30438,7 +31554,7 @@ "2.2.0" ], "body-parser": [ - "1.20.1" + "1.20.2" ], "bonjour-service": [ "1.2.1" @@ -30474,1967 +31590,704 @@ "chrome-trace-event": [ "1.0.3" ], - "clone-deep": [ - "4.0.1" - ], - "color-convert": [ - "2.0.1" - ], - "color-name": [ - "1.1.4" - ], - "colorette": [ - "2.0.20" - ], - "commander": [ - "10.0.1", - "2.20.3" - ], - "compressible": [ - "2.0.18" - ], - "compression": [ - "1.7.4" - ], - "connect-history-api-fallback": [ - "2.0.0" - ], - "content-disposition": [ - "0.5.4" - ], - "content-type": [ - "1.0.5" - ], - "cookie": [ - "0.5.0" - ], - "cookie-signature": [ - "1.0.6" - ], - "core-util-is": [ - "1.0.3" - ], - "cross-spawn": [ - "7.0.3" - ], - "debug": [ - "2.6.9", - "4.3.4_supports-color_8.1.1" - ], - "default-browser": [ - "5.2.1" - ], - "default-browser-id": [ - "5.0.0" - ], - "default-gateway": [ - "6.0.3" - ], - "define-data-property": [ - "1.1.4" - ], - "define-lazy-prop": [ - "3.0.0" - ], - "depd": [ - "1.1.2", - "2.0.0" - ], - "destroy": [ - "1.2.0" - ], - "detect-node": [ - "2.1.0" - ], - "dns-packet": [ - "5.6.1" - ], - "eastasianwidth": [ - "0.2.0" - ], - "ee-first": [ - "1.1.1" - ], - "electron-to-chromium": [ - "1.4.681" - ], - "emoji-regex": [ - "8.0.0", - "9.2.2" - ], - "encodeurl": [ - "1.0.2" - ], - "enhanced-resolve": [ - "5.15.0" - ], - "envinfo": [ - "7.11.1" - ], - "es-define-property": [ - "1.0.0" - ], - "es-errors": [ - "1.3.0" - ], - "es-module-lexer": [ - "1.4.1" - ], - "escalade": [ - "3.1.2" - ], - "escape-html": [ - "1.0.3" - ], - "eslint-scope": [ - "5.1.1" - ], - "esrecurse": [ - "4.3.0" - ], - "estraverse": [ - "4.3.0", - "5.3.0" - ], - "etag": [ - "1.8.1" - ], - "eventemitter3": [ - "4.0.7" - ], - "events": [ - "3.3.0" - ], - "execa": [ - "5.1.1" - ], - "express": [ - "4.18.2" - ], - "fast-deep-equal": [ - "3.1.3" - ], - "fast-json-stable-stringify": [ - "2.1.0" - ], - "fastest-levenshtein": [ - "1.0.16" - ], - "faye-websocket": [ - "0.11.4" - ], - "fill-range": [ - "7.0.1" - ], - "finalhandler": [ - "1.2.0" - ], - "find-up": [ - "4.1.0" - ], - "flat": [ - "5.0.2" - ], - "follow-redirects": [ - "1.15.5" - ], - "foreground-child": [ - "3.1.1" - ], - "forwarded": [ - "0.2.0" - ], - "fresh": [ - "0.5.2" - ], - "fsevents": [ - "2.3.3" - ], - "function-bind": [ - "1.1.2" - ], - "get-intrinsic": [ - "1.2.4" - ], - "get-stream": [ - "6.0.1" - ], - "glob": [ - "10.3.10" - ], - "glob-parent": [ - "5.1.2" - ], - "glob-to-regexp": [ - "0.4.1" - ], - "gopd": [ - "1.0.1" - ], - "graceful-fs": [ - "4.2.11" - ], - "handle-thing": [ - "2.0.1" - ], - "has-flag": [ - "4.0.0" - ], - "has-property-descriptors": [ - "1.0.2" - ], - "has-proto": [ - "1.0.3" - ], - "has-symbols": [ - "1.0.3" - ], - "hasown": [ - "2.0.1" - ], - "hpack.js": [ - "2.1.6" - ], - "html-entities": [ - "2.4.0" - ], - "http-deceiver": [ - "1.2.7" - ], - "http-errors": [ - "1.6.3", - "2.0.0" - ], - "http-parser-js": [ - "0.5.8" - ], - "http-proxy": [ - "1.18.1" - ], - "http-proxy-middleware": [ - "2.0.6_at_types_express_4.17.21" - ], - "human-signals": [ - "2.1.0" - ], - "iconv-lite": [ - "0.4.24" - ], - "import-local": [ - "3.1.0" - ], - "inherits": [ - "2.0.3", - "2.0.4" - ], - "interpret": [ - "3.1.1" - ], - "ipaddr.js": [ - "1.9.1", - "2.1.0" - ], - "is-binary-path": [ - "2.1.0" - ], - "is-core-module": [ - "2.13.1" - ], - "is-docker": [ - "3.0.0" - ], - "is-extglob": [ - "2.1.1" - ], - "is-fullwidth-code-point": [ - "3.0.0" - ], - "is-glob": [ - "4.0.3" - ], - "is-inside-container": [ - "1.0.0" - ], - "is-network-error": [ - "1.0.1" - ], - "is-number": [ - "7.0.0" - ], - "is-plain-obj": [ - "3.0.0" - ], - "is-plain-object": [ - "2.0.4" - ], - "is-stream": [ - "2.0.1" - ], - "is-wsl": [ - "3.1.0" - ], - "isarray": [ - "1.0.0" - ], - "isexe": [ - "2.0.0" - ], - "isobject": [ - "3.0.1" - ], - "jackspeak": [ - "2.3.6" - ], - "jest-worker": [ - "27.5.1" - ], - "json-parse-even-better-errors": [ - "2.3.1" - ], - "json-schema-traverse": [ - "0.4.1", - "1.0.0" - ], - "kind-of": [ - "6.0.3" - ], - "launch-editor": [ - "2.6.1" - ], - "loader-runner": [ - "4.3.0" - ], - "locate-path": [ - "5.0.0" - ], - "lru-cache": [ - "10.2.0" - ], - "media-typer": [ - "0.3.0" - ], - "memfs": [ - "4.7.7" - ], - "merge-descriptors": [ - "1.0.1" - ], - "merge-stream": [ - "2.0.0" - ], - "methods": [ - "1.1.2" - ], - "micromatch": [ - "4.0.5" - ], - "mime": [ - "1.6.0" - ], - "mime-db": [ - "1.52.0" - ], - "mime-types": [ - "2.1.35" - ], - "mimic-fn": [ - "2.1.0" - ], - "minimalistic-assert": [ - "1.0.1" - ], - "minimatch": [ - "9.0.3" - ], - "minipass": [ - "7.0.4" - ], - "ms": [ - "2.0.0", - "2.1.2", - "2.1.3" - ], - "multicast-dns": [ - "7.2.5" - ], - "negotiator": [ - "0.6.3" - ], - "neo-async": [ - "2.6.2" - ], - "node-forge": [ - "1.3.1" - ], - "node-releases": [ - "2.0.14" - ], - "normalize-path": [ - "3.0.0" - ], - "npm-run-path": [ - "4.0.1" - ], - "object-inspect": [ - "1.13.1" - ], - "obuf": [ - "1.1.2" - ], - "on-finished": [ - "2.4.1" - ], - "on-headers": [ - "1.0.2" - ], - "onetime": [ - "5.1.2" - ], - "open": [ - "10.0.3" - ], - "p-limit": [ - "2.3.0" - ], - "p-locate": [ - "4.1.0" - ], - "p-retry": [ - "6.2.0" - ], - "p-try": [ - "2.2.0" - ], - "parseurl": [ - "1.3.3" - ], - "path-exists": [ - "4.0.0" - ], - "path-key": [ - "3.1.1" - ], - "path-parse": [ - "1.0.7" - ], - "path-scurry": [ - "1.10.1" - ], - "path-to-regexp": [ - "0.1.7" - ], - "picocolors": [ - "1.0.0" - ], - "picomatch": [ - "2.3.1" - ], - "pkg-dir": [ - "4.2.0" - ], - "process-nextick-args": [ - "2.0.1" - ], - "proxy-addr": [ - "2.0.7" - ], - "punycode": [ - "2.3.1" - ], - "qs": [ - "6.11.0" + "clone-deep": [ + "4.0.1" ], - "randombytes": [ - "2.1.0" + "color-convert": [ + "2.0.1" ], - "range-parser": [ - "1.2.1" + "color-name": [ + "1.1.4" ], - "raw-body": [ - "2.5.1" + "colorette": [ + "2.0.20" ], - "readable-stream": [ - "2.3.8", - "3.6.2" + "commander": [ + "10.0.1", + "2.20.3" ], - "readdirp": [ - "3.6.0" + "compressible": [ + "2.0.18" ], - "rechoir": [ - "0.8.0" + "compression": [ + "1.7.4" ], - "require-from-string": [ - "2.0.2" + "connect-history-api-fallback": [ + "2.0.0" ], - "requires-port": [ - "1.0.0" + "content-disposition": [ + "0.5.4" ], - "resolve": [ - "1.22.8" + "content-type": [ + "1.0.5" ], - "resolve-cwd": [ - "3.0.0" + "cookie": [ + "0.6.0" ], - "resolve-from": [ - "5.0.0" + "cookie-signature": [ + "1.0.6" ], - "retry": [ - "0.13.1" + "core-util-is": [ + "1.0.3" ], - "rimraf": [ - "5.0.5" + "cross-spawn": [ + "7.0.3" ], - "run-applescript": [ - "7.0.0" + "debug": [ + "2.6.9", + "4.3.4_supports-color_8.1.1" ], - "safe-buffer": [ - "5.1.2", + "default-browser": [ "5.2.1" ], - "safer-buffer": [ - "2.1.2" + "default-browser-id": [ + "5.0.0" ], - "schema-utils": [ - "3.3.0", - "4.2.0" + "default-gateway": [ + "6.0.3" ], - "select-hose": [ + "define-data-property": [ + "1.1.4" + ], + "define-lazy-prop": [ + "3.0.0" + ], + "depd": [ + "1.1.2", "2.0.0" ], - "selfsigned": [ - "2.4.1" + "destroy": [ + "1.2.0" ], - "send": [ - "0.18.0" + "detect-node": [ + "2.1.0" ], - "serialize-javascript": [ - "6.0.2" + "dns-packet": [ + "5.6.1" ], - "serve-index": [ - "1.9.1" + "eastasianwidth": [ + "0.2.0" ], - "serve-static": [ - "1.15.0" + "ee-first": [ + "1.1.1" ], - "set-function-length": [ - "1.2.1" + "electron-to-chromium": [ + "1.4.681" ], - "setprototypeof": [ - "1.1.0", - "1.2.0" + "emoji-regex": [ + "8.0.0", + "9.2.2" ], - "shallow-clone": [ - "3.0.1" + "encodeurl": [ + "1.0.2" ], - "shebang-command": [ - "2.0.0" + "enhanced-resolve": [ + "5.15.0" ], - "shebang-regex": [ - "3.0.0" + "envinfo": [ + "7.11.1" ], - "shell-quote": [ - "1.8.1" + "es-define-property": [ + "1.0.0" ], - "side-channel": [ - "1.0.5" + "es-errors": [ + "1.3.0" ], - "signal-exit": [ - "3.0.7", - "4.1.0" + "es-module-lexer": [ + "1.4.1" ], - "sockjs": [ - "0.3.24" + "escalade": [ + "3.1.2" ], - "source-map": [ - "0.6.1" + "escape-html": [ + "1.0.3" ], - "source-map-support": [ - "0.5.21" + "eslint-scope": [ + "5.1.1" ], - "spdy": [ - "4.0.2" + "esrecurse": [ + "4.3.0" ], - "spdy-transport": [ - "3.0.0" + "estraverse": [ + "4.3.0", + "5.3.0" ], - "statuses": [ - "1.5.0", - "2.0.1" + "etag": [ + "1.8.1" ], - "string-width": [ - "4.2.3", - "5.1.2" + "eventemitter3": [ + "4.0.7" ], - "string_decoder": [ - "1.1.1", - "1.3.0" + "events": [ + "3.3.0" ], - "strip-ansi": [ - "6.0.1", - "7.1.0" + "execa": [ + "5.1.1" ], - "strip-final-newline": [ - "2.0.0" + "express": [ + "4.19.2" ], - "supports-color": [ - "8.1.1" + "fast-deep-equal": [ + "3.1.3" ], - "supports-preserve-symlinks-flag": [ - "1.0.0" + "fast-json-stable-stringify": [ + "2.1.0" ], - "tapable": [ - "2.2.1" + "fastest-levenshtein": [ + "1.0.16" ], - "terser": [ - "5.28.1" + "faye-websocket": [ + "0.11.4" ], - "terser-webpack-plugin": [ - "5.3.10_webpack_5.90.3" + "fill-range": [ + "7.0.1" ], - "thunky": [ - "1.1.0" + "finalhandler": [ + "1.2.0" ], - "to-regex-range": [ - "5.0.1" + "find-up": [ + "4.1.0" ], - "toidentifier": [ - "1.0.1" + "flat": [ + "5.0.2" ], - "tslib": [ - "2.6.2" + "follow-redirects": [ + "1.15.6" ], - "type-is": [ - "1.6.18" + "foreground-child": [ + "3.1.1" ], - "undici-types": [ - "5.26.5" + "forwarded": [ + "0.2.0" ], - "unpipe": [ - "1.0.0" + "fresh": [ + "0.5.2" ], - "update-browserslist-db": [ - "1.0.13_browserslist_4.23.0" + "fsevents": [ + "2.3.3" ], - "uri-js": [ - "4.4.1" + "function-bind": [ + "1.1.2" ], - "util-deprecate": [ - "1.0.2" + "get-intrinsic": [ + "1.2.4" ], - "utils-merge": [ - "1.0.1" + "get-stream": [ + "6.0.1" ], - "uuid": [ - "8.3.2" + "glob": [ + "10.3.10" ], - "vary": [ - "1.1.2" + "glob-parent": [ + "5.1.2" ], - "watchpack": [ - "2.4.0" + "glob-to-regexp": [ + "0.4.1" ], - "wbuf": [ - "1.7.3" + "gopd": [ + "1.0.1" ], - "webpack": [ - "5.90.3_webpack-cli_5.1.4" + "graceful-fs": [ + "4.2.11" ], - "webpack-cli": [ - "5.1.4_-975075900" + "handle-thing": [ + "2.0.1" ], - "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" + "has-flag": [ + "4.0.0" ], - "webpack-dev-server": [ - "5.0.2_-359619668" + "has-property-descriptors": [ + "1.0.2" ], - "webpack-merge": [ - "5.10.0" + "has-proto": [ + "1.0.3" ], - "webpack-sources": [ - "3.2.3" + "has-symbols": [ + "1.0.3" ], - "websocket-driver": [ - "0.7.4" + "hasown": [ + "2.0.1" ], - "websocket-extensions": [ - "0.1.4" + "hpack.js": [ + "2.1.6" ], - "which": [ - "2.0.2" + "html-entities": [ + "2.4.0" ], - "wildcard": [ - "2.0.1" + "http-deceiver": [ + "1.2.7" ], - "wrap-ansi": [ - "7.0.0", - "8.1.0" + "http-errors": [ + "1.6.3", + "2.0.0" ], - "ws": [ - "8.16.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__at_emotion_hash__0.8.0": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_emotion_hash__0.8.0", - "package": "@emotion/hash", - "version": "0.8.0", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", - "url": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__balanced-match__1.0.2": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__balanced-match__1.0.2", - "package": "balanced-match", - "version": "1.0.2", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "url": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__schema-utils__4.2.0": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__schema-utils__4.2.0", - "package": "schema-utils", - "version": "4.2.0", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "url": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__at_babel_plugin-syntax-async-generators__7.8.4__at_babel_core_7.23.9__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-syntax-async-generators__7.8.4__at_babel_core_7.23.9__links", - "package": "@babel/plugin-syntax-async-generators", - "version": "7.8.4_at_babel_core_7.23.9", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "@babel/core": "7.23.9", - "@babel/helper-plugin-utils": "7.22.5" - }, - "transitive_closure": { - "@ampproject/remapping": [ - "2.2.1" + "http-parser-js": [ + "0.5.8" ], - "@babel/code-frame": [ - "7.23.5" + "http-proxy": [ + "1.18.1" ], - "@babel/compat-data": [ - "7.23.5" + "http-proxy-middleware": [ + "2.0.6_at_types_express_4.17.21" ], - "@babel/core": [ - "7.23.9" + "human-signals": [ + "2.1.0" ], - "@babel/generator": [ - "7.23.6" + "iconv-lite": [ + "0.4.24" ], - "@babel/helper-compilation-targets": [ - "7.23.6" + "import-local": [ + "3.1.0" ], - "@babel/helper-environment-visitor": [ - "7.22.20" + "inherits": [ + "2.0.3", + "2.0.4" ], - "@babel/helper-function-name": [ - "7.23.0" + "interpret": [ + "3.1.1" ], - "@babel/helper-hoist-variables": [ - "7.22.5" + "ipaddr.js": [ + "1.9.1", + "2.1.0" ], - "@babel/helper-module-imports": [ - "7.22.15" + "is-binary-path": [ + "2.1.0" ], - "@babel/helper-module-transforms": [ - "7.23.3_at_babel_core_7.23.9" + "is-core-module": [ + "2.13.1" ], - "@babel/helper-plugin-utils": [ - "7.22.5" + "is-docker": [ + "3.0.0" ], - "@babel/helper-simple-access": [ - "7.22.5" + "is-extglob": [ + "2.1.1" ], - "@babel/helper-split-export-declaration": [ - "7.22.6" + "is-fullwidth-code-point": [ + "3.0.0" ], - "@babel/helper-string-parser": [ - "7.23.4" + "is-glob": [ + "4.0.3" ], - "@babel/helper-validator-identifier": [ - "7.22.20" + "is-inside-container": [ + "1.0.0" ], - "@babel/helper-validator-option": [ - "7.23.5" + "is-network-error": [ + "1.0.1" ], - "@babel/helpers": [ - "7.23.9" + "is-number": [ + "7.0.0" ], - "@babel/highlight": [ - "7.23.4" + "is-plain-obj": [ + "3.0.0" ], - "@babel/parser": [ - "7.23.9" + "is-plain-object": [ + "2.0.4" ], - "@babel/plugin-syntax-async-generators": [ - "7.8.4_at_babel_core_7.23.9" + "is-stream": [ + "2.0.1" ], - "@babel/template": [ - "7.23.9" + "is-wsl": [ + "3.1.0" ], - "@babel/traverse": [ - "7.23.9" + "isarray": [ + "1.0.0" ], - "@babel/types": [ - "7.23.9" + "isexe": [ + "2.0.0" ], - "@jridgewell/gen-mapping": [ - "0.3.3" + "isobject": [ + "3.0.1" + ], + "jackspeak": [ + "2.3.6" ], - "@jridgewell/resolve-uri": [ - "3.1.2" + "jest-worker": [ + "27.5.1" ], - "@jridgewell/set-array": [ - "1.1.2" + "json-parse-even-better-errors": [ + "2.3.1" ], - "@jridgewell/sourcemap-codec": [ - "1.4.15" + "json-schema-traverse": [ + "0.4.1", + "1.0.0" ], - "@jridgewell/trace-mapping": [ - "0.3.22" + "kind-of": [ + "6.0.3" ], - "ansi-styles": [ - "3.2.1" + "launch-editor": [ + "2.6.1" ], - "browserslist": [ - "4.23.0" + "loader-runner": [ + "4.3.0" ], - "caniuse-lite": [ - "1.0.30001589" + "locate-path": [ + "5.0.0" ], - "chalk": [ - "2.4.2" + "lru-cache": [ + "10.2.0" ], - "color-convert": [ - "1.9.3" + "media-typer": [ + "0.3.0" ], - "color-name": [ - "1.1.3" + "memfs": [ + "4.7.7" ], - "convert-source-map": [ + "merge-descriptors": [ + "1.0.1" + ], + "merge-stream": [ "2.0.0" ], - "debug": [ - "4.3.4_supports-color_8.1.1" + "methods": [ + "1.1.2" ], - "electron-to-chromium": [ - "1.4.681" + "micromatch": [ + "4.0.5" ], - "escalade": [ - "3.1.2" + "mime": [ + "1.6.0" ], - "escape-string-regexp": [ - "1.0.5" + "mime-db": [ + "1.52.0" ], - "gensync": [ - "1.0.0-beta.2" + "mime-types": [ + "2.1.35" ], - "globals": [ - "11.12.0" + "mimic-fn": [ + "2.1.0" ], - "has-flag": [ - "3.0.0", - "4.0.0" + "minimalistic-assert": [ + "1.0.1" ], - "js-tokens": [ - "4.0.0" + "minimatch": [ + "9.0.3" ], - "jsesc": [ - "2.5.2" + "minipass": [ + "7.0.4" ], - "json5": [ - "2.2.3" + "ms": [ + "2.0.0", + "2.1.2", + "2.1.3" ], - "lru-cache": [ - "5.1.1" + "multicast-dns": [ + "7.2.5" ], - "ms": [ - "2.1.2" + "negotiator": [ + "0.6.3" + ], + "neo-async": [ + "2.6.2" + ], + "node-forge": [ + "1.3.1" ], "node-releases": [ "2.0.14" ], - "picocolors": [ - "1.0.0" + "normalize-path": [ + "3.0.0" ], - "semver": [ - "6.3.1" + "npm-run-path": [ + "4.0.1" ], - "supports-color": [ - "5.5.0", - "8.1.1" + "object-inspect": [ + "1.13.1" ], - "to-fast-properties": [ - "2.0.0" + "obuf": [ + "1.1.2" ], - "update-browserslist-db": [ - "1.0.13_browserslist_4.23.0" + "on-finished": [ + "2.4.1" ], - "yallist": [ - "3.1.1" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__js-tokens__4.0.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__js-tokens__4.0.0__links", - "package": "js-tokens", - "version": "4.0.0", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": { - "js-tokens": [ - "4.0.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__param-case__3.0.4__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__param-case__3.0.4__links", - "package": "param-case", - "version": "3.0.4", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "dot-case": "3.0.4", - "tslib": "2.6.2" - }, - "transitive_closure": { - "dot-case": [ - "3.0.4" + "on-headers": [ + "1.0.2" ], - "lower-case": [ - "2.0.2" + "onetime": [ + "5.1.2" ], - "no-case": [ - "3.0.4" + "open": [ + "10.0.3" ], - "param-case": [ - "3.0.4" + "p-limit": [ + "2.3.0" ], - "tslib": [ - "2.6.2" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__is-fullwidth-code-point__3.0.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__is-fullwidth-code-point__3.0.0__links", - "package": "is-fullwidth-code-point", - "version": "3.0.0", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": { - "is-fullwidth-code-point": [ - "3.0.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__regexpu-core__5.3.2": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__regexpu-core__5.3.2", - "package": "regexpu-core", - "version": "5.3.2", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "url": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__lodash.debounce__4.0.8": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__lodash.debounce__4.0.8", - "package": "lodash.debounce", - "version": "4.0.8", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "url": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__node-forge__1.3.1": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__node-forge__1.3.1", - "package": "node-forge", - "version": "1.3.1", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "url": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__compressible__2.0.18__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__compressible__2.0.18__links", - "package": "compressible", - "version": "2.0.18", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "mime-db": "1.52.0" - }, - "transitive_closure": { - "compressible": [ - "2.0.18" + "p-locate": [ + "4.1.0" ], - "mime-db": [ - "1.52.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__at_types_body-parser__1.19.5": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_types_body-parser__1.19.5", - "package": "@types/body-parser", - "version": "1.19.5", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "url": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__yauzl__2.10.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__yauzl__2.10.0__links", - "package": "yauzl", - "version": "2.10.0", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "buffer-crc32": "0.2.13", - "fd-slicer": "1.1.0" - }, - "transitive_closure": { - "buffer-crc32": [ - "0.2.13" + "p-retry": [ + "6.2.0" ], - "fd-slicer": [ - "1.1.0" + "p-try": [ + "2.2.0" ], - "pend": [ - "1.2.0" + "parseurl": [ + "1.3.3" ], - "yauzl": [ - "2.10.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__is-network-error__1.0.1": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__is-network-error__1.0.1", - "package": "is-network-error", - "version": "1.0.1", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-OwQXkwBJeESyhFw+OumbJVD58BFBJJI5OM5S1+eyrDKlgDZPX2XNT5gXS56GSD3NPbbwUuMlR1Q71SRp5SobuQ==", - "url": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.0.1.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__at_babel_plugin-transform-regenerator__7.23.3__at_babel_core_7.23.9__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-transform-regenerator__7.23.3__at_babel_core_7.23.9__links", - "package": "@babel/plugin-transform-regenerator", - "version": "7.23.3_at_babel_core_7.23.9", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "@babel/core": "7.23.9", - "@babel/helper-plugin-utils": "7.22.5", - "regenerator-transform": "0.15.2" - }, - "transitive_closure": { - "@ampproject/remapping": [ - "2.2.1" + "path-exists": [ + "4.0.0" ], - "@babel/code-frame": [ - "7.23.5" + "path-key": [ + "3.1.1" ], - "@babel/compat-data": [ - "7.23.5" + "path-parse": [ + "1.0.7" ], - "@babel/core": [ - "7.23.9" + "path-scurry": [ + "1.10.1" ], - "@babel/generator": [ - "7.23.6" + "path-to-regexp": [ + "0.1.7" ], - "@babel/helper-compilation-targets": [ - "7.23.6" + "picocolors": [ + "1.0.0" ], - "@babel/helper-environment-visitor": [ - "7.22.20" + "picomatch": [ + "2.3.1" ], - "@babel/helper-function-name": [ - "7.23.0" + "pkg-dir": [ + "4.2.0" ], - "@babel/helper-hoist-variables": [ - "7.22.5" + "process-nextick-args": [ + "2.0.1" ], - "@babel/helper-module-imports": [ - "7.22.15" + "proxy-addr": [ + "2.0.7" ], - "@babel/helper-module-transforms": [ - "7.23.3_at_babel_core_7.23.9" + "punycode": [ + "2.3.1" ], - "@babel/helper-plugin-utils": [ - "7.22.5" + "qs": [ + "6.11.0" ], - "@babel/helper-simple-access": [ - "7.22.5" + "randombytes": [ + "2.1.0" ], - "@babel/helper-split-export-declaration": [ - "7.22.6" + "range-parser": [ + "1.2.1" + ], + "raw-body": [ + "2.5.2" + ], + "readable-stream": [ + "2.3.8", + "3.6.2" ], - "@babel/helper-string-parser": [ - "7.23.4" + "readdirp": [ + "3.6.0" ], - "@babel/helper-validator-identifier": [ - "7.22.20" + "rechoir": [ + "0.8.0" ], - "@babel/helper-validator-option": [ - "7.23.5" + "require-from-string": [ + "2.0.2" ], - "@babel/helpers": [ - "7.23.9" + "requires-port": [ + "1.0.0" ], - "@babel/highlight": [ - "7.23.4" + "resolve": [ + "1.22.8" ], - "@babel/parser": [ - "7.23.9" + "resolve-cwd": [ + "3.0.0" ], - "@babel/plugin-transform-regenerator": [ - "7.23.3_at_babel_core_7.23.9" + "resolve-from": [ + "5.0.0" ], - "@babel/runtime": [ - "7.23.9" + "retry": [ + "0.13.1" ], - "@babel/template": [ - "7.23.9" + "rimraf": [ + "5.0.5" ], - "@babel/traverse": [ - "7.23.9" + "run-applescript": [ + "7.0.0" ], - "@babel/types": [ - "7.23.9" + "safe-buffer": [ + "5.1.2", + "5.2.1" ], - "@jridgewell/gen-mapping": [ - "0.3.3" + "safer-buffer": [ + "2.1.2" ], - "@jridgewell/resolve-uri": [ - "3.1.2" + "schema-utils": [ + "3.3.0", + "4.2.0" ], - "@jridgewell/set-array": [ - "1.1.2" + "select-hose": [ + "2.0.0" ], - "@jridgewell/sourcemap-codec": [ - "1.4.15" + "selfsigned": [ + "2.4.1" ], - "@jridgewell/trace-mapping": [ - "0.3.22" + "send": [ + "0.18.0" ], - "ansi-styles": [ - "3.2.1" + "serialize-javascript": [ + "6.0.2" ], - "browserslist": [ - "4.23.0" + "serve-index": [ + "1.9.1" ], - "caniuse-lite": [ - "1.0.30001589" + "serve-static": [ + "1.15.0" ], - "chalk": [ - "2.4.2" + "set-function-length": [ + "1.2.1" ], - "color-convert": [ - "1.9.3" + "setprototypeof": [ + "1.1.0", + "1.2.0" ], - "color-name": [ - "1.1.3" + "shallow-clone": [ + "3.0.1" ], - "convert-source-map": [ + "shebang-command": [ "2.0.0" ], - "debug": [ - "4.3.4_supports-color_8.1.1" - ], - "electron-to-chromium": [ - "1.4.681" + "shebang-regex": [ + "3.0.0" ], - "escalade": [ - "3.1.2" + "shell-quote": [ + "1.8.1" ], - "escape-string-regexp": [ + "side-channel": [ "1.0.5" ], - "gensync": [ - "1.0.0-beta.2" + "signal-exit": [ + "3.0.7", + "4.1.0" ], - "globals": [ - "11.12.0" + "sockjs": [ + "0.3.24" ], - "has-flag": [ - "3.0.0", - "4.0.0" + "source-map": [ + "0.6.1" ], - "js-tokens": [ - "4.0.0" + "source-map-support": [ + "0.5.21" ], - "jsesc": [ - "2.5.2" + "spdy": [ + "4.0.2" ], - "json5": [ - "2.2.3" + "spdy-transport": [ + "3.0.0" ], - "lru-cache": [ - "5.1.1" + "statuses": [ + "1.5.0", + "2.0.1" ], - "ms": [ - "2.1.2" + "string-width": [ + "4.2.3", + "5.1.2" ], - "node-releases": [ - "2.0.14" + "string_decoder": [ + "1.1.1", + "1.3.0" ], - "picocolors": [ + "strip-ansi": [ + "6.0.1", + "7.1.0" + ], + "strip-final-newline": [ + "2.0.0" + ], + "supports-color": [ + "8.1.1" + ], + "supports-preserve-symlinks-flag": [ "1.0.0" ], - "regenerator-runtime": [ - "0.14.1" + "tapable": [ + "2.2.1" ], - "regenerator-transform": [ - "0.15.2" + "terser": [ + "5.28.1" ], - "semver": [ - "6.3.1" + "terser-webpack-plugin": [ + "5.3.10_webpack_5.90.3" ], - "supports-color": [ - "5.5.0", - "8.1.1" + "thunky": [ + "1.1.0" ], - "to-fast-properties": [ - "2.0.0" + "to-regex-range": [ + "5.0.1" ], - "update-browserslist-db": [ - "1.0.13_browserslist_4.23.0" + "toidentifier": [ + "1.0.1" ], - "yallist": [ - "3.1.1" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__get-stream__6.0.1": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__get-stream__6.0.1", - "package": "get-stream", - "version": "6.0.1", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "url": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__serialize-javascript__6.0.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__serialize-javascript__6.0.0__links", - "package": "serialize-javascript", - "version": "6.0.0", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "randombytes": "2.1.0" - }, - "transitive_closure": { - "randombytes": [ - "2.1.0" + "tslib": [ + "2.6.2" ], - "safe-buffer": [ - "5.2.1" + "type-is": [ + "1.6.18" ], - "serialize-javascript": [ - "6.0.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__diff__3.5.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__diff__3.5.0__links", - "package": "diff", - "version": "3.5.0", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": { - "diff": [ - "3.5.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__has-flag__3.0.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__has-flag__3.0.0__links", - "package": "has-flag", - "version": "3.0.0", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": { - "has-flag": [ - "3.0.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__semver-compare__1.0.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__semver-compare__1.0.0__links", - "package": "semver-compare", - "version": "1.0.0", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": { - "semver-compare": [ + "undici-types": [ + "5.26.5" + ], + "unpipe": [ "1.0.0" - ] - }, - "lifecycle_build_target": true, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [ - "no-sandbox" - ], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__once__1.4.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__once__1.4.0__links", - "package": "once", - "version": "1.4.0", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "wrappy": "1.0.2" - }, - "transitive_closure": { - "once": [ - "1.4.0" ], - "wrappy": [ + "update-browserslist-db": [ + "1.0.13_browserslist_4.23.0" + ], + "uri-js": [ + "4.4.1" + ], + "util-deprecate": [ "1.0.2" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__default-browser__5.2.1": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__default-browser__5.2.1", - "package": "default-browser", - "version": "5.2.1", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", - "url": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__postcss-modules-extract-imports__3.0.0__postcss_8.4.35__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__postcss-modules-extract-imports__3.0.0__postcss_8.4.35__links", - "package": "postcss-modules-extract-imports", - "version": "3.0.0_postcss_8.4.35", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "postcss": "8.4.35" - }, - "transitive_closure": { - "nanoid": [ - "3.3.7" ], - "picocolors": [ - "1.0.0" + "utils-merge": [ + "1.0.1" ], - "postcss": [ - "8.4.35" + "uuid": [ + "8.3.2" ], - "postcss-modules-extract-imports": [ - "3.0.0_postcss_8.4.35" + "vary": [ + "1.1.2" ], - "source-map-js": [ - "1.0.2" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__at_babel_plugin-transform-modules-commonjs__7.23.3__at_babel_core_7.23.9": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-transform-modules-commonjs__7.23.3__at_babel_core_7.23.9", - "package": "@babel/plugin-transform-modules-commonjs", - "version": "7.23.3_at_babel_core_7.23.9", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", - "url": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__ms__2.1.2__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__ms__2.1.2__links", - "package": "ms", - "version": "2.1.2", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": { - "ms": [ - "2.1.2" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__at_types_bonjour__3.5.13__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_types_bonjour__3.5.13__links", - "package": "@types/bonjour", - "version": "3.5.13", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "@types/node": "20.11.20" - }, - "transitive_closure": { - "@types/bonjour": [ - "3.5.13" + "watchpack": [ + "2.4.0" ], - "@types/node": [ - "20.11.20" + "wbuf": [ + "1.7.3" ], - "undici-types": [ - "5.26.5" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__supports-color__7.2.0": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__supports-color__7.2.0", - "package": "supports-color", - "version": "7.2.0", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "url": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__at_types_react-router__5.1.20": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_types_react-router__5.1.20", - "package": "@types/react-router", - "version": "5.1.20", - "root_package": "", - "link_workspace": "", - "link_packages": { - "": [ - "@types/react-router" - ] - }, - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", - "url": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__get-stream__5.2.0": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__get-stream__5.2.0", - "package": "get-stream", - "version": "5.2.0", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "url": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__string-width__5.1.2": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__string-width__5.1.2", - "package": "string-width", - "version": "5.1.2", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "url": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__at_babel_plugin-syntax-optional-catch-binding__7.8.3__at_babel_core_7.23.9": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-syntax-optional-catch-binding__7.8.3__at_babel_core_7.23.9", - "package": "@babel/plugin-syntax-optional-catch-binding", - "version": "7.8.3_at_babel_core_7.23.9", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "url": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__at_webassemblyjs_helper-wasm-bytecode__1.11.6": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_webassemblyjs_helper-wasm-bytecode__1.11.6", - "package": "@webassemblyjs/helper-wasm-bytecode", - "version": "1.11.6", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "url": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__nth-check__2.1.1__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__nth-check__2.1.1__links", - "package": "nth-check", - "version": "2.1.1", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "boolbase": "1.0.0" - }, - "transitive_closure": { - "boolbase": [ - "1.0.0" + "webpack": [ + "5.90.3_webpack-cli_5.1.4" ], - "nth-check": [ - "2.1.1" + "webpack-cli": [ + "5.1.4_-975075900" + ], + "webpack-dev-middleware": [ + "7.1.1_webpack_5.90.3" + ], + "webpack-dev-server": [ + "5.0.2_-359619668" + ], + "webpack-merge": [ + "5.10.0" + ], + "webpack-sources": [ + "3.2.3" + ], + "websocket-driver": [ + "0.7.4" + ], + "websocket-extensions": [ + "0.1.4" + ], + "which": [ + "2.0.2" + ], + "wildcard": [ + "2.0.1" + ], + "wrap-ansi": [ + "7.0.0", + "8.1.0" + ], + "ws": [ + "8.16.0" ] }, "lifecycle_build_target": false, @@ -32447,43 +32300,18 @@ ] } }, - "npm__signal-exit__3.0.7": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__signal-exit__3.0.7", - "package": "signal-exit", - "version": "3.0.7", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "url": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__keyv__4.5.4": { + "npm__at_emotion_hash__0.8.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__keyv__4.5.4", - "package": "keyv", - "version": "4.5.4", + "name": "aspect_rules_js~1.35.0~npm~npm__at_emotion_hash__0.8.0", + "package": "@emotion/hash", + "version": "0.8.0", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "url": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", + "url": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", "commit": "", "patch_args": [], "patches": [], @@ -32497,18 +32325,18 @@ "generate_bzl_library_targets": false } }, - "npm__at_types_serve-index__1.9.4": { + "npm__balanced-match__1.0.2": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_types_serve-index__1.9.4", - "package": "@types/serve-index", - "version": "1.9.4", + "name": "aspect_rules_js~1.35.0~npm~npm__balanced-match__1.0.2", + "package": "balanced-match", + "version": "1.0.2", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "url": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "url": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "commit": "", "patch_args": [], "patches": [], @@ -32522,47 +32350,18 @@ "generate_bzl_library_targets": false } }, - "npm__shebang-command__2.0.0": { + "npm__schema-utils__4.2.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__shebang-command__2.0.0", - "package": "shebang-command", - "version": "2.0.0", + "name": "aspect_rules_js~1.35.0~npm~npm__schema-utils__4.2.0", + "package": "schema-utils", + "version": "4.2.0", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "url": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__at_types_react-dom__16.9.24": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_types_react-dom__16.9.24", - "package": "@types/react-dom", - "version": "16.9.24", - "root_package": "", - "link_workspace": "", - "link_packages": { - "": [ - "@types/react-dom" - ] - }, - "integrity": "sha512-Gcmq2JTDheyWn/1eteqyzzWKSqDjYU6KYsIvH7thb7CR5OYInAWOX+7WnKf6PaU/cbdOc4szJItcDEJO7UGmfA==", - "url": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.24.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "url": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "commit": "", "patch_args": [], "patches": [], @@ -32576,83 +32375,117 @@ "generate_bzl_library_targets": false } }, - "npm__launch-editor__2.6.1__links": { + "npm__at_babel_plugin-syntax-async-generators__7.8.4__at_babel_core_7.23.9__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__launch-editor__2.6.1__links", - "package": "launch-editor", - "version": "2.6.1", + "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-syntax-async-generators__7.8.4__at_babel_core_7.23.9__links", + "package": "@babel/plugin-syntax-async-generators", + "version": "7.8.4_at_babel_core_7.23.9", "dev": false, "root_package": "", "link_packages": {}, "deps": { - "picocolors": "1.0.0", - "shell-quote": "1.8.1" + "@babel/core": "7.23.9", + "@babel/helper-plugin-utils": "7.22.5" }, "transitive_closure": { - "launch-editor": [ - "2.6.1" - ], - "picocolors": [ - "1.0.0" + "@ampproject/remapping": [ + "2.2.1" ], - "shell-quote": [ - "1.8.1" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__at_babel_helper-function-name__7.23.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_helper-function-name__7.23.0__links", - "package": "@babel/helper-function-name", - "version": "7.23.0", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "@babel/template": "7.23.9", - "@babel/types": "7.23.9" - }, - "transitive_closure": { "@babel/code-frame": [ "7.23.5" ], + "@babel/compat-data": [ + "7.23.5" + ], + "@babel/core": [ + "7.23.9" + ], + "@babel/generator": [ + "7.23.6" + ], + "@babel/helper-compilation-targets": [ + "7.23.6" + ], + "@babel/helper-environment-visitor": [ + "7.22.20" + ], "@babel/helper-function-name": [ "7.23.0" ], + "@babel/helper-hoist-variables": [ + "7.22.5" + ], + "@babel/helper-module-imports": [ + "7.22.15" + ], + "@babel/helper-module-transforms": [ + "7.23.3_at_babel_core_7.23.9" + ], + "@babel/helper-plugin-utils": [ + "7.22.5" + ], + "@babel/helper-simple-access": [ + "7.22.5" + ], + "@babel/helper-split-export-declaration": [ + "7.22.6" + ], "@babel/helper-string-parser": [ "7.23.4" ], "@babel/helper-validator-identifier": [ "7.22.20" ], + "@babel/helper-validator-option": [ + "7.23.5" + ], + "@babel/helpers": [ + "7.23.9" + ], "@babel/highlight": [ "7.23.4" ], "@babel/parser": [ "7.23.9" ], + "@babel/plugin-syntax-async-generators": [ + "7.8.4_at_babel_core_7.23.9" + ], "@babel/template": [ "7.23.9" ], + "@babel/traverse": [ + "7.23.9" + ], "@babel/types": [ "7.23.9" ], + "@jridgewell/gen-mapping": [ + "0.3.3" + ], + "@jridgewell/resolve-uri": [ + "3.1.2" + ], + "@jridgewell/set-array": [ + "1.1.2" + ], + "@jridgewell/sourcemap-codec": [ + "1.4.15" + ], + "@jridgewell/trace-mapping": [ + "0.3.22" + ], "ansi-styles": [ "3.2.1" ], + "browserslist": [ + "4.23.0" + ], + "caniuse-lite": [ + "1.0.30001589" + ], "chalk": [ "2.4.2" ], @@ -32662,71 +32495,93 @@ "color-name": [ "1.1.3" ], + "convert-source-map": [ + "2.0.0" + ], + "debug": [ + "4.3.4_supports-color_8.1.1" + ], + "electron-to-chromium": [ + "1.4.681" + ], + "escalade": [ + "3.1.2" + ], "escape-string-regexp": [ "1.0.5" ], + "gensync": [ + "1.0.0-beta.2" + ], + "globals": [ + "11.12.0" + ], "has-flag": [ - "3.0.0" + "3.0.0", + "4.0.0" ], "js-tokens": [ "4.0.0" ], + "jsesc": [ + "2.5.2" + ], + "json5": [ + "2.2.3" + ], + "lru-cache": [ + "5.1.1" + ], + "ms": [ + "2.1.2" + ], + "node-releases": [ + "2.0.14" + ], + "picocolors": [ + "1.0.0" + ], + "semver": [ + "6.3.1" + ], "supports-color": [ - "5.5.0" + "5.5.0", + "8.1.1" ], "to-fast-properties": [ "2.0.0" + ], + "update-browserslist-db": [ + "1.0.13_browserslist_4.23.0" + ], + "yallist": [ + "3.1.1" ] }, "lifecycle_build_target": false, "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__hpack.js__2.1.6": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__hpack.js__2.1.6", - "package": "hpack.js", - "version": "2.1.6", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "url": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] } }, - "npm__he__1.1.1__links": { + "npm__js-tokens__4.0.0__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__he__1.1.1__links", - "package": "he", - "version": "1.1.1", + "name": "aspect_rules_js~1.35.0~npm~npm__js-tokens__4.0.0__links", + "package": "js-tokens", + "version": "4.0.0", "dev": false, "root_package": "", "link_packages": {}, "deps": {}, "transitive_closure": { - "he": [ - "1.1.1" + "js-tokens": [ + "4.0.0" ] }, "lifecycle_build_target": false, @@ -32739,44 +32594,35 @@ ] } }, - "npm__at_types_connect-history-api-fallback__1.5.4__links": { + "npm__param-case__3.0.4__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_types_connect-history-api-fallback__1.5.4__links", - "package": "@types/connect-history-api-fallback", - "version": "1.5.4", + "name": "aspect_rules_js~1.35.0~npm~npm__param-case__3.0.4__links", + "package": "param-case", + "version": "3.0.4", "dev": false, "root_package": "", "link_packages": {}, "deps": { - "@types/express-serve-static-core": "4.17.43", - "@types/node": "20.11.20" + "dot-case": "3.0.4", + "tslib": "2.6.2" }, "transitive_closure": { - "@types/connect-history-api-fallback": [ - "1.5.4" - ], - "@types/express-serve-static-core": [ - "4.17.43" - ], - "@types/mime": [ - "1.3.5" - ], - "@types/node": [ - "20.11.20" + "dot-case": [ + "3.0.4" ], - "@types/qs": [ - "6.9.11" + "lower-case": [ + "2.0.2" ], - "@types/range-parser": [ - "1.2.7" + "no-case": [ + "3.0.4" ], - "@types/send": [ - "0.17.4" + "param-case": [ + "3.0.4" ], - "undici-types": [ - "5.26.5" + "tslib": [ + "2.6.2" ] }, "lifecycle_build_target": false, @@ -32789,45 +32635,20 @@ ] } }, - "npm__follow-redirects__1.15.5": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__follow-redirects__1.15.5", - "package": "follow-redirects", - "version": "1.15.5", - "root_package": "", - "link_workspace": "", - "link_packages": {}, - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", - "url": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__tapable__2.2.1__links": { + "npm__is-fullwidth-code-point__3.0.0__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__tapable__2.2.1__links", - "package": "tapable", - "version": "2.2.1", + "name": "aspect_rules_js~1.35.0~npm~npm__is-fullwidth-code-point__3.0.0__links", + "package": "is-fullwidth-code-point", + "version": "3.0.0", "dev": false, "root_package": "", "link_packages": {}, "deps": {}, "transitive_closure": { - "tapable": [ - "2.2.1" + "is-fullwidth-code-point": [ + "3.0.0" ] }, "lifecycle_build_target": false, @@ -32840,18 +32661,18 @@ ] } }, - "npm__sprintf-js__1.1.3": { + "npm__regexpu-core__5.3.2": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__sprintf-js__1.1.3", - "package": "sprintf-js", - "version": "1.1.3", + "name": "aspect_rules_js~1.35.0~npm~npm__regexpu-core__5.3.2", + "package": "regexpu-core", + "version": "5.3.2", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "url": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "url": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", "commit": "", "patch_args": [], "patches": [], @@ -32860,27 +32681,23 @@ "npm_auth_basic": "", "npm_auth_username": "", "npm_auth_password": "", - "lifecycle_hooks": [ - "preinstall", - "install", - "postinstall" - ], + "lifecycle_hooks": [], "extra_build_content": "", "generate_bzl_library_targets": false } }, - "npm__ansi-regex__6.0.1": { + "npm__lodash.debounce__4.0.8": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__ansi-regex__6.0.1", - "package": "ansi-regex", - "version": "6.0.1", + "name": "aspect_rules_js~1.35.0~npm~npm__lodash.debounce__4.0.8", + "package": "lodash.debounce", + "version": "4.0.8", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "url": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "commit": "", "patch_args": [], "patches": [], @@ -32894,18 +32711,18 @@ "generate_bzl_library_targets": false } }, - "npm__at_electron_get__2.0.3": { + "npm__node-forge__1.3.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_electron_get__2.0.3", - "package": "@electron/get", - "version": "2.0.3", + "name": "aspect_rules_js~1.35.0~npm~npm__node-forge__1.3.1", + "package": "node-forge", + "version": "1.3.1", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", - "url": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "url": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "commit": "", "patch_args": [], "patches": [], @@ -32919,87 +32736,25 @@ "generate_bzl_library_targets": false } }, - "npm__es6-error__4.1.1__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__es6-error__4.1.1__links", - "package": "es6-error", - "version": "4.1.1", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": { - "es6-error": [ - "4.1.1" - ] - }, - "lifecycle_build_target": true, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [ - "no-sandbox" - ], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__call-bind__1.0.7__links": { + "npm__compressible__2.0.18__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__call-bind__1.0.7__links", - "package": "call-bind", - "version": "1.0.7", + "name": "aspect_rules_js~1.35.0~npm~npm__compressible__2.0.18__links", + "package": "compressible", + "version": "2.0.18", "dev": false, "root_package": "", "link_packages": {}, "deps": { - "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" + "mime-db": "1.52.0" }, "transitive_closure": { - "call-bind": [ - "1.0.7" - ], - "define-data-property": [ - "1.1.4" - ], - "es-define-property": [ - "1.0.0" - ], - "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" - ], - "has-proto": [ - "1.0.3" - ], - "has-symbols": [ - "1.0.3" - ], - "hasown": [ - "2.0.1" + "compressible": [ + "2.0.18" ], - "set-function-length": [ - "1.2.1" + "mime-db": [ + "1.52.0" ] }, "lifecycle_build_target": false, @@ -33012,18 +32767,18 @@ ] } }, - "npm__http-errors__1.6.3": { + "npm__at_types_body-parser__1.19.5": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__http-errors__1.6.3", - "package": "http-errors", - "version": "1.6.3", + "name": "aspect_rules_js~1.35.0~npm~npm__at_types_body-parser__1.19.5", + "package": "@types/body-parser", + "version": "1.19.5", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "url": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "url": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", "commit": "", "patch_args": [], "patches": [], @@ -33037,43 +32792,56 @@ "generate_bzl_library_targets": false } }, - "npm__require-from-string__2.0.2": { + "npm__yauzl__2.10.0__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", + "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__require-from-string__2.0.2", - "package": "require-from-string", - "version": "2.0.2", + "name": "aspect_rules_js~1.35.0~npm~npm__yauzl__2.10.0__links", + "package": "yauzl", + "version": "2.10.0", + "dev": false, "root_package": "", - "link_workspace": "", "link_packages": {}, - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "url": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false + "deps": { + "buffer-crc32": "0.2.13", + "fd-slicer": "1.1.0" + }, + "transitive_closure": { + "buffer-crc32": [ + "0.2.13" + ], + "fd-slicer": [ + "1.1.0" + ], + "pend": [ + "1.2.0" + ], + "yauzl": [ + "2.10.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] } }, - "npm__brace-expansion__2.0.1": { + "npm__is-network-error__1.0.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__brace-expansion__2.0.1", - "package": "brace-expansion", - "version": "2.0.1", + "name": "aspect_rules_js~1.35.0~npm~npm__is-network-error__1.0.1", + "package": "is-network-error", + "version": "1.0.1", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "url": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-OwQXkwBJeESyhFw+OumbJVD58BFBJJI5OM5S1+eyrDKlgDZPX2XNT5gXS56GSD3NPbbwUuMlR1Q71SRp5SobuQ==", + "url": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.0.1.tgz", "commit": "", "patch_args": [], "patches": [], @@ -33087,21 +32855,20 @@ "generate_bzl_library_targets": false } }, - "npm__at_babel_helper-create-regexp-features-plugin__7.22.15__at_babel_core_7.23.9__links": { + "npm__at_babel_plugin-transform-regenerator__7.23.3__at_babel_core_7.23.9__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_helper-create-regexp-features-plugin__7.22.15__at_babel_core_7.23.9__links", - "package": "@babel/helper-create-regexp-features-plugin", - "version": "7.22.15_at_babel_core_7.23.9", + "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-transform-regenerator__7.23.3__at_babel_core_7.23.9__links", + "package": "@babel/plugin-transform-regenerator", + "version": "7.23.3_at_babel_core_7.23.9", "dev": false, "root_package": "", "link_packages": {}, "deps": { "@babel/core": "7.23.9", - "@babel/helper-annotate-as-pure": "7.22.5", - "regexpu-core": "5.3.2", - "semver": "6.3.1" + "@babel/helper-plugin-utils": "7.22.5", + "regenerator-transform": "0.15.2" }, "transitive_closure": { "@ampproject/remapping": [ @@ -33119,15 +32886,9 @@ "@babel/generator": [ "7.23.6" ], - "@babel/helper-annotate-as-pure": [ - "7.22.5" - ], "@babel/helper-compilation-targets": [ "7.23.6" ], - "@babel/helper-create-regexp-features-plugin": [ - "7.22.15_at_babel_core_7.23.9" - ], "@babel/helper-environment-visitor": [ "7.22.20" ], @@ -33143,6 +32904,9 @@ "@babel/helper-module-transforms": [ "7.23.3_at_babel_core_7.23.9" ], + "@babel/helper-plugin-utils": [ + "7.22.5" + ], "@babel/helper-simple-access": [ "7.22.5" ], @@ -33167,8 +32931,11 @@ "@babel/parser": [ "7.23.9" ], - "@babel/regjsgen": [ - "0.8.0" + "@babel/plugin-transform-regenerator": [ + "7.23.3_at_babel_core_7.23.9" + ], + "@babel/runtime": [ + "7.23.9" ], "@babel/template": [ "7.23.9" @@ -33241,7 +33008,6 @@ "4.0.0" ], "jsesc": [ - "0.5.0", "2.5.2" ], "json5": [ @@ -33259,17 +33025,11 @@ "picocolors": [ "1.0.0" ], - "regenerate": [ - "1.4.2" - ], - "regenerate-unicode-properties": [ - "10.1.1" - ], - "regexpu-core": [ - "5.3.2" + "regenerator-runtime": [ + "0.14.1" ], - "regjsparser": [ - "0.9.1" + "regenerator-transform": [ + "0.15.2" ], "semver": [ "6.3.1" @@ -33281,18 +33041,6 @@ "to-fast-properties": [ "2.0.0" ], - "unicode-canonical-property-names-ecmascript": [ - "2.0.0" - ], - "unicode-match-property-ecmascript": [ - "2.0.0" - ], - "unicode-match-property-value-ecmascript": [ - "2.1.0" - ], - "unicode-property-aliases-ecmascript": [ - "2.1.0" - ], "update-browserslist-db": [ "1.0.13_browserslist_4.23.0" ], @@ -33310,47 +33058,188 @@ ] } }, - "npm__at_types_eslint__8.56.3": { + "npm__get-stream__6.0.1": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__get-stream__6.0.1", + "package": "get-stream", + "version": "6.0.1", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "url": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__serialize-javascript__6.0.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__serialize-javascript__6.0.0__links", + "package": "serialize-javascript", + "version": "6.0.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "randombytes": "2.1.0" + }, + "transitive_closure": { + "randombytes": [ + "2.1.0" + ], + "safe-buffer": [ + "5.2.1" + ], + "serialize-javascript": [ + "6.0.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__diff__3.5.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__diff__3.5.0__links", + "package": "diff", + "version": "3.5.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "diff": [ + "3.5.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__has-flag__3.0.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__has-flag__3.0.0__links", + "package": "has-flag", + "version": "3.0.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "has-flag": [ + "3.0.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__semver-compare__1.0.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__semver-compare__1.0.0__links", + "package": "semver-compare", + "version": "1.0.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "semver-compare": [ + "1.0.0" + ] + }, + "lifecycle_build_target": true, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [ + "no-sandbox" + ], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__once__1.4.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__once__1.4.0__links", + "package": "once", + "version": "1.4.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "wrappy": "1.0.2" + }, + "transitive_closure": { + "once": [ + "1.4.0" + ], + "wrappy": [ + "1.0.2" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__default-browser__5.2.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_types_eslint__8.56.3", - "package": "@types/eslint", - "version": "8.56.3", + "name": "aspect_rules_js~1.35.0~npm~npm__default-browser__5.2.1", + "package": "default-browser", + "version": "5.2.1", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg==", - "url": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.3.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, - "npm__react__16.14.0": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__react__16.14.0", - "package": "react", - "version": "16.14.0", - "root_package": "", - "link_workspace": "", - "link_packages": { - "": [ - "react" - ] - }, - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "url": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "url": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", "commit": "", "patch_args": [], "patches": [], @@ -33364,211 +33253,364 @@ "generate_bzl_library_targets": false } }, - "npm__at_babel_plugin-transform-private-property-in-object__7.23.4__at_babel_core_7.23.9__links": { + "npm__express__4.19.2__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-transform-private-property-in-object__7.23.4__at_babel_core_7.23.9__links", - "package": "@babel/plugin-transform-private-property-in-object", - "version": "7.23.4_at_babel_core_7.23.9", + "name": "aspect_rules_js~1.35.0~npm~npm__express__4.19.2__links", + "package": "express", + "version": "4.19.2", "dev": false, "root_package": "", "link_packages": {}, "deps": { - "@babel/core": "7.23.9", - "@babel/helper-annotate-as-pure": "7.22.5", - "@babel/helper-create-class-features-plugin": "7.23.10_at_babel_core_7.23.9", - "@babel/helper-plugin-utils": "7.22.5", - "@babel/plugin-syntax-private-property-in-object": "7.14.5_at_babel_core_7.23.9" + "accepts": "1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "1.0.5", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.4.1", + "parseurl": "1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.7", + "qs": "6.11.0", + "range-parser": "1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "1.6.18", + "utils-merge": "1.0.1", + "vary": "1.1.2" }, "transitive_closure": { - "@ampproject/remapping": [ - "2.2.1" + "accepts": [ + "1.3.8" ], - "@babel/code-frame": [ - "7.23.5" + "array-flatten": [ + "1.1.1" ], - "@babel/compat-data": [ - "7.23.5" + "body-parser": [ + "1.20.2" ], - "@babel/core": [ - "7.23.9" + "bytes": [ + "3.1.2" ], - "@babel/generator": [ - "7.23.6" + "call-bind": [ + "1.0.7" ], - "@babel/helper-annotate-as-pure": [ - "7.22.5" + "content-disposition": [ + "0.5.4" ], - "@babel/helper-compilation-targets": [ - "7.23.6" + "content-type": [ + "1.0.5" ], - "@babel/helper-create-class-features-plugin": [ - "7.23.10_at_babel_core_7.23.9" + "cookie": [ + "0.6.0" ], - "@babel/helper-environment-visitor": [ - "7.22.20" + "cookie-signature": [ + "1.0.6" ], - "@babel/helper-function-name": [ - "7.23.0" + "debug": [ + "2.6.9" ], - "@babel/helper-hoist-variables": [ - "7.22.5" + "define-data-property": [ + "1.1.4" ], - "@babel/helper-member-expression-to-functions": [ - "7.23.0" + "depd": [ + "2.0.0" ], - "@babel/helper-module-imports": [ - "7.22.15" + "destroy": [ + "1.2.0" ], - "@babel/helper-module-transforms": [ - "7.23.3_at_babel_core_7.23.9" + "ee-first": [ + "1.1.1" ], - "@babel/helper-optimise-call-expression": [ - "7.22.5" + "encodeurl": [ + "1.0.2" ], - "@babel/helper-plugin-utils": [ - "7.22.5" + "es-define-property": [ + "1.0.0" ], - "@babel/helper-replace-supers": [ - "7.22.20_at_babel_core_7.23.9" + "es-errors": [ + "1.3.0" ], - "@babel/helper-simple-access": [ - "7.22.5" + "escape-html": [ + "1.0.3" ], - "@babel/helper-skip-transparent-expression-wrappers": [ - "7.22.5" + "etag": [ + "1.8.1" ], - "@babel/helper-split-export-declaration": [ - "7.22.6" + "express": [ + "4.19.2" ], - "@babel/helper-string-parser": [ - "7.23.4" + "finalhandler": [ + "1.2.0" ], - "@babel/helper-validator-identifier": [ - "7.22.20" + "forwarded": [ + "0.2.0" ], - "@babel/helper-validator-option": [ - "7.23.5" + "fresh": [ + "0.5.2" ], - "@babel/helpers": [ - "7.23.9" + "function-bind": [ + "1.1.2" ], - "@babel/highlight": [ - "7.23.4" + "get-intrinsic": [ + "1.2.4" ], - "@babel/parser": [ - "7.23.9" + "gopd": [ + "1.0.1" ], - "@babel/plugin-syntax-private-property-in-object": [ - "7.14.5_at_babel_core_7.23.9" + "has-property-descriptors": [ + "1.0.2" ], - "@babel/plugin-transform-private-property-in-object": [ - "7.23.4_at_babel_core_7.23.9" + "has-proto": [ + "1.0.3" ], - "@babel/template": [ - "7.23.9" + "has-symbols": [ + "1.0.3" ], - "@babel/traverse": [ - "7.23.9" + "hasown": [ + "2.0.1" ], - "@babel/types": [ - "7.23.9" + "http-errors": [ + "2.0.0" ], - "@jridgewell/gen-mapping": [ - "0.3.3" + "iconv-lite": [ + "0.4.24" ], - "@jridgewell/resolve-uri": [ - "3.1.2" + "inherits": [ + "2.0.4" ], - "@jridgewell/set-array": [ + "ipaddr.js": [ + "1.9.1" + ], + "media-typer": [ + "0.3.0" + ], + "merge-descriptors": [ + "1.0.1" + ], + "methods": [ "1.1.2" ], - "@jridgewell/sourcemap-codec": [ - "1.4.15" + "mime": [ + "1.6.0" ], - "@jridgewell/trace-mapping": [ - "0.3.22" + "mime-db": [ + "1.52.0" ], - "ansi-styles": [ - "3.2.1" + "mime-types": [ + "2.1.35" ], - "browserslist": [ - "4.23.0" + "ms": [ + "2.0.0", + "2.1.3" ], - "caniuse-lite": [ - "1.0.30001589" + "negotiator": [ + "0.6.3" ], - "chalk": [ - "2.4.2" + "object-inspect": [ + "1.13.1" ], - "color-convert": [ - "1.9.3" + "on-finished": [ + "2.4.1" ], - "color-name": [ - "1.1.3" + "parseurl": [ + "1.3.3" ], - "convert-source-map": [ - "2.0.0" + "path-to-regexp": [ + "0.1.7" ], - "debug": [ - "4.3.4_supports-color_8.1.1" + "proxy-addr": [ + "2.0.7" ], - "electron-to-chromium": [ - "1.4.681" + "qs": [ + "6.11.0" ], - "escalade": [ - "3.1.2" + "range-parser": [ + "1.2.1" ], - "escape-string-regexp": [ - "1.0.5" + "raw-body": [ + "2.5.2" ], - "gensync": [ - "1.0.0-beta.2" + "safe-buffer": [ + "5.2.1" ], - "globals": [ - "11.12.0" + "safer-buffer": [ + "2.1.2" ], - "has-flag": [ - "3.0.0", - "4.0.0" + "send": [ + "0.18.0" ], - "js-tokens": [ - "4.0.0" + "serve-static": [ + "1.15.0" ], - "jsesc": [ - "2.5.2" + "set-function-length": [ + "1.2.1" ], - "json5": [ - "2.2.3" + "setprototypeof": [ + "1.2.0" ], - "lru-cache": [ - "5.1.1" + "side-channel": [ + "1.0.5" ], - "ms": [ - "2.1.2" + "statuses": [ + "2.0.1" ], - "node-releases": [ - "2.0.14" + "toidentifier": [ + "1.0.1" + ], + "type-is": [ + "1.6.18" + ], + "unpipe": [ + "1.0.0" + ], + "utils-merge": [ + "1.0.1" + ], + "vary": [ + "1.1.2" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__postcss-modules-extract-imports__3.0.0__postcss_8.4.35__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__postcss-modules-extract-imports__3.0.0__postcss_8.4.35__links", + "package": "postcss-modules-extract-imports", + "version": "3.0.0_postcss_8.4.35", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "postcss": "8.4.35" + }, + "transitive_closure": { + "nanoid": [ + "3.3.7" ], "picocolors": [ "1.0.0" ], - "semver": [ - "6.3.1" + "postcss": [ + "8.4.35" ], - "supports-color": [ - "5.5.0", - "8.1.1" + "postcss-modules-extract-imports": [ + "3.0.0_postcss_8.4.35" ], - "to-fast-properties": [ - "2.0.0" + "source-map-js": [ + "1.0.2" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__at_babel_plugin-transform-modules-commonjs__7.23.3__at_babel_core_7.23.9": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-transform-modules-commonjs__7.23.3__at_babel_core_7.23.9", + "package": "@babel/plugin-transform-modules-commonjs", + "version": "7.23.3_at_babel_core_7.23.9", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "url": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__ms__2.1.2__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__ms__2.1.2__links", + "package": "ms", + "version": "2.1.2", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "ms": [ + "2.1.2" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__at_types_bonjour__3.5.13__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_types_bonjour__3.5.13__links", + "package": "@types/bonjour", + "version": "3.5.13", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "@types/node": "20.11.20" + }, + "transitive_closure": { + "@types/bonjour": [ + "3.5.13" ], - "update-browserslist-db": [ - "1.0.13_browserslist_4.23.0" + "@types/node": [ + "20.11.20" ], - "yallist": [ - "3.1.1" + "undici-types": [ + "5.26.5" ] }, "lifecycle_build_target": false, @@ -33581,22 +33623,97 @@ ] } }, - "npm__react-router__5.3.4__react_16.14.0": { + "npm__supports-color__7.2.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__supports-color__7.2.0", + "package": "supports-color", + "version": "7.2.0", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "url": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__at_types_react-router__5.1.20": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_types_react-router__5.1.20", + "package": "@types/react-router", + "version": "5.1.20", + "root_package": "", + "link_workspace": "", + "link_packages": { + "": [ + "@types/react-router" + ] + }, + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "url": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__get-stream__5.2.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__get-stream__5.2.0", + "package": "get-stream", + "version": "5.2.0", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "url": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__string-width__5.1.2": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__react-router__5.3.4__react_16.14.0", - "package": "react-router", - "version": "5.3.4_react_16.14.0", + "name": "aspect_rules_js~1.35.0~npm~npm__string-width__5.1.2", + "package": "string-width", + "version": "5.1.2", "root_package": "", "link_workspace": "", - "link_packages": { - "": [ - "react-router" - ] - }, - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "url": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "link_packages": {}, + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "url": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "commit": "", "patch_args": [], "patches": [], @@ -33610,59 +33727,75 @@ "generate_bzl_library_targets": false } }, - "npm__isexe__2.0.0__links": { + "npm__at_babel_plugin-syntax-optional-catch-binding__7.8.3__at_babel_core_7.23.9": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", + "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__isexe__2.0.0__links", - "package": "isexe", - "version": "2.0.0", - "dev": false, + "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-syntax-optional-catch-binding__7.8.3__at_babel_core_7.23.9", + "package": "@babel/plugin-syntax-optional-catch-binding", + "version": "7.8.3_at_babel_core_7.23.9", "root_package": "", + "link_workspace": "", "link_packages": {}, - "deps": {}, - "transitive_closure": { - "isexe": [ - "2.0.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "url": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false } }, - "npm__p-retry__6.2.0__links": { + "npm__at_webassemblyjs_helper-wasm-bytecode__1.11.6": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_webassemblyjs_helper-wasm-bytecode__1.11.6", + "package": "@webassemblyjs/helper-wasm-bytecode", + "version": "1.11.6", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "url": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__nth-check__2.1.1__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__p-retry__6.2.0__links", - "package": "p-retry", - "version": "6.2.0", + "name": "aspect_rules_js~1.35.0~npm~npm__nth-check__2.1.1__links", + "package": "nth-check", + "version": "2.1.1", "dev": false, "root_package": "", "link_packages": {}, "deps": { - "@types/retry": "0.12.2", - "is-network-error": "1.0.1", - "retry": "0.13.1" + "boolbase": "1.0.0" }, "transitive_closure": { - "@types/retry": [ - "0.12.2" - ], - "is-network-error": [ - "1.0.1" - ], - "p-retry": [ - "6.2.0" + "boolbase": [ + "1.0.0" ], - "retry": [ - "0.13.1" + "nth-check": [ + "2.1.1" ] }, "lifecycle_build_target": false, @@ -33675,44 +33808,43 @@ ] } }, - "npm__array-flatten__1.1.1__links": { + "npm__signal-exit__3.0.7": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", + "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__array-flatten__1.1.1__links", - "package": "array-flatten", - "version": "1.1.1", - "dev": false, + "name": "aspect_rules_js~1.35.0~npm~npm__signal-exit__3.0.7", + "package": "signal-exit", + "version": "3.0.7", "root_package": "", + "link_workspace": "", "link_packages": {}, - "deps": {}, - "transitive_closure": { - "array-flatten": [ - "1.1.1" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "url": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false } }, - "npm__at_babel_plugin-transform-private-methods__7.23.3__at_babel_core_7.23.9": { + "npm__keyv__4.5.4": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-transform-private-methods__7.23.3__at_babel_core_7.23.9", - "package": "@babel/plugin-transform-private-methods", - "version": "7.23.3_at_babel_core_7.23.9", + "name": "aspect_rules_js~1.35.0~npm~npm__keyv__4.5.4", + "package": "keyv", + "version": "4.5.4", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", - "url": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "url": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "commit": "", "patch_args": [], "patches": [], @@ -33726,44 +33858,43 @@ "generate_bzl_library_targets": false } }, - "npm__argparse__2.0.1__links": { + "npm__at_types_serve-index__1.9.4": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", + "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__argparse__2.0.1__links", - "package": "argparse", - "version": "2.0.1", - "dev": false, + "name": "aspect_rules_js~1.35.0~npm~npm__at_types_serve-index__1.9.4", + "package": "@types/serve-index", + "version": "1.9.4", "root_package": "", + "link_workspace": "", "link_packages": {}, - "deps": {}, - "transitive_closure": { - "argparse": [ - "2.0.1" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "url": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false } }, - "npm__relateurl__0.2.7": { + "npm__shebang-command__2.0.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__relateurl__0.2.7", - "package": "relateurl", - "version": "0.2.7", + "name": "aspect_rules_js~1.35.0~npm~npm__shebang-command__2.0.0", + "package": "shebang-command", + "version": "2.0.0", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "url": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "url": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "commit": "", "patch_args": [], "patches": [], @@ -33777,58 +33908,58 @@ "generate_bzl_library_targets": false } }, - "npm__debug__4.3.4__supports-color_8.1.1__links": { + "npm__at_types_react-dom__16.9.24": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", + "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__debug__4.3.4__supports-color_8.1.1__links", - "package": "debug", - "version": "4.3.4_supports-color_8.1.1", - "dev": false, + "name": "aspect_rules_js~1.35.0~npm~npm__at_types_react-dom__16.9.24", + "package": "@types/react-dom", + "version": "16.9.24", "root_package": "", - "link_packages": {}, - "deps": { - "ms": "2.1.2", - "supports-color": "8.1.1" - }, - "transitive_closure": { - "debug": [ - "4.3.4_supports-color_8.1.1" - ], - "has-flag": [ - "4.0.0" - ], - "ms": [ - "2.1.2" - ], - "supports-color": [ - "8.1.1" + "link_workspace": "", + "link_packages": { + "": [ + "@types/react-dom" ] }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] + "integrity": "sha512-Gcmq2JTDheyWn/1eteqyzzWKSqDjYU6KYsIvH7thb7CR5OYInAWOX+7WnKf6PaU/cbdOc4szJItcDEJO7UGmfA==", + "url": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.24.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false } }, - "npm__get-caller-file__2.0.5__links": { + "npm__launch-editor__2.6.1__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__get-caller-file__2.0.5__links", - "package": "get-caller-file", - "version": "2.0.5", + "name": "aspect_rules_js~1.35.0~npm~npm__launch-editor__2.6.1__links", + "package": "launch-editor", + "version": "2.6.1", "dev": false, "root_package": "", "link_packages": {}, - "deps": {}, + "deps": { + "picocolors": "1.0.0", + "shell-quote": "1.8.1" + }, "transitive_closure": { - "get-caller-file": [ - "2.0.5" + "launch-editor": [ + "2.6.1" + ], + "picocolors": [ + "1.0.0" + ], + "shell-quote": [ + "1.8.1" ] }, "lifecycle_build_target": false, @@ -33841,29 +33972,71 @@ ] } }, - "npm__http2-wrapper__1.0.3__links": { + "npm__at_babel_helper-function-name__7.23.0__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__http2-wrapper__1.0.3__links", - "package": "http2-wrapper", - "version": "1.0.3", + "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_helper-function-name__7.23.0__links", + "package": "@babel/helper-function-name", + "version": "7.23.0", "dev": false, "root_package": "", "link_packages": {}, "deps": { - "quick-lru": "5.1.1", - "resolve-alpn": "1.2.1" + "@babel/template": "7.23.9", + "@babel/types": "7.23.9" }, "transitive_closure": { - "http2-wrapper": [ - "1.0.3" + "@babel/code-frame": [ + "7.23.5" ], - "quick-lru": [ - "5.1.1" + "@babel/helper-function-name": [ + "7.23.0" ], - "resolve-alpn": [ - "1.2.1" + "@babel/helper-string-parser": [ + "7.23.4" + ], + "@babel/helper-validator-identifier": [ + "7.22.20" + ], + "@babel/highlight": [ + "7.23.4" + ], + "@babel/parser": [ + "7.23.9" + ], + "@babel/template": [ + "7.23.9" + ], + "@babel/types": [ + "7.23.9" + ], + "ansi-styles": [ + "3.2.1" + ], + "chalk": [ + "2.4.2" + ], + "color-convert": [ + "1.9.3" + ], + "color-name": [ + "1.1.3" + ], + "escape-string-regexp": [ + "1.0.5" + ], + "has-flag": [ + "3.0.0" + ], + "js-tokens": [ + "4.0.0" + ], + "supports-color": [ + "5.5.0" + ], + "to-fast-properties": [ + "2.0.0" ] }, "lifecycle_build_target": false, @@ -33876,27 +34049,50 @@ ] } }, - "npm__boolean__3.2.0__links": { + "npm__hpack.js__2.1.6": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__hpack.js__2.1.6", + "package": "hpack.js", + "version": "2.1.6", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "url": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__he__1.1.1__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__boolean__3.2.0__links", - "package": "boolean", - "version": "3.2.0", + "name": "aspect_rules_js~1.35.0~npm~npm__he__1.1.1__links", + "package": "he", + "version": "1.1.1", "dev": false, "root_package": "", "link_packages": {}, "deps": {}, "transitive_closure": { - "boolean": [ - "3.2.0" + "he": [ + "1.1.1" ] }, - "lifecycle_build_target": true, + "lifecycle_build_target": false, "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [ - "no-sandbox" - ], + "lifecycle_hooks_execution_requirements": [], "bins": {}, "npm_translate_lock_repo": "npm", "package_visibility": [ @@ -33904,51 +34100,44 @@ ] } }, - "npm__history__4.10.1__links": { + "npm__at_types_connect-history-api-fallback__1.5.4__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__history__4.10.1__links", - "package": "history", - "version": "4.10.1", + "name": "aspect_rules_js~1.35.0~npm~npm__at_types_connect-history-api-fallback__1.5.4__links", + "package": "@types/connect-history-api-fallback", + "version": "1.5.4", "dev": false, "root_package": "", "link_packages": {}, "deps": { - "@babel/runtime": "7.23.9", - "loose-envify": "1.4.0", - "resolve-pathname": "3.0.0", - "tiny-invariant": "1.3.2", - "tiny-warning": "1.0.3", - "value-equal": "1.0.1" + "@types/express-serve-static-core": "4.17.43", + "@types/node": "20.11.20" }, "transitive_closure": { - "@babel/runtime": [ - "7.23.9" - ], - "history": [ - "4.10.1" + "@types/connect-history-api-fallback": [ + "1.5.4" ], - "js-tokens": [ - "4.0.0" + "@types/express-serve-static-core": [ + "4.17.43" ], - "loose-envify": [ - "1.4.0" + "@types/mime": [ + "1.3.5" ], - "regenerator-runtime": [ - "0.14.1" + "@types/node": [ + "20.11.20" ], - "resolve-pathname": [ - "3.0.0" + "@types/qs": [ + "6.9.11" ], - "tiny-invariant": [ - "1.3.2" + "@types/range-parser": [ + "1.2.7" ], - "tiny-warning": [ - "1.0.3" + "@types/send": [ + "0.17.4" ], - "value-equal": [ - "1.0.1" + "undici-types": [ + "5.26.5" ] }, "lifecycle_build_target": false, @@ -33961,52 +34150,45 @@ ] } }, - "npm__vscode-test__0.4.3__links": { + "npm__follow-redirects__1.15.6": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", + "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__vscode-test__0.4.3__links", - "package": "vscode-test", - "version": "0.4.3", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "http-proxy-agent": "2.1.0", - "https-proxy-agent": "2.2.4" - }, - "transitive_closure": { - "agent-base": [ - "4.3.0" - ], - "debug": [ - "3.1.0_supports-color_5.4.0", - "3.2.7" - ], - "es6-promise": [ - "4.2.8" - ], - "es6-promisify": [ - "5.0.0" - ], - "has-flag": [ - "3.0.0" - ], - "http-proxy-agent": [ - "2.1.0" - ], - "https-proxy-agent": [ - "2.2.4" - ], - "ms": [ - "2.0.0", - "2.1.3" - ], - "supports-color": [ - "5.4.0" - ], - "vscode-test": [ - "0.4.3" + "name": "aspect_rules_js~1.35.0~npm~npm__follow-redirects__1.15.6", + "package": "follow-redirects", + "version": "1.15.6", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "url": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__tapable__2.2.1__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__tapable__2.2.1__links", + "package": "tapable", + "version": "2.2.1", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "tapable": [ + "2.2.1" ] }, "lifecycle_build_target": false, @@ -34019,18 +34201,18 @@ ] } }, - "npm__debug__4.3.4__supports-color_8.1.1": { + "npm__sprintf-js__1.1.3": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__debug__4.3.4__supports-color_8.1.1", - "package": "debug", - "version": "4.3.4_supports-color_8.1.1", + "name": "aspect_rules_js~1.35.0~npm~npm__sprintf-js__1.1.3", + "package": "sprintf-js", + "version": "1.1.3", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "url": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "url": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", "commit": "", "patch_args": [], "patches": [], @@ -34039,23 +34221,27 @@ "npm_auth_basic": "", "npm_auth_username": "", "npm_auth_password": "", - "lifecycle_hooks": [], + "lifecycle_hooks": [ + "preinstall", + "install", + "postinstall" + ], "extra_build_content": "", "generate_bzl_library_targets": false } }, - "npm__node-releases__2.0.14": { + "npm__ansi-regex__6.0.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__node-releases__2.0.14", - "package": "node-releases", - "version": "2.0.14", + "name": "aspect_rules_js~1.35.0~npm~npm__ansi-regex__6.0.1", + "package": "ansi-regex", + "version": "6.0.1", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "url": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "url": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "commit": "", "patch_args": [], "patches": [], @@ -34069,79 +34255,18 @@ "generate_bzl_library_targets": false } }, - "npm__at_babel_generator__7.23.6__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_generator__7.23.6__links", - "package": "@babel/generator", - "version": "7.23.6", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "@babel/types": "7.23.9", - "@jridgewell/gen-mapping": "0.3.3", - "@jridgewell/trace-mapping": "0.3.22", - "jsesc": "2.5.2" - }, - "transitive_closure": { - "@babel/generator": [ - "7.23.6" - ], - "@babel/helper-string-parser": [ - "7.23.4" - ], - "@babel/helper-validator-identifier": [ - "7.22.20" - ], - "@babel/types": [ - "7.23.9" - ], - "@jridgewell/gen-mapping": [ - "0.3.3" - ], - "@jridgewell/resolve-uri": [ - "3.1.2" - ], - "@jridgewell/set-array": [ - "1.1.2" - ], - "@jridgewell/sourcemap-codec": [ - "1.4.15" - ], - "@jridgewell/trace-mapping": [ - "0.3.22" - ], - "jsesc": [ - "2.5.2" - ], - "to-fast-properties": [ - "2.0.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, - "npm__obuf__1.1.2": { + "npm__at_electron_get__2.0.3": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__obuf__1.1.2", - "package": "obuf", - "version": "1.1.2", + "name": "aspect_rules_js~1.35.0~npm~npm__at_electron_get__2.0.3", + "package": "@electron/get", + "version": "2.0.3", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "url": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", + "url": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", "commit": "", "patch_args": [], "patches": [], @@ -34155,364 +34280,88 @@ "generate_bzl_library_targets": false } }, - "npm__terser-webpack-plugin__5.3.10__webpack_5.90.3__links": { + "npm__es6-error__4.1.1__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__terser-webpack-plugin__5.3.10__webpack_5.90.3__links", - "package": "terser-webpack-plugin", - "version": "5.3.10_webpack_5.90.3", + "name": "aspect_rules_js~1.35.0~npm~npm__es6-error__4.1.1__links", + "package": "es6-error", + "version": "4.1.1", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "es6-error": [ + "4.1.1" + ] + }, + "lifecycle_build_target": true, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [ + "no-sandbox" + ], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__at_sinonjs_commons__2.0.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_sinonjs_commons__2.0.0__links", + "package": "@sinonjs/commons", + "version": "2.0.0", "dev": false, "root_package": "", "link_packages": {}, "deps": { - "@jridgewell/trace-mapping": "0.3.22", - "jest-worker": "27.5.1", - "schema-utils": "3.3.0", - "serialize-javascript": "6.0.2", - "terser": "5.28.1", - "webpack": "5.90.3_webpack-cli_5.1.4" + "type-detect": "4.0.8" }, "transitive_closure": { - "@discoveryjs/json-ext": [ - "0.5.7" - ], - "@isaacs/cliui": [ - "8.0.2" - ], - "@jridgewell/gen-mapping": [ - "0.3.3" - ], - "@jridgewell/resolve-uri": [ - "3.1.2" - ], - "@jridgewell/set-array": [ - "1.1.2" - ], - "@jridgewell/source-map": [ - "0.3.5" - ], - "@jridgewell/sourcemap-codec": [ - "1.4.15" - ], - "@jridgewell/trace-mapping": [ - "0.3.22" - ], - "@leichtgewicht/ip-codec": [ - "2.0.4" - ], - "@pkgjs/parseargs": [ - "0.11.0" - ], - "@types/body-parser": [ - "1.19.5" - ], - "@types/bonjour": [ - "3.5.13" - ], - "@types/connect": [ - "3.4.38" - ], - "@types/connect-history-api-fallback": [ - "1.5.4" - ], - "@types/eslint": [ - "8.56.3" - ], - "@types/eslint-scope": [ - "3.7.7" - ], - "@types/estree": [ - "1.0.5" - ], - "@types/express": [ - "4.17.21" - ], - "@types/express-serve-static-core": [ - "4.17.43" - ], - "@types/http-errors": [ - "2.0.4" - ], - "@types/http-proxy": [ - "1.17.14" - ], - "@types/json-schema": [ - "7.0.15" - ], - "@types/mime": [ - "1.3.5", - "3.0.4" - ], - "@types/node": [ - "20.11.20" - ], - "@types/node-forge": [ - "1.3.11" - ], - "@types/qs": [ - "6.9.11" - ], - "@types/range-parser": [ - "1.2.7" - ], - "@types/retry": [ - "0.12.2" - ], - "@types/send": [ - "0.17.4" - ], - "@types/serve-index": [ - "1.9.4" - ], - "@types/serve-static": [ - "1.15.5" - ], - "@types/sockjs": [ - "0.3.36" - ], - "@types/ws": [ - "8.5.10" - ], - "@webassemblyjs/ast": [ - "1.11.6" - ], - "@webassemblyjs/floating-point-hex-parser": [ - "1.11.6" - ], - "@webassemblyjs/helper-api-error": [ - "1.11.6" - ], - "@webassemblyjs/helper-buffer": [ - "1.11.6" - ], - "@webassemblyjs/helper-numbers": [ - "1.11.6" - ], - "@webassemblyjs/helper-wasm-bytecode": [ - "1.11.6" - ], - "@webassemblyjs/helper-wasm-section": [ - "1.11.6" - ], - "@webassemblyjs/ieee754": [ - "1.11.6" - ], - "@webassemblyjs/leb128": [ - "1.11.6" - ], - "@webassemblyjs/utf8": [ - "1.11.6" - ], - "@webassemblyjs/wasm-edit": [ - "1.11.6" - ], - "@webassemblyjs/wasm-gen": [ - "1.11.6" - ], - "@webassemblyjs/wasm-opt": [ - "1.11.6" - ], - "@webassemblyjs/wasm-parser": [ - "1.11.6" - ], - "@webassemblyjs/wast-printer": [ - "1.11.6" - ], - "@webpack-cli/configtest": [ - "2.1.1_-359619668" - ], - "@webpack-cli/info": [ - "2.0.2_-359619668" - ], - "@webpack-cli/serve": [ - "2.0.5_-1025266409" - ], - "@xtuc/ieee754": [ - "1.2.0" - ], - "@xtuc/long": [ - "4.2.2" - ], - "accepts": [ - "1.3.8" - ], - "acorn": [ - "8.11.3" - ], - "acorn-import-assertions": [ - "1.9.0_acorn_8.11.3" - ], - "ajv": [ - "6.12.6", - "8.12.0" - ], - "ajv-formats": [ - "2.1.1_ajv_8.12.0" - ], - "ajv-keywords": [ - "3.5.2_ajv_6.12.6", - "5.1.0_ajv_8.12.0" - ], - "ansi-html-community": [ - "0.0.8" - ], - "ansi-regex": [ - "5.0.1", - "6.0.1" - ], - "ansi-styles": [ - "4.3.0", - "6.2.1" - ], - "anymatch": [ - "3.1.3" - ], - "array-flatten": [ - "1.1.1" - ], - "balanced-match": [ - "1.0.2" - ], - "batch": [ - "0.6.1" - ], - "binary-extensions": [ - "2.2.0" - ], - "body-parser": [ - "1.20.1" - ], - "bonjour-service": [ - "1.2.1" - ], - "brace-expansion": [ - "2.0.1" - ], - "braces": [ - "3.0.2" - ], - "browserslist": [ - "4.23.0" - ], - "buffer-from": [ - "1.1.2" - ], - "bundle-name": [ - "4.1.0" - ], - "bytes": [ - "3.0.0", - "3.1.2" - ], - "call-bind": [ - "1.0.7" - ], - "caniuse-lite": [ - "1.0.30001589" - ], - "chokidar": [ - "3.6.0" - ], - "chrome-trace-event": [ - "1.0.3" - ], - "clone-deep": [ - "4.0.1" - ], - "color-convert": [ - "2.0.1" - ], - "color-name": [ - "1.1.4" - ], - "colorette": [ - "2.0.20" - ], - "commander": [ - "10.0.1", - "2.20.3" - ], - "compressible": [ - "2.0.18" - ], - "compression": [ - "1.7.4" - ], - "connect-history-api-fallback": [ - "2.0.0" - ], - "content-disposition": [ - "0.5.4" - ], - "content-type": [ - "1.0.5" - ], - "cookie": [ - "0.5.0" - ], - "cookie-signature": [ - "1.0.6" - ], - "core-util-is": [ - "1.0.3" - ], - "cross-spawn": [ - "7.0.3" - ], - "debug": [ - "2.6.9", - "4.3.4_supports-color_8.1.1" - ], - "default-browser": [ - "5.2.1" - ], - "default-browser-id": [ - "5.0.0" - ], - "default-gateway": [ - "6.0.3" - ], - "define-data-property": [ - "1.1.4" - ], - "define-lazy-prop": [ - "3.0.0" - ], - "depd": [ - "1.1.2", + "@sinonjs/commons": [ "2.0.0" ], - "destroy": [ - "1.2.0" - ], - "detect-node": [ - "2.1.0" - ], - "dns-packet": [ - "5.6.1" - ], - "eastasianwidth": [ - "0.2.0" - ], - "ee-first": [ - "1.1.1" - ], - "electron-to-chromium": [ - "1.4.681" - ], - "emoji-regex": [ - "8.0.0", - "9.2.2" - ], - "encodeurl": [ - "1.0.2" - ], - "enhanced-resolve": [ - "5.15.0" + "type-detect": [ + "4.0.8" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__call-bind__1.0.7__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__call-bind__1.0.7__links", + "package": "call-bind", + "version": "1.0.7", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "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" + }, + "transitive_closure": { + "call-bind": [ + "1.0.7" ], - "envinfo": [ - "7.11.1" + "define-data-property": [ + "1.1.4" ], "es-define-property": [ "1.0.0" @@ -34520,601 +34369,1036 @@ "es-errors": [ "1.3.0" ], - "es-module-lexer": [ - "1.4.1" + "function-bind": [ + "1.1.2" ], - "escalade": [ - "3.1.2" + "get-intrinsic": [ + "1.2.4" ], - "escape-html": [ - "1.0.3" + "gopd": [ + "1.0.1" ], - "eslint-scope": [ - "5.1.1" + "has-property-descriptors": [ + "1.0.2" ], - "esrecurse": [ - "4.3.0" + "has-proto": [ + "1.0.3" ], - "estraverse": [ - "4.3.0", - "5.3.0" + "has-symbols": [ + "1.0.3" ], - "etag": [ - "1.8.1" + "hasown": [ + "2.0.1" ], - "eventemitter3": [ - "4.0.7" + "set-function-length": [ + "1.2.1" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__http-errors__1.6.3": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__http-errors__1.6.3", + "package": "http-errors", + "version": "1.6.3", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "url": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__require-from-string__2.0.2": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__require-from-string__2.0.2", + "package": "require-from-string", + "version": "2.0.2", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "url": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__brace-expansion__2.0.1": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__brace-expansion__2.0.1", + "package": "brace-expansion", + "version": "2.0.1", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "url": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__at_babel_helper-create-regexp-features-plugin__7.22.15__at_babel_core_7.23.9__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_helper-create-regexp-features-plugin__7.22.15__at_babel_core_7.23.9__links", + "package": "@babel/helper-create-regexp-features-plugin", + "version": "7.22.15_at_babel_core_7.23.9", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "@babel/core": "7.23.9", + "@babel/helper-annotate-as-pure": "7.22.5", + "regexpu-core": "5.3.2", + "semver": "6.3.1" + }, + "transitive_closure": { + "@ampproject/remapping": [ + "2.2.1" ], - "events": [ - "3.3.0" + "@babel/code-frame": [ + "7.23.5" ], - "execa": [ - "5.1.1" + "@babel/compat-data": [ + "7.23.5" ], - "express": [ - "4.18.2" + "@babel/core": [ + "7.23.9" ], - "fast-deep-equal": [ - "3.1.3" + "@babel/generator": [ + "7.23.6" ], - "fast-json-stable-stringify": [ - "2.1.0" + "@babel/helper-annotate-as-pure": [ + "7.22.5" ], - "fastest-levenshtein": [ - "1.0.16" + "@babel/helper-compilation-targets": [ + "7.23.6" ], - "faye-websocket": [ - "0.11.4" + "@babel/helper-create-regexp-features-plugin": [ + "7.22.15_at_babel_core_7.23.9" ], - "fill-range": [ - "7.0.1" + "@babel/helper-environment-visitor": [ + "7.22.20" ], - "finalhandler": [ - "1.2.0" + "@babel/helper-function-name": [ + "7.23.0" ], - "find-up": [ - "4.1.0" + "@babel/helper-hoist-variables": [ + "7.22.5" ], - "flat": [ - "5.0.2" + "@babel/helper-module-imports": [ + "7.22.15" ], - "follow-redirects": [ - "1.15.5" + "@babel/helper-module-transforms": [ + "7.23.3_at_babel_core_7.23.9" ], - "foreground-child": [ - "3.1.1" + "@babel/helper-simple-access": [ + "7.22.5" ], - "forwarded": [ - "0.2.0" + "@babel/helper-split-export-declaration": [ + "7.22.6" ], - "fresh": [ - "0.5.2" + "@babel/helper-string-parser": [ + "7.23.4" ], - "fsevents": [ - "2.3.3" + "@babel/helper-validator-identifier": [ + "7.22.20" ], - "function-bind": [ - "1.1.2" + "@babel/helper-validator-option": [ + "7.23.5" ], - "get-intrinsic": [ - "1.2.4" + "@babel/helpers": [ + "7.23.9" ], - "get-stream": [ - "6.0.1" + "@babel/highlight": [ + "7.23.4" ], - "glob": [ - "10.3.10" + "@babel/parser": [ + "7.23.9" ], - "glob-parent": [ - "5.1.2" + "@babel/regjsgen": [ + "0.8.0" ], - "glob-to-regexp": [ - "0.4.1" + "@babel/template": [ + "7.23.9" ], - "gopd": [ - "1.0.1" + "@babel/traverse": [ + "7.23.9" ], - "graceful-fs": [ - "4.2.11" + "@babel/types": [ + "7.23.9" ], - "handle-thing": [ - "2.0.1" + "@jridgewell/gen-mapping": [ + "0.3.3" ], - "has-flag": [ - "4.0.0" + "@jridgewell/resolve-uri": [ + "3.1.2" ], - "has-property-descriptors": [ - "1.0.2" + "@jridgewell/set-array": [ + "1.1.2" ], - "has-proto": [ - "1.0.3" + "@jridgewell/sourcemap-codec": [ + "1.4.15" ], - "has-symbols": [ - "1.0.3" + "@jridgewell/trace-mapping": [ + "0.3.22" ], - "hasown": [ - "2.0.1" + "ansi-styles": [ + "3.2.1" ], - "hpack.js": [ - "2.1.6" + "browserslist": [ + "4.23.0" ], - "html-entities": [ - "2.4.0" + "caniuse-lite": [ + "1.0.30001589" ], - "http-deceiver": [ - "1.2.7" + "chalk": [ + "2.4.2" ], - "http-errors": [ - "1.6.3", - "2.0.0" + "color-convert": [ + "1.9.3" ], - "http-parser-js": [ - "0.5.8" + "color-name": [ + "1.1.3" ], - "http-proxy": [ - "1.18.1" + "convert-source-map": [ + "2.0.0" ], - "http-proxy-middleware": [ - "2.0.6_at_types_express_4.17.21" + "debug": [ + "4.3.4_supports-color_8.1.1" ], - "human-signals": [ - "2.1.0" + "electron-to-chromium": [ + "1.4.681" ], - "iconv-lite": [ - "0.4.24" + "escalade": [ + "3.1.2" ], - "import-local": [ - "3.1.0" + "escape-string-regexp": [ + "1.0.5" ], - "inherits": [ - "2.0.3", - "2.0.4" + "gensync": [ + "1.0.0-beta.2" ], - "interpret": [ - "3.1.1" + "globals": [ + "11.12.0" ], - "ipaddr.js": [ - "1.9.1", - "2.1.0" + "has-flag": [ + "3.0.0", + "4.0.0" ], - "is-binary-path": [ - "2.1.0" + "js-tokens": [ + "4.0.0" ], - "is-core-module": [ - "2.13.1" + "jsesc": [ + "0.5.0", + "2.5.2" ], - "is-docker": [ - "3.0.0" + "json5": [ + "2.2.3" ], - "is-extglob": [ - "2.1.1" + "lru-cache": [ + "5.1.1" ], - "is-fullwidth-code-point": [ - "3.0.0" + "ms": [ + "2.1.2" ], - "is-glob": [ - "4.0.3" + "node-releases": [ + "2.0.14" ], - "is-inside-container": [ + "picocolors": [ "1.0.0" ], - "is-network-error": [ - "1.0.1" - ], - "is-number": [ - "7.0.0" + "regenerate": [ + "1.4.2" ], - "is-plain-obj": [ - "3.0.0" + "regenerate-unicode-properties": [ + "10.1.1" ], - "is-plain-object": [ - "2.0.4" + "regexpu-core": [ + "5.3.2" ], - "is-stream": [ - "2.0.1" + "regjsparser": [ + "0.9.1" ], - "is-wsl": [ - "3.1.0" + "semver": [ + "6.3.1" ], - "isarray": [ - "1.0.0" + "supports-color": [ + "5.5.0", + "8.1.1" ], - "isexe": [ + "to-fast-properties": [ "2.0.0" ], - "isobject": [ - "3.0.1" + "unicode-canonical-property-names-ecmascript": [ + "2.0.0" ], - "jackspeak": [ - "2.3.6" + "unicode-match-property-ecmascript": [ + "2.0.0" ], - "jest-worker": [ - "27.5.1" + "unicode-match-property-value-ecmascript": [ + "2.1.0" ], - "json-parse-even-better-errors": [ - "2.3.1" + "unicode-property-aliases-ecmascript": [ + "2.1.0" ], - "json-schema-traverse": [ - "0.4.1", - "1.0.0" + "update-browserslist-db": [ + "1.0.13_browserslist_4.23.0" ], - "kind-of": [ - "6.0.3" + "yallist": [ + "3.1.1" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__at_types_eslint__8.56.3": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_types_eslint__8.56.3", + "package": "@types/eslint", + "version": "8.56.3", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg==", + "url": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.3.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__react__16.14.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__react__16.14.0", + "package": "react", + "version": "16.14.0", + "root_package": "", + "link_workspace": "", + "link_packages": { + "": [ + "react" + ] + }, + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", + "url": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__at_babel_plugin-transform-private-property-in-object__7.23.4__at_babel_core_7.23.9__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-transform-private-property-in-object__7.23.4__at_babel_core_7.23.9__links", + "package": "@babel/plugin-transform-private-property-in-object", + "version": "7.23.4_at_babel_core_7.23.9", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "@babel/core": "7.23.9", + "@babel/helper-annotate-as-pure": "7.22.5", + "@babel/helper-create-class-features-plugin": "7.23.10_at_babel_core_7.23.9", + "@babel/helper-plugin-utils": "7.22.5", + "@babel/plugin-syntax-private-property-in-object": "7.14.5_at_babel_core_7.23.9" + }, + "transitive_closure": { + "@ampproject/remapping": [ + "2.2.1" ], - "launch-editor": [ - "2.6.1" + "@babel/code-frame": [ + "7.23.5" ], - "loader-runner": [ - "4.3.0" + "@babel/compat-data": [ + "7.23.5" ], - "locate-path": [ - "5.0.0" + "@babel/core": [ + "7.23.9" ], - "lru-cache": [ - "10.2.0" + "@babel/generator": [ + "7.23.6" ], - "media-typer": [ - "0.3.0" + "@babel/helper-annotate-as-pure": [ + "7.22.5" ], - "memfs": [ - "4.7.7" + "@babel/helper-compilation-targets": [ + "7.23.6" ], - "merge-descriptors": [ - "1.0.1" + "@babel/helper-create-class-features-plugin": [ + "7.23.10_at_babel_core_7.23.9" ], - "merge-stream": [ - "2.0.0" + "@babel/helper-environment-visitor": [ + "7.22.20" ], - "methods": [ - "1.1.2" + "@babel/helper-function-name": [ + "7.23.0" ], - "micromatch": [ - "4.0.5" + "@babel/helper-hoist-variables": [ + "7.22.5" ], - "mime": [ - "1.6.0" + "@babel/helper-member-expression-to-functions": [ + "7.23.0" ], - "mime-db": [ - "1.52.0" + "@babel/helper-module-imports": [ + "7.22.15" ], - "mime-types": [ - "2.1.35" + "@babel/helper-module-transforms": [ + "7.23.3_at_babel_core_7.23.9" ], - "mimic-fn": [ - "2.1.0" + "@babel/helper-optimise-call-expression": [ + "7.22.5" ], - "minimalistic-assert": [ - "1.0.1" + "@babel/helper-plugin-utils": [ + "7.22.5" ], - "minimatch": [ - "9.0.3" + "@babel/helper-replace-supers": [ + "7.22.20_at_babel_core_7.23.9" ], - "minipass": [ - "7.0.4" + "@babel/helper-simple-access": [ + "7.22.5" ], - "ms": [ - "2.0.0", - "2.1.2", - "2.1.3" + "@babel/helper-skip-transparent-expression-wrappers": [ + "7.22.5" ], - "multicast-dns": [ - "7.2.5" + "@babel/helper-split-export-declaration": [ + "7.22.6" ], - "negotiator": [ - "0.6.3" + "@babel/helper-string-parser": [ + "7.23.4" ], - "neo-async": [ - "2.6.2" + "@babel/helper-validator-identifier": [ + "7.22.20" ], - "node-forge": [ - "1.3.1" + "@babel/helper-validator-option": [ + "7.23.5" ], - "node-releases": [ - "2.0.14" + "@babel/helpers": [ + "7.23.9" ], - "normalize-path": [ - "3.0.0" + "@babel/highlight": [ + "7.23.4" ], - "npm-run-path": [ - "4.0.1" + "@babel/parser": [ + "7.23.9" ], - "object-inspect": [ - "1.13.1" + "@babel/plugin-syntax-private-property-in-object": [ + "7.14.5_at_babel_core_7.23.9" ], - "obuf": [ - "1.1.2" + "@babel/plugin-transform-private-property-in-object": [ + "7.23.4_at_babel_core_7.23.9" ], - "on-finished": [ - "2.4.1" + "@babel/template": [ + "7.23.9" ], - "on-headers": [ - "1.0.2" + "@babel/traverse": [ + "7.23.9" ], - "onetime": [ - "5.1.2" + "@babel/types": [ + "7.23.9" ], - "open": [ - "10.0.3" + "@jridgewell/gen-mapping": [ + "0.3.3" ], - "p-limit": [ - "2.3.0" + "@jridgewell/resolve-uri": [ + "3.1.2" ], - "p-locate": [ - "4.1.0" + "@jridgewell/set-array": [ + "1.1.2" ], - "p-retry": [ - "6.2.0" + "@jridgewell/sourcemap-codec": [ + "1.4.15" ], - "p-try": [ - "2.2.0" + "@jridgewell/trace-mapping": [ + "0.3.22" ], - "parseurl": [ - "1.3.3" + "ansi-styles": [ + "3.2.1" ], - "path-exists": [ - "4.0.0" + "browserslist": [ + "4.23.0" ], - "path-key": [ - "3.1.1" + "caniuse-lite": [ + "1.0.30001589" ], - "path-parse": [ - "1.0.7" + "chalk": [ + "2.4.2" ], - "path-scurry": [ - "1.10.1" + "color-convert": [ + "1.9.3" ], - "path-to-regexp": [ - "0.1.7" + "color-name": [ + "1.1.3" ], - "picocolors": [ - "1.0.0" + "convert-source-map": [ + "2.0.0" ], - "picomatch": [ - "2.3.1" + "debug": [ + "4.3.4_supports-color_8.1.1" ], - "pkg-dir": [ - "4.2.0" + "electron-to-chromium": [ + "1.4.681" ], - "process-nextick-args": [ - "2.0.1" + "escalade": [ + "3.1.2" ], - "proxy-addr": [ - "2.0.7" + "escape-string-regexp": [ + "1.0.5" ], - "punycode": [ - "2.3.1" + "gensync": [ + "1.0.0-beta.2" ], - "qs": [ - "6.11.0" + "globals": [ + "11.12.0" ], - "randombytes": [ - "2.1.0" + "has-flag": [ + "3.0.0", + "4.0.0" ], - "range-parser": [ - "1.2.1" + "js-tokens": [ + "4.0.0" ], - "raw-body": [ - "2.5.1" + "jsesc": [ + "2.5.2" ], - "readable-stream": [ - "2.3.8", - "3.6.2" + "json5": [ + "2.2.3" ], - "readdirp": [ - "3.6.0" + "lru-cache": [ + "5.1.1" ], - "rechoir": [ - "0.8.0" + "ms": [ + "2.1.2" ], - "require-from-string": [ - "2.0.2" + "node-releases": [ + "2.0.14" ], - "requires-port": [ + "picocolors": [ "1.0.0" ], - "resolve": [ - "1.22.8" - ], - "resolve-cwd": [ - "3.0.0" - ], - "resolve-from": [ - "5.0.0" - ], - "retry": [ - "0.13.1" - ], - "rimraf": [ - "5.0.5" - ], - "run-applescript": [ - "7.0.0" - ], - "safe-buffer": [ - "5.1.2", - "5.2.1" - ], - "safer-buffer": [ - "2.1.2" + "semver": [ + "6.3.1" ], - "schema-utils": [ - "3.3.0", - "4.2.0" + "supports-color": [ + "5.5.0", + "8.1.1" ], - "select-hose": [ + "to-fast-properties": [ "2.0.0" ], - "selfsigned": [ - "2.4.1" - ], - "send": [ - "0.18.0" - ], - "serialize-javascript": [ - "6.0.2" - ], - "serve-index": [ - "1.9.1" - ], - "serve-static": [ - "1.15.0" - ], - "set-function-length": [ - "1.2.1" - ], - "setprototypeof": [ - "1.1.0", - "1.2.0" - ], - "shallow-clone": [ - "3.0.1" + "update-browserslist-db": [ + "1.0.13_browserslist_4.23.0" ], - "shebang-command": [ + "yallist": [ + "3.1.1" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__react-router__5.3.4__react_16.14.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__react-router__5.3.4__react_16.14.0", + "package": "react-router", + "version": "5.3.4_react_16.14.0", + "root_package": "", + "link_workspace": "", + "link_packages": { + "": [ + "react-router" + ] + }, + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "url": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__isexe__2.0.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__isexe__2.0.0__links", + "package": "isexe", + "version": "2.0.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "isexe": [ "2.0.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__p-retry__6.2.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__p-retry__6.2.0__links", + "package": "p-retry", + "version": "6.2.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "@types/retry": "0.12.2", + "is-network-error": "1.0.1", + "retry": "0.13.1" + }, + "transitive_closure": { + "@types/retry": [ + "0.12.2" ], - "shebang-regex": [ - "3.0.0" - ], - "shell-quote": [ - "1.8.1" - ], - "side-channel": [ - "1.0.5" - ], - "signal-exit": [ - "3.0.7", - "4.1.0" - ], - "sockjs": [ - "0.3.24" - ], - "source-map": [ - "0.6.1" - ], - "source-map-support": [ - "0.5.21" - ], - "spdy": [ - "4.0.2" + "is-network-error": [ + "1.0.1" ], - "spdy-transport": [ - "3.0.0" + "p-retry": [ + "6.2.0" ], - "statuses": [ - "1.5.0", + "retry": [ + "0.13.1" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__array-flatten__1.1.1__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__array-flatten__1.1.1__links", + "package": "array-flatten", + "version": "1.1.1", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "array-flatten": [ + "1.1.1" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__at_babel_plugin-transform-private-methods__7.23.3__at_babel_core_7.23.9": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_plugin-transform-private-methods__7.23.3__at_babel_core_7.23.9", + "package": "@babel/plugin-transform-private-methods", + "version": "7.23.3_at_babel_core_7.23.9", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "url": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__argparse__2.0.1__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__argparse__2.0.1__links", + "package": "argparse", + "version": "2.0.1", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "argparse": [ "2.0.1" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__relateurl__0.2.7": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__relateurl__0.2.7", + "package": "relateurl", + "version": "0.2.7", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "url": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__debug__4.3.4__supports-color_8.1.1__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__debug__4.3.4__supports-color_8.1.1__links", + "package": "debug", + "version": "4.3.4_supports-color_8.1.1", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "ms": "2.1.2", + "supports-color": "8.1.1" + }, + "transitive_closure": { + "debug": [ + "4.3.4_supports-color_8.1.1" ], - "string-width": [ - "4.2.3", - "5.1.2" - ], - "string_decoder": [ - "1.1.1", - "1.3.0" - ], - "strip-ansi": [ - "6.0.1", - "7.1.0" + "has-flag": [ + "4.0.0" ], - "strip-final-newline": [ - "2.0.0" + "ms": [ + "2.1.2" ], "supports-color": [ "8.1.1" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__get-caller-file__2.0.5__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__get-caller-file__2.0.5__links", + "package": "get-caller-file", + "version": "2.0.5", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "get-caller-file": [ + "2.0.5" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__http2-wrapper__1.0.3__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__http2-wrapper__1.0.3__links", + "package": "http2-wrapper", + "version": "1.0.3", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "quick-lru": "5.1.1", + "resolve-alpn": "1.2.1" + }, + "transitive_closure": { + "http2-wrapper": [ + "1.0.3" ], - "supports-preserve-symlinks-flag": [ - "1.0.0" - ], - "tapable": [ - "2.2.1" - ], - "terser": [ - "5.28.1" - ], - "terser-webpack-plugin": [ - "5.3.10_webpack_5.90.3" - ], - "thunky": [ - "1.1.0" - ], - "to-regex-range": [ - "5.0.1" + "quick-lru": [ + "5.1.1" ], - "toidentifier": [ - "1.0.1" + "resolve-alpn": [ + "1.2.1" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__boolean__3.2.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__boolean__3.2.0__links", + "package": "boolean", + "version": "3.2.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "boolean": [ + "3.2.0" + ] + }, + "lifecycle_build_target": true, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [ + "no-sandbox" + ], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__history__4.10.1__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__history__4.10.1__links", + "package": "history", + "version": "4.10.1", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "@babel/runtime": "7.23.9", + "loose-envify": "1.4.0", + "resolve-pathname": "3.0.0", + "tiny-invariant": "1.3.2", + "tiny-warning": "1.0.3", + "value-equal": "1.0.1" + }, + "transitive_closure": { + "@babel/runtime": [ + "7.23.9" ], - "tslib": [ - "2.6.2" + "history": [ + "4.10.1" ], - "type-is": [ - "1.6.18" + "js-tokens": [ + "4.0.0" ], - "undici-types": [ - "5.26.5" + "loose-envify": [ + "1.4.0" ], - "unpipe": [ - "1.0.0" + "regenerator-runtime": [ + "0.14.1" ], - "update-browserslist-db": [ - "1.0.13_browserslist_4.23.0" + "resolve-pathname": [ + "3.0.0" ], - "uri-js": [ - "4.4.1" + "tiny-invariant": [ + "1.3.2" ], - "util-deprecate": [ - "1.0.2" + "tiny-warning": [ + "1.0.3" ], - "utils-merge": [ + "value-equal": [ "1.0.1" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, + "npm__vscode-test__0.4.3__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__vscode-test__0.4.3__links", + "package": "vscode-test", + "version": "0.4.3", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "http-proxy-agent": "2.1.0", + "https-proxy-agent": "2.2.4" + }, + "transitive_closure": { + "agent-base": [ + "4.3.0" ], - "uuid": [ - "8.3.2" - ], - "vary": [ - "1.1.2" - ], - "watchpack": [ - "2.4.0" - ], - "wbuf": [ - "1.7.3" - ], - "webpack": [ - "5.90.3_webpack-cli_5.1.4" - ], - "webpack-cli": [ - "5.1.4_-975075900" - ], - "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" - ], - "webpack-dev-server": [ - "5.0.2_-359619668" + "debug": [ + "3.1.0_supports-color_5.4.0", + "3.2.7" ], - "webpack-merge": [ - "5.10.0" + "es6-promise": [ + "4.2.8" ], - "webpack-sources": [ - "3.2.3" + "es6-promisify": [ + "5.0.0" ], - "websocket-driver": [ - "0.7.4" + "has-flag": [ + "3.0.0" ], - "websocket-extensions": [ - "0.1.4" + "http-proxy-agent": [ + "2.1.0" ], - "which": [ - "2.0.2" + "https-proxy-agent": [ + "2.2.4" ], - "wildcard": [ - "2.0.1" + "ms": [ + "2.0.0", + "2.1.3" ], - "wrap-ansi": [ - "7.0.0", - "8.1.0" + "supports-color": [ + "5.4.0" ], - "ws": [ - "8.16.0" + "vscode-test": [ + "0.4.3" ] }, "lifecycle_build_target": false, @@ -35127,38 +35411,105 @@ ] } }, - "npm__postcss-modules-values__4.0.0__postcss_8.4.35__links": { + "npm__debug__4.3.4__supports-color_8.1.1": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__debug__4.3.4__supports-color_8.1.1", + "package": "debug", + "version": "4.3.4_supports-color_8.1.1", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "url": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__node-releases__2.0.14": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__node-releases__2.0.14", + "package": "node-releases", + "version": "2.0.14", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "url": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__at_babel_generator__7.23.6__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__postcss-modules-values__4.0.0__postcss_8.4.35__links", - "package": "postcss-modules-values", - "version": "4.0.0_postcss_8.4.35", + "name": "aspect_rules_js~1.35.0~npm~npm__at_babel_generator__7.23.6__links", + "package": "@babel/generator", + "version": "7.23.6", "dev": false, "root_package": "", "link_packages": {}, "deps": { - "icss-utils": "5.1.0_postcss_8.4.35", - "postcss": "8.4.35" + "@babel/types": "7.23.9", + "@jridgewell/gen-mapping": "0.3.3", + "@jridgewell/trace-mapping": "0.3.22", + "jsesc": "2.5.2" }, "transitive_closure": { - "icss-utils": [ - "5.1.0_postcss_8.4.35" + "@babel/generator": [ + "7.23.6" ], - "nanoid": [ - "3.3.7" + "@babel/helper-string-parser": [ + "7.23.4" ], - "picocolors": [ - "1.0.0" + "@babel/helper-validator-identifier": [ + "7.22.20" ], - "postcss": [ - "8.4.35" + "@babel/types": [ + "7.23.9" ], - "postcss-modules-values": [ - "4.0.0_postcss_8.4.35" + "@jridgewell/gen-mapping": [ + "0.3.3" ], - "source-map-js": [ - "1.0.2" + "@jridgewell/resolve-uri": [ + "3.1.2" + ], + "@jridgewell/set-array": [ + "1.1.2" + ], + "@jridgewell/sourcemap-codec": [ + "1.4.15" + ], + "@jridgewell/trace-mapping": [ + "0.3.22" + ], + "jsesc": [ + "2.5.2" + ], + "to-fast-properties": [ + "2.0.0" ] }, "lifecycle_build_target": false, @@ -35171,22 +35522,47 @@ ] } }, - "npm__webpack-dev-middleware__7.0.0__webpack_5.90.3__links": { + "npm__obuf__1.1.2": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__obuf__1.1.2", + "package": "obuf", + "version": "1.1.2", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "url": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__terser-webpack-plugin__5.3.10__webpack_5.90.3__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__webpack-dev-middleware__7.0.0__webpack_5.90.3__links", - "package": "webpack-dev-middleware", - "version": "7.0.0_webpack_5.90.3", + "name": "aspect_rules_js~1.35.0~npm~npm__terser-webpack-plugin__5.3.10__webpack_5.90.3__links", + "package": "terser-webpack-plugin", + "version": "5.3.10_webpack_5.90.3", "dev": false, "root_package": "", "link_packages": {}, "deps": { - "colorette": "2.0.20", - "memfs": "4.7.7", - "mime-types": "2.1.35", - "range-parser": "1.2.1", - "schema-utils": "4.2.0", + "@jridgewell/trace-mapping": "0.3.22", + "jest-worker": "27.5.1", + "schema-utils": "3.3.0", + "serialize-javascript": "6.0.2", + "terser": "5.28.1", "webpack": "5.90.3_webpack-cli_5.1.4" }, "transitive_closure": { @@ -35397,7 +35773,7 @@ "2.2.0" ], "body-parser": [ - "1.20.1" + "1.20.2" ], "bonjour-service": [ "1.2.1" @@ -35465,7 +35841,7 @@ "1.0.5" ], "cookie": [ - "0.5.0" + "0.6.0" ], "cookie-signature": [ "1.0.6" @@ -35568,7 +35944,7 @@ "5.1.1" ], "express": [ - "4.18.2" + "4.19.2" ], "fast-deep-equal": [ "3.1.3" @@ -35595,7 +35971,7 @@ "5.0.2" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "foreground-child": [ "3.1.1" @@ -35910,7 +36286,7 @@ "1.2.1" ], "raw-body": [ - "2.5.1" + "2.5.2" ], "readable-stream": [ "2.3.8", @@ -36102,7 +36478,7 @@ "5.1.4_-975075900" ], "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" + "7.1.1_webpack_5.90.3" ], "webpack-dev-server": [ "5.0.2_-359619668" @@ -36143,6 +36519,79 @@ ] } }, + "npm__sinon__18.0.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__sinon__18.0.0", + "package": "sinon", + "version": "18.0.0", + "root_package": "", + "link_workspace": "", + "link_packages": { + "": [ + "sinon" + ] + }, + "integrity": "sha512-+dXDXzD1sBO6HlmZDd7mXZCR/y5ECiEiGCBSGuFD/kZ0bDTofPYc6JaeGmPSF+1j1MejGUWkORbYOLDyvqCWpA==", + "url": "https://registry.npmjs.org/sinon/-/sinon-18.0.0.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, + "npm__postcss-modules-values__4.0.0__postcss_8.4.35__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__postcss-modules-values__4.0.0__postcss_8.4.35__links", + "package": "postcss-modules-values", + "version": "4.0.0_postcss_8.4.35", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "icss-utils": "5.1.0_postcss_8.4.35", + "postcss": "8.4.35" + }, + "transitive_closure": { + "icss-utils": [ + "5.1.0_postcss_8.4.35" + ], + "nanoid": [ + "3.3.7" + ], + "picocolors": [ + "1.0.0" + ], + "postcss": [ + "8.4.35" + ], + "postcss-modules-values": [ + "4.0.0_postcss_8.4.35" + ], + "source-map-js": [ + "1.0.2" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__clean-css__5.3.3__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -37145,6 +37594,153 @@ "generate_bzl_library_targets": false } }, + "npm__body-parser__1.20.2__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__body-parser__1.20.2__links", + "package": "body-parser", + "version": "1.20.2", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "bytes": "3.1.2", + "content-type": "1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "1.6.18", + "unpipe": "1.0.0" + }, + "transitive_closure": { + "body-parser": [ + "1.20.2" + ], + "bytes": [ + "3.1.2" + ], + "call-bind": [ + "1.0.7" + ], + "content-type": [ + "1.0.5" + ], + "debug": [ + "2.6.9" + ], + "define-data-property": [ + "1.1.4" + ], + "depd": [ + "2.0.0" + ], + "destroy": [ + "1.2.0" + ], + "ee-first": [ + "1.1.1" + ], + "es-define-property": [ + "1.0.0" + ], + "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" + ], + "has-proto": [ + "1.0.3" + ], + "has-symbols": [ + "1.0.3" + ], + "hasown": [ + "2.0.1" + ], + "http-errors": [ + "2.0.0" + ], + "iconv-lite": [ + "0.4.24" + ], + "inherits": [ + "2.0.4" + ], + "media-typer": [ + "0.3.0" + ], + "mime-db": [ + "1.52.0" + ], + "mime-types": [ + "2.1.35" + ], + "ms": [ + "2.0.0" + ], + "object-inspect": [ + "1.13.1" + ], + "on-finished": [ + "2.4.1" + ], + "qs": [ + "6.11.0" + ], + "raw-body": [ + "2.5.2" + ], + "safer-buffer": [ + "2.1.2" + ], + "set-function-length": [ + "1.2.1" + ], + "setprototypeof": [ + "1.2.0" + ], + "side-channel": [ + "1.0.5" + ], + "statuses": [ + "2.0.1" + ], + "toidentifier": [ + "1.0.1" + ], + "type-is": [ + "1.6.18" + ], + "unpipe": [ + "1.0.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__braces__3.0.2__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -37460,251 +38056,6 @@ "generate_bzl_library_targets": false } }, - "npm__express__4.18.2__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__express__4.18.2__links", - "package": "express", - "version": "4.18.2", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "accepts": "1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "1.0.5", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.4.1", - "parseurl": "1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.7", - "qs": "6.11.0", - "range-parser": "1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "1.6.18", - "utils-merge": "1.0.1", - "vary": "1.1.2" - }, - "transitive_closure": { - "accepts": [ - "1.3.8" - ], - "array-flatten": [ - "1.1.1" - ], - "body-parser": [ - "1.20.1" - ], - "bytes": [ - "3.1.2" - ], - "call-bind": [ - "1.0.7" - ], - "content-disposition": [ - "0.5.4" - ], - "content-type": [ - "1.0.5" - ], - "cookie": [ - "0.5.0" - ], - "cookie-signature": [ - "1.0.6" - ], - "debug": [ - "2.6.9" - ], - "define-data-property": [ - "1.1.4" - ], - "depd": [ - "2.0.0" - ], - "destroy": [ - "1.2.0" - ], - "ee-first": [ - "1.1.1" - ], - "encodeurl": [ - "1.0.2" - ], - "es-define-property": [ - "1.0.0" - ], - "es-errors": [ - "1.3.0" - ], - "escape-html": [ - "1.0.3" - ], - "etag": [ - "1.8.1" - ], - "express": [ - "4.18.2" - ], - "finalhandler": [ - "1.2.0" - ], - "forwarded": [ - "0.2.0" - ], - "fresh": [ - "0.5.2" - ], - "function-bind": [ - "1.1.2" - ], - "get-intrinsic": [ - "1.2.4" - ], - "gopd": [ - "1.0.1" - ], - "has-property-descriptors": [ - "1.0.2" - ], - "has-proto": [ - "1.0.3" - ], - "has-symbols": [ - "1.0.3" - ], - "hasown": [ - "2.0.1" - ], - "http-errors": [ - "2.0.0" - ], - "iconv-lite": [ - "0.4.24" - ], - "inherits": [ - "2.0.4" - ], - "ipaddr.js": [ - "1.9.1" - ], - "media-typer": [ - "0.3.0" - ], - "merge-descriptors": [ - "1.0.1" - ], - "methods": [ - "1.1.2" - ], - "mime": [ - "1.6.0" - ], - "mime-db": [ - "1.52.0" - ], - "mime-types": [ - "2.1.35" - ], - "ms": [ - "2.0.0", - "2.1.3" - ], - "negotiator": [ - "0.6.3" - ], - "object-inspect": [ - "1.13.1" - ], - "on-finished": [ - "2.4.1" - ], - "parseurl": [ - "1.3.3" - ], - "path-to-regexp": [ - "0.1.7" - ], - "proxy-addr": [ - "2.0.7" - ], - "qs": [ - "6.11.0" - ], - "range-parser": [ - "1.2.1" - ], - "raw-body": [ - "2.5.1" - ], - "safe-buffer": [ - "5.2.1" - ], - "safer-buffer": [ - "2.1.2" - ], - "send": [ - "0.18.0" - ], - "serve-static": [ - "1.15.0" - ], - "set-function-length": [ - "1.2.1" - ], - "setprototypeof": [ - "1.2.0" - ], - "side-channel": [ - "1.0.5" - ], - "statuses": [ - "2.0.1" - ], - "toidentifier": [ - "1.0.1" - ], - "type-is": [ - "1.6.18" - ], - "unpipe": [ - "1.0.0" - ], - "utils-merge": [ - "1.0.1" - ], - "vary": [ - "1.1.2" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, "npm__compression__1.7.4": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -37805,6 +38156,31 @@ "generate_bzl_library_targets": false } }, + "npm__at_sinonjs_fake-timers__11.2.2": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_sinonjs_fake-timers__11.2.2", + "package": "@sinonjs/fake-timers", + "version": "11.2.2", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "url": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__at_types_express__4.17.21": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -38385,6 +38761,31 @@ ] } }, + "npm__just-extend__6.2.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__just-extend__6.2.0", + "package": "just-extend", + "version": "6.2.0", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "url": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__flat__5.0.2": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -38831,35 +39232,6 @@ "generate_bzl_library_targets": false } }, - "npm__mobx-react__9.1.0__-901741053": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__mobx-react__9.1.0__-901741053", - "package": "mobx-react", - "version": "9.1.0_-901741053", - "root_package": "", - "link_workspace": "", - "link_packages": { - "": [ - "mobx-react" - ] - }, - "integrity": "sha512-DeDRTYw4AlgHw8xEXtiZdKKEnp+c5/jeUgTbTQXEqnAzfkrgYRWP3p3Nv3Whc2CEcM/mDycbDWGjxKokQdlffg==", - "url": "https://registry.npmjs.org/mobx-react/-/mobx-react-9.1.0.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, "npm__punycode__2.3.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -39264,36 +39636,6 @@ ] } }, - "npm__mobx__6.12.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__mobx__6.12.0__links", - "package": "mobx", - "version": "6.12.0", - "dev": false, - "root_package": "", - "link_packages": { - "": [ - "mobx" - ] - }, - "deps": {}, - "transitive_closure": { - "mobx": [ - "6.12.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, "npm__find-up__4.1.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -39439,6 +39781,41 @@ ] } }, + "npm__at_types_sinon__17.0.3__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_types_sinon__17.0.3__links", + "package": "@types/sinon", + "version": "17.0.3", + "dev": false, + "root_package": "", + "link_packages": { + "": [ + "@types/sinon" + ] + }, + "deps": { + "@types/sinonjs__fake-timers": "8.1.5" + }, + "transitive_closure": { + "@types/sinon": [ + "17.0.3" + ], + "@types/sinonjs__fake-timers": [ + "8.1.5" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__popper.js__1.16.1-lts": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -40513,6 +40890,31 @@ ] } }, + "npm__cookie__0.6.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__cookie__0.6.0", + "package": "cookie", + "version": "0.6.0", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "url": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__semver__5.7.2": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -41797,6 +42199,32 @@ "generate_bzl_library_targets": false } }, + "npm__at_sinonjs_text-encoding__0.7.2__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_sinonjs_text-encoding__0.7.2__links", + "package": "@sinonjs/text-encoding", + "version": "0.7.2", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "@sinonjs/text-encoding": [ + "0.7.2" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__fast-json-stable-stringify__2.1.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -42757,7 +43185,7 @@ "2.2.0" ], "body-parser": [ - "1.20.1" + "1.20.2" ], "bonjour-service": [ "1.2.1" @@ -42825,7 +43253,7 @@ "1.0.5" ], "cookie": [ - "0.5.0" + "0.6.0" ], "cookie-signature": [ "1.0.6" @@ -42928,7 +43356,7 @@ "5.1.1" ], "express": [ - "4.18.2" + "4.19.2" ], "fast-deep-equal": [ "3.1.3" @@ -42955,7 +43383,7 @@ "5.0.2" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "foreground-child": [ "3.1.1" @@ -43270,7 +43698,7 @@ "1.2.1" ], "raw-body": [ - "2.5.1" + "2.5.2" ], "readable-stream": [ "2.3.8", @@ -43465,7 +43893,7 @@ "5.1.4_-975075900" ], "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" + "7.1.1_webpack_5.90.3" ], "webpack-dev-server": [ "5.0.2_-359619668" @@ -45652,32 +46080,6 @@ "generate_bzl_library_targets": false } }, - "npm__follow-redirects__1.15.5__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__follow-redirects__1.15.5__links", - "package": "follow-redirects", - "version": "1.15.5", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": {}, - "transitive_closure": { - "follow-redirects": [ - "1.15.5" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, "npm__json-buffer__3.0.1__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -46641,41 +47043,6 @@ ] } }, - "npm__at_types_js-base64__3.3.1__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_types_js-base64__3.3.1__links", - "package": "@types/js-base64", - "version": "3.3.1", - "dev": false, - "root_package": "", - "link_packages": { - "": [ - "@types/js-base64" - ] - }, - "deps": { - "js-base64": "3.7.7" - }, - "transitive_closure": { - "@types/js-base64": [ - "3.3.1" - ], - "js-base64": [ - "3.7.7" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, "npm__at_babel_helper-member-expression-to-functions__7.23.0__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -46822,74 +47189,6 @@ "generate_bzl_library_targets": false } }, - "npm__mobx-react__9.1.0__-901741053__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__mobx-react__9.1.0__-901741053__links", - "package": "mobx-react", - "version": "9.1.0_-901741053", - "dev": false, - "root_package": "", - "link_packages": { - "": [ - "mobx-react" - ] - }, - "deps": { - "mobx": "6.12.0", - "mobx-react-lite": "4.0.5_-901741053", - "react": "16.14.0", - "react-dom": "16.14.0_react_16.14.0" - }, - "transitive_closure": { - "js-tokens": [ - "4.0.0" - ], - "loose-envify": [ - "1.4.0" - ], - "mobx": [ - "6.12.0" - ], - "mobx-react": [ - "9.1.0_-901741053" - ], - "mobx-react-lite": [ - "4.0.5_-901741053" - ], - "object-assign": [ - "4.1.1" - ], - "prop-types": [ - "15.8.1" - ], - "react": [ - "16.14.0" - ], - "react-dom": [ - "16.14.0_react_16.14.0" - ], - "react-is": [ - "16.13.1" - ], - "scheduler": [ - "0.19.1" - ], - "use-sync-external-store": [ - "1.2.0_react_16.14.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, "npm__core-util-is__1.0.3": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -51003,6 +51302,35 @@ "generate_bzl_library_targets": false } }, + "npm__at_types_sinon__17.0.3": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_types_sinon__17.0.3", + "package": "@types/sinon", + "version": "17.0.3", + "root_package": "", + "link_workspace": "", + "link_packages": { + "": [ + "@types/sinon" + ] + }, + "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==", + "url": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__at_babel_plugin-transform-property-literals__7.23.3__at_babel_core_7.23.9__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -55755,7 +56083,7 @@ "2.2.0" ], "body-parser": [ - "1.20.1" + "1.20.2" ], "bonjour-service": [ "1.2.1" @@ -55823,7 +56151,7 @@ "1.0.5" ], "cookie": [ - "0.5.0" + "0.6.0" ], "cookie-signature": [ "1.0.6" @@ -55932,7 +56260,7 @@ "5.1.1" ], "express": [ - "4.18.2" + "4.19.2" ], "fast-deep-equal": [ "3.1.3" @@ -55959,7 +56287,7 @@ "5.0.2" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "foreground-child": [ "3.1.1" @@ -56302,7 +56630,7 @@ "1.2.1" ], "raw-body": [ - "2.5.1" + "2.5.2" ], "readable-stream": [ "2.3.8", @@ -56500,7 +56828,7 @@ "5.1.4_-975075900" ], "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" + "7.1.1_webpack_5.90.3" ], "webpack-dev-server": [ "5.0.2_-359619668" @@ -58098,7 +58426,7 @@ "7.0.1" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "http-proxy": [ "1.18.1" @@ -58562,7 +58890,7 @@ "2.2.0" ], "body-parser": [ - "1.20.1" + "1.20.2" ], "bonjour-service": [ "1.2.1" @@ -58630,7 +58958,7 @@ "1.0.5" ], "cookie": [ - "0.5.0" + "0.6.0" ], "cookie-signature": [ "1.0.6" @@ -58733,7 +59061,7 @@ "5.1.1" ], "express": [ - "4.18.2" + "4.19.2" ], "fast-deep-equal": [ "3.1.3" @@ -58760,7 +59088,7 @@ "5.0.2" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "foreground-child": [ "3.1.1" @@ -59075,7 +59403,7 @@ "1.2.1" ], "raw-body": [ - "2.5.1" + "2.5.2" ], "readable-stream": [ "2.3.8", @@ -59267,7 +59595,7 @@ "5.1.4_-975075900" ], "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" + "7.1.1_webpack_5.90.3" ], "webpack-dev-server": [ "5.0.2_-359619668" @@ -60029,7 +60357,7 @@ "2.2.0" ], "body-parser": [ - "1.20.1" + "1.20.2" ], "bonjour-service": [ "1.2.1" @@ -60097,7 +60425,7 @@ "1.0.5" ], "cookie": [ - "0.5.0" + "0.6.0" ], "cookie-signature": [ "1.0.6" @@ -60200,7 +60528,7 @@ "5.1.1" ], "express": [ - "4.18.2" + "4.19.2" ], "fast-deep-equal": [ "3.1.3" @@ -60227,7 +60555,7 @@ "5.0.2" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "foreground-child": [ "3.1.1" @@ -60542,7 +60870,7 @@ "1.2.1" ], "raw-body": [ - "2.5.1" + "2.5.2" ], "readable-stream": [ "2.3.8", @@ -60734,7 +61062,7 @@ "5.1.4_-975075900" ], "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" + "7.1.1_webpack_5.90.3" ], "webpack-dev-server": [ "5.0.2_-359619668" @@ -60826,6 +61154,32 @@ "generate_bzl_library_targets": false } }, + "npm__just-extend__6.2.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__just-extend__6.2.0__links", + "package": "just-extend", + "version": "6.2.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "just-extend": [ + "6.2.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__qs__6.11.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -61243,6 +61597,31 @@ ] } }, + "npm__webpack-dev-middleware__7.1.1__webpack_5.90.3": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__webpack-dev-middleware__7.1.1__webpack_5.90.3", + "package": "webpack-dev-middleware", + "version": "7.1.1_webpack_5.90.3", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-NmRVq4AvRQs66dFWyDR4GsFDJggtSi2Yn38MXLk0nffgF9n/AIP4TFBg2TQKYaRAN4sHuKOTiz9BnNCENDLEVA==", + "url": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.1.1.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__color-name__1.1.3__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -64366,153 +64745,6 @@ "generate_bzl_library_targets": false } }, - "npm__body-parser__1.20.1__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__body-parser__1.20.1__links", - "package": "body-parser", - "version": "1.20.1", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "bytes": "3.1.2", - "content-type": "1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "1.6.18", - "unpipe": "1.0.0" - }, - "transitive_closure": { - "body-parser": [ - "1.20.1" - ], - "bytes": [ - "3.1.2" - ], - "call-bind": [ - "1.0.7" - ], - "content-type": [ - "1.0.5" - ], - "debug": [ - "2.6.9" - ], - "define-data-property": [ - "1.1.4" - ], - "depd": [ - "2.0.0" - ], - "destroy": [ - "1.2.0" - ], - "ee-first": [ - "1.1.1" - ], - "es-define-property": [ - "1.0.0" - ], - "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" - ], - "has-proto": [ - "1.0.3" - ], - "has-symbols": [ - "1.0.3" - ], - "hasown": [ - "2.0.1" - ], - "http-errors": [ - "2.0.0" - ], - "iconv-lite": [ - "0.4.24" - ], - "inherits": [ - "2.0.4" - ], - "media-typer": [ - "0.3.0" - ], - "mime-db": [ - "1.52.0" - ], - "mime-types": [ - "2.1.35" - ], - "ms": [ - "2.0.0" - ], - "object-inspect": [ - "1.13.1" - ], - "on-finished": [ - "2.4.1" - ], - "qs": [ - "6.11.0" - ], - "raw-body": [ - "2.5.1" - ], - "safer-buffer": [ - "2.1.2" - ], - "set-function-length": [ - "1.2.1" - ], - "setprototypeof": [ - "1.2.0" - ], - "side-channel": [ - "1.0.5" - ], - "statuses": [ - "2.0.1" - ], - "toidentifier": [ - "1.0.1" - ], - "type-is": [ - "1.6.18" - ], - "unpipe": [ - "1.0.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, "npm__http-cache-semantics__4.1.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -64657,6 +64889,31 @@ ] } }, + "npm__nise__6.0.0": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__nise__6.0.0", + "package": "nise", + "version": "6.0.0", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg==", + "url": "https://registry.npmjs.org/nise/-/nise-6.0.0.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__websocket-extensions__0.1.4": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -65341,6 +65598,32 @@ ] } }, + "npm__path-to-regexp__6.2.2__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__path-to-regexp__6.2.2__links", + "package": "path-to-regexp", + "version": "6.2.2", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": {}, + "transitive_closure": { + "path-to-regexp": [ + "6.2.2" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__regjsparser__0.9.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -65835,6 +66118,31 @@ "generate_bzl_library_targets": false } }, + "npm__at_sinonjs_text-encoding__0.7.2": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__at_sinonjs_text-encoding__0.7.2", + "package": "@sinonjs/text-encoding", + "version": "0.7.2", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "url": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__webpack-dev-server__5.0.2__-359619668__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -65864,7 +66172,7 @@ "compression": "1.7.4", "connect-history-api-fallback": "2.0.0", "default-gateway": "6.0.3", - "express": "4.18.2", + "express": "4.19.2", "graceful-fs": "4.2.11", "html-entities": "2.4.0", "http-proxy-middleware": "2.0.6_at_types_express_4.17.21", @@ -65880,7 +66188,7 @@ "spdy": "4.0.2", "webpack": "5.90.3_webpack-cli_5.1.4", "webpack-cli": "5.1.4_-975075900", - "webpack-dev-middleware": "7.0.0_webpack_5.90.3", + "webpack-dev-middleware": "7.1.1_webpack_5.90.3", "ws": "8.16.0" }, "transitive_closure": { @@ -66091,7 +66399,7 @@ "2.2.0" ], "body-parser": [ - "1.20.1" + "1.20.2" ], "bonjour-service": [ "1.2.1" @@ -66159,7 +66467,7 @@ "1.0.5" ], "cookie": [ - "0.5.0" + "0.6.0" ], "cookie-signature": [ "1.0.6" @@ -66262,7 +66570,7 @@ "5.1.1" ], "express": [ - "4.18.2" + "4.19.2" ], "fast-deep-equal": [ "3.1.3" @@ -66289,7 +66597,7 @@ "5.0.2" ], "follow-redirects": [ - "1.15.5" + "1.15.6" ], "foreground-child": [ "3.1.1" @@ -66604,7 +66912,7 @@ "1.2.1" ], "raw-body": [ - "2.5.1" + "2.5.2" ], "readable-stream": [ "2.3.8", @@ -66796,7 +67104,7 @@ "5.1.4_-975075900" ], "webpack-dev-middleware": [ - "7.0.0_webpack_5.90.3" + "7.1.1_webpack_5.90.3" ], "webpack-dev-server": [ "5.0.2_-359619668" @@ -66837,6 +67145,31 @@ ] } }, + "npm__express__4.19.2": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__express__4.19.2", + "package": "express", + "version": "4.19.2", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "url": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__run-applescript__7.0.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -68195,6 +68528,31 @@ ] } }, + "npm__lodash.get__4.4.2": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_rule", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__lodash.get__4.4.2", + "package": "lodash.get", + "version": "4.4.2", + "root_package": "", + "link_workspace": "", + "link_packages": {}, + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "url": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "commit": "", + "patch_args": [], + "patches": [], + "custom_postinstall": "", + "npm_auth": "", + "npm_auth_basic": "", + "npm_auth_username": "", + "npm_auth_password": "", + "lifecycle_hooks": [], + "extra_build_content": "", + "generate_bzl_library_targets": false + } + }, "npm__yauzl__2.10.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -68451,52 +68809,6 @@ ] } }, - "npm__use-sync-external-store__1.2.0__react_16.14.0__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__use-sync-external-store__1.2.0__react_16.14.0__links", - "package": "use-sync-external-store", - "version": "1.2.0_react_16.14.0", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "react": "16.14.0" - }, - "transitive_closure": { - "js-tokens": [ - "4.0.0" - ], - "loose-envify": [ - "1.4.0" - ], - "object-assign": [ - "4.1.1" - ], - "prop-types": [ - "15.8.1" - ], - "react": [ - "16.14.0" - ], - "react-is": [ - "16.13.1" - ], - "use-sync-external-store": [ - "1.2.0_react_16.14.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, "npm__shebang-regex__3.0.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -68988,6 +69300,56 @@ "generate_bzl_library_targets": false } }, + "npm__nise__6.0.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__nise__6.0.0__links", + "package": "nise", + "version": "6.0.0", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "@sinonjs/commons": "3.0.1", + "@sinonjs/fake-timers": "11.2.2", + "@sinonjs/text-encoding": "0.7.2", + "just-extend": "6.2.0", + "path-to-regexp": "6.2.2" + }, + "transitive_closure": { + "@sinonjs/commons": [ + "3.0.1" + ], + "@sinonjs/fake-timers": [ + "11.2.2" + ], + "@sinonjs/text-encoding": [ + "0.7.2" + ], + "just-extend": [ + "6.2.0" + ], + "nise": [ + "6.0.0" + ], + "path-to-regexp": [ + "6.2.2" + ], + "type-detect": [ + "4.0.8" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__unicode-match-property-ecmascript__2.0.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -71076,18 +71438,18 @@ "generate_bzl_library_targets": false } }, - "npm__raw-body__2.5.1": { + "npm__raw-body__2.5.2": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__raw-body__2.5.1", + "name": "aspect_rules_js~1.35.0~npm~npm__raw-body__2.5.2", "package": "raw-body", - "version": "2.5.1", + "version": "2.5.2", "root_package": "", "link_workspace": "", "link_packages": {}, - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "url": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "url": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", "commit": "", "patch_args": [], "patches": [], @@ -72203,6 +72565,80 @@ "generate_bzl_library_targets": false } }, + "npm__sinon__18.0.0__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__sinon__18.0.0__links", + "package": "sinon", + "version": "18.0.0", + "dev": false, + "root_package": "", + "link_packages": { + "": [ + "sinon" + ] + }, + "deps": { + "@sinonjs/commons": "3.0.1", + "@sinonjs/fake-timers": "11.2.2", + "@sinonjs/samsam": "8.0.0", + "diff": "5.2.0", + "nise": "6.0.0", + "supports-color": "7.2.0" + }, + "transitive_closure": { + "@sinonjs/commons": [ + "2.0.0", + "3.0.1" + ], + "@sinonjs/fake-timers": [ + "11.2.2" + ], + "@sinonjs/samsam": [ + "8.0.0" + ], + "@sinonjs/text-encoding": [ + "0.7.2" + ], + "diff": [ + "5.2.0" + ], + "has-flag": [ + "4.0.0" + ], + "just-extend": [ + "6.2.0" + ], + "lodash.get": [ + "4.4.2" + ], + "nise": [ + "6.0.0" + ], + "path-to-regexp": [ + "6.2.2" + ], + "sinon": [ + "18.0.0" + ], + "supports-color": [ + "7.2.0" + ], + "type-detect": [ + "4.0.8" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__loose-envify__1.4.0": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -72574,67 +73010,6 @@ ] } }, - "npm__mobx-react-lite__4.0.5__-901741053__links": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_links", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__mobx-react-lite__4.0.5__-901741053__links", - "package": "mobx-react-lite", - "version": "4.0.5_-901741053", - "dev": false, - "root_package": "", - "link_packages": {}, - "deps": { - "mobx": "6.12.0", - "react": "16.14.0", - "react-dom": "16.14.0_react_16.14.0", - "use-sync-external-store": "1.2.0_react_16.14.0" - }, - "transitive_closure": { - "js-tokens": [ - "4.0.0" - ], - "loose-envify": [ - "1.4.0" - ], - "mobx": [ - "6.12.0" - ], - "mobx-react-lite": [ - "4.0.5_-901741053" - ], - "object-assign": [ - "4.1.1" - ], - "prop-types": [ - "15.8.1" - ], - "react": [ - "16.14.0" - ], - "react-dom": [ - "16.14.0_react_16.14.0" - ], - "react-is": [ - "16.13.1" - ], - "scheduler": [ - "0.19.1" - ], - "use-sync-external-store": [ - "1.2.0_react_16.14.0" - ] - }, - "lifecycle_build_target": false, - "lifecycle_hooks_env": [], - "lifecycle_hooks_execution_requirements": [], - "bins": {}, - "npm_translate_lock_repo": "npm", - "package_visibility": [ - "//visibility:public" - ] - } - }, "npm__es6-error__4.1.1": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", @@ -72739,35 +73114,6 @@ "generate_bzl_library_targets": false } }, - "npm__at_types_js-base64__3.3.1": { - "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", - "ruleClassName": "npm_import_rule", - "attributes": { - "name": "aspect_rules_js~1.35.0~npm~npm__at_types_js-base64__3.3.1", - "package": "@types/js-base64", - "version": "3.3.1", - "root_package": "", - "link_workspace": "", - "link_packages": { - "": [ - "@types/js-base64" - ] - }, - "integrity": "sha512-Zw33oQNAvDdAN9b0IE5stH0y2MylYvtU7VVTKEJPxhyM2q57CVaNJhtJW258ah24NRtaiA23tptUmVn3dmTKpw==", - "url": "https://registry.npmjs.org/@types/js-base64/-/js-base64-3.3.1.tgz", - "commit": "", - "patch_args": [], - "patches": [], - "custom_postinstall": "", - "npm_auth": "", - "npm_auth_basic": "", - "npm_auth_username": "", - "npm_auth_password": "", - "lifecycle_hooks": [], - "extra_build_content": "", - "generate_bzl_library_targets": false - } - }, "npm__at_bazel_ibazel__0.12.4__links": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_links", @@ -74007,6 +74353,67 @@ "generate_bzl_library_targets": false } }, + "npm__raw-body__2.5.2__links": { + "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", + "ruleClassName": "npm_import_links", + "attributes": { + "name": "aspect_rules_js~1.35.0~npm~npm__raw-body__2.5.2__links", + "package": "raw-body", + "version": "2.5.2", + "dev": false, + "root_package": "", + "link_packages": {}, + "deps": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "transitive_closure": { + "bytes": [ + "3.1.2" + ], + "depd": [ + "2.0.0" + ], + "http-errors": [ + "2.0.0" + ], + "iconv-lite": [ + "0.4.24" + ], + "inherits": [ + "2.0.4" + ], + "raw-body": [ + "2.5.2" + ], + "safer-buffer": [ + "2.1.2" + ], + "setprototypeof": [ + "1.2.0" + ], + "statuses": [ + "2.0.1" + ], + "toidentifier": [ + "1.0.1" + ], + "unpipe": [ + "1.0.0" + ] + }, + "lifecycle_build_target": false, + "lifecycle_hooks_env": [], + "lifecycle_hooks_execution_requirements": [], + "bins": {}, + "npm_translate_lock_repo": "npm", + "package_visibility": [ + "//visibility:public" + ] + } + }, "npm__at_webassemblyjs_helper-wasm-section__1.11.6": { "bzlFile": "@@aspect_rules_js~1.35.0//npm/private:npm_import.bzl", "ruleClassName": "npm_import_rule", diff --git a/README.md b/README.md index 75b775ab..3ff4a415 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,17 @@ +# [asciiflow.com](https://asciiflow.com) + ASCIIFlow is a client-side only web based application for drawing ASCII diagrams. You can use it at [asciiflow.com](https://asciiflow.com). +

+ + + + ASCIIFlow screenshot + +

+ ## Contributing + ### Installation ASCIIFlow is built with [Bazel](https://docs.bazel.build/versions/4.0.0/getting-started.html). @@ -18,7 +29,6 @@ npm install -g @bazel/ibazel yarn global add @bazel/ibazel ``` - ### Running ASCIIFlow locally After installation of Bazel/Bazelisk, you can run ASCIIFlow locally with: @@ -32,3 +42,4 @@ Or without ibazel (won't do live reloading): ``` bazel run client:devserver ``` + diff --git a/assets/asciiflow-scr-dark.png b/assets/asciiflow-scr-dark.png new file mode 100644 index 00000000..1ae8aa51 Binary files /dev/null and b/assets/asciiflow-scr-dark.png differ diff --git a/assets/asciiflow-scr-light.png b/assets/asciiflow-scr-light.png new file mode 100644 index 00000000..87127f92 Binary files /dev/null and b/assets/asciiflow-scr-light.png differ diff --git a/client/BUILD b/client/BUILD index 0dfae6bd..eab8d828 100644 --- a/client/BUILD +++ b/client/BUILD @@ -20,7 +20,6 @@ ts_library( deps = [ "//:node_modules/@material-ui/core", "//:node_modules/@material-ui/icons", - "//:node_modules/@types/js-base64", "//:node_modules/@types/pako", "//:node_modules/@types/react", "//:node_modules/@types/react-dom", @@ -28,14 +27,13 @@ ts_library( "//:node_modules/@types/react-router-dom", "//:node_modules/@types/uuid", "//:node_modules/js-base64", - "//:node_modules/mobx", - "//:node_modules/mobx-react", "//:node_modules/pako", "//:node_modules/react", "//:node_modules/react-dom", "//:node_modules/react-router", "//:node_modules/react-router-dom", "//:node_modules/uuid", + "//common", ], ) diff --git a/client/app.tsx b/client/app.tsx index b730d718..beaf1382 100644 --- a/client/app.tsx +++ b/client/app.tsx @@ -9,11 +9,12 @@ import { import { Drawer } from "#asciiflow/client/drawer"; import { DrawingId, store, ToolMode } from "#asciiflow/client/store"; import { screenToCell, View } from "#asciiflow/client/view"; -import { useObserver } from "mobx-react"; + import { HashRouter, Route, useParams } from "react-router-dom"; import * as ReactDOM from "react-dom"; import { Vector } from "#asciiflow/client/vector"; import { textToLayer } from "#asciiflow/client/text_utils"; +import { useWatchable } from "#asciiflow/common/watchable"; const controller = new Controller(); const touchController = new TouchController(controller); @@ -25,7 +26,7 @@ export interface IRouteProps { } export const App = () => { - return useObserver(() => { + return useWatchable(() => { const routeProps = useParams(); store.setRoute( routeProps.share @@ -86,7 +87,7 @@ document.addEventListener("paste", (e) => { if (store.selectTool.selectBox) { position = store.selectTool.selectBox.topLeft(); } - if (store.toolMode === ToolMode.TEXT && store.textTool.currentPosition) { + if (store.toolMode() === ToolMode.TEXT && store.textTool.currentPosition) { position = store.textTool.currentPosition; } const pastedLayer = textToLayer(clipboardText, position); diff --git a/client/characters.ts b/client/characters.ts index e69de29b..81dc1107 100644 --- a/client/characters.ts +++ b/client/characters.ts @@ -0,0 +1,279 @@ +import { UNICODE } from "#asciiflow/client/constants"; +import { Direction } from "#asciiflow/client/direction"; + +export const BOX_DRAWING_VALUES = new Set([ + "┌", + "┐", + "┘", + "└", + "─", + "│", + "┬", + "┴", + "┤", + "├", + "┼", + "◄", + "►", + "▲", + "▼", +]); + +interface IBoxDrawingCharacterInfo { + connections: Set; + connectables: Set; +} + +const BOX_DRAWING_INFO: { [key: string]: IBoxDrawingCharacterInfo } = { + "┌": { + connections: new Set([Direction.DOWN, Direction.RIGHT]), + connectables: new Set(Direction.ALL), + }, + "┐": { + connections: new Set([Direction.DOWN, Direction.LEFT]), + connectables: new Set(Direction.ALL), + }, + "┘": { + connections: new Set([Direction.UP, Direction.LEFT]), + connectables: new Set(Direction.ALL), + }, + "└": { + connections: new Set([Direction.UP, Direction.RIGHT]), + connectables: new Set(Direction.ALL), + }, + "─": { + connections: new Set([Direction.LEFT, Direction.RIGHT]), + connectables: new Set(Direction.ALL), + }, + "│": { + connections: new Set([Direction.UP, Direction.DOWN]), + connectables: new Set(Direction.ALL), + }, + "┬": { + connections: new Set([Direction.DOWN, Direction.LEFT, Direction.RIGHT]), + connectables: new Set(Direction.ALL), + }, + "┴": { + connections: new Set([Direction.UP, Direction.LEFT, Direction.RIGHT]), + connectables: new Set(Direction.ALL), + }, + "┤": { + connections: new Set([Direction.UP, Direction.DOWN, Direction.LEFT]), + connectables: new Set(Direction.ALL), + }, + "├": { + connections: new Set([Direction.UP, Direction.DOWN, Direction.RIGHT]), + connectables: new Set(Direction.ALL), + }, + "┼": { + connections: new Set([ + Direction.UP, + Direction.DOWN, + Direction.LEFT, + Direction.RIGHT, + ]), + connectables: new Set(Direction.ALL), + }, + "◄": { + connections: new Set([Direction.RIGHT]), + connectables: new Set([Direction.RIGHT]), + }, + "►": { + connections: new Set([Direction.LEFT]), + connectables: new Set([Direction.LEFT]), + }, + "▲": { + connections: new Set([Direction.DOWN]), + connectables: new Set([Direction.DOWN]), + }, + "▼": { + connections: new Set([Direction.UP]), + connectables: new Set([Direction.UP]), + }, +}; + +export function connectsDown(value: string): boolean { + return BOX_DRAWING_INFO[value]?.connections.has(Direction.DOWN); +} + +export function connectsUp(value: string): boolean { + return BOX_DRAWING_INFO[value]?.connections.has(Direction.UP); +} + +export function connectsLeft(value: string): boolean { + return BOX_DRAWING_INFO[value]?.connections.has(Direction.LEFT); +} + +export function connectsRight(value: string): boolean { + return BOX_DRAWING_INFO[value]?.connections.has(Direction.RIGHT); +} + +export function isBoxDrawing(value: string): boolean { + return BOX_DRAWING_VALUES.has(value); +} + +export function isArrow(value: string): boolean { + return ( + value === UNICODE.arrowLeft || + value === UNICODE.arrowRight || + value === UNICODE.arrowUp || + value === UNICODE.arrowDown + ); +} + +export function connects(value: string, direction: Direction): boolean { + return BOX_DRAWING_INFO[value]?.connections.has(direction); +} + +export function connectable(value: string, direction: Direction): boolean { + return BOX_DRAWING_INFO[value]?.connectables.has(direction); +} + +export function connections(value: string): Set { + return BOX_DRAWING_INFO[value]?.connections ?? new Set(); +} + +export function connect( + value: string, + direction: Direction | Direction[] +): string { + if (Array.isArray(direction)) { + return direction.reduce( + (value, direction) => connect(value, direction), + value + ); + } + if (connects(value, direction)) { + return value; + } + if (direction === Direction.UP) { + if (value === UNICODE.lineHorizontal) { + return UNICODE.junctionUp; + } + if (value === UNICODE.cornerTopLeft) { + return UNICODE.junctionRight; + } + if (value === UNICODE.cornerTopRight) { + return UNICODE.junctionLeft; + } + if (value === UNICODE.junctionDown) { + return UNICODE.junctionAll; + } + } + if (direction === Direction.DOWN) { + if (value === UNICODE.lineHorizontal) { + return UNICODE.junctionDown; + } + if (value === UNICODE.cornerBottomLeft) { + return UNICODE.junctionRight; + } + if (value === UNICODE.cornerBottomRight) { + return UNICODE.junctionLeft; + } + if (value === UNICODE.junctionUp) { + return UNICODE.junctionAll; + } + } + if (direction === Direction.LEFT) { + if (value === UNICODE.lineVertical) { + return UNICODE.junctionLeft; + } + if (value === UNICODE.cornerTopLeft) { + return UNICODE.junctionDown; + } + if (value === UNICODE.cornerBottomLeft) { + return UNICODE.junctionUp; + } + if (value === UNICODE.junctionRight) { + return UNICODE.junctionAll; + } + } + if (direction === Direction.RIGHT) { + if (value === UNICODE.lineVertical) { + return UNICODE.junctionRight; + } + if (value === UNICODE.cornerTopRight) { + return UNICODE.junctionDown; + } + if (value === UNICODE.cornerBottomRight) { + return UNICODE.junctionUp; + } + if (value === UNICODE.junctionLeft) { + return UNICODE.junctionAll; + } + } + throw new Error(`Can't connect ${value} in direction ${direction}`); +} + +export function disconnect( + value: string, + direction: Direction | Direction[] +): string { + if (Array.isArray(direction)) { + return direction.reduce( + (value, direction) => disconnect(value, direction), + value + ); + } + if (!connects(value, direction)) { + return value; + } + if (direction === Direction.UP) { + if (value === UNICODE.junctionUp) { + return UNICODE.lineHorizontal; + } + if (value === UNICODE.junctionRight) { + return UNICODE.cornerTopLeft; + } + if (value === UNICODE.junctionLeft) { + return UNICODE.cornerTopRight; + } + if (value === UNICODE.junctionAll) { + return UNICODE.junctionDown; + } + } + if (direction === Direction.DOWN) { + if (value === UNICODE.junctionDown) { + return UNICODE.lineHorizontal; + } + if (value === UNICODE.junctionRight) { + return UNICODE.cornerBottomLeft; + } + if (value === UNICODE.junctionLeft) { + return UNICODE.cornerBottomRight; + } + if (value === UNICODE.junctionUp) { + return UNICODE.junctionDown; + } + } + if (direction === Direction.LEFT) { + if (value === UNICODE.junctionLeft) { + return UNICODE.lineVertical; + } + if (value === UNICODE.junctionDown) { + return UNICODE.cornerTopLeft; + } + if (value === UNICODE.junctionUp) { + return UNICODE.cornerBottomLeft; + } + if (value === UNICODE.junctionRight) { + return UNICODE.junctionLeft; + } + } + if (direction === Direction.RIGHT) { + if (value === UNICODE.junctionRight) { + return UNICODE.lineVertical; + } + if (value === UNICODE.junctionDown) { + return UNICODE.cornerTopRight; + } + if (value === UNICODE.junctionUp) { + return UNICODE.cornerBottomRight; + } + if (value === UNICODE.junctionLeft) { + return UNICODE.junctionRight; + } + } + // There are a few cases where we just can't do this, and that has to be OK. + return value; +} diff --git a/client/common.ts b/client/common.ts index ff395c02..8d6ddb39 100644 --- a/client/common.ts +++ b/client/common.ts @@ -7,6 +7,22 @@ import { Vector } from "#asciiflow/client/vector"; export class Box { constructor(public readonly start: Vector, public readonly end: Vector) {} + left() { + return Math.min(this.start.x, this.end.x); + } + + right() { + return Math.max(this.start.x, this.end.x); + } + + top() { + return Math.min(this.start.y, this.end.y); + } + + bottom() { + return Math.max(this.start.y, this.end.y); + } + topLeft() { return new Vector( Math.min(this.start.x, this.end.x), @@ -14,6 +30,13 @@ export class Box { ); } + topRight() { + return new Vector( + Math.max(this.start.x, this.end.x), + Math.min(this.start.y, this.end.y) + ); + } + bottomRight() { return new Vector( Math.max(this.start.x, this.end.x), @@ -21,6 +44,13 @@ export class Box { ); } + bottomLeft() { + return new Vector( + Math.min(this.start.x, this.end.x), + Math.max(this.start.y, this.end.y) + ); + } + contains(position: Vector) { const topLeft = this.topLeft(); const bottomRight = this.bottomRight(); @@ -33,28 +63,6 @@ export class Box { } } -/** - * An individual cell within the diagram and it's current value. - */ -export class Cell { - constructor(public value?: string, public scratchValue?: string) {} - - getRawValue() { - return this.scratchValue != null ? this.scratchValue : this.value; - } - - isSpecial() { - return ALL_SPECIAL_VALUES.includes(this.getRawValue()); - } - - isEmpty() { - return this.value == null && this.scratchValue == null; - } - - hasScratch() { - return this.scratchValue != null; - } -} export class CellContext { constructor( @@ -71,19 +79,4 @@ export class CellContext { sum() { return +this.left + +this.right + +this.up + +this.down; } - /** - * Returns the total number of surrounding special cells. - */ - extendedSum() { - return ( - +this.left + - +this.right + - +this.up + - +this.down + - +this.leftup + - +this.leftdown + - +this.rightup + - +this.rightdown - ); - } } diff --git a/client/constants.ts b/client/constants.ts index 6cd3f1bb..4e1f9f40 100644 --- a/client/constants.ts +++ b/client/constants.ts @@ -1,4 +1,3 @@ -import { Vector } from "#asciiflow/client/vector"; export const MAX_GRID_WIDTH = 2000; export const MAX_GRID_HEIGHT = 600; @@ -135,11 +134,4 @@ export const KEY_RIGHT = ""; // http://stackoverflow.com/questions/4817029/whats-the-best-way-to-detect-a-touch-screen-device-using-javascript export const TOUCH_ENABLED = () => - "ontouchstart" in window || "onmsgesturechange" in window; - -export const DIR_LEFT = new Vector(-1, 0); -export const DIR_RIGHT = new Vector(1, 0); -export const DIR_UP = new Vector(0, -1); -export const DIR_DOWN = new Vector(0, 1); - -export const DIRECTIONS = [DIR_LEFT, DIR_RIGHT, DIR_UP, DIR_DOWN]; + "ontouchstart" in window || "onmsgesturechange" in window; \ No newline at end of file diff --git a/client/controller.ts b/client/controller.ts index 1fb02750..5d381f6e 100644 --- a/client/controller.ts +++ b/client/controller.ts @@ -1,7 +1,7 @@ import * as constants from "#asciiflow/client/constants"; import { store, IModifierKeys, ToolMode } from "#asciiflow/client/store"; import { Vector } from "#asciiflow/client/vector"; -import { screenToCell } from "#asciiflow/client/view"; +import { screenToCell, setCanvasCursor } from "#asciiflow/client/view"; import { HTMLAttributes } from "react"; import * as React from "react"; @@ -69,7 +69,7 @@ export class Controller { let specialKeyCode = null; if (event.altKey) { - store.altPressed = true; + store.altPressed.set(true); if (event.keyCode === "1".charCodeAt(0)) { store.setToolMode(ToolMode.BOX); event.preventDefault(); @@ -103,9 +103,13 @@ export class Controller { } else { store.currentCanvas.undo(); } + // Disable browser-specific behavior on Cmd/Ctrl+Z: https://github.com/lewish/asciiflow/issues/189 + event.preventDefault(); } if (event.keyCode === 89) { store.currentCanvas.redo(); + // Disable browser-specific behavior on Cmd/Ctrl+Y: https://github.com/lewish/asciiflow/issues/189 + event.preventDefault(); } if (event.keyCode === 88) { specialKeyCode = constants.KEY_CUT; @@ -136,7 +140,7 @@ export class Controller { specialKeyCode = constants.KEY_RIGHT; } if (event.keyCode === 32) { - store.panning = true; + store.panning.set(true); } if (specialKeyCode != null) { @@ -146,10 +150,10 @@ export class Controller { handleKeyUp(event: KeyboardEvent) { if (event.keyCode === 32) { - store.panning = false; + store.panning.set(false); } if (!event.altKey) { - store.altPressed = false; + store.altPressed.set(false); } } @@ -163,10 +167,9 @@ export class Controller { // Update the cursor pointer, depending on the draw function. if (!moveCell.equals(this.lastMoveCell)) { - store.setCurrentCursor(store.currentTool.getCursor( - moveCell, - getModifierKeys(e) - )); + setCanvasCursor( + store.currentTool.getCursor(moveCell, getModifierKeys(e)) + ); } // In drawing mode, so pass the mouse move on, but remove duplicates. @@ -210,7 +213,7 @@ export class DesktopController { handleMouseDown = (e: React.MouseEvent) => { // Can drag by holding either the control or meta (Apple) key. - if (store.panning) { + if (store.panning.get()) { this.controller.startDrag(Vector.fromMouseEvent(e)); } else { this.controller.startDraw(Vector.fromMouseEvent(e), e); diff --git a/client/direction.ts b/client/direction.ts new file mode 100644 index 00000000..ee022a2b --- /dev/null +++ b/client/direction.ts @@ -0,0 +1,30 @@ +import { Vector } from "#asciiflow/client/vector"; + +export class Direction extends Vector { + public static UP = new Direction(0, -1); + public static DOWN = new Direction(0, 1); + public static LEFT = new Direction(-1, 0); + public static RIGHT = new Direction(1, 0); + + public static ALL = [ + Direction.UP, + Direction.DOWN, + Direction.LEFT, + Direction.RIGHT, + ]; + + private constructor(x: number, y: number) { + super(x, y); + } + + public opposite(): Direction { + return Direction.OPPOSITE_MAP.get(this); + } + + private static readonly OPPOSITE_MAP = new Map([ + [Direction.UP, Direction.DOWN], + [Direction.DOWN, Direction.UP], + [Direction.LEFT, Direction.RIGHT], + [Direction.RIGHT, Direction.LEFT], + ]); +} diff --git a/client/draw/box.ts b/client/draw/box.ts index 6bb78f7d..48e9a374 100644 --- a/client/draw/box.ts +++ b/client/draw/box.ts @@ -1,8 +1,9 @@ +import { Box } from "#asciiflow/client/common"; +import { UNICODE } from "#asciiflow/client/constants"; import { AbstractDrawFunction } from "#asciiflow/client/draw/function"; -import { drawLine } from "#asciiflow/client/draw/utils"; +import { Layer } from "#asciiflow/client/layer"; import { store } from "#asciiflow/client/store"; import { Vector } from "#asciiflow/client/vector"; -import { Layer } from "#asciiflow/client/layer"; export class DrawBox extends AbstractDrawFunction { private startPosition: Vector; @@ -13,8 +14,28 @@ export class DrawBox extends AbstractDrawFunction { move(position: Vector) { const layer = new Layer(); - drawLine(layer, this.startPosition, position, true); - drawLine(layer, this.startPosition, position, false); + const box = new Box(this.startPosition, position); + + if (box.right() != box.left()) { + for (let x = box.left(); x <= box.right(); x++) { + layer.set(new Vector(x, box.top()), UNICODE.lineHorizontal); + layer.set(new Vector(x, box.bottom()), UNICODE.lineHorizontal); + } + } + if (box.top() != box.bottom()) { + for (let y = box.top(); y <= box.bottom(); y++) { + layer.set(new Vector(box.left(), y), UNICODE.lineVertical); + layer.set(new Vector(box.right(), y), UNICODE.lineVertical); + } + } + + if (box.left() != box.right() && box.top() != box.bottom()) { + layer.set(box.topLeft(), UNICODE.cornerTopLeft); + layer.set(box.topRight(), UNICODE.cornerTopRight); + layer.set(box.bottomRight(), UNICODE.cornerBottomRight); + layer.set(box.bottomLeft(), UNICODE.cornerBottomLeft); + } + store.currentCanvas.setScratchLayer(layer); } diff --git a/client/draw/freeform.ts b/client/draw/freeform.ts index ab1d7c9f..72aa59c5 100644 --- a/client/draw/freeform.ts +++ b/client/draw/freeform.ts @@ -8,13 +8,13 @@ export class DrawFreeform extends AbstractDrawFunction { start(position: Vector) { this.currentLayer = new Layer(); - this.currentLayer.set(position, store.freeformCharacter); + this.currentLayer.set(position, store.freeformCharacter.get()); store.currentCanvas.setScratchLayer(this.currentLayer); } move(position: Vector) { [this.currentLayer] = new Layer().apply(this.currentLayer); - this.currentLayer.set(position, store.freeformCharacter); + this.currentLayer.set(position, store.freeformCharacter.get()); store.currentCanvas.setScratchLayer(this.currentLayer); } @@ -29,7 +29,7 @@ export class DrawFreeform extends AbstractDrawFunction { handleKey(value: string) { if (value && value.length === 1) { // The value is not a special character, so lets use it. - store.freeformCharacter = value; + store.freeformCharacter.set(value); } } } diff --git a/client/draw/line.ts b/client/draw/line.ts index 349d7f89..cdc98b21 100644 --- a/client/draw/line.ts +++ b/client/draw/line.ts @@ -1,10 +1,17 @@ import { - IDrawFunction, - AbstractDrawFunction, -} from "#asciiflow/client/draw/function"; -import { drawLine } from "#asciiflow/client/draw/utils"; -import { Layer } from "#asciiflow/client/layer"; -import { store, IModifierKeys } from "#asciiflow/client/store"; + connect, + connectable, + connects, + disconnect, +} from "#asciiflow/client/characters"; +import { UNICODE } from "#asciiflow/client/constants"; +import { Direction } from "#asciiflow/client/direction"; +import { AbstractDrawFunction } from "#asciiflow/client/draw/function"; +import { line } from "#asciiflow/client/draw/utils"; +import { Layer, LayerView } from "#asciiflow/client/layer"; +import { cellContext } from "#asciiflow/client/render_layer"; +import { snap } from "#asciiflow/client/snap"; +import { IModifierKeys, store } from "#asciiflow/client/store"; import { Vector } from "#asciiflow/client/vector"; export class DrawLine extends AbstractDrawFunction { @@ -27,13 +34,20 @@ export class DrawLine extends AbstractDrawFunction { } draw(modifierKeys: IModifierKeys) { + if (!this.startPosition || !this.endPosition) { + return; + } const layer = new Layer(); // Try to infer line orientation. - // TODO: Split the line into two lines if we can't satisfy both ends. - const characters = store.characters; - - const startContext = store.currentCanvas.committed.context(this.startPosition); - const endContext = store.currentCanvas.committed.context(this.endPosition); + const characters = UNICODE; + const startContext = cellContext( + this.startPosition, + store.currentCanvas.committed + ); + const endContext = cellContext( + this.endPosition, + store.currentCanvas.committed + ); const horizontalStart = (startContext.up && startContext.down) || @@ -49,7 +63,7 @@ export class DrawLine extends AbstractDrawFunction { (horizontalStart || verticalEnd) !== (modifierKeys.ctrl || modifierKeys.shift); - drawLine(layer, this.startPosition, this.endPosition, horizontalFirst); + layer.setFrom(line(this.startPosition, this.endPosition, horizontalFirst)); if (this.isArrow) { layer.set( @@ -77,6 +91,33 @@ export class DrawLine extends AbstractDrawFunction { })() ); } + // Start or end characters may not just be lines, if adjacent cells have any incoming connections + // then we connect to them, and then remove any unnecessary connections (if possible). + const combined = new LayerView([store.currentCanvas.committed, layer]); + for (const position of this.isArrow + ? [this.startPosition] + : [this.startPosition, this.endPosition]) { + const incomingConnections = Direction.ALL.filter( + (direction) => + connects( + combined.get(position.add(direction)), + direction.opposite() + ) && connectable(layer.get(position), direction) + ); + layer.set(position, connect(layer.get(position), incomingConnections)); + layer.set( + position, + disconnect( + layer.get(position), + Direction.ALL.filter( + (direction) => !incomingConnections.includes(direction) + ) + ) + ); + } + + layer.setFrom(snap(layer, store.currentCanvas.committed)); + store.currentCanvas.setScratchLayer(layer); } diff --git a/client/draw/move.ts b/client/draw/move.ts index 7cda2255..dba4ad1a 100644 --- a/client/draw/move.ts +++ b/client/draw/move.ts @@ -1,113 +1,106 @@ +import { connects, isArrow } from "#asciiflow/client/characters"; import * as constants from "#asciiflow/client/constants"; import { isSpecial } from "#asciiflow/client/constants"; +import { Direction } from "#asciiflow/client/direction"; import { AbstractDrawFunction } from "#asciiflow/client/draw/function"; -import { drawLine } from "#asciiflow/client/draw/utils"; import { Layer } from "#asciiflow/client/layer"; import { store } from "#asciiflow/client/store"; import { Vector } from "#asciiflow/client/vector"; -interface IEnd { - position: Vector; - clockwise: boolean; - startIsAlt: boolean; - midPointIsAlt?: boolean; - endIsAlt: boolean; -} export class DrawMove extends AbstractDrawFunction { - private startPosition: Vector; - private ends: IEnd[] = []; + private trace: ILineTrace; start(position: Vector) { - this.startPosition = constants.TOUCH_ENABLED - ? this.snapToNearest(position) - : position; - this.ends = []; - - // If this isn't a special cell then quit, or things get weird. - if (!constants.isSpecial(store.currentCanvas.committed.get(position))) { + const value = store.currentCanvas.committed.get(position); + if ( + value !== constants.UNICODE.lineHorizontal && + value !== constants.UNICODE.lineVertical + ) { return; } - const ends: IEnd[] = []; - for (const i of constants.DIRECTIONS) { - const midPoints = this.followLine(this.startPosition, i); - for (const midPoint of midPoints) { - // Clockwise is a lie, it is true if we move vertically first. - const clockwise = i.x !== 0; - const startIsAlt = - constants.ALT_SPECIAL_VALUES.indexOf( - store.currentCanvas.committed.get(position) - ) !== -1; - const midPointIsAlt = - constants.ALT_SPECIAL_VALUES.indexOf( - store.currentCanvas.committed.get(midPoint) - ) !== -1; - - const midPointContext = store.currentCanvas.committed.context(midPoint); - // Special case, a straight line with no turns. - if (midPointContext.sum() === 1) { - ends.push({ - position: midPoint, - clockwise, - startIsAlt, - endIsAlt: midPointIsAlt, - }); - continue; - } - // Continue following lines from the midpoint. - for (const j of constants.DIRECTIONS) { - if (i.add(j).length() === 0 || i.add(j).length() === 2) { - // Don't go back on ourselves, or don't carry on in same direction. - continue; - } - const secondEnds = this.followLine(midPoint, j); - // Ignore any directions that didn't go anywhere. - if (secondEnds.length === 0) { - continue; - } - const secondEnd = secondEnds[0]; - const endIsAlt = - constants.ALT_SPECIAL_VALUES.indexOf( - store.currentCanvas.committed.get(secondEnd) - ) !== -1; - // On the second line we don't care about multiple - // junctions, just the last. - ends.push({ - position: secondEnd, - clockwise, - startIsAlt, - midPointIsAlt, - endIsAlt, - }); - } - } - } - this.ends = ends; - // Redraw the new lines after we have cleared the existing ones. - this.move(this.startPosition); + this.trace = traceLine(store.currentCanvas.committed, position); + this.move(position); } move(position: Vector) { + if (this.trace == null) { + return; + } const layer = new Layer(); - // Clear all the lines so we can draw them afresh. - for (const end of this.ends) { - drawLine(layer, this.startPosition, end.position, end.clockwise, ""); + // Find the min/max x/y that we can move to. + const minX = Math.max( + ...this.trace.attachments + .filter((a) => a.direction === Direction.LEFT) + .map((a) => a.end.x) + ); + const maxX = Math.min( + ...this.trace.attachments + .filter((a) => a.direction === Direction.RIGHT) + .map((a) => a.end.x) + ); + const minY = Math.max( + ...this.trace.attachments + .filter((a) => a.direction === Direction.UP) + .map((a) => a.end.y) + ); + const maxY = Math.min( + ...this.trace.attachments + .filter((a) => a.direction === Direction.DOWN) + .map((a) => a.end.y) + ); + // Calculate the effective position after calculating bounds. + const effectivePosition = new Vector( + Math.min(Math.max(position.x, minX), maxX), + Math.min(Math.max(position.y, minY), maxY) + ); + // Work out which direction we're moving in. + const moveDirection = + this.trace.orientation === "vertical" + ? effectivePosition.x < this.trace.positions[0].x + ? Direction.LEFT + : Direction.RIGHT + : effectivePosition.y < this.trace.positions[0].y + ? Direction.UP + : Direction.DOWN; + // Work out how many units/cells we're moving. + const moveUnits = Math.abs( + moveDirection === Direction.LEFT || moveDirection === Direction.RIGHT + ? effectivePosition.x - this.trace.positions[0].x + : effectivePosition.y - this.trace.positions[0].y + ); + // Clear any attachments that are in the way. + for (const attachment of this.trace.attachments) { + if (attachment.direction === moveDirection) { + for (let i = 0; i < moveUnits; i++) { + layer.set(attachment.source.add(attachment.direction.scale(i)), ""); + } + } } - for (const end of this.ends) { - drawLine(layer, position, end.position, end.clockwise); + // Clear the line. + for (const position of this.trace.positions) { + layer.set(position, ""); } - for (const end of this.ends) { - // If the ends or midpoint of the line was a alt character (arrow), need to preserve that. - if (end.startIsAlt) { - layer.set(position, constants.ALT_SPECIAL_VALUE); - } - if (end.endIsAlt) { - layer.set(end.position, constants.ALT_SPECIAL_VALUE); - } - if (end.midPointIsAlt) { - const midX = end.clockwise ? end.position.x : position.x; - const midY = end.clockwise ? position.y : end.position.y; - layer.set(new Vector(midX, midY), constants.ALT_SPECIAL_VALUE); + // Move the line. + for (const position of this.trace.positions) { + layer.set( + position.add(moveDirection.scale(moveUnits)), + store.currentCanvas.committed.get(position) + ); + } + // Extend any attachments that need to be extended. + for (const attachment of this.trace.attachments) { + if (attachment.direction === moveDirection.opposite()) { + for (let i = 1; i <= moveUnits; i++) { + // TODO: Deal with arrows. + layer.set( + attachment.source.add(attachment.direction.scale(-i)), + attachment.direction === Direction.LEFT || + attachment.direction === Direction.RIGHT + ? constants.UNICODE.lineHorizontal + : constants.UNICODE.lineVertical + ); + } } } store.currentCanvas.setScratchLayer(layer); @@ -117,82 +110,137 @@ export class DrawMove extends AbstractDrawFunction { store.currentCanvas.commitScratch(); } - /** - * Follows a line in a given direction from the startPosition. - * Returns a list of positions that were line 'junctions'. This is a bit of a - * loose definition, but basically means a point around which we resize things. - */ - followLine(startPosition: Vector, direction: Vector) { - let endPosition = startPosition.clone(); - const junctions = []; - while (true) { - const nextEnd = endPosition.add(direction); - const nextEndValue = store.currentCanvas.committed.get(nextEnd); - if (!isSpecial(nextEndValue)) { - // Junctions: Right angles and end T-Junctions. - if (!startPosition.equals(endPosition)) { - junctions.push(endPosition); - } - return junctions; - } - - endPosition = nextEnd; - const context = store.currentCanvas.committed.context(endPosition); - // Junctions: Side T-Junctions. - if (context.sum() === 3) { - junctions.push(endPosition); - } - // Fully connected junctions. - if (context.sum() === 4) { - junctions.push(endPosition); - } + getCursor(position: Vector) { + const value = store.currentCanvas.committed.get(position); + if (value === constants.UNICODE.lineHorizontal) { + return "ns-resize"; + } + if (value === constants.UNICODE.lineVertical) { + return "ew-resize"; } - } - - /** - * For a given position, finds the nearest cell that is of any interest to the - * move tool, e.g. a corner or a line. Will look up to 1 cell in each direction - * including diagonally. - */ - snapToNearest(position: Vector) { if (isSpecial(store.currentCanvas.committed.get(position))) { - return position; + return "move"; + } else { + return "default"; } - const allDirections = constants.DIRECTIONS.concat([ - constants.DIR_LEFT.add(constants.DIR_UP), - constants.DIR_LEFT.add(constants.DIR_DOWN), - constants.DIR_RIGHT.add(constants.DIR_UP), - constants.DIR_RIGHT.add(constants.DIR_DOWN), - ]); + } + + handleKey(value: string) {} +} + +interface ILineAttachmentTrace { + source: Vector; + end: Vector; + sourceValue: string; + direction: Direction; +} +interface ILineTrace { + orientation: "horizontal" | "vertical"; + positions: Vector[]; + attachments: ILineAttachmentTrace[]; +} - let bestDirection = null; - let bestContextSum = 0; - for (const direction of allDirections) { - // Find the most connected cell, essentially. - const newPos = position.add(direction); - const contextSum = store.currentCanvas.committed.context(newPos).sum(); +function traceLine(layer: Layer, position: Vector): ILineTrace { + const value = layer.get(position); + if ( + value !== constants.UNICODE.lineHorizontal && + value !== constants.UNICODE.lineVertical + ) { + throw new Error(`Expected line, got ${value}`); + } + const directions = + value === constants.UNICODE.lineHorizontal + ? [Direction.LEFT, Direction.RIGHT] + : [Direction.UP, Direction.DOWN]; + const attachmentDirections = + value === constants.UNICODE.lineHorizontal + ? [Direction.UP, Direction.DOWN] + : [Direction.LEFT, Direction.RIGHT]; + + const positions: Vector[] = [position]; + const attachments: ILineAttachmentTrace[] = []; + for (const direction of directions) { + let currentPosition = position; + while (true) { + const nextPosition = currentPosition.add(direction); if ( - isSpecial(store.currentCanvas.committed.get(newPos)) && - contextSum > bestContextSum + !connects(layer.get(currentPosition), direction) || + !connects(layer.get(nextPosition), direction.opposite()) ) { - bestDirection = direction; - bestContextSum = contextSum; + break; } + currentPosition = nextPosition; + positions.push(currentPosition); } - if (bestDirection == null) { - // Didn't find anything, so just return the current cell. - return position; - } - return position.add(bestDirection); } - getCursor(position: Vector) { - if (isSpecial(store.currentCanvas.committed.get(position))) { - return "move"; - } else { - return "default"; + for (const currentPosition of positions) { + // Find any attachments. + for (const attachmentDirection of attachmentDirections) { + if ( + connects(layer.get(currentPosition), attachmentDirection) && + connects( + layer.get(currentPosition.add(attachmentDirection)), + attachmentDirection.opposite() + ) + ) { + attachments.push( + traceAttachment( + layer, + currentPosition.add(attachmentDirection), + attachmentDirection + ) + ); + } + if ( + isArrow(layer.get(currentPosition.add(attachmentDirection))) && + connects( + layer.get(currentPosition.add(attachmentDirection.scale(2))), + attachmentDirection.opposite() + ) + ) { + positions.push(currentPosition.add(attachmentDirection)); + attachments.push( + traceAttachment( + layer, + currentPosition.add(attachmentDirection.scale(2)), + attachmentDirection + ) + ); + } } } - handleKey(value: string) {} + return { + orientation: + value === constants.UNICODE.lineHorizontal ? "horizontal" : "vertical", + positions, + attachments, + }; +} + +function traceAttachment( + layer: Layer, + position: Vector, + direction: Direction +): ILineAttachmentTrace { + const traceValue = + direction === Direction.LEFT || direction === Direction.RIGHT + ? constants.UNICODE.lineHorizontal + : constants.UNICODE.lineVertical; + const sourceValue = layer.get(position); + let tracePosition = position; + while (true) { + const nextPosition = tracePosition.add(direction); + if (layer.get(nextPosition) !== traceValue) { + break; + } + tracePosition = nextPosition; + } + return { + source: position, + end: tracePosition, + sourceValue, + direction, + }; } diff --git a/client/draw/select.ts b/client/draw/select.ts index 05dbfaaa..307714be 100644 --- a/client/draw/select.ts +++ b/client/draw/select.ts @@ -10,7 +10,8 @@ import { import { AbstractDrawFunction } from "#asciiflow/client/draw/function"; import { DrawMove } from "#asciiflow/client/draw/move"; import { Layer } from "#asciiflow/client/layer"; -import { IModifierKeys, store } from "#asciiflow/client/store"; +import { snap } from "#asciiflow/client/snap"; +import { IModifierKeys, store, ToolMode } from "#asciiflow/client/store"; import { layerToText, textToLayer } from "#asciiflow/client/text_utils"; import { Vector } from "#asciiflow/client/vector"; @@ -107,6 +108,8 @@ export class DrawSelect extends AbstractDrawFunction { } }); + layer.setFrom(snap(layer, store.currentCanvas.committed)); + store.currentCanvas.setScratchLayer(layer); } @@ -136,12 +139,12 @@ export class DrawSelect extends AbstractDrawFunction { return "default"; } - handleKey(value: string) { + handleKey(value: string, modifierKeys: IModifierKeys) { if (this.selectBox != null) { // Use the native keyboard for copy pasting. if (value === KEY_COPY || value === KEY_CUT) { const copiedText = layerToText( - store.currentCanvas.rendered, + store.currentCanvas.committed, this.selectBox ); navigator.clipboard.writeText(copiedText); @@ -153,6 +156,9 @@ export class DrawSelect extends AbstractDrawFunction { layer.set(key, ""); } }); + + layer.setFrom(snap(layer, store.currentCanvas.committed)); + store.currentCanvas.setScratchLayer(layer); store.currentCanvas.commitScratch(); } @@ -164,8 +170,14 @@ export class DrawSelect extends AbstractDrawFunction { layer.set(key, ""); } }); + + layer.setFrom(snap(layer, store.currentCanvas.committed)); + store.currentCanvas.setScratchLayer(layer); store.currentCanvas.commitScratch(); } + + // store.setToolMode(ToolMode.TEXT); + // store.currentTool.handleKey(value, modifierKeys); } } diff --git a/client/draw/text.ts b/client/draw/text.ts index 6db35ae3..135eacf9 100644 --- a/client/draw/text.ts +++ b/client/draw/text.ts @@ -24,6 +24,9 @@ export class DrawText extends AbstractDrawFunction { } handleKey(value: string, modifierKeys: IModifierKeys) { + if (!this.currentPosition) { + return; + } let newLayer = new Layer(); if (!!this.textLayer) { [newLayer] = newLayer.apply(this.textLayer); diff --git a/client/draw/utils.ts b/client/draw/utils.ts index 71fe2ac1..e0377dfe 100644 --- a/client/draw/utils.ts +++ b/client/draw/utils.ts @@ -1,39 +1,78 @@ -import { Box } from "#asciiflow/client/common"; -import { SPECIAL_VALUE } from "#asciiflow/client/constants"; +import { UNICODE } from "#asciiflow/client/constants"; import { Layer } from "#asciiflow/client/layer"; import { Vector } from "#asciiflow/client/vector"; +export function line( + startPosition: Vector, + endPosition: Vector, + horizontalFirst?: boolean +) { + if (startPosition.x === endPosition.x || startPosition.y === endPosition.y) { + return straightLine(startPosition, endPosition); + } else { + return cornerLine(startPosition, endPosition, horizontalFirst); + } +} + /** * Draws a line on the diagram state. */ -export function drawLine( - layer: Layer, +export function cornerLine( startPosition: Vector, endPosition: Vector, - clockwise: boolean, - value = SPECIAL_VALUE + horizontalFirst?: boolean ) { - const box = new Box(startPosition, endPosition); - let startX = box.topLeft().x; - let startY = box.topLeft().y; - const endX = box.bottomRight().x; - const endY = box.bottomRight().y; + const cornerPosition = horizontalFirst + ? new Vector(endPosition.x, startPosition.y) + : new Vector(startPosition.x, endPosition.y); - const midX = clockwise ? endPosition.x : startPosition.x; - const midY = clockwise ? startPosition.y : endPosition.y; + let layer = new Layer(); + layer = layer.apply(straightLine(startPosition, cornerPosition))[0]; + layer = layer.apply(straightLine(cornerPosition, endPosition))[0]; - while (startX++ < endX) { - const position = new Vector(startX, midY); - layer.set(position, value); + layer.set( + cornerPosition, + horizontalFirst + ? startPosition.x < endPosition.x + ? startPosition.y < endPosition.y + ? UNICODE.cornerTopRight + : UNICODE.cornerBottomRight + : startPosition.y < endPosition.y + ? UNICODE.cornerTopLeft + : UNICODE.cornerBottomLeft + : startPosition.y < endPosition.y + ? startPosition.x < endPosition.x + ? UNICODE.cornerBottomLeft + : UNICODE.cornerBottomRight + : startPosition.x < endPosition.x + ? UNICODE.cornerTopLeft + : UNICODE.cornerTopRight + ); + return layer; +} + +function straightLine(startPosition: Vector, endPosition: Vector) { + const layer = new Layer(); + if (startPosition.x !== endPosition.x && startPosition.y !== endPosition.y) { + throw new Error( + `Can't draw a straight line between points ${startPosition} and ${endPosition}` + ); + } + if (startPosition.x === endPosition.x) { + const top = Math.min(startPosition.y, endPosition.y); + const bottom = Math.max(startPosition.y, endPosition.y); + for (let y = top; y <= bottom; y++) { + layer.set(new Vector(startPosition.x, y), UNICODE.lineVertical); + } } - while (startY++ < endY) { - const position = new Vector(midX, startY); - layer.set(position, value); + if (startPosition.y === endPosition.y) { + const left = Math.min(startPosition.x, endPosition.x); + const right = Math.max(startPosition.x, endPosition.x); + for (let x = left; x <= right; x++) { + layer.set(new Vector(x, startPosition.y), UNICODE.lineHorizontal); + } } - - layer.set(startPosition, value); - layer.set(endPosition, value); - layer.set(new Vector(midX, midY), value); + return layer; } /** diff --git a/client/drawer.module.css b/client/drawer.module.css index cf99438d..56d045dc 100644 --- a/client/drawer.module.css +++ b/client/drawer.module.css @@ -64,3 +64,7 @@ button.fab { :global(.dark) .githubMark { filter: invert(100%); } + +.filenameText { + margin-right: 20px; +} \ No newline at end of file diff --git a/client/drawer.tsx b/client/drawer.tsx index 4f9a693e..48235c78 100644 --- a/client/drawer.tsx +++ b/client/drawer.tsx @@ -1,43 +1,37 @@ -import * as React from "react"; -import MaterialDrawer from "@material-ui/core/Drawer"; +import { ControlledDialog } from "#asciiflow/client/components/controlled_dialog"; +import { ControlledMenu } from "#asciiflow/client/components/controlled_menu"; +import { ASCII, UNICODE } from "#asciiflow/client/constants"; import styles from "#asciiflow/client/drawer.module.css"; +import { ExportDialog } from "#asciiflow/client/export"; +import { DrawingId, store, ToolMode } from "#asciiflow/client/store"; +import { DrawingStringifier } from "#asciiflow/client/store/drawing_stringifier"; +import { useWatchable } from "#asciiflow/common/watchable"; import { + Button, + Chip, + DialogContent, + DialogTitle, + Fab, + IconButton, List, ListItem, ListItemIcon, - ListItemText, - IconButton, - Collapse, - Paper, ListItemSecondaryAction, - ListSubheader, - Chip, + ListItemText, MenuItem, - MenuList, - DialogTitle, - DialogContent, - DialogActions, - Button, - TextField, - Snackbar, - Fab, + Paper, Popover, + Snackbar, + TextField, } from "@material-ui/core"; import * as Icons from "@material-ui/icons"; -import { useObserver } from "mobx-react"; -import { DrawingId, store, ToolMode } from "#asciiflow/client/store"; -import { ControlledMenu } from "#asciiflow/client/components/controlled_menu"; -import { IRouteProps } from "#asciiflow/client/app"; -import { ControlledDialog } from "#asciiflow/client/components/controlled_dialog"; -import { useHistory } from "react-router"; -import { DrawingStringifier } from "#asciiflow/client/store/drawing_stringifier"; -import { ExportDialog } from "#asciiflow/client/export"; +import * as React from "react"; import { useState } from "react"; -import { ASCII, UNICODE } from "#asciiflow/client/constants"; +import { useHistory } from "react-router"; export function Drawer() { const history = useHistory(); - return useObserver(() => { + return useWatchable(() => { if (!store.controlsOpen.get()) { return ( } - drawingId={store.route} + drawingId={store.route.get()} /> @@ -115,7 +109,7 @@ export function Drawer() { {drawingId.shareSpec ? ( )} - + {drawingId.localId ? drawingId.localId : drawingId.shareSpec @@ -224,14 +218,15 @@ export function Drawer() { - {!store.editControlsOpen.get() ? null : store.route.shareSpec ? ( + {!store.editControlsOpen.get() ? null : store.route.get() + .shareSpec ? ( <>
This is a shared drawing. To make edits fork it so it can be saved locally.
- +
) : ( @@ -381,7 +376,7 @@ export function Drawer() { to move around. {" "} Pan around the canvas by holding - {store.route.shareSpec ? ( + {store.route.get().shareSpec ? ( "." ) : ( <> @@ -392,9 +387,7 @@ export function Drawer() { redo. )}{" "} - View shortcuts by pressing . You - can return to the previous version of ASCIIFlow{" "} - here. + View shortcuts by pressing . )} @@ -418,8 +411,8 @@ function ShortcutChip({ label: string; hideUntilAlt?: boolean; }) { - return useObserver(() => { - if (hideUntilAlt && !store.altPressed) return null; + return useWatchable(() => { + if (hideUntilAlt && !store.altPressed.get()) return null; return ( } @@ -439,10 +432,10 @@ function ToolControl( icon: React.ReactNode; }> ) { - return useObserver(() => { + return useWatchable(() => { return ( store.setToolMode(props.tool)} > @@ -464,7 +457,7 @@ const shortcutKeys = [ ]; function FreeFormCharacterSelect() { const [anchorEl, setAnchorEl] = useState(null); - return useObserver(() => { + return useWatchable(() => { return ( <> { setAnchorEl(null); store.setToolMode(ToolMode.FREEFORM); - store.freeformCharacter = key; + store.freeformCharacter.set(key); }} className={styles.freeformCharacterButton} key={i} @@ -509,8 +502,8 @@ function ToolHelp( tool: ToolMode; }> ) { - return useObserver(() => { - return store.toolMode === props.tool ? <>{props.children} : null; + return useWatchable(() => { + return store.toolMode() === props.tool ? <>{props.children} : null; }); } @@ -545,7 +538,13 @@ function NewDrawingButton() { } confirmButton={ - - - - - - - - - -
-
Unsaved
- - - - - - - -
- - -
- -
- -
-
- -
-
- -
- -
-

Moving around.
- Desktop Windows: Hold CTRL and drag the screen.
- Desktop OSX: Hold CMD and drag the screen.
- Mobile: Drag quickly to move. Press and hold to start drawing. Pinch to zoom in/out.

-
Draw boxes. You can resize them later with the Resize tool.

-
Draw lines. Connect it to another line to change the orientation.

-
Draw arrows. Connect it to another line to change the orientation.

-
Draw freehand. Press a character on the keyboard and draw with it.

-
Erase. Drag out an area to remove its contents from the canvas.

-
Resize boxes and lines. Drag a line to change its size/shape.

-
Type text. Click and type where you'd like to add text to the canvas.

-
-
Save. Connect to Google Drive to save your work automatically.

-
Export. Copy your work to use it outside of ASCIIFlow.

-
Import. Paste ASCII/text to import it onto the canvas.

-
Clear. Remove the entire contents from the canvas. Can be undone.

-
Undo.
Made a mistake? Undo!

-
Redo.
Too many Undo's? Redo!

-
- -
File issues as bugs here.

-
Return to the original ASCIIFlow.

- Developed by Lewis, Designed by Sam and Ryan. -
-
-
-
- -
-
- -
- -
- - -
-
- - - -
- -
- -
-
- -
-
Untitled ASCII Diagram
-
Edit permissions and manage files in Google Drive.
-
- -
-
- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - diff --git a/legacy/jquery-3.1.1.min.js b/legacy/jquery-3.1.1.min.js deleted file mode 100644 index 4c5be4c0..00000000 --- a/legacy/jquery-3.1.1.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */ -!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R), -a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)), -void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("