A music player that connects to your cloud/distributed storage.
5
fork

Configure Feed

Select the types of activity you want to include in your feed.

JS Refactor (#384)

authored by

Steven Vandevelde and committed by
GitHub
fecd3246 9e284e7a

+3893 -2109
+15 -2
.eslintrc.yaml
··· 4 4 worker: true 5 5 6 6 extends: 7 - eslint:recommended 7 + - eslint:recommended 8 + - plugin:@typescript-eslint/recommended 9 + 10 + parser: 11 + "@typescript-eslint/parser" 8 12 9 13 parserOptions: 10 - ecmaVersion: 2018 14 + ecmaVersion: 2020 11 15 sourceType: module 12 16 17 + plugins: 18 + - "@typescript-eslint" 19 + 20 + root: 21 + true 22 + 13 23 globals: 14 24 Elm: readonly 15 25 MediaMetadata: readonly ··· 17 27 tocca: readonly 18 28 19 29 rules: 30 + "@typescript-eslint/ban-ts-comment": 31 + 0 32 + 20 33 no-cond-assign: 21 34 0 22 35
+3 -2
CHANGELOG.md
··· 3 3 ## 3.4.0 4 4 5 5 - Adjusted search behaviour, now searches while typing (with a small delay). 6 - - Allows you to make playlists public when using Fission / Webnative. 6 + - Allows you to make playlists public when using Fission/ODD SDK. 7 7 - Fixes issue with Safari where reloading after a search caused the loader to be shown indefinitely. 8 - - Fixes syncing issues with Fission/Webnative. 8 + - Fixes syncing issues with Fission/ODD SDK (was called Webnative before) 9 + - Removes support for older browsers 9 10 10 11 11 12 ## 3.3.0
+71 -62
Justfile
··· 2 2 3 3 4 4 BUILD_DIR := "./build" 5 - NPM_DIR := "./node_modules" 6 - SRC_DIR := "./src" 5 + NPM_DIR := "./node_modules" 6 + SRC_DIR := "./src" 7 7 SYSTEM_DIR := "./system" 8 8 9 - ESBUILD := NPM_DIR + "/.bin/esbuild --target=es2018 --bundle" 9 + ESBUILD := NPM_DIR + "/.bin/esbuild --target=es2018 --bundle" 10 10 11 11 12 12 default: dev ··· 58 58 {{NPM_DIR}}/.bin/tailwind \ 59 59 --input {{SRC_DIR}}/Css/Application.css \ 60 60 --output {{BUILD_DIR}}/application.css \ 61 - --content "{{SRC_DIR}}/Static/Html/**/*.*,{{SRC_DIR}}/Applications/UI/**/*.elm,{{SRC_DIR}}/Applications/UI.elm,{{SRC_DIR}}/Library/**/*.elm,{{SRC_DIR}}/Javascript/**/*.js" \ 61 + --content "{{SRC_DIR}}/Static/Html/**/*.*,{{SRC_DIR}}/Applications/UI/**/*.elm,{{SRC_DIR}}/Applications/UI.elm,{{SRC_DIR}}/Library/**/*.elm,{{SRC_DIR}}/Javascript/**/*.ts" \ 62 62 --config {{SYSTEM_DIR}}/Css/Tailwind.js \ 63 63 --postcss {{SYSTEM_DIR}}/Css/PostCSS.js \ 64 64 --jit \ ··· 67 67 68 68 @elm: 69 69 echo "> Compiling Elm application" 70 - elm make {{SRC_DIR}}/Applications/Brain.elm --output {{BUILD_DIR}}/brain.elm.js 71 - elm make {{SRC_DIR}}/Applications/UI.elm --output {{BUILD_DIR}}/ui.elm.js 70 + elm make {{SRC_DIR}}/Applications/Brain.elm --output {{BUILD_DIR}}/js/brain.elm.js 71 + elm make {{SRC_DIR}}/Applications/UI.elm --output {{BUILD_DIR}}/js/ui.elm.js 72 72 73 73 74 74 @elm-prod: 75 75 echo "> Compiling Elm application (optimised)" 76 - elm make {{SRC_DIR}}/Applications/Brain.elm --output {{BUILD_DIR}}/brain.elm.js --optimize 77 - elm make {{SRC_DIR}}/Applications/UI.elm --output {{BUILD_DIR}}/ui.elm.js --optimize 76 + elm make {{SRC_DIR}}/Applications/Brain.elm --output {{BUILD_DIR}}/js/brain.elm.js --optimize 77 + elm make {{SRC_DIR}}/Applications/UI.elm --output {{BUILD_DIR}}/js/ui.elm.js --optimize 78 78 79 - {{NPM_DIR}}/.bin/esbuild {{BUILD_DIR}}/brain.elm.js \ 80 - --minify --outfile={{BUILD_DIR}}/brain.elm.tmp.js 79 + {{NPM_DIR}}/.bin/esbuild {{BUILD_DIR}}/js/brain.elm.js \ 80 + --minify --outfile={{BUILD_DIR}}/js/brain.elm.tmp.js 81 81 82 - {{NPM_DIR}}/.bin/esbuild {{BUILD_DIR}}/ui.elm.js \ 83 - --minify --outfile={{BUILD_DIR}}/ui.elm.tmp.js 82 + {{NPM_DIR}}/.bin/esbuild {{BUILD_DIR}}/js/ui.elm.js \ 83 + --minify --outfile={{BUILD_DIR}}/js/ui.elm.tmp.js 84 84 85 - rm {{BUILD_DIR}}/brain.elm.js 86 - mv {{BUILD_DIR}}/brain.elm.tmp.js {{BUILD_DIR}}/brain.elm.js 87 - rm {{BUILD_DIR}}/ui.elm.js 88 - mv {{BUILD_DIR}}/ui.elm.tmp.js {{BUILD_DIR}}/ui.elm.js 85 + rm {{BUILD_DIR}}/js/brain.elm.js 86 + mv {{BUILD_DIR}}/js/brain.elm.tmp.js {{BUILD_DIR}}/js/brain.elm.js 87 + rm {{BUILD_DIR}}/js/ui.elm.js 88 + mv {{BUILD_DIR}}/js/ui.elm.tmp.js {{BUILD_DIR}}/js/ui.elm.js 89 89 90 90 91 - js: vendor-js 91 + js: 92 92 #!/usr/bin/env bash 93 93 build_timestamp="`date '+%s'`" 94 94 echo "> Compiling Javascript code" 95 95 96 - # Main builds 97 - {{ESBUILD}} ./src/Javascript/index.js \ 98 - --outfile={{BUILD_DIR}}/ui.js \ 99 - --define:BUILD_TIMESTAMP=$build_timestamp 96 + # Workers 97 + {{ESBUILD}} ./src/Javascript/Workers/search.ts \ 98 + --outfile={{BUILD_DIR}}/search.js \ 99 + --format=esm \ 100 + --target=esnext 101 + 102 + {{ESBUILD}} ./src/Javascript/Workers/service.ts \ 103 + --outfile={{BUILD_DIR}}/service-worker.js \ 104 + --define:BUILD_TIMESTAMP=$build_timestamp \ 105 + --format=esm \ 106 + --target=esnext 100 107 101 - {{ESBUILD}} ./src/Javascript/Brain/index.js \ 108 + {{ESBUILD}} ./src/Javascript/Brain/index.ts \ 102 109 --inject:./system/Js/node-shims.js \ 103 - --outfile={{BUILD_DIR}}/brain.js 110 + --outdir={{BUILD_DIR}}/js/brain/ \ 111 + --format=esm \ 112 + --target=esnext \ 113 + --splitting \ 114 + --alias:brain.elm.js={{BUILD_DIR}}/js/brain.elm.js \ 115 + --alias:node:buffer=buffer/ \ 116 + --alias:node:stream=readable-stream 104 117 105 - # Workers 106 - {{ESBUILD}} ./src/Javascript/Workers/search.js \ 107 - --outfile={{BUILD_DIR}}/search.js 108 - 109 - {{ESBUILD}} ./src/Javascript/Workers/service.js \ 110 - --outfile={{BUILD_DIR}}/service-worker.js \ 111 - --define:BUILD_TIMESTAMP=$build_timestamp 118 + # Main 119 + {{ESBUILD}} ./src/Javascript/index.ts \ 120 + --outdir={{BUILD_DIR}}/js/ui/ \ 121 + --define:BUILD_TIMESTAMP=$build_timestamp \ 122 + --format=esm \ 123 + --target=esnext \ 124 + --splitting \ 125 + --alias:stream=readable-stream 112 126 113 127 114 - js-prod: vendor-js 128 + js-prod: 115 129 #!/usr/bin/env bash 116 130 build_timestamp="`date '+%s'`" 117 131 echo "> Compiling Javascript code (optimised)" 118 132 119 - # Main builds 120 - {{ESBUILD}} ./src/Javascript/index.js \ 133 + # Workers 134 + {{ESBUILD}} ./src/Javascript/Workers/search.ts \ 121 135 --minify \ 122 - --outfile={{BUILD_DIR}}/ui.js \ 123 - --define:BUILD_TIMESTAMP=$build_timestamp 136 + --outfile={{BUILD_DIR}}/search.js \ 137 + --format=esm \ 138 + --target=esnext 124 139 125 - {{ESBUILD}} ./src/Javascript/Brain/index.js \ 140 + {{ESBUILD}} ./src/Javascript/Workers/service.ts \ 126 141 --minify \ 127 - --inject:./system/Js/node-shims.js \ 128 - --outfile={{BUILD_DIR}}/brain.js 142 + --outfile={{BUILD_DIR}}/service-worker.js \ 143 + --define:BUILD_TIMESTAMP=$build_timestamp \ 144 + --format=esm \ 145 + --target=esnext 129 146 130 - # Workers 131 - {{ESBUILD}} ./src/Javascript/Workers/search.js \ 147 + {{ESBUILD}} ./src/Javascript/Brain/index.ts \ 148 + --inject:./system/Js/node-shims.js \ 149 + --outdir={{BUILD_DIR}}/js/brain/ \ 150 + --format=esm \ 151 + --target=esnext \ 152 + --splitting \ 132 153 --minify \ 133 - --outfile={{BUILD_DIR}}/search.js 154 + --alias:brain.elm.js={{BUILD_DIR}}/js/brain.elm.js 134 155 135 - {{ESBUILD}} ./src/Javascript/Workers/service.js \ 136 - --minify \ 137 - --outfile={{BUILD_DIR}}/service-worker.js \ 138 - --define:BUILD_TIMESTAMP=$build_timestamp 156 + # Main 157 + {{ESBUILD}} ./src/Javascript/index.ts \ 158 + --outdir={{BUILD_DIR}}/js/ui/ \ 159 + --define:BUILD_TIMESTAMP=$build_timestamp \ 160 + --format=esm \ 161 + --target=esnext \ 162 + --splitting \ 163 + --minify 139 164 140 165 141 166 @license: ··· 159 184 ./src-tauri/bin/cargo-tauri tauri build --target universal-apple-darwin --config ./src-tauri/tauri.conf.json 160 185 161 186 162 - @vendor-js: 163 - mkdir -p {{BUILD_DIR}}/vendor 164 - cp {{NPM_DIR}}/subworkers/subworkers.js {{BUILD_DIR}}/subworkers.js 165 - cp {{NPM_DIR}}/remotestoragejs/release/remotestorage.js {{BUILD_DIR}}/vendor/remotestorage.min.js 166 - cp {{NPM_DIR}}/webnative/dist/index.umd.min.js {{BUILD_DIR}}/vendor/webnative.min.js 167 - cp ./vendor/pep.js {{BUILD_DIR}}/vendor/pep.js 168 - 169 - 170 187 # 171 188 # Dev tasks 172 189 # ··· 183 200 ) 184 201 185 202 186 - @download-vendor-dep filename url: 187 - curl --silent --show-error --fail -o ./vendor/{{filename}} {{url}} 188 - 189 - 190 203 @elm-housekeeping: 191 204 echo "> Running elm-review" 192 205 {{NPM_DIR}}/.bin/elm-review {{SRC_DIR}} --config system/Review --fix-all ··· 197 210 @install-deps: 198 211 npm install 199 212 200 - mkdir -p vendor 201 - 202 - just download-vendor-dep pep.js https://raw.githubusercontent.com/mpizenberg/elm-pep/071616d75ca61e261fdefc7b55bc46c34e44ea22/elm-pep.js 203 - 204 213 205 214 @install-tauri-cli: 206 215 cargo install tauri-cli --version "^1.2.2" --root ./src-tauri ··· 208 217 209 218 @quality: check-versions 210 219 echo "> Running es-lint" 211 - {{NPM_DIR}}/.bin/eslint src/Javascript/** 220 + {{NPM_DIR}}/.bin/eslint src/Javascript/**/* 212 221 echo "> Running elm-review" 213 222 {{NPM_DIR}}/.bin/elm-review {{SRC_DIR}} --config system/Review 214 223
+2948 -1415
package-lock.json
··· 9 9 "version": "3.4.0", 10 10 "license": "SEE LICENSE IN LICENSE", 11 11 "dependencies": { 12 + "@oddjs/odd": "^0.37.1", 12 13 "@tokenizer/http": "^0.6.2", 13 14 "delay": "^5.0.0", 14 15 "elm-taskport": "^2.0.1", ··· 16 17 "file-saver": "^2.0.2", 17 18 "jszip": "^3.7.1", 18 19 "load-script2": "^2.0.5", 20 + "localforage": "^1.10.0", 19 21 "lunr": "^2.3.8", 20 - "music-metadata-browser": "^2.5.9", 21 - "p-retry": "^4.6.2", 22 - "remotestoragejs": "^1.2.3", 23 - "subworkers": "^1.0.1", 22 + "music-metadata": "^8.1.4", 23 + "readable-stream": "^4.3.0", 24 + "remotestoragejs": "^2.0.0-beta.6", 25 + "throttle-debounce": "^5.0.0", 24 26 "timer.js": "^1.0.4", 25 27 "tocca": "^2.0.9", 26 - "webnative": "^0.36.2" 28 + "uint8arrays": "^4.0.3" 27 29 }, 28 30 "devDependencies": { 31 + "@typescript-eslint/eslint-plugin": "^5.59.0", 32 + "@typescript-eslint/parser": "^5.59.0", 29 33 "assert": "^2.0.0", 30 - "autoprefixer": "^10.4.13", 34 + "autoprefixer": "^10.4.14", 31 35 "buffer": "^6.0.3", 32 - "elm-review": "^2.8.5", 33 - "esbuild": "^0.16.4", 34 - "eslint": "^8.29.0", 36 + "elm-review": "^2.9.1", 37 + "esbuild": "^0.17.17", 38 + "eslint": "^8.38.0", 35 39 "events": "^3.3.0", 36 - "postcss": "^8.4.19", 37 - "postcss-custom-properties": "^12.1.11", 38 - "postcss-import": "^14.1.0", 39 - "tailwindcss": "^3.2.4", 40 + "postcss": "^8.4.23", 41 + "postcss-custom-properties": "^13.1.5", 42 + "postcss-import": "^15.1.0", 43 + "tailwindcss": "^3.3.1", 40 44 "tailwindcss-animations": "^2.0.0", 41 45 "tailwindcss-interaction-variants": "^5.0.0" 42 46 } 43 47 }, 48 + "node_modules/@alloc/quick-lru": { 49 + "version": "5.2.0", 50 + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 51 + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 52 + "dev": true, 53 + "engines": { 54 + "node": ">=10" 55 + }, 56 + "funding": { 57 + "url": "https://github.com/sponsors/sindresorhus" 58 + } 59 + }, 44 60 "node_modules/@chainsafe/is-ip": { 45 61 "version": "2.0.1", 46 62 "resolved": "https://registry.npmjs.org/@chainsafe/is-ip/-/is-ip-2.0.1.tgz", 47 63 "integrity": "sha512-nqSJ8u2a1Rv9FYbyI8qpDhTYujaKEyLknNrTejLYoSWmdeg+2WB7R6BZqPZYfrJzDxVi3rl6ZQuoaEvpKRZWgQ==" 48 64 }, 65 + "node_modules/@chainsafe/netmask": { 66 + "version": "2.0.0", 67 + "resolved": "https://registry.npmjs.org/@chainsafe/netmask/-/netmask-2.0.0.tgz", 68 + "integrity": "sha512-I3Z+6SWUoaljh3TBzCnCxjlUyN8tA+NAk5L6m9IxvCf1BENQTePzPMis97CoN/iMW1St3WN+AWCCRp+TTBRiDg==", 69 + "dependencies": { 70 + "@chainsafe/is-ip": "^2.0.1" 71 + } 72 + }, 73 + "node_modules/@csstools/cascade-layer-name-parser": { 74 + "version": "1.0.2", 75 + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.2.tgz", 76 + "integrity": "sha512-xm7Mgwej/wBfLoK0K5LfntmPJzoULayl1XZY9JYgQgT29JiqNw++sLnx95u5y9zCihblzkyaRYJrsRMhIBzRdg==", 77 + "dev": true, 78 + "engines": { 79 + "node": "^14 || ^16 || >=18" 80 + }, 81 + "funding": { 82 + "type": "opencollective", 83 + "url": "https://opencollective.com/csstools" 84 + }, 85 + "peerDependencies": { 86 + "@csstools/css-parser-algorithms": "^2.1.1", 87 + "@csstools/css-tokenizer": "^2.1.1" 88 + } 89 + }, 90 + "node_modules/@csstools/css-parser-algorithms": { 91 + "version": "2.1.1", 92 + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.1.1.tgz", 93 + "integrity": "sha512-viRnRh02AgO4mwIQb2xQNJju0i+Fh9roNgmbR5xEuG7J3TGgxjnE95HnBLgsFJOJOksvcfxOUCgODcft6Y07cA==", 94 + "dev": true, 95 + "engines": { 96 + "node": "^14 || ^16 || >=18" 97 + }, 98 + "funding": { 99 + "type": "opencollective", 100 + "url": "https://opencollective.com/csstools" 101 + }, 102 + "peerDependencies": { 103 + "@csstools/css-tokenizer": "^2.1.1" 104 + } 105 + }, 106 + "node_modules/@csstools/css-tokenizer": { 107 + "version": "2.1.1", 108 + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz", 109 + "integrity": "sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==", 110 + "dev": true, 111 + "engines": { 112 + "node": "^14 || ^16 || >=18" 113 + }, 114 + "funding": { 115 + "type": "opencollective", 116 + "url": "https://opencollective.com/csstools" 117 + } 118 + }, 119 + "node_modules/@esbuild/android-arm": { 120 + "version": "0.17.18", 121 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.18.tgz", 122 + "integrity": "sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==", 123 + "cpu": [ 124 + "arm" 125 + ], 126 + "dev": true, 127 + "optional": true, 128 + "os": [ 129 + "android" 130 + ], 131 + "engines": { 132 + "node": ">=12" 133 + } 134 + }, 135 + "node_modules/@esbuild/android-arm64": { 136 + "version": "0.17.18", 137 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz", 138 + "integrity": "sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==", 139 + "cpu": [ 140 + "arm64" 141 + ], 142 + "dev": true, 143 + "optional": true, 144 + "os": [ 145 + "android" 146 + ], 147 + "engines": { 148 + "node": ">=12" 149 + } 150 + }, 151 + "node_modules/@esbuild/android-x64": { 152 + "version": "0.17.18", 153 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.18.tgz", 154 + "integrity": "sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==", 155 + "cpu": [ 156 + "x64" 157 + ], 158 + "dev": true, 159 + "optional": true, 160 + "os": [ 161 + "android" 162 + ], 163 + "engines": { 164 + "node": ">=12" 165 + } 166 + }, 49 167 "node_modules/@esbuild/darwin-arm64": { 50 - "version": "0.16.4", 51 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz", 52 - "integrity": "sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg==", 168 + "version": "0.17.18", 169 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz", 170 + "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==", 53 171 "cpu": [ 54 172 "arm64" 55 173 ], ··· 62 180 "node": ">=12" 63 181 } 64 182 }, 183 + "node_modules/@esbuild/darwin-x64": { 184 + "version": "0.17.18", 185 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz", 186 + "integrity": "sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==", 187 + "cpu": [ 188 + "x64" 189 + ], 190 + "dev": true, 191 + "optional": true, 192 + "os": [ 193 + "darwin" 194 + ], 195 + "engines": { 196 + "node": ">=12" 197 + } 198 + }, 199 + "node_modules/@esbuild/freebsd-arm64": { 200 + "version": "0.17.18", 201 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz", 202 + "integrity": "sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==", 203 + "cpu": [ 204 + "arm64" 205 + ], 206 + "dev": true, 207 + "optional": true, 208 + "os": [ 209 + "freebsd" 210 + ], 211 + "engines": { 212 + "node": ">=12" 213 + } 214 + }, 215 + "node_modules/@esbuild/freebsd-x64": { 216 + "version": "0.17.18", 217 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz", 218 + "integrity": "sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==", 219 + "cpu": [ 220 + "x64" 221 + ], 222 + "dev": true, 223 + "optional": true, 224 + "os": [ 225 + "freebsd" 226 + ], 227 + "engines": { 228 + "node": ">=12" 229 + } 230 + }, 231 + "node_modules/@esbuild/linux-arm": { 232 + "version": "0.17.18", 233 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz", 234 + "integrity": "sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==", 235 + "cpu": [ 236 + "arm" 237 + ], 238 + "dev": true, 239 + "optional": true, 240 + "os": [ 241 + "linux" 242 + ], 243 + "engines": { 244 + "node": ">=12" 245 + } 246 + }, 247 + "node_modules/@esbuild/linux-arm64": { 248 + "version": "0.17.18", 249 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz", 250 + "integrity": "sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==", 251 + "cpu": [ 252 + "arm64" 253 + ], 254 + "dev": true, 255 + "optional": true, 256 + "os": [ 257 + "linux" 258 + ], 259 + "engines": { 260 + "node": ">=12" 261 + } 262 + }, 263 + "node_modules/@esbuild/linux-ia32": { 264 + "version": "0.17.18", 265 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz", 266 + "integrity": "sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==", 267 + "cpu": [ 268 + "ia32" 269 + ], 270 + "dev": true, 271 + "optional": true, 272 + "os": [ 273 + "linux" 274 + ], 275 + "engines": { 276 + "node": ">=12" 277 + } 278 + }, 279 + "node_modules/@esbuild/linux-loong64": { 280 + "version": "0.17.18", 281 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz", 282 + "integrity": "sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==", 283 + "cpu": [ 284 + "loong64" 285 + ], 286 + "dev": true, 287 + "optional": true, 288 + "os": [ 289 + "linux" 290 + ], 291 + "engines": { 292 + "node": ">=12" 293 + } 294 + }, 295 + "node_modules/@esbuild/linux-mips64el": { 296 + "version": "0.17.18", 297 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz", 298 + "integrity": "sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==", 299 + "cpu": [ 300 + "mips64el" 301 + ], 302 + "dev": true, 303 + "optional": true, 304 + "os": [ 305 + "linux" 306 + ], 307 + "engines": { 308 + "node": ">=12" 309 + } 310 + }, 311 + "node_modules/@esbuild/linux-ppc64": { 312 + "version": "0.17.18", 313 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz", 314 + "integrity": "sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==", 315 + "cpu": [ 316 + "ppc64" 317 + ], 318 + "dev": true, 319 + "optional": true, 320 + "os": [ 321 + "linux" 322 + ], 323 + "engines": { 324 + "node": ">=12" 325 + } 326 + }, 327 + "node_modules/@esbuild/linux-riscv64": { 328 + "version": "0.17.18", 329 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz", 330 + "integrity": "sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==", 331 + "cpu": [ 332 + "riscv64" 333 + ], 334 + "dev": true, 335 + "optional": true, 336 + "os": [ 337 + "linux" 338 + ], 339 + "engines": { 340 + "node": ">=12" 341 + } 342 + }, 343 + "node_modules/@esbuild/linux-s390x": { 344 + "version": "0.17.18", 345 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz", 346 + "integrity": "sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==", 347 + "cpu": [ 348 + "s390x" 349 + ], 350 + "dev": true, 351 + "optional": true, 352 + "os": [ 353 + "linux" 354 + ], 355 + "engines": { 356 + "node": ">=12" 357 + } 358 + }, 359 + "node_modules/@esbuild/linux-x64": { 360 + "version": "0.17.18", 361 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz", 362 + "integrity": "sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==", 363 + "cpu": [ 364 + "x64" 365 + ], 366 + "dev": true, 367 + "optional": true, 368 + "os": [ 369 + "linux" 370 + ], 371 + "engines": { 372 + "node": ">=12" 373 + } 374 + }, 375 + "node_modules/@esbuild/netbsd-x64": { 376 + "version": "0.17.18", 377 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz", 378 + "integrity": "sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==", 379 + "cpu": [ 380 + "x64" 381 + ], 382 + "dev": true, 383 + "optional": true, 384 + "os": [ 385 + "netbsd" 386 + ], 387 + "engines": { 388 + "node": ">=12" 389 + } 390 + }, 391 + "node_modules/@esbuild/openbsd-x64": { 392 + "version": "0.17.18", 393 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz", 394 + "integrity": "sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==", 395 + "cpu": [ 396 + "x64" 397 + ], 398 + "dev": true, 399 + "optional": true, 400 + "os": [ 401 + "openbsd" 402 + ], 403 + "engines": { 404 + "node": ">=12" 405 + } 406 + }, 407 + "node_modules/@esbuild/sunos-x64": { 408 + "version": "0.17.18", 409 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz", 410 + "integrity": "sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==", 411 + "cpu": [ 412 + "x64" 413 + ], 414 + "dev": true, 415 + "optional": true, 416 + "os": [ 417 + "sunos" 418 + ], 419 + "engines": { 420 + "node": ">=12" 421 + } 422 + }, 423 + "node_modules/@esbuild/win32-arm64": { 424 + "version": "0.17.18", 425 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz", 426 + "integrity": "sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==", 427 + "cpu": [ 428 + "arm64" 429 + ], 430 + "dev": true, 431 + "optional": true, 432 + "os": [ 433 + "win32" 434 + ], 435 + "engines": { 436 + "node": ">=12" 437 + } 438 + }, 439 + "node_modules/@esbuild/win32-ia32": { 440 + "version": "0.17.18", 441 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz", 442 + "integrity": "sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==", 443 + "cpu": [ 444 + "ia32" 445 + ], 446 + "dev": true, 447 + "optional": true, 448 + "os": [ 449 + "win32" 450 + ], 451 + "engines": { 452 + "node": ">=12" 453 + } 454 + }, 455 + "node_modules/@esbuild/win32-x64": { 456 + "version": "0.17.18", 457 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz", 458 + "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==", 459 + "cpu": [ 460 + "x64" 461 + ], 462 + "dev": true, 463 + "optional": true, 464 + "os": [ 465 + "win32" 466 + ], 467 + "engines": { 468 + "node": ">=12" 469 + } 470 + }, 471 + "node_modules/@eslint-community/eslint-utils": { 472 + "version": "4.4.0", 473 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", 474 + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", 475 + "dev": true, 476 + "dependencies": { 477 + "eslint-visitor-keys": "^3.3.0" 478 + }, 479 + "engines": { 480 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 481 + }, 482 + "peerDependencies": { 483 + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" 484 + } 485 + }, 486 + "node_modules/@eslint-community/regexpp": { 487 + "version": "4.5.1", 488 + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", 489 + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", 490 + "dev": true, 491 + "engines": { 492 + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" 493 + } 494 + }, 65 495 "node_modules/@eslint/eslintrc": { 66 - "version": "1.3.3", 67 - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", 68 - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", 496 + "version": "2.0.2", 497 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", 498 + "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", 69 499 "dev": true, 70 500 "dependencies": { 71 501 "ajv": "^6.12.4", 72 502 "debug": "^4.3.2", 73 - "espree": "^9.4.0", 74 - "globals": "^13.15.0", 503 + "espree": "^9.5.1", 504 + "globals": "^13.19.0", 75 505 "ignore": "^5.2.0", 76 506 "import-fresh": "^3.2.1", 77 507 "js-yaml": "^4.1.0", ··· 85 515 "url": "https://opencollective.com/eslint" 86 516 } 87 517 }, 518 + "node_modules/@eslint/js": { 519 + "version": "8.39.0", 520 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz", 521 + "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==", 522 + "dev": true, 523 + "engines": { 524 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 525 + } 526 + }, 88 527 "node_modules/@humanwhocodes/config-array": { 89 - "version": "0.11.7", 90 - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", 91 - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", 528 + "version": "0.11.8", 529 + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", 530 + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", 92 531 "dev": true, 93 532 "dependencies": { 94 533 "@humanwhocodes/object-schema": "^1.2.1", ··· 131 570 "npm": ">=7.0.0" 132 571 } 133 572 }, 134 - "node_modules/@ipld/dag-cbor/node_modules/multiformats": { 135 - "version": "11.0.0", 136 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 137 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 138 - "engines": { 139 - "node": ">=16.0.0", 140 - "npm": ">=7.0.0" 141 - } 142 - }, 143 573 "node_modules/@ipld/dag-pb": { 144 574 "version": "3.0.2", 145 575 "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-3.0.2.tgz", ··· 152 582 "npm": ">=7.0.0" 153 583 } 154 584 }, 155 - "node_modules/@ipld/dag-pb/node_modules/multiformats": { 156 - "version": "11.0.0", 157 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 158 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 585 + "node_modules/@jridgewell/gen-mapping": { 586 + "version": "0.3.3", 587 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 588 + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 589 + "dev": true, 590 + "dependencies": { 591 + "@jridgewell/set-array": "^1.0.1", 592 + "@jridgewell/sourcemap-codec": "^1.4.10", 593 + "@jridgewell/trace-mapping": "^0.3.9" 594 + }, 159 595 "engines": { 160 - "node": ">=16.0.0", 161 - "npm": ">=7.0.0" 596 + "node": ">=6.0.0" 597 + } 598 + }, 599 + "node_modules/@jridgewell/resolve-uri": { 600 + "version": "3.1.0", 601 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", 602 + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", 603 + "dev": true, 604 + "engines": { 605 + "node": ">=6.0.0" 606 + } 607 + }, 608 + "node_modules/@jridgewell/set-array": { 609 + "version": "1.1.2", 610 + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 611 + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 612 + "dev": true, 613 + "engines": { 614 + "node": ">=6.0.0" 615 + } 616 + }, 617 + "node_modules/@jridgewell/sourcemap-codec": { 618 + "version": "1.4.15", 619 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 620 + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 621 + "dev": true 622 + }, 623 + "node_modules/@jridgewell/trace-mapping": { 624 + "version": "0.3.18", 625 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", 626 + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", 627 + "dev": true, 628 + "dependencies": { 629 + "@jridgewell/resolve-uri": "3.1.0", 630 + "@jridgewell/sourcemap-codec": "1.4.14" 162 631 } 163 632 }, 633 + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { 634 + "version": "1.4.14", 635 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", 636 + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", 637 + "dev": true 638 + }, 164 639 "node_modules/@libp2p/interface-connection": { 165 - "version": "3.0.7", 166 - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-3.0.7.tgz", 167 - "integrity": "sha512-MBDrGlrSO1nL1DqqjNQzZSjcY2tobo6BOo9DxCFbaESiK7u1YLBNo9Amd0o5bPpFjez+O/VSasz9x3SQpHU1qQ==", 640 + "version": "4.0.0", 641 + "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-4.0.0.tgz", 642 + "integrity": "sha512-6xx/NmEc84HX7QmsjSC3hHredQYjHv4Dkf4G27adAPf+qN+vnPxmQ7gaTnk243a0++DOFTbZ2gKX/15G2B6SRg==", 168 643 "dependencies": { 169 644 "@libp2p/interface-peer-id": "^2.0.0", 170 645 "@libp2p/interfaces": "^3.0.0", 171 - "@multiformats/multiaddr": "^11.0.0", 646 + "@multiformats/multiaddr": "^12.0.0", 172 647 "it-stream-types": "^1.0.4", 173 648 "uint8arraylist": "^2.1.2" 174 649 }, ··· 178 653 } 179 654 }, 180 655 "node_modules/@libp2p/interface-connection/node_modules/@libp2p/interface-peer-id": { 181 - "version": "2.0.0", 182 - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.0.tgz", 183 - "integrity": "sha512-TZmJy/tfWNvX/n1TWby6V+LP9Pg3ZYJbSkqQfnqp/hCCN3Xhd2KrDTm4LWq5MMunr4Xk9xLUJdK41W2wUF7OQw==", 656 + "version": "2.0.1", 657 + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", 658 + "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", 184 659 "dependencies": { 185 660 "multiformats": "^11.0.0" 186 661 }, ··· 189 664 "npm": ">=7.0.0" 190 665 } 191 666 }, 192 - "node_modules/@libp2p/interface-connection/node_modules/multiformats": { 193 - "version": "11.0.0", 194 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 195 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 667 + "node_modules/@libp2p/interface-connection/node_modules/@multiformats/multiaddr": { 668 + "version": "12.1.2", 669 + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-12.1.2.tgz", 670 + "integrity": "sha512-EYYUEAddjWoyig5Dcu+JGq2JdpEpT2tW/K4sefdDWVSQW+rfnABfz1rx/KnrituB20jC8aPBcT62kISTZ3oL5A==", 671 + "dependencies": { 672 + "@chainsafe/is-ip": "^2.0.1", 673 + "@chainsafe/netmask": "^2.0.0", 674 + "@libp2p/interfaces": "^3.3.1", 675 + "dns-over-http-resolver": "^2.1.0", 676 + "multiformats": "^11.0.0", 677 + "uint8arrays": "^4.0.2", 678 + "varint": "^6.0.0" 679 + }, 196 680 "engines": { 197 681 "node": ">=16.0.0", 198 682 "npm": ">=7.0.0" ··· 210 694 "npm": ">=7.0.0" 211 695 } 212 696 }, 697 + "node_modules/@libp2p/interface-keychain/node_modules/multiformats": { 698 + "version": "10.0.3", 699 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 700 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", 701 + "engines": { 702 + "node": ">=16.0.0", 703 + "npm": ">=7.0.0" 704 + } 705 + }, 213 706 "node_modules/@libp2p/interface-keys": { 214 - "version": "1.0.6", 215 - "resolved": "https://registry.npmjs.org/@libp2p/interface-keys/-/interface-keys-1.0.6.tgz", 216 - "integrity": "sha512-cYe8DyKONA4TFdjEnPTPSWRntBH5+MMzivjtduVQukv7aO6PpihBF4PixzhKds+ciR2TMIkGXPsDaehmmU0Mqw==", 707 + "version": "1.0.7", 708 + "resolved": "https://registry.npmjs.org/@libp2p/interface-keys/-/interface-keys-1.0.7.tgz", 709 + "integrity": "sha512-DRMPY9LfcnGJKrjaqIkY62U3fW2dya3VLy4x986ExtMrGn4kxIHeQ1IKk8/Vs9CJHTKmXEMID4of1Cjnw4aJpA==", 217 710 "engines": { 218 711 "node": ">=16.0.0", 219 712 "npm": ">=7.0.0" ··· 231 724 "npm": ">=7.0.0" 232 725 } 233 726 }, 727 + "node_modules/@libp2p/interface-peer-id/node_modules/multiformats": { 728 + "version": "10.0.3", 729 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 730 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", 731 + "engines": { 732 + "node": ">=16.0.0", 733 + "npm": ">=7.0.0" 734 + } 735 + }, 234 736 "node_modules/@libp2p/interface-peer-info": { 235 - "version": "1.0.7", 236 - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-info/-/interface-peer-info-1.0.7.tgz", 237 - "integrity": "sha512-aVI4ii1DFBF1dmQM5uemtO/qxNedCREzBtt2kAQtusN55BKT9GOlBSme+xTYpXw63iDrbtLXgJH+gNPoPkwJeQ==", 737 + "version": "1.0.9", 738 + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-info/-/interface-peer-info-1.0.9.tgz", 739 + "integrity": "sha512-XewuwXMVYMcwaxhH9PFVfsFNEXi2OEe9TgkBwvZbbtwTI2Cz6zvKS1tT4f+ATCXjQbN840Nhe6ETPQ4TfhThOQ==", 238 740 "dependencies": { 239 741 "@libp2p/interface-peer-id": "^2.0.0", 240 - "@multiformats/multiaddr": "^11.0.0" 742 + "@multiformats/multiaddr": "^12.0.0" 241 743 }, 242 744 "engines": { 243 745 "node": ">=16.0.0", ··· 245 747 } 246 748 }, 247 749 "node_modules/@libp2p/interface-peer-info/node_modules/@libp2p/interface-peer-id": { 248 - "version": "2.0.0", 249 - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.0.tgz", 250 - "integrity": "sha512-TZmJy/tfWNvX/n1TWby6V+LP9Pg3ZYJbSkqQfnqp/hCCN3Xhd2KrDTm4LWq5MMunr4Xk9xLUJdK41W2wUF7OQw==", 750 + "version": "2.0.1", 751 + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", 752 + "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", 251 753 "dependencies": { 252 754 "multiformats": "^11.0.0" 253 755 }, ··· 256 758 "npm": ">=7.0.0" 257 759 } 258 760 }, 259 - "node_modules/@libp2p/interface-peer-info/node_modules/multiformats": { 260 - "version": "11.0.0", 261 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 262 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 761 + "node_modules/@libp2p/interface-peer-info/node_modules/@multiformats/multiaddr": { 762 + "version": "12.1.2", 763 + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-12.1.2.tgz", 764 + "integrity": "sha512-EYYUEAddjWoyig5Dcu+JGq2JdpEpT2tW/K4sefdDWVSQW+rfnABfz1rx/KnrituB20jC8aPBcT62kISTZ3oL5A==", 765 + "dependencies": { 766 + "@chainsafe/is-ip": "^2.0.1", 767 + "@chainsafe/netmask": "^2.0.0", 768 + "@libp2p/interfaces": "^3.3.1", 769 + "dns-over-http-resolver": "^2.1.0", 770 + "multiformats": "^11.0.0", 771 + "uint8arrays": "^4.0.2", 772 + "varint": "^6.0.0" 773 + }, 263 774 "engines": { 264 775 "node": ">=16.0.0", 265 776 "npm": ">=7.0.0" 266 777 } 267 778 }, 268 779 "node_modules/@libp2p/interface-pubsub": { 269 - "version": "3.0.5", 270 - "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-3.0.5.tgz", 271 - "integrity": "sha512-+DsqrkDeYBuokMCuqLvlsdq4D/Tcs9bwSHeNUw1V88ffZE+pqmMIYntyIpFoI4SCLOxqB8U1B5yAlF/OBuJFSw==", 780 + "version": "3.0.7", 781 + "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-3.0.7.tgz", 782 + "integrity": "sha512-+c74EVUBTfw2sx1GE/z/IjsYO6dhur+ukF0knAppeZsRQ1Kgg6K5R3eECtT28fC6dBWLjFpAvW/7QGfiDAL4RA==", 272 783 "dependencies": { 273 - "@libp2p/interface-connection": "^3.0.0", 784 + "@libp2p/interface-connection": "^4.0.0", 274 785 "@libp2p/interface-peer-id": "^2.0.0", 275 786 "@libp2p/interfaces": "^3.0.0", 276 787 "it-pushable": "^3.0.0", ··· 282 793 } 283 794 }, 284 795 "node_modules/@libp2p/interface-pubsub/node_modules/@libp2p/interface-peer-id": { 285 - "version": "2.0.0", 286 - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.0.tgz", 287 - "integrity": "sha512-TZmJy/tfWNvX/n1TWby6V+LP9Pg3ZYJbSkqQfnqp/hCCN3Xhd2KrDTm4LWq5MMunr4Xk9xLUJdK41W2wUF7OQw==", 796 + "version": "2.0.1", 797 + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", 798 + "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", 288 799 "dependencies": { 289 800 "multiformats": "^11.0.0" 290 801 }, ··· 293 804 "npm": ">=7.0.0" 294 805 } 295 806 }, 296 - "node_modules/@libp2p/interface-pubsub/node_modules/multiformats": { 297 - "version": "11.0.0", 298 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 299 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 300 - "engines": { 301 - "node": ">=16.0.0", 302 - "npm": ">=7.0.0" 303 - } 304 - }, 305 807 "node_modules/@libp2p/interfaces": { 306 - "version": "3.2.0", 307 - "resolved": "https://registry.npmjs.org/@libp2p/interfaces/-/interfaces-3.2.0.tgz", 308 - "integrity": "sha512-lIVeMMv/TGcN4k5qfe1ZMwUvZTwWqLs7atxuoNdZ7lEPye94XNuHQj2WXoF9nEELkGKevpUJs/OB+gldl9MuFA==", 808 + "version": "3.3.1", 809 + "resolved": "https://registry.npmjs.org/@libp2p/interfaces/-/interfaces-3.3.1.tgz", 810 + "integrity": "sha512-3N+goQt74SmaVOjwpwMPKLNgh1uDQGw8GD12c40Kc86WOq0qvpm3NfACW+H8Su2X6KmWjCSMzk9JWs9+8FtUfg==", 309 811 "engines": { 310 812 "node": ">=16.0.0", 311 813 "npm": ">=7.0.0" 312 814 } 313 815 }, 314 816 "node_modules/@libp2p/logger": { 315 - "version": "2.0.5", 316 - "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-2.0.5.tgz", 317 - "integrity": "sha512-WEhxsc7+gsfuTcljI4vSgW/H2f18aBaC+JiO01FcX841Wxe9szjzHdBLDh9eqygUlzoK0LEeIBfctN7ibzus5A==", 817 + "version": "2.0.7", 818 + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-2.0.7.tgz", 819 + "integrity": "sha512-Zp9C9lMNGfVFTMVc7NvxuxMvIE6gyxDapQc/TqZH02IuIDl1JpZyCgNILr0APd8wcUxwvwRXYNf3kQ0Lmz7tuQ==", 318 820 "dependencies": { 319 821 "@libp2p/interface-peer-id": "^2.0.0", 320 822 "debug": "^4.3.3", 321 - "interface-datastore": "^7.0.0", 823 + "interface-datastore": "^8.0.0", 322 824 "multiformats": "^11.0.0" 323 825 }, 324 826 "engines": { ··· 327 829 } 328 830 }, 329 831 "node_modules/@libp2p/logger/node_modules/@libp2p/interface-peer-id": { 330 - "version": "2.0.0", 331 - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.0.tgz", 332 - "integrity": "sha512-TZmJy/tfWNvX/n1TWby6V+LP9Pg3ZYJbSkqQfnqp/hCCN3Xhd2KrDTm4LWq5MMunr4Xk9xLUJdK41W2wUF7OQw==", 832 + "version": "2.0.1", 833 + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", 834 + "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", 333 835 "dependencies": { 334 836 "multiformats": "^11.0.0" 335 837 }, ··· 338 840 "npm": ">=7.0.0" 339 841 } 340 842 }, 341 - "node_modules/@libp2p/logger/node_modules/multiformats": { 342 - "version": "11.0.0", 343 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 344 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 843 + "node_modules/@libp2p/logger/node_modules/interface-datastore": { 844 + "version": "8.2.0", 845 + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-8.2.0.tgz", 846 + "integrity": "sha512-rDMAcpCGxWMubRk2YQuSEHl11bc0xcZeBZzfLvqhoZJdByUWeo7YDJUdgyRKgD6liGXVYirtDkFU9nyn9xl2hg==", 847 + "dependencies": { 848 + "interface-store": "^5.0.0", 849 + "nanoid": "^4.0.0", 850 + "uint8arrays": "^4.0.2" 851 + }, 345 852 "engines": { 346 853 "node": ">=16.0.0", 347 854 "npm": ">=7.0.0" 348 855 } 349 856 }, 857 + "node_modules/@libp2p/logger/node_modules/interface-store": { 858 + "version": "5.1.0", 859 + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-5.1.0.tgz", 860 + "integrity": "sha512-mjUwX3XSoreoxCS3sXS3pSRsGnUjl9T06KBqt/T7AgE9Sgp4diH64ZyURJKnj2T5WmCvTbC0Dm+mwQV5hfLSBQ==", 861 + "engines": { 862 + "node": ">=16.0.0", 863 + "npm": ">=7.0.0" 864 + } 865 + }, 866 + "node_modules/@libp2p/logger/node_modules/nanoid": { 867 + "version": "4.0.2", 868 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 869 + "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", 870 + "funding": [ 871 + { 872 + "type": "github", 873 + "url": "https://github.com/sponsors/ai" 874 + } 875 + ], 876 + "bin": { 877 + "nanoid": "bin/nanoid.js" 878 + }, 879 + "engines": { 880 + "node": "^14 || ^16 || >=18" 881 + } 882 + }, 350 883 "node_modules/@libp2p/peer-id": { 351 884 "version": "1.1.18", 352 885 "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-1.1.18.tgz", ··· 362 895 "npm": ">=7.0.0" 363 896 } 364 897 }, 365 - "node_modules/@libp2p/peer-id/node_modules/uint8arrays": { 366 - "version": "4.0.3", 367 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 368 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 369 - "dependencies": { 370 - "multiformats": "^11.0.0" 371 - }, 372 - "engines": { 373 - "node": ">=16.0.0", 374 - "npm": ">=7.0.0" 375 - } 376 - }, 377 - "node_modules/@libp2p/peer-id/node_modules/uint8arrays/node_modules/multiformats": { 378 - "version": "11.0.0", 379 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 380 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 898 + "node_modules/@libp2p/peer-id/node_modules/multiformats": { 899 + "version": "10.0.3", 900 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 901 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", 381 902 "engines": { 382 903 "node": ">=16.0.0", 383 904 "npm": ">=7.0.0" 384 905 } 385 906 }, 386 907 "node_modules/@multiformats/multiaddr": { 387 - "version": "11.1.5", 388 - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.1.5.tgz", 389 - "integrity": "sha512-sFppiscvhExFbSUdYl/4wBBOb5IjhYVpuRMBb6RgVjq7qTVHQDQeX3CEjQGdyy7+8A/cixL+fQez4RI+hltkLQ==", 908 + "version": "11.6.1", 909 + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.6.1.tgz", 910 + "integrity": "sha512-doST0+aB7/3dGK9+U5y3mtF3jq85KGbke1QiH0KE1F5mGQ9y56mFebTeu2D9FNOm+OT6UHb8Ss8vbSnpGjeLNw==", 390 911 "dependencies": { 391 912 "@chainsafe/is-ip": "^2.0.1", 392 913 "dns-over-http-resolver": "^2.1.0", ··· 400 921 "npm": ">=7.0.0" 401 922 } 402 923 }, 403 - "node_modules/@multiformats/multiaddr/node_modules/multiformats": { 404 - "version": "11.0.0", 405 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 406 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 407 - "engines": { 408 - "node": ">=16.0.0", 409 - "npm": ">=7.0.0" 410 - } 411 - }, 412 - "node_modules/@multiformats/multiaddr/node_modules/uint8arrays": { 413 - "version": "4.0.3", 414 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 415 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 416 - "dependencies": { 417 - "multiformats": "^11.0.0" 418 - }, 419 - "engines": { 420 - "node": ">=16.0.0", 421 - "npm": ">=7.0.0" 422 - } 423 - }, 424 924 "node_modules/@nodelib/fs.scandir": { 425 925 "version": "2.1.5", 426 926 "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", ··· 456 956 "node": ">= 8" 457 957 } 458 958 }, 959 + "node_modules/@oddjs/odd": { 960 + "version": "0.37.1", 961 + "resolved": "https://registry.npmjs.org/@oddjs/odd/-/odd-0.37.1.tgz", 962 + "integrity": "sha512-tSzmQ0dB2b1D5SbxNQFE3L9aZu0PM3FfKN+ihisnbS8iifBALy97zDA8DF7IjXYGWTKXiAMeDevCNrVFU6UKPQ==", 963 + "dependencies": { 964 + "@ipld/dag-cbor": "^8.0.0", 965 + "@ipld/dag-pb": "^3.0.1", 966 + "@libp2p/interface-keys": "^1.0.4", 967 + "@libp2p/peer-id": "^1.1.17", 968 + "@multiformats/multiaddr": "^11.1.0", 969 + "blockstore-core": "^2.0.2", 970 + "blockstore-datastore-adapter": "^4.0.0", 971 + "datastore-core": "^8.0.2", 972 + "datastore-level": "^9.0.4", 973 + "events": "^3.3.0", 974 + "fission-bloom-filters": "1.7.1", 975 + "ipfs-core-types": "0.13.0", 976 + "ipfs-repo": "^16.0.0", 977 + "keystore-idb": "^0.15.5", 978 + "localforage": "^1.10.0", 979 + "multiformats": "^10.0.2", 980 + "one-webcrypto": "^1.0.3", 981 + "throttle-debounce": "^3.0.1", 982 + "tweetnacl": "^1.0.3", 983 + "uint8arrays": "^3.0.0", 984 + "wnfs": "0.1.7" 985 + }, 986 + "engines": { 987 + "node": ">=16" 988 + } 989 + }, 990 + "node_modules/@oddjs/odd/node_modules/multiformats": { 991 + "version": "10.0.3", 992 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 993 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", 994 + "engines": { 995 + "node": ">=16.0.0", 996 + "npm": ">=7.0.0" 997 + } 998 + }, 999 + "node_modules/@oddjs/odd/node_modules/throttle-debounce": { 1000 + "version": "3.0.1", 1001 + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", 1002 + "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==", 1003 + "engines": { 1004 + "node": ">=10" 1005 + } 1006 + }, 1007 + "node_modules/@oddjs/odd/node_modules/uint8arrays": { 1008 + "version": "3.1.1", 1009 + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", 1010 + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", 1011 + "dependencies": { 1012 + "multiformats": "^9.4.2" 1013 + } 1014 + }, 1015 + "node_modules/@oddjs/odd/node_modules/uint8arrays/node_modules/multiformats": { 1016 + "version": "9.9.0", 1017 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", 1018 + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" 1019 + }, 459 1020 "node_modules/@protobufjs/aspromise": { 460 1021 "version": "1.1.2", 461 1022 "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", ··· 588 1149 "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", 589 1150 "dev": true 590 1151 }, 1152 + "node_modules/@types/json-schema": { 1153 + "version": "7.0.11", 1154 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", 1155 + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", 1156 + "dev": true 1157 + }, 591 1158 "node_modules/@types/keyv": { 592 1159 "version": "3.1.4", 593 1160 "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", ··· 598 1165 } 599 1166 }, 600 1167 "node_modules/@types/node": { 601 - "version": "18.11.13", 602 - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.13.tgz", 603 - "integrity": "sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w==" 1168 + "version": "18.16.3", 1169 + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz", 1170 + "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==" 604 1171 }, 605 1172 "node_modules/@types/responselike": { 606 1173 "version": "1.0.0", ··· 611 1178 "@types/node": "*" 612 1179 } 613 1180 }, 614 - "node_modules/@types/retry": { 615 - "version": "0.12.0", 616 - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", 617 - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" 1181 + "node_modules/@types/semver": { 1182 + "version": "7.3.13", 1183 + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", 1184 + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", 1185 + "dev": true 1186 + }, 1187 + "node_modules/@types/tv4": { 1188 + "version": "1.2.31", 1189 + "resolved": "https://registry.npmjs.org/@types/tv4/-/tv4-1.2.31.tgz", 1190 + "integrity": "sha512-P97XU07fcpauSw3/fE2Q7eF6bHl4oHhwkikjnM7zlQLENrdC2rZuHSdNlMBhnW82NyBEsVJHII1Jk3d/MtQsQQ==" 1191 + }, 1192 + "node_modules/@typescript-eslint/eslint-plugin": { 1193 + "version": "5.59.1", 1194 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz", 1195 + "integrity": "sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==", 1196 + "dev": true, 1197 + "dependencies": { 1198 + "@eslint-community/regexpp": "^4.4.0", 1199 + "@typescript-eslint/scope-manager": "5.59.1", 1200 + "@typescript-eslint/type-utils": "5.59.1", 1201 + "@typescript-eslint/utils": "5.59.1", 1202 + "debug": "^4.3.4", 1203 + "grapheme-splitter": "^1.0.4", 1204 + "ignore": "^5.2.0", 1205 + "natural-compare-lite": "^1.4.0", 1206 + "semver": "^7.3.7", 1207 + "tsutils": "^3.21.0" 1208 + }, 1209 + "engines": { 1210 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1211 + }, 1212 + "funding": { 1213 + "type": "opencollective", 1214 + "url": "https://opencollective.com/typescript-eslint" 1215 + }, 1216 + "peerDependencies": { 1217 + "@typescript-eslint/parser": "^5.0.0", 1218 + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" 1219 + }, 1220 + "peerDependenciesMeta": { 1221 + "typescript": { 1222 + "optional": true 1223 + } 1224 + } 1225 + }, 1226 + "node_modules/@typescript-eslint/parser": { 1227 + "version": "5.59.1", 1228 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz", 1229 + "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==", 1230 + "dev": true, 1231 + "dependencies": { 1232 + "@typescript-eslint/scope-manager": "5.59.1", 1233 + "@typescript-eslint/types": "5.59.1", 1234 + "@typescript-eslint/typescript-estree": "5.59.1", 1235 + "debug": "^4.3.4" 1236 + }, 1237 + "engines": { 1238 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1239 + }, 1240 + "funding": { 1241 + "type": "opencollective", 1242 + "url": "https://opencollective.com/typescript-eslint" 1243 + }, 1244 + "peerDependencies": { 1245 + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" 1246 + }, 1247 + "peerDependenciesMeta": { 1248 + "typescript": { 1249 + "optional": true 1250 + } 1251 + } 1252 + }, 1253 + "node_modules/@typescript-eslint/scope-manager": { 1254 + "version": "5.59.1", 1255 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz", 1256 + "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==", 1257 + "dev": true, 1258 + "dependencies": { 1259 + "@typescript-eslint/types": "5.59.1", 1260 + "@typescript-eslint/visitor-keys": "5.59.1" 1261 + }, 1262 + "engines": { 1263 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1264 + }, 1265 + "funding": { 1266 + "type": "opencollective", 1267 + "url": "https://opencollective.com/typescript-eslint" 1268 + } 1269 + }, 1270 + "node_modules/@typescript-eslint/type-utils": { 1271 + "version": "5.59.1", 1272 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz", 1273 + "integrity": "sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==", 1274 + "dev": true, 1275 + "dependencies": { 1276 + "@typescript-eslint/typescript-estree": "5.59.1", 1277 + "@typescript-eslint/utils": "5.59.1", 1278 + "debug": "^4.3.4", 1279 + "tsutils": "^3.21.0" 1280 + }, 1281 + "engines": { 1282 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1283 + }, 1284 + "funding": { 1285 + "type": "opencollective", 1286 + "url": "https://opencollective.com/typescript-eslint" 1287 + }, 1288 + "peerDependencies": { 1289 + "eslint": "*" 1290 + }, 1291 + "peerDependenciesMeta": { 1292 + "typescript": { 1293 + "optional": true 1294 + } 1295 + } 1296 + }, 1297 + "node_modules/@typescript-eslint/types": { 1298 + "version": "5.59.1", 1299 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz", 1300 + "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==", 1301 + "dev": true, 1302 + "engines": { 1303 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1304 + }, 1305 + "funding": { 1306 + "type": "opencollective", 1307 + "url": "https://opencollective.com/typescript-eslint" 1308 + } 1309 + }, 1310 + "node_modules/@typescript-eslint/typescript-estree": { 1311 + "version": "5.59.1", 1312 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz", 1313 + "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==", 1314 + "dev": true, 1315 + "dependencies": { 1316 + "@typescript-eslint/types": "5.59.1", 1317 + "@typescript-eslint/visitor-keys": "5.59.1", 1318 + "debug": "^4.3.4", 1319 + "globby": "^11.1.0", 1320 + "is-glob": "^4.0.3", 1321 + "semver": "^7.3.7", 1322 + "tsutils": "^3.21.0" 1323 + }, 1324 + "engines": { 1325 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1326 + }, 1327 + "funding": { 1328 + "type": "opencollective", 1329 + "url": "https://opencollective.com/typescript-eslint" 1330 + }, 1331 + "peerDependenciesMeta": { 1332 + "typescript": { 1333 + "optional": true 1334 + } 1335 + } 1336 + }, 1337 + "node_modules/@typescript-eslint/utils": { 1338 + "version": "5.59.1", 1339 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.1.tgz", 1340 + "integrity": "sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==", 1341 + "dev": true, 1342 + "dependencies": { 1343 + "@eslint-community/eslint-utils": "^4.2.0", 1344 + "@types/json-schema": "^7.0.9", 1345 + "@types/semver": "^7.3.12", 1346 + "@typescript-eslint/scope-manager": "5.59.1", 1347 + "@typescript-eslint/types": "5.59.1", 1348 + "@typescript-eslint/typescript-estree": "5.59.1", 1349 + "eslint-scope": "^5.1.1", 1350 + "semver": "^7.3.7" 1351 + }, 1352 + "engines": { 1353 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1354 + }, 1355 + "funding": { 1356 + "type": "opencollective", 1357 + "url": "https://opencollective.com/typescript-eslint" 1358 + }, 1359 + "peerDependencies": { 1360 + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" 1361 + } 1362 + }, 1363 + "node_modules/@typescript-eslint/visitor-keys": { 1364 + "version": "5.59.1", 1365 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz", 1366 + "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==", 1367 + "dev": true, 1368 + "dependencies": { 1369 + "@typescript-eslint/types": "5.59.1", 1370 + "eslint-visitor-keys": "^3.3.0" 1371 + }, 1372 + "engines": { 1373 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1374 + }, 1375 + "funding": { 1376 + "type": "opencollective", 1377 + "url": "https://opencollective.com/typescript-eslint" 1378 + } 618 1379 }, 619 1380 "node_modules/abort-controller": { 620 1381 "version": "3.0.0", ··· 645 1406 } 646 1407 }, 647 1408 "node_modules/acorn": { 648 - "version": "8.8.1", 649 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", 650 - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", 1409 + "version": "8.8.2", 1410 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", 1411 + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", 651 1412 "dev": true, 652 1413 "bin": { 653 1414 "acorn": "bin/acorn" ··· 665 1426 "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 666 1427 } 667 1428 }, 668 - "node_modules/acorn-node": { 669 - "version": "1.8.2", 670 - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 671 - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 672 - "dev": true, 673 - "dependencies": { 674 - "acorn": "^7.0.0", 675 - "acorn-walk": "^7.0.0", 676 - "xtend": "^4.0.2" 677 - } 678 - }, 679 - "node_modules/acorn-node/node_modules/acorn": { 680 - "version": "7.4.1", 681 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 682 - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", 683 - "dev": true, 684 - "bin": { 685 - "acorn": "bin/acorn" 686 - }, 687 - "engines": { 688 - "node": ">=0.4.0" 689 - } 690 - }, 691 - "node_modules/acorn-walk": { 692 - "version": "7.2.0", 693 - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 694 - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", 695 - "dev": true, 696 - "engines": { 697 - "node": ">=0.4.0" 698 - } 699 - }, 700 1429 "node_modules/ajv": { 701 1430 "version": "6.12.6", 702 1431 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", ··· 764 1493 "url": "https://github.com/chalk/ansi-styles?sponsor=1" 765 1494 } 766 1495 }, 1496 + "node_modules/any-promise": { 1497 + "version": "1.3.0", 1498 + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 1499 + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 1500 + "dev": true 1501 + }, 767 1502 "node_modules/anymatch": { 768 1503 "version": "3.1.3", 769 1504 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", ··· 789 1524 "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 790 1525 "dev": true 791 1526 }, 1527 + "node_modules/array-union": { 1528 + "version": "2.1.0", 1529 + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 1530 + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 1531 + "dev": true, 1532 + "engines": { 1533 + "node": ">=8" 1534 + } 1535 + }, 792 1536 "node_modules/assert": { 793 1537 "version": "2.0.0", 794 1538 "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", ··· 811 1555 } 812 1556 }, 813 1557 "node_modules/autoprefixer": { 814 - "version": "10.4.13", 815 - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", 816 - "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", 1558 + "version": "10.4.14", 1559 + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", 1560 + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", 817 1561 "dev": true, 818 1562 "funding": [ 819 1563 { ··· 826 1570 } 827 1571 ], 828 1572 "dependencies": { 829 - "browserslist": "^4.21.4", 830 - "caniuse-lite": "^1.0.30001426", 1573 + "browserslist": "^4.21.5", 1574 + "caniuse-lite": "^1.0.30001464", 831 1575 "fraction.js": "^4.2.0", 832 1576 "normalize-range": "^0.1.2", 833 1577 "picocolors": "^1.0.0", ··· 925 1669 } 926 1670 }, 927 1671 "node_modules/bl/node_modules/readable-stream": { 928 - "version": "3.6.0", 929 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 930 - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 1672 + "version": "3.6.2", 1673 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 1674 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 931 1675 "dev": true, 932 1676 "dependencies": { 933 1677 "inherits": "^2.0.3", ··· 957 1701 "npm": ">=7.0.0" 958 1702 } 959 1703 }, 1704 + "node_modules/blockstore-core/node_modules/multiformats": { 1705 + "version": "10.0.3", 1706 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 1707 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", 1708 + "engines": { 1709 + "node": ">=16.0.0", 1710 + "npm": ">=7.0.0" 1711 + } 1712 + }, 960 1713 "node_modules/blockstore-datastore-adapter": { 961 1714 "version": "4.0.0", 962 1715 "resolved": "https://registry.npmjs.org/blockstore-datastore-adapter/-/blockstore-datastore-adapter-4.0.0.tgz", ··· 976 1729 } 977 1730 }, 978 1731 "node_modules/blockstore-datastore-adapter/node_modules/it-drain": { 979 - "version": "2.0.0", 980 - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.0.tgz", 981 - "integrity": "sha512-oa/5iyBtRs9UW486vPpyDTC0ee3rqx5qlrPI7txIUJcqqtiO5yVozEB6LQrl5ysQYv+P3y/dlKEqwVqlCV0SEA==", 1732 + "version": "2.0.1", 1733 + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.1.tgz", 1734 + "integrity": "sha512-ESuHV6MLUNxuSy0vGZpKhSRjW0ixczN1FhbVy7eGJHjX6U2qiiXTyMvDc0z/w+nifOOwPyI5DT9Rc3o9IaGqEQ==", 1735 + "engines": { 1736 + "node": ">=16.0.0", 1737 + "npm": ">=7.0.0" 1738 + } 1739 + }, 1740 + "node_modules/blockstore-datastore-adapter/node_modules/multiformats": { 1741 + "version": "10.0.3", 1742 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 1743 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", 982 1744 "engines": { 983 1745 "node": ">=16.0.0", 984 1746 "npm": ">=7.0.0" ··· 1018 1780 } 1019 1781 }, 1020 1782 "node_modules/browserslist": { 1021 - "version": "4.21.4", 1022 - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", 1023 - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", 1783 + "version": "4.21.5", 1784 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", 1785 + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", 1024 1786 "dev": true, 1025 1787 "funding": [ 1026 1788 { ··· 1033 1795 } 1034 1796 ], 1035 1797 "dependencies": { 1036 - "caniuse-lite": "^1.0.30001400", 1037 - "electron-to-chromium": "^1.4.251", 1038 - "node-releases": "^2.0.6", 1039 - "update-browserslist-db": "^1.0.9" 1798 + "caniuse-lite": "^1.0.30001449", 1799 + "electron-to-chromium": "^1.4.284", 1800 + "node-releases": "^2.0.8", 1801 + "update-browserslist-db": "^1.0.10" 1040 1802 }, 1041 1803 "bin": { 1042 1804 "browserslist": "cli.js" ··· 1146 1908 } 1147 1909 }, 1148 1910 "node_modules/caniuse-lite": { 1149 - "version": "1.0.30001439", 1150 - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", 1151 - "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", 1911 + "version": "1.0.30001481", 1912 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", 1913 + "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", 1152 1914 "dev": true, 1153 1915 "funding": [ 1154 1916 { ··· 1158 1920 { 1159 1921 "type": "tidelift", 1160 1922 "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1923 + }, 1924 + { 1925 + "type": "github", 1926 + "url": "https://github.com/sponsors/ai" 1161 1927 } 1162 1928 ] 1163 1929 }, ··· 1170 1936 } 1171 1937 }, 1172 1938 "node_modules/cborg": { 1173 - "version": "1.10.0", 1174 - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.0.tgz", 1175 - "integrity": "sha512-/eM0JCaL99HDHxjySNQJLaolZFVdl6VA0/hEKIoiQPcQzE5LrG5QHdml0HaBt31brgB9dNe1zMr3f8IVrpotRQ==", 1939 + "version": "1.10.1", 1940 + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.1.tgz", 1941 + "integrity": "sha512-et6Qm8MOUY2kCWa5GKk2MlBVoPjHv0hQBmlzI/Z7+5V3VJCeIkGehIB3vWknNsm2kOkAIs6wEKJFJo8luWQQ/w==", 1176 1942 "bin": { 1177 1943 "cborg": "cli.js" 1178 1944 } ··· 1221 1987 } 1222 1988 }, 1223 1989 "node_modules/classic-level": { 1224 - "version": "1.2.0", 1225 - "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", 1226 - "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==", 1990 + "version": "1.3.0", 1991 + "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.3.0.tgz", 1992 + "integrity": "sha512-iwFAJQYtqRTRM0F6L8h4JCt00ZSGdOyqh7yVrhhjrOpFhmBjNlRUey64MCiyo6UmQHMJ+No3c81nujPv+n9yrg==", 1227 1993 "hasInstallScript": true, 1228 1994 "dependencies": { 1229 1995 "abstract-level": "^1.0.2", 1230 1996 "catering": "^2.1.0", 1231 1997 "module-error": "^1.0.1", 1232 - "napi-macros": "~2.0.0", 1998 + "napi-macros": "^2.2.2", 1233 1999 "node-gyp-build": "^4.3.0" 1234 2000 }, 1235 2001 "engines": { ··· 1249 2015 } 1250 2016 }, 1251 2017 "node_modules/cli-spinners": { 1252 - "version": "2.7.0", 1253 - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", 1254 - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", 2018 + "version": "2.8.0", 2019 + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.8.0.tgz", 2020 + "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==", 1255 2021 "dev": true, 1256 2022 "engines": { 1257 2023 "node": ">=6" ··· 1299 2065 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1300 2066 "dev": true 1301 2067 }, 2068 + "node_modules/commander": { 2069 + "version": "4.1.1", 2070 + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 2071 + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 2072 + "dev": true, 2073 + "engines": { 2074 + "node": ">= 6" 2075 + } 2076 + }, 1302 2077 "node_modules/concat-map": { 1303 2078 "version": "0.0.1", 1304 2079 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", ··· 1306 2081 "dev": true 1307 2082 }, 1308 2083 "node_modules/content-type": { 1309 - "version": "1.0.4", 1310 - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 1311 - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", 2084 + "version": "1.0.5", 2085 + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 2086 + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", 1312 2087 "engines": { 1313 2088 "node": ">= 0.6" 1314 2089 } ··· 1373 2148 } 1374 2149 }, 1375 2150 "node_modules/datastore-core/node_modules/it-all": { 1376 - "version": "2.0.0", 1377 - "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.0.tgz", 1378 - "integrity": "sha512-I/yi9ogTY59lFxtfsDSlI9w9QZtC/5KJt6g7CPPBJJh2xql2ZS7Ghcp9hoqDDbc4QfwQvtx8Loy0zlKQ8H5gFg==", 2151 + "version": "2.0.1", 2152 + "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.1.tgz", 2153 + "integrity": "sha512-9UuJcCRZsboz+HBQTNOau80Dw+ryGaHYFP/cPYzFBJBFcfDathMYnhHk4t52en9+fcyDGPTdLB+lFc1wzQIroA==", 1379 2154 "engines": { 1380 2155 "node": ">=16.0.0", 1381 2156 "npm": ">=7.0.0" 1382 2157 } 1383 2158 }, 1384 2159 "node_modules/datastore-core/node_modules/it-drain": { 1385 - "version": "2.0.0", 1386 - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.0.tgz", 1387 - "integrity": "sha512-oa/5iyBtRs9UW486vPpyDTC0ee3rqx5qlrPI7txIUJcqqtiO5yVozEB6LQrl5ysQYv+P3y/dlKEqwVqlCV0SEA==", 2160 + "version": "2.0.1", 2161 + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.1.tgz", 2162 + "integrity": "sha512-ESuHV6MLUNxuSy0vGZpKhSRjW0ixczN1FhbVy7eGJHjX6U2qiiXTyMvDc0z/w+nifOOwPyI5DT9Rc3o9IaGqEQ==", 1388 2163 "engines": { 1389 2164 "node": ">=16.0.0", 1390 2165 "npm": ">=7.0.0" 1391 2166 } 1392 2167 }, 1393 2168 "node_modules/datastore-core/node_modules/it-filter": { 1394 - "version": "2.0.0", 1395 - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.0.tgz", 1396 - "integrity": "sha512-E68+zzoNNI7MxdH1T4lUTgwpCyEnymlH349Qg2mcvsqLmYRkaZLM4NfZZ0hUuH7/5DkWXubQSDOYH396va8mpg==", 2169 + "version": "2.0.2", 2170 + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.2.tgz", 2171 + "integrity": "sha512-gocw1F3siqupegsOzZ78rAc9C+sYlQbI2af/TmzgdrR613MyEJHbvfwBf12XRekGG907kqXSOGKPlxzJa6XV1Q==", 1397 2172 "engines": { 1398 2173 "node": ">=16.0.0", 1399 2174 "npm": ">=7.0.0" 1400 2175 } 1401 2176 }, 1402 2177 "node_modules/datastore-core/node_modules/it-take": { 1403 - "version": "2.0.0", 1404 - "resolved": "https://registry.npmjs.org/it-take/-/it-take-2.0.0.tgz", 1405 - "integrity": "sha512-lN3diSTomOvYBk2K0LHAgrQ52DlQfvq8tH/+HLAFpX8Q3JwBkr/BPJEi3Z3Lf8jMmN1KOCBXvt5sXa3eW9vUmg==", 1406 - "engines": { 1407 - "node": ">=16.0.0", 1408 - "npm": ">=7.0.0" 1409 - } 1410 - }, 1411 - "node_modules/datastore-core/node_modules/multiformats": { 1412 - "version": "11.0.0", 1413 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 1414 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 1415 - "engines": { 1416 - "node": ">=16.0.0", 1417 - "npm": ">=7.0.0" 1418 - } 1419 - }, 1420 - "node_modules/datastore-core/node_modules/uint8arrays": { 1421 - "version": "4.0.3", 1422 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 1423 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 1424 - "dependencies": { 1425 - "multiformats": "^11.0.0" 1426 - }, 2178 + "version": "2.0.1", 2179 + "resolved": "https://registry.npmjs.org/it-take/-/it-take-2.0.1.tgz", 2180 + "integrity": "sha512-DL7kpZNjuoeSTnB9dMAJ0Z3m2T29LRRAU+HIgkiQM+1jH3m8l9e/1xpWs8JHTlbKivbqSFrQMTc8KVcaQNmsaA==", 1427 2181 "engines": { 1428 2182 "node": ">=16.0.0", 1429 2183 "npm": ">=7.0.0" ··· 1449 2203 } 1450 2204 }, 1451 2205 "node_modules/datastore-level/node_modules/it-filter": { 1452 - "version": "2.0.0", 1453 - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.0.tgz", 1454 - "integrity": "sha512-E68+zzoNNI7MxdH1T4lUTgwpCyEnymlH349Qg2mcvsqLmYRkaZLM4NfZZ0hUuH7/5DkWXubQSDOYH396va8mpg==", 2206 + "version": "2.0.2", 2207 + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.2.tgz", 2208 + "integrity": "sha512-gocw1F3siqupegsOzZ78rAc9C+sYlQbI2af/TmzgdrR613MyEJHbvfwBf12XRekGG907kqXSOGKPlxzJa6XV1Q==", 1455 2209 "engines": { 1456 2210 "node": ">=16.0.0", 1457 2211 "npm": ">=7.0.0" 1458 2212 } 1459 2213 }, 1460 2214 "node_modules/datastore-level/node_modules/it-take": { 1461 - "version": "2.0.0", 1462 - "resolved": "https://registry.npmjs.org/it-take/-/it-take-2.0.0.tgz", 1463 - "integrity": "sha512-lN3diSTomOvYBk2K0LHAgrQ52DlQfvq8tH/+HLAFpX8Q3JwBkr/BPJEi3Z3Lf8jMmN1KOCBXvt5sXa3eW9vUmg==", 2215 + "version": "2.0.1", 2216 + "resolved": "https://registry.npmjs.org/it-take/-/it-take-2.0.1.tgz", 2217 + "integrity": "sha512-DL7kpZNjuoeSTnB9dMAJ0Z3m2T29LRRAU+HIgkiQM+1jH3m8l9e/1xpWs8JHTlbKivbqSFrQMTc8KVcaQNmsaA==", 1464 2218 "engines": { 1465 2219 "node": ">=16.0.0", 1466 2220 "npm": ">=7.0.0" ··· 1537 2291 } 1538 2292 }, 1539 2293 "node_modules/define-properties": { 1540 - "version": "1.1.4", 1541 - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", 1542 - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", 2294 + "version": "1.2.0", 2295 + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", 2296 + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", 1543 2297 "dev": true, 1544 2298 "dependencies": { 1545 2299 "has-property-descriptors": "^1.0.0", ··· 1552 2306 "url": "https://github.com/sponsors/ljharb" 1553 2307 } 1554 2308 }, 1555 - "node_modules/defined": { 1556 - "version": "1.0.1", 1557 - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", 1558 - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", 1559 - "dev": true, 1560 - "funding": { 1561 - "url": "https://github.com/sponsors/ljharb" 1562 - } 1563 - }, 1564 2309 "node_modules/delay": { 1565 2310 "version": "5.0.0", 1566 2311 "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", ··· 1572 2317 "url": "https://github.com/sponsors/sindresorhus" 1573 2318 } 1574 2319 }, 1575 - "node_modules/detective": { 1576 - "version": "5.2.1", 1577 - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", 1578 - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", 1579 - "dev": true, 1580 - "dependencies": { 1581 - "acorn-node": "^1.8.2", 1582 - "defined": "^1.0.0", 1583 - "minimist": "^1.2.6" 1584 - }, 1585 - "bin": { 1586 - "detective": "bin/detective.js" 1587 - }, 1588 - "engines": { 1589 - "node": ">=0.8.0" 1590 - } 1591 - }, 1592 2320 "node_modules/didyoumean": { 1593 2321 "version": "1.2.2", 1594 2322 "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 1595 2323 "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 1596 2324 "dev": true 2325 + }, 2326 + "node_modules/dir-glob": { 2327 + "version": "3.0.1", 2328 + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 2329 + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 2330 + "dev": true, 2331 + "dependencies": { 2332 + "path-type": "^4.0.0" 2333 + }, 2334 + "engines": { 2335 + "node": ">=8" 2336 + } 1597 2337 }, 1598 2338 "node_modules/dlv": { 1599 2339 "version": "1.1.3", ··· 1629 2369 } 1630 2370 }, 1631 2371 "node_modules/electron-to-chromium": { 1632 - "version": "1.4.284", 1633 - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", 1634 - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", 2372 + "version": "1.4.377", 2373 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.377.tgz", 2374 + "integrity": "sha512-H3BYG6DW5Z+l0xcfXaicJGxrpA4kMlCxnN71+iNX+dBLkRMOdVJqFJiAmbNZZKA1zISpRg17JR03qGifXNsJtw==", 1635 2375 "dev": true 1636 2376 }, 1637 2377 "node_modules/elm-review": { 1638 - "version": "2.8.5", 1639 - "resolved": "https://registry.npmjs.org/elm-review/-/elm-review-2.8.5.tgz", 1640 - "integrity": "sha512-e3HmCoBZPdcnwdyelnL02GVE1ZXOIjuP/fo4DvrQjxd5082b4lOUxzbh/pWeKdU9a1mtrHNYkWalEXPYeig3Kw==", 2378 + "version": "2.10.1", 2379 + "resolved": "https://registry.npmjs.org/elm-review/-/elm-review-2.10.1.tgz", 2380 + "integrity": "sha512-uEc4McppMqmWEaRo+jo5RowbDyfcBr0MTFN0kZt9gWrmmK6hPilTJJGtRmoH+K/aJtq4ZPDDF97oAFdkylD1gg==", 1641 2381 "dev": true, 1642 2382 "dependencies": { 1643 2383 "chalk": "^4.0.0", ··· 1676 2416 "integrity": "sha512-8UgIjzmGuoU6Wt6VC0tkJnzvc5xHL5yH7GdN+/QNxaaA3ckoyveCtV0QJqNCRa42bpyR1JhOwLSApwf2Id5xZg==" 1677 2417 }, 1678 2418 "node_modules/elm-tooling": { 1679 - "version": "1.10.0", 1680 - "resolved": "https://registry.npmjs.org/elm-tooling/-/elm-tooling-1.10.0.tgz", 1681 - "integrity": "sha512-fMLXs7xHpr6LodtmvVJKepYC6chgSOfe5Hgv8GcFO+Id7O/CuT9+CAfrlzYxvBn91cm6ekWwHFDjPD765v5iBA==", 2419 + "version": "1.14.0", 2420 + "resolved": "https://registry.npmjs.org/elm-tooling/-/elm-tooling-1.14.0.tgz", 2421 + "integrity": "sha512-cIbK3gfYWK086HsqOIGM4reIYcV/FF2R/8jIJ6ZUy1/RSkYFUv2BgPTGYYZo1Io9oymmbwoCWWleNtw7LgGL2w==", 1682 2422 "dev": true, 1683 2423 "bin": { 1684 2424 "elm-tooling": "index.js" ··· 1711 2451 "dev": true 1712 2452 }, 1713 2453 "node_modules/esbuild": { 1714 - "version": "0.16.4", 1715 - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.4.tgz", 1716 - "integrity": "sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA==", 2454 + "version": "0.17.18", 2455 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", 2456 + "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", 1717 2457 "dev": true, 1718 2458 "hasInstallScript": true, 1719 2459 "bin": { ··· 1723 2463 "node": ">=12" 1724 2464 }, 1725 2465 "optionalDependencies": { 1726 - "@esbuild/android-arm": "0.16.4", 1727 - "@esbuild/android-arm64": "0.16.4", 1728 - "@esbuild/android-x64": "0.16.4", 1729 - "@esbuild/darwin-arm64": "0.16.4", 1730 - "@esbuild/darwin-x64": "0.16.4", 1731 - "@esbuild/freebsd-arm64": "0.16.4", 1732 - "@esbuild/freebsd-x64": "0.16.4", 1733 - "@esbuild/linux-arm": "0.16.4", 1734 - "@esbuild/linux-arm64": "0.16.4", 1735 - "@esbuild/linux-ia32": "0.16.4", 1736 - "@esbuild/linux-loong64": "0.16.4", 1737 - "@esbuild/linux-mips64el": "0.16.4", 1738 - "@esbuild/linux-ppc64": "0.16.4", 1739 - "@esbuild/linux-riscv64": "0.16.4", 1740 - "@esbuild/linux-s390x": "0.16.4", 1741 - "@esbuild/linux-x64": "0.16.4", 1742 - "@esbuild/netbsd-x64": "0.16.4", 1743 - "@esbuild/openbsd-x64": "0.16.4", 1744 - "@esbuild/sunos-x64": "0.16.4", 1745 - "@esbuild/win32-arm64": "0.16.4", 1746 - "@esbuild/win32-ia32": "0.16.4", 1747 - "@esbuild/win32-x64": "0.16.4" 2466 + "@esbuild/android-arm": "0.17.18", 2467 + "@esbuild/android-arm64": "0.17.18", 2468 + "@esbuild/android-x64": "0.17.18", 2469 + "@esbuild/darwin-arm64": "0.17.18", 2470 + "@esbuild/darwin-x64": "0.17.18", 2471 + "@esbuild/freebsd-arm64": "0.17.18", 2472 + "@esbuild/freebsd-x64": "0.17.18", 2473 + "@esbuild/linux-arm": "0.17.18", 2474 + "@esbuild/linux-arm64": "0.17.18", 2475 + "@esbuild/linux-ia32": "0.17.18", 2476 + "@esbuild/linux-loong64": "0.17.18", 2477 + "@esbuild/linux-mips64el": "0.17.18", 2478 + "@esbuild/linux-ppc64": "0.17.18", 2479 + "@esbuild/linux-riscv64": "0.17.18", 2480 + "@esbuild/linux-s390x": "0.17.18", 2481 + "@esbuild/linux-x64": "0.17.18", 2482 + "@esbuild/netbsd-x64": "0.17.18", 2483 + "@esbuild/openbsd-x64": "0.17.18", 2484 + "@esbuild/sunos-x64": "0.17.18", 2485 + "@esbuild/win32-arm64": "0.17.18", 2486 + "@esbuild/win32-ia32": "0.17.18", 2487 + "@esbuild/win32-x64": "0.17.18" 1748 2488 } 1749 2489 }, 1750 2490 "node_modules/escalade": { ··· 1769 2509 } 1770 2510 }, 1771 2511 "node_modules/eslint": { 1772 - "version": "8.29.0", 1773 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", 1774 - "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", 2512 + "version": "8.39.0", 2513 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz", 2514 + "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==", 1775 2515 "dev": true, 1776 2516 "dependencies": { 1777 - "@eslint/eslintrc": "^1.3.3", 1778 - "@humanwhocodes/config-array": "^0.11.6", 2517 + "@eslint-community/eslint-utils": "^4.2.0", 2518 + "@eslint-community/regexpp": "^4.4.0", 2519 + "@eslint/eslintrc": "^2.0.2", 2520 + "@eslint/js": "8.39.0", 2521 + "@humanwhocodes/config-array": "^0.11.8", 1779 2522 "@humanwhocodes/module-importer": "^1.0.1", 1780 2523 "@nodelib/fs.walk": "^1.2.8", 1781 2524 "ajv": "^6.10.0", ··· 1784 2527 "debug": "^4.3.2", 1785 2528 "doctrine": "^3.0.0", 1786 2529 "escape-string-regexp": "^4.0.0", 1787 - "eslint-scope": "^7.1.1", 1788 - "eslint-utils": "^3.0.0", 1789 - "eslint-visitor-keys": "^3.3.0", 1790 - "espree": "^9.4.0", 1791 - "esquery": "^1.4.0", 2530 + "eslint-scope": "^7.2.0", 2531 + "eslint-visitor-keys": "^3.4.0", 2532 + "espree": "^9.5.1", 2533 + "esquery": "^1.4.2", 1792 2534 "esutils": "^2.0.2", 1793 2535 "fast-deep-equal": "^3.1.3", 1794 2536 "file-entry-cache": "^6.0.1", 1795 2537 "find-up": "^5.0.0", 1796 2538 "glob-parent": "^6.0.2", 1797 - "globals": "^13.15.0", 2539 + "globals": "^13.19.0", 1798 2540 "grapheme-splitter": "^1.0.4", 1799 2541 "ignore": "^5.2.0", 1800 2542 "import-fresh": "^3.0.0", ··· 1809 2551 "minimatch": "^3.1.2", 1810 2552 "natural-compare": "^1.4.0", 1811 2553 "optionator": "^0.9.1", 1812 - "regexpp": "^3.2.0", 1813 2554 "strip-ansi": "^6.0.1", 1814 2555 "strip-json-comments": "^3.1.0", 1815 2556 "text-table": "^0.2.0" ··· 1825 2566 } 1826 2567 }, 1827 2568 "node_modules/eslint-scope": { 1828 - "version": "7.1.1", 1829 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 1830 - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 2569 + "version": "5.1.1", 2570 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 2571 + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 1831 2572 "dev": true, 1832 2573 "dependencies": { 1833 2574 "esrecurse": "^4.3.0", 1834 - "estraverse": "^5.2.0" 2575 + "estraverse": "^4.1.1" 1835 2576 }, 1836 2577 "engines": { 1837 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2578 + "node": ">=8.0.0" 1838 2579 } 1839 2580 }, 1840 - "node_modules/eslint-utils": { 1841 - "version": "3.0.0", 1842 - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 1843 - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 2581 + "node_modules/eslint-visitor-keys": { 2582 + "version": "3.4.0", 2583 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", 2584 + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", 1844 2585 "dev": true, 1845 - "dependencies": { 1846 - "eslint-visitor-keys": "^2.0.0" 1847 - }, 1848 2586 "engines": { 1849 - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" 2587 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 1850 2588 }, 1851 2589 "funding": { 1852 - "url": "https://github.com/sponsors/mysticatea" 1853 - }, 1854 - "peerDependencies": { 1855 - "eslint": ">=5" 2590 + "url": "https://opencollective.com/eslint" 1856 2591 } 1857 2592 }, 1858 - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { 1859 - "version": "2.1.0", 1860 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 1861 - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 2593 + "node_modules/eslint/node_modules/eslint-scope": { 2594 + "version": "7.2.0", 2595 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", 2596 + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", 1862 2597 "dev": true, 2598 + "dependencies": { 2599 + "esrecurse": "^4.3.0", 2600 + "estraverse": "^5.2.0" 2601 + }, 1863 2602 "engines": { 1864 - "node": ">=10" 2603 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2604 + }, 2605 + "funding": { 2606 + "url": "https://opencollective.com/eslint" 1865 2607 } 1866 2608 }, 1867 - "node_modules/eslint-visitor-keys": { 1868 - "version": "3.3.0", 1869 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 1870 - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 2609 + "node_modules/eslint/node_modules/estraverse": { 2610 + "version": "5.3.0", 2611 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2612 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1871 2613 "dev": true, 1872 2614 "engines": { 1873 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 2615 + "node": ">=4.0" 1874 2616 } 1875 2617 }, 1876 2618 "node_modules/eslint/node_modules/find-up": { ··· 1946 2688 "url": "https://github.com/sponsors/sindresorhus" 1947 2689 } 1948 2690 }, 2691 + "node_modules/esm": { 2692 + "version": "3.2.25", 2693 + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", 2694 + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", 2695 + "engines": { 2696 + "node": ">=6" 2697 + } 2698 + }, 1949 2699 "node_modules/espree": { 1950 - "version": "9.4.1", 1951 - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", 1952 - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", 2700 + "version": "9.5.1", 2701 + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", 2702 + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", 1953 2703 "dev": true, 1954 2704 "dependencies": { 1955 2705 "acorn": "^8.8.0", 1956 2706 "acorn-jsx": "^5.3.2", 1957 - "eslint-visitor-keys": "^3.3.0" 2707 + "eslint-visitor-keys": "^3.4.0" 1958 2708 }, 1959 2709 "engines": { 1960 2710 "node": "^12.22.0 || ^14.17.0 || >=16.0.0" ··· 1964 2714 } 1965 2715 }, 1966 2716 "node_modules/esquery": { 1967 - "version": "1.4.0", 1968 - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 1969 - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 2717 + "version": "1.5.0", 2718 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", 2719 + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", 1970 2720 "dev": true, 1971 2721 "dependencies": { 1972 2722 "estraverse": "^5.1.0" ··· 1975 2725 "node": ">=0.10" 1976 2726 } 1977 2727 }, 2728 + "node_modules/esquery/node_modules/estraverse": { 2729 + "version": "5.3.0", 2730 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 2731 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2732 + "dev": true, 2733 + "engines": { 2734 + "node": ">=4.0" 2735 + } 2736 + }, 1978 2737 "node_modules/esrecurse": { 1979 2738 "version": "4.3.0", 1980 2739 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", ··· 1987 2746 "node": ">=4.0" 1988 2747 } 1989 2748 }, 1990 - "node_modules/estraverse": { 2749 + "node_modules/esrecurse/node_modules/estraverse": { 1991 2750 "version": "5.3.0", 1992 2751 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1993 2752 "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 2753 + "dev": true, 2754 + "engines": { 2755 + "node": ">=4.0" 2756 + } 2757 + }, 2758 + "node_modules/estraverse": { 2759 + "version": "4.3.0", 2760 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 2761 + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 1994 2762 "dev": true, 1995 2763 "engines": { 1996 2764 "node": ">=4.0" ··· 2078 2846 } 2079 2847 }, 2080 2848 "node_modules/fastq": { 2081 - "version": "1.14.0", 2082 - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", 2083 - "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", 2849 + "version": "1.15.0", 2850 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 2851 + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 2084 2852 "dev": true, 2085 2853 "dependencies": { 2086 2854 "reusify": "^1.0.4" ··· 2104 2872 "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" 2105 2873 }, 2106 2874 "node_modules/file-type": { 2107 - "version": "16.5.4", 2108 - "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", 2109 - "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", 2875 + "version": "18.3.0", 2876 + "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.3.0.tgz", 2877 + "integrity": "sha512-pkPZ5OGIq0TYb37b8bHDLNeQSe1H2KlaQ2ySGpJkkr2KZdaWsO4QhPzHA0mQcsUW2cSqJk+4gM/UyLz/UFbXdQ==", 2110 2878 "dependencies": { 2111 - "readable-web-to-node-stream": "^3.0.0", 2112 - "strtok3": "^6.2.4", 2113 - "token-types": "^4.1.1" 2879 + "readable-web-to-node-stream": "^3.0.2", 2880 + "strtok3": "^7.0.0", 2881 + "token-types": "^5.0.1" 2114 2882 }, 2115 2883 "engines": { 2116 - "node": ">=10" 2884 + "node": ">=14.16" 2117 2885 }, 2118 2886 "funding": { 2119 2887 "url": "https://github.com/sindresorhus/file-type?sponsor=1" 2888 + } 2889 + }, 2890 + "node_modules/file-type/node_modules/peek-readable": { 2891 + "version": "5.0.0", 2892 + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", 2893 + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", 2894 + "engines": { 2895 + "node": ">=14.16" 2896 + }, 2897 + "funding": { 2898 + "type": "github", 2899 + "url": "https://github.com/sponsors/Borewit" 2900 + } 2901 + }, 2902 + "node_modules/file-type/node_modules/strtok3": { 2903 + "version": "7.0.0", 2904 + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", 2905 + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", 2906 + "dependencies": { 2907 + "@tokenizer/token": "^0.3.0", 2908 + "peek-readable": "^5.0.0" 2909 + }, 2910 + "engines": { 2911 + "node": ">=14.16" 2912 + }, 2913 + "funding": { 2914 + "type": "github", 2915 + "url": "https://github.com/sponsors/Borewit" 2120 2916 } 2121 2917 }, 2122 2918 "node_modules/fill-range": { ··· 2259 3055 "version": "2.3.2", 2260 3056 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 2261 3057 "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 2262 - "dev": true, 2263 3058 "hasInstallScript": true, 2264 3059 "optional": true, 2265 3060 "os": [ ··· 2276 3071 "dev": true 2277 3072 }, 2278 3073 "node_modules/get-intrinsic": { 2279 - "version": "1.1.3", 2280 - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", 2281 - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", 3074 + "version": "1.2.0", 3075 + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", 3076 + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", 2282 3077 "dev": true, 2283 3078 "dependencies": { 2284 3079 "function-bind": "^1.1.1", ··· 2337 3132 } 2338 3133 }, 2339 3134 "node_modules/globals": { 2340 - "version": "13.18.0", 2341 - "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", 2342 - "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", 3135 + "version": "13.20.0", 3136 + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", 3137 + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", 2343 3138 "dev": true, 2344 3139 "dependencies": { 2345 3140 "type-fest": "^0.20.2" ··· 2351 3146 "url": "https://github.com/sponsors/sindresorhus" 2352 3147 } 2353 3148 }, 3149 + "node_modules/globby": { 3150 + "version": "11.1.0", 3151 + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 3152 + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 3153 + "dev": true, 3154 + "dependencies": { 3155 + "array-union": "^2.1.0", 3156 + "dir-glob": "^3.0.1", 3157 + "fast-glob": "^3.2.9", 3158 + "ignore": "^5.2.0", 3159 + "merge2": "^1.4.1", 3160 + "slash": "^3.0.0" 3161 + }, 3162 + "engines": { 3163 + "node": ">=10" 3164 + }, 3165 + "funding": { 3166 + "url": "https://github.com/sponsors/sindresorhus" 3167 + } 3168 + }, 2354 3169 "node_modules/gopd": { 2355 3170 "version": "1.0.1", 2356 3171 "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", ··· 2389 3204 } 2390 3205 }, 2391 3206 "node_modules/graceful-fs": { 2392 - "version": "4.2.10", 2393 - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 2394 - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" 3207 + "version": "4.2.11", 3208 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 3209 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 2395 3210 }, 2396 3211 "node_modules/grapheme-splitter": { 2397 3212 "version": "1.0.4", ··· 2460 3275 } 2461 3276 }, 2462 3277 "node_modules/http-cache-semantics": { 2463 - "version": "4.1.0", 2464 - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", 2465 - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", 3278 + "version": "4.1.1", 3279 + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", 3280 + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", 2466 3281 "dev": true 2467 3282 }, 2468 3283 "node_modules/http2-wrapper": { ··· 2498 3313 ] 2499 3314 }, 2500 3315 "node_modules/ignore": { 2501 - "version": "5.2.1", 2502 - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", 2503 - "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", 3316 + "version": "5.2.4", 3317 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", 3318 + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", 2504 3319 "dev": true, 2505 3320 "engines": { 2506 3321 "node": ">= 4" ··· 2564 3379 "npm": ">=7.0.0" 2565 3380 } 2566 3381 }, 3382 + "node_modules/interface-blockstore/node_modules/multiformats": { 3383 + "version": "10.0.3", 3384 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 3385 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", 3386 + "engines": { 3387 + "node": ">=16.0.0", 3388 + "npm": ">=7.0.0" 3389 + } 3390 + }, 2567 3391 "node_modules/interface-datastore": { 2568 - "version": "7.0.3", 2569 - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-7.0.3.tgz", 2570 - "integrity": "sha512-6zUypd1LM2Rl8o58RgJ7stLHgqx5+9t0+XkUVAvjd3KkWCNKBknD7G+Zar5jpUGClS+IINRPTjH/8Xnc2HB39A==", 3392 + "version": "7.0.4", 3393 + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-7.0.4.tgz", 3394 + "integrity": "sha512-Q8LZS/jfFFHz6XyZazLTAc078SSCoa27ZPBOfobWdpDiFO7FqPA2yskitUJIhaCgxNK8C+/lMBUTBNfVIDvLiw==", 2571 3395 "dependencies": { 2572 3396 "interface-store": "^3.0.0", 2573 3397 "nanoid": "^4.0.0", ··· 2578 3402 "npm": ">=7.0.0" 2579 3403 } 2580 3404 }, 2581 - "node_modules/interface-datastore/node_modules/multiformats": { 2582 - "version": "11.0.0", 2583 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 2584 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 2585 - "engines": { 2586 - "node": ">=16.0.0", 2587 - "npm": ">=7.0.0" 2588 - } 2589 - }, 2590 3405 "node_modules/interface-datastore/node_modules/nanoid": { 2591 - "version": "4.0.0", 2592 - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.0.tgz", 2593 - "integrity": "sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==", 3406 + "version": "4.0.2", 3407 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 3408 + "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", 3409 + "funding": [ 3410 + { 3411 + "type": "github", 3412 + "url": "https://github.com/sponsors/ai" 3413 + } 3414 + ], 2594 3415 "bin": { 2595 3416 "nanoid": "bin/nanoid.js" 2596 3417 }, ··· 2598 3419 "node": "^14 || ^16 || >=18" 2599 3420 } 2600 3421 }, 2601 - "node_modules/interface-datastore/node_modules/uint8arrays": { 2602 - "version": "4.0.3", 2603 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 2604 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 2605 - "dependencies": { 2606 - "multiformats": "^11.0.0" 2607 - }, 2608 - "engines": { 2609 - "node": ">=16.0.0", 2610 - "npm": ">=7.0.0" 2611 - } 2612 - }, 2613 3422 "node_modules/interface-store": { 2614 - "version": "3.0.3", 2615 - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.3.tgz", 2616 - "integrity": "sha512-FihzZamIkSPHIFw7xZAvZ77DEOSTvHt/t3HvIG7pm8lmqDIUh8/PgDsez/4Aa2091bT0sqK4tTFBcKF9TOGhtQ==", 3423 + "version": "3.0.4", 3424 + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.4.tgz", 3425 + "integrity": "sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ==", 2617 3426 "engines": { 2618 3427 "node": ">=16.0.0", 2619 3428 "npm": ">=7.0.0" ··· 2635 3444 "ipfs-unixfs": "^8.0.0", 2636 3445 "multiformats": "^10.0.0" 2637 3446 }, 3447 + "engines": { 3448 + "node": ">=16.0.0", 3449 + "npm": ">=7.0.0" 3450 + } 3451 + }, 3452 + "node_modules/ipfs-core-types/node_modules/multiformats": { 3453 + "version": "10.0.3", 3454 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 3455 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", 2638 3456 "engines": { 2639 3457 "node": ">=16.0.0", 2640 3458 "npm": ">=7.0.0" ··· 2702 3520 "npm": ">=7.0.0" 2703 3521 } 2704 3522 }, 2705 - "node_modules/ipfs-repo-migrations/node_modules/uint8arrays": { 2706 - "version": "4.0.3", 2707 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 2708 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 2709 - "dependencies": { 2710 - "multiformats": "^11.0.0" 2711 - }, 3523 + "node_modules/ipfs-repo-migrations/node_modules/multiformats": { 3524 + "version": "10.0.3", 3525 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 3526 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", 2712 3527 "engines": { 2713 3528 "node": ">=16.0.0", 2714 3529 "npm": ">=7.0.0" 2715 3530 } 2716 3531 }, 2717 - "node_modules/ipfs-repo-migrations/node_modules/uint8arrays/node_modules/multiformats": { 2718 - "version": "11.0.0", 2719 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 2720 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 3532 + "node_modules/ipfs-repo/node_modules/it-drain": { 3533 + "version": "2.0.1", 3534 + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.1.tgz", 3535 + "integrity": "sha512-ESuHV6MLUNxuSy0vGZpKhSRjW0ixczN1FhbVy7eGJHjX6U2qiiXTyMvDc0z/w+nifOOwPyI5DT9Rc3o9IaGqEQ==", 2721 3536 "engines": { 2722 3537 "node": ">=16.0.0", 2723 3538 "npm": ">=7.0.0" 2724 3539 } 2725 3540 }, 2726 - "node_modules/ipfs-repo/node_modules/it-drain": { 2727 - "version": "2.0.0", 2728 - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.0.tgz", 2729 - "integrity": "sha512-oa/5iyBtRs9UW486vPpyDTC0ee3rqx5qlrPI7txIUJcqqtiO5yVozEB6LQrl5ysQYv+P3y/dlKEqwVqlCV0SEA==", 3541 + "node_modules/ipfs-repo/node_modules/it-filter": { 3542 + "version": "2.0.2", 3543 + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.2.tgz", 3544 + "integrity": "sha512-gocw1F3siqupegsOzZ78rAc9C+sYlQbI2af/TmzgdrR613MyEJHbvfwBf12XRekGG907kqXSOGKPlxzJa6XV1Q==", 2730 3545 "engines": { 2731 3546 "node": ">=16.0.0", 2732 3547 "npm": ">=7.0.0" 2733 3548 } 2734 3549 }, 2735 - "node_modules/ipfs-repo/node_modules/it-filter": { 2736 - "version": "2.0.0", 2737 - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.0.tgz", 2738 - "integrity": "sha512-E68+zzoNNI7MxdH1T4lUTgwpCyEnymlH349Qg2mcvsqLmYRkaZLM4NfZZ0hUuH7/5DkWXubQSDOYH396va8mpg==", 3550 + "node_modules/ipfs-repo/node_modules/multiformats": { 3551 + "version": "10.0.3", 3552 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 3553 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", 2739 3554 "engines": { 2740 3555 "node": ">=16.0.0", 2741 3556 "npm": ">=7.0.0" ··· 2750 3565 }, 2751 3566 "funding": { 2752 3567 "url": "https://github.com/sponsors/sindresorhus" 2753 - } 2754 - }, 2755 - "node_modules/ipfs-repo/node_modules/uint8arrays": { 2756 - "version": "4.0.3", 2757 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 2758 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 2759 - "dependencies": { 2760 - "multiformats": "^11.0.0" 2761 - }, 2762 - "engines": { 2763 - "node": ">=16.0.0", 2764 - "npm": ">=7.0.0" 2765 - } 2766 - }, 2767 - "node_modules/ipfs-repo/node_modules/uint8arrays/node_modules/multiformats": { 2768 - "version": "11.0.0", 2769 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 2770 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 2771 - "engines": { 2772 - "node": ">=16.0.0", 2773 - "npm": ">=7.0.0" 2774 3568 } 2775 3569 }, 2776 3570 "node_modules/ipfs-unixfs": { ··· 2849 3643 } 2850 3644 }, 2851 3645 "node_modules/is-core-module": { 2852 - "version": "2.11.0", 2853 - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", 2854 - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", 3646 + "version": "2.12.0", 3647 + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", 3648 + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", 2855 3649 "dev": true, 2856 3650 "dependencies": { 2857 3651 "has": "^1.0.3" ··· 3004 3798 "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" 3005 3799 }, 3006 3800 "node_modules/it-batch": { 3007 - "version": "2.0.0", 3008 - "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-2.0.0.tgz", 3009 - "integrity": "sha512-kh30J83cNGCXuH48+meNLSCjkhRzvZyySgiHJ+Vz0ch/YyQ/XgYSCQhbx2a2VbxhvDdYZBoKiI3x7h14ReYFcg==", 3801 + "version": "2.0.1", 3802 + "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-2.0.1.tgz", 3803 + "integrity": "sha512-2gWFuPzamh9Dh3pW+OKjc7UwJ41W4Eu2AinVAfXDMfrC5gXfm3b1TF+1UzsygBUgKBugnxnGP+/fFRyn+9y1mQ==", 3010 3804 "engines": { 3011 3805 "node": ">=16.0.0", 3012 3806 "npm": ">=7.0.0" ··· 3023 3817 "integrity": "sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w==" 3024 3818 }, 3025 3819 "node_modules/it-first": { 3026 - "version": "2.0.0", 3027 - "resolved": "https://registry.npmjs.org/it-first/-/it-first-2.0.0.tgz", 3028 - "integrity": "sha512-fzZGzVf01exFyIZXNjkpSMFr1eW2+J1K0v018tYY26Dd4f/O3pWlBTdrOBfSQRZwtI8Pst6c7eKhYczWvFs6tA==", 3820 + "version": "2.0.1", 3821 + "resolved": "https://registry.npmjs.org/it-first/-/it-first-2.0.1.tgz", 3822 + "integrity": "sha512-noC1oEQcWZZMUwq7VWxHNLML43dM+5bviZpfmkxkXlvBe60z7AFRqpZSga9uQBo792jKv9otnn1IjA4zwgNARw==", 3029 3823 "engines": { 3030 3824 "node": ">=16.0.0", 3031 3825 "npm": ">=7.0.0" 3032 3826 } 3033 3827 }, 3034 3828 "node_modules/it-length": { 3035 - "version": "2.0.0", 3036 - "resolved": "https://registry.npmjs.org/it-length/-/it-length-2.0.0.tgz", 3037 - "integrity": "sha512-YFe6AW6RKkSTburcbyBChf6+HnyWumKZH9KRVfUSVXYkVqJxaJh/8aM8pnaFHm26lKQxYo57YW6RP+wL4CMx0Q==", 3829 + "version": "2.0.1", 3830 + "resolved": "https://registry.npmjs.org/it-length/-/it-length-2.0.1.tgz", 3831 + "integrity": "sha512-BynaPOK4UwcQX2Z+kqsQygXUNW9NZswfTnscfP7MLhFvVhRYbYJv8XH+09/Qwf8ktk65QdsGoVnDmQUCUGCyvg==", 3038 3832 "engines": { 3039 3833 "node": ">=16.0.0", 3040 3834 "npm": ">=7.0.0" 3041 3835 } 3042 3836 }, 3043 3837 "node_modules/it-map": { 3044 - "version": "2.0.0", 3045 - "resolved": "https://registry.npmjs.org/it-map/-/it-map-2.0.0.tgz", 3046 - "integrity": "sha512-mLgtk/NZaN7NZ06iLrMXCA6jjhtZO0vZT5Ocsp31H+nsGI18RSPVmUbFyA1sWx7q+g92J22Sixya7T2QSSAwfA==", 3838 + "version": "2.0.1", 3839 + "resolved": "https://registry.npmjs.org/it-map/-/it-map-2.0.1.tgz", 3840 + "integrity": "sha512-a2GcYDHiAh/eSU628xlvB56LA98luXZnniH2GlD0IdBzf15shEq9rBeb0Rg3o1SWtNILUAwqmQxEXcewGCdvmQ==", 3047 3841 "engines": { 3048 3842 "node": ">=16.0.0", 3049 3843 "npm": ">=7.0.0" 3050 3844 } 3051 3845 }, 3052 3846 "node_modules/it-merge": { 3053 - "version": "2.0.0", 3054 - "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-2.0.0.tgz", 3055 - "integrity": "sha512-mH4bo/ZrMoU+Wlu7ZuYPNNh9oWZ/GvYbeXZ0zll97+Rp6H4jFu98iu6v9qqXDz//RUjdO9zGh8awzMfOElsjpA==", 3847 + "version": "2.0.1", 3848 + "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-2.0.1.tgz", 3849 + "integrity": "sha512-ItoBy3dPlNKnhjHR8e7nfabfZzH4Jy2OMPvayYH3XHy4YNqSVKmWTIxhz7KX4UMBsLChlIJZ+5j6csJgrYGQtw==", 3056 3850 "dependencies": { 3057 3851 "it-pushable": "^3.1.0" 3058 3852 }, ··· 3062 3856 } 3063 3857 }, 3064 3858 "node_modules/it-parallel-batch": { 3065 - "version": "2.0.0", 3066 - "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-2.0.0.tgz", 3067 - "integrity": "sha512-RWP3h1y1OW3kzP633640mqgcfA9rlGGv4XV7EIsdU8VzAv+hRbpibqFk8sUyN/tNjrcFcYNkGBTE0/0FYf65IQ==", 3859 + "version": "2.0.1", 3860 + "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-2.0.1.tgz", 3861 + "integrity": "sha512-tXh567/JfDGJ90Zi//H9HkL7kY27ARp0jf2vu2jUI6PUVBWfsoT+gC4eT41/b4+wkJXSGgT8ZHnivAOlMfcNjA==", 3068 3862 "dependencies": { 3069 3863 "it-batch": "^2.0.0" 3070 3864 }, ··· 3088 3882 } 3089 3883 }, 3090 3884 "node_modules/it-pushable": { 3091 - "version": "3.1.2", 3092 - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.2.tgz", 3093 - "integrity": "sha512-zU9FbeoGT0f+yobwm8agol2OTMXbq4ZSWLEi7hug6TEZx4qVhGhGyp31cayH04aBYsIoO2Nr5kgMjH/oWj2BJQ==", 3885 + "version": "3.1.3", 3886 + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.3.tgz", 3887 + "integrity": "sha512-f50iQ85HISS6DaWCyrqf9QJ6G/kQtKIMf9xZkgZgyOvxEQDfn8OfYcLXXquCqgoLboxQtAW1ZFZyFIAsLHDtJw==", 3094 3888 "engines": { 3095 3889 "node": ">=16.0.0", 3096 3890 "npm": ">=7.0.0" 3097 3891 } 3098 3892 }, 3099 3893 "node_modules/it-sort": { 3100 - "version": "2.0.0", 3101 - "resolved": "https://registry.npmjs.org/it-sort/-/it-sort-2.0.0.tgz", 3102 - "integrity": "sha512-yeAE97b5PEjCrWFUiNyR90eJdGslj8FB3cjT84rsc+mzx9lxPyR2zJkYB9ZOJoWE5MMebxqcQCLRT3OSlzo7Zg==", 3894 + "version": "2.0.1", 3895 + "resolved": "https://registry.npmjs.org/it-sort/-/it-sort-2.0.1.tgz", 3896 + "integrity": "sha512-9f4jKOTHfxc/FJpg/wwuQ+j+88i+sfNGKsu2HukAKymm71/XDnBFtOAOzaimko3YIhmn/ERwnfEKrsYLykxw9A==", 3103 3897 "dependencies": { 3104 3898 "it-all": "^2.0.0" 3105 3899 }, ··· 3109 3903 } 3110 3904 }, 3111 3905 "node_modules/it-sort/node_modules/it-all": { 3112 - "version": "2.0.0", 3113 - "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.0.tgz", 3114 - "integrity": "sha512-I/yi9ogTY59lFxtfsDSlI9w9QZtC/5KJt6g7CPPBJJh2xql2ZS7Ghcp9hoqDDbc4QfwQvtx8Loy0zlKQ8H5gFg==", 3906 + "version": "2.0.1", 3907 + "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.1.tgz", 3908 + "integrity": "sha512-9UuJcCRZsboz+HBQTNOau80Dw+ryGaHYFP/cPYzFBJBFcfDathMYnhHk4t52en9+fcyDGPTdLB+lFc1wzQIroA==", 3115 3909 "engines": { 3116 3910 "node": ">=16.0.0", 3117 3911 "npm": ">=7.0.0" ··· 3131 3925 "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.2.tgz", 3132 3926 "integrity": "sha512-u7I6qhhxH7pSevcYNaMECtkvZW365ARqAIt9K+xjdK1B2WUDEjQSfETkOCT8bxFq/59LqrN3cMLUtTgmDBaygw==" 3133 3927 }, 3928 + "node_modules/jiti": { 3929 + "version": "1.18.2", 3930 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", 3931 + "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", 3932 + "dev": true, 3933 + "bin": { 3934 + "jiti": "bin/jiti.js" 3935 + } 3936 + }, 3134 3937 "node_modules/js-sdsl": { 3135 - "version": "4.2.0", 3136 - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", 3137 - "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", 3938 + "version": "4.4.0", 3939 + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", 3940 + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", 3138 3941 "dev": true, 3139 3942 "funding": { 3140 3943 "type": "opencollective", ··· 3194 3997 "setimmediate": "^1.0.5" 3195 3998 } 3196 3999 }, 4000 + "node_modules/jszip/node_modules/readable-stream": { 4001 + "version": "2.3.8", 4002 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 4003 + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 4004 + "dependencies": { 4005 + "core-util-is": "~1.0.0", 4006 + "inherits": "~2.0.3", 4007 + "isarray": "~1.0.0", 4008 + "process-nextick-args": "~2.0.0", 4009 + "safe-buffer": "~5.1.1", 4010 + "string_decoder": "~1.1.1", 4011 + "util-deprecate": "~1.0.1" 4012 + } 4013 + }, 4014 + "node_modules/jszip/node_modules/safe-buffer": { 4015 + "version": "5.1.2", 4016 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 4017 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 4018 + }, 4019 + "node_modules/jszip/node_modules/string_decoder": { 4020 + "version": "1.1.1", 4021 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 4022 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 4023 + "dependencies": { 4024 + "safe-buffer": "~5.1.0" 4025 + } 4026 + }, 3197 4027 "node_modules/just-safe-get": { 3198 4028 "version": "4.2.0", 3199 4029 "resolved": "https://registry.npmjs.org/just-safe-get/-/just-safe-get-4.2.0.tgz", 3200 4030 "integrity": "sha512-+tS4Bvgr/FnmYxOGbwziJ8I2BFk+cP1gQHm6rm7zo61w1SbxBwWGEq/Ryy9Gb6bvnloPq6pz7Bmm4a0rjTNlXA==" 3201 4031 }, 3202 4032 "node_modules/just-safe-set": { 3203 - "version": "4.2.0", 3204 - "resolved": "https://registry.npmjs.org/just-safe-set/-/just-safe-set-4.2.0.tgz", 3205 - "integrity": "sha512-109CZyFYcRAgR5hT/aA6V6ZKUfxItJYrZvtTikfIJ4sEewAE86fQARiF9BFzZlSn0gTLVGIMuZC7le2qQ+JJKw==" 4033 + "version": "4.2.1", 4034 + "resolved": "https://registry.npmjs.org/just-safe-set/-/just-safe-set-4.2.1.tgz", 4035 + "integrity": "sha512-La5CP41Ycv52+E4g7w1sRV8XXk7Sp8a/TwWQAYQKn6RsQz1FD4Z/rDRRmqV3wJznS1MDF3YxK7BCudX1J8FxLg==" 3206 4036 }, 3207 4037 "node_modules/keystore-idb": { 3208 4038 "version": "0.15.5", ··· 3215 4045 }, 3216 4046 "engines": { 3217 4047 "node": ">=10.21.0" 4048 + } 4049 + }, 4050 + "node_modules/keystore-idb/node_modules/multiformats": { 4051 + "version": "9.9.0", 4052 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", 4053 + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" 4054 + }, 4055 + "node_modules/keystore-idb/node_modules/uint8arrays": { 4056 + "version": "3.1.1", 4057 + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", 4058 + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", 4059 + "dependencies": { 4060 + "multiformats": "^9.4.2" 3218 4061 } 3219 4062 }, 3220 4063 "node_modules/keyv": { ··· 3293 4136 } 3294 4137 }, 3295 4138 "node_modules/lilconfig": { 3296 - "version": "2.0.6", 3297 - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", 3298 - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", 4139 + "version": "2.1.0", 4140 + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 4141 + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 3299 4142 "dev": true, 3300 4143 "engines": { 3301 4144 "node": ">=10" 3302 4145 } 4146 + }, 4147 + "node_modules/lines-and-columns": { 4148 + "version": "1.2.4", 4149 + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 4150 + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 4151 + "dev": true 3303 4152 }, 3304 4153 "node_modules/load-script2": { 3305 4154 "version": "2.0.6", ··· 3386 4235 } 3387 4236 }, 3388 4237 "node_modules/long": { 3389 - "version": "5.2.1", 3390 - "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", 3391 - "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" 4238 + "version": "5.2.3", 4239 + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", 4240 + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" 3392 4241 }, 3393 4242 "node_modules/lowercase-keys": { 3394 4243 "version": "2.0.0", ··· 3397 4246 "dev": true, 3398 4247 "engines": { 3399 4248 "node": ">=8" 4249 + } 4250 + }, 4251 + "node_modules/lru-cache": { 4252 + "version": "6.0.0", 4253 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 4254 + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 4255 + "dev": true, 4256 + "dependencies": { 4257 + "yallist": "^4.0.0" 4258 + }, 4259 + "engines": { 4260 + "node": ">=10" 3400 4261 } 3401 4262 }, 3402 4263 "node_modules/lunr": { ··· 3476 4337 } 3477 4338 }, 3478 4339 "node_modules/minimist": { 3479 - "version": "1.2.7", 3480 - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", 3481 - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", 4340 + "version": "1.2.8", 4341 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 4342 + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 3482 4343 "dev": true, 3483 4344 "funding": { 3484 4345 "url": "https://github.com/sponsors/ljharb" ··· 3520 4381 } 3521 4382 }, 3522 4383 "node_modules/mortice/node_modules/nanoid": { 3523 - "version": "4.0.0", 3524 - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.0.tgz", 3525 - "integrity": "sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==", 4384 + "version": "4.0.2", 4385 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 4386 + "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", 4387 + "funding": [ 4388 + { 4389 + "type": "github", 4390 + "url": "https://github.com/sponsors/ai" 4391 + } 4392 + ], 3526 4393 "bin": { 3527 4394 "nanoid": "bin/nanoid.js" 3528 4395 }, ··· 3536 4403 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 3537 4404 }, 3538 4405 "node_modules/multiformats": { 3539 - "version": "10.0.3", 3540 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 3541 - "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==", 4406 + "version": "11.0.2", 4407 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", 4408 + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", 3542 4409 "engines": { 3543 4410 "node": ">=16.0.0", 3544 4411 "npm": ">=7.0.0" 3545 4412 } 3546 4413 }, 3547 4414 "node_modules/music-metadata": { 3548 - "version": "7.13.0", 3549 - "resolved": "https://registry.npmjs.org/music-metadata/-/music-metadata-7.13.0.tgz", 3550 - "integrity": "sha512-EoDmAoK84Z9xarNEgjE7YQ4x7cIwHI9kOI3RdA2QlEHCsqBvBuBbIcP3vONGO/SBiPhXe5FF+IVAW+1T2owjEA==", 4415 + "version": "8.1.4", 4416 + "resolved": "https://registry.npmjs.org/music-metadata/-/music-metadata-8.1.4.tgz", 4417 + "integrity": "sha512-q9mw2qeESeJY69cXtdaum/YJstDimpP+mwZnb801iq20JpyY75v6uzcp6VfVXZDixpD2f9yWneJtA0TgSEypxA==", 3551 4418 "dependencies": { 3552 4419 "@tokenizer/token": "^0.3.0", 3553 - "content-type": "^1.0.4", 4420 + "content-type": "^1.0.5", 3554 4421 "debug": "^4.3.4", 3555 - "file-type": "^16.5.4", 4422 + "file-type": "^18.2.1", 3556 4423 "media-typer": "^1.1.0", 3557 - "strtok3": "^6.3.0", 3558 - "token-types": "^4.2.1" 4424 + "strtok3": "^7.0.0", 4425 + "token-types": "^5.0.1" 3559 4426 }, 3560 4427 "engines": { 3561 - "node": ">=10" 4428 + "node": "^14.13.1 || >=16.0.0" 3562 4429 }, 3563 4430 "funding": { 3564 4431 "type": "github", 3565 4432 "url": "https://github.com/sponsors/Borewit" 3566 4433 } 3567 4434 }, 3568 - "node_modules/music-metadata-browser": { 3569 - "version": "2.5.9", 3570 - "resolved": "https://registry.npmjs.org/music-metadata-browser/-/music-metadata-browser-2.5.9.tgz", 3571 - "integrity": "sha512-+HmJRuNvSxprB1CNPm6AuQygaxhnrpkfg2P4jWUY6zE8Lench6HbjsothtL636fhfnUYP8hM0MmlqC12yfp3kg==", 3572 - "dependencies": { 3573 - "buffer": "^6.0.3", 3574 - "debug": "^4.3.4", 3575 - "music-metadata": "^7.12.6", 3576 - "readable-stream": "^4.1.0", 3577 - "readable-web-to-node-stream": "^3.0.2" 4435 + "node_modules/music-metadata/node_modules/peek-readable": { 4436 + "version": "5.0.0", 4437 + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", 4438 + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==", 4439 + "engines": { 4440 + "node": ">=14.16" 3578 4441 }, 3579 4442 "funding": { 3580 4443 "type": "github", 3581 4444 "url": "https://github.com/sponsors/Borewit" 3582 4445 } 3583 4446 }, 3584 - "node_modules/music-metadata-browser/node_modules/readable-stream": { 3585 - "version": "4.2.0", 3586 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", 3587 - "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", 4447 + "node_modules/music-metadata/node_modules/strtok3": { 4448 + "version": "7.0.0", 4449 + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", 4450 + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", 3588 4451 "dependencies": { 3589 - "abort-controller": "^3.0.0", 3590 - "buffer": "^6.0.3", 3591 - "events": "^3.3.0", 3592 - "process": "^0.11.10" 4452 + "@tokenizer/token": "^0.3.0", 4453 + "peek-readable": "^5.0.0" 3593 4454 }, 3594 4455 "engines": { 3595 - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 4456 + "node": ">=14.16" 4457 + }, 4458 + "funding": { 4459 + "type": "github", 4460 + "url": "https://github.com/sponsors/Borewit" 4461 + } 4462 + }, 4463 + "node_modules/mz": { 4464 + "version": "2.7.0", 4465 + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 4466 + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 4467 + "dev": true, 4468 + "dependencies": { 4469 + "any-promise": "^1.0.0", 4470 + "object-assign": "^4.0.1", 4471 + "thenify-all": "^1.0.0" 3596 4472 } 3597 4473 }, 3598 4474 "node_modules/nanoid": { 3599 - "version": "3.3.4", 3600 - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 3601 - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 4475 + "version": "3.3.6", 4476 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 4477 + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 3602 4478 "dev": true, 4479 + "funding": [ 4480 + { 4481 + "type": "github", 4482 + "url": "https://github.com/sponsors/ai" 4483 + } 4484 + ], 3603 4485 "bin": { 3604 4486 "nanoid": "bin/nanoid.cjs" 3605 4487 }, ··· 3608 4490 } 3609 4491 }, 3610 4492 "node_modules/napi-macros": { 3611 - "version": "2.0.0", 3612 - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", 3613 - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" 4493 + "version": "2.2.2", 4494 + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.2.2.tgz", 4495 + "integrity": "sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==" 3614 4496 }, 3615 4497 "node_modules/native-fetch": { 3616 4498 "version": "4.0.2", ··· 3626 4508 "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 3627 4509 "dev": true 3628 4510 }, 4511 + "node_modules/natural-compare-lite": { 4512 + "version": "1.4.0", 4513 + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", 4514 + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", 4515 + "dev": true 4516 + }, 3629 4517 "node_modules/node-fetch": { 3630 - "version": "2.6.7", 3631 - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", 3632 - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", 4518 + "version": "2.6.9", 4519 + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", 4520 + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", 3633 4521 "dependencies": { 3634 4522 "whatwg-url": "^5.0.0" 3635 4523 }, ··· 3656 4544 } 3657 4545 }, 3658 4546 "node_modules/node-releases": { 3659 - "version": "2.0.6", 3660 - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", 3661 - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", 4547 + "version": "2.0.10", 4548 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", 4549 + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", 3662 4550 "dev": true 3663 4551 }, 3664 4552 "node_modules/normalize-path": { ··· 3691 4579 "url": "https://github.com/sponsors/sindresorhus" 3692 4580 } 3693 4581 }, 4582 + "node_modules/object-assign": { 4583 + "version": "4.1.1", 4584 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 4585 + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 4586 + "dev": true, 4587 + "engines": { 4588 + "node": ">=0.10.0" 4589 + } 4590 + }, 3694 4591 "node_modules/object-hash": { 3695 4592 "version": "3.0.0", 3696 4593 "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", ··· 3846 4743 } 3847 4744 }, 3848 4745 "node_modules/p-queue": { 3849 - "version": "7.3.0", 3850 - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-7.3.0.tgz", 3851 - "integrity": "sha512-5fP+yVQ0qp0rEfZoDTlP2c3RYBgxvRsw30qO+VtPPc95lyvSG+x6USSh1TuLB4n96IO6I8/oXQGsTgtna4q2nQ==", 4746 + "version": "7.3.4", 4747 + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-7.3.4.tgz", 4748 + "integrity": "sha512-esox8CWt0j9EZECFvkFl2WNPat8LN4t7WWeXq73D9ha0V96qPRufApZi4ZhPwXAln1uVVal429HVVKPa2X0yQg==", 3852 4749 "dependencies": { 3853 4750 "eventemitter3": "^4.0.7", 3854 4751 "p-timeout": "^5.0.2" ··· 3871 4768 "url": "https://github.com/sponsors/sindresorhus" 3872 4769 } 3873 4770 }, 3874 - "node_modules/p-retry": { 3875 - "version": "4.6.2", 3876 - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", 3877 - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", 3878 - "dependencies": { 3879 - "@types/retry": "0.12.0", 3880 - "retry": "^0.13.1" 3881 - }, 3882 - "engines": { 3883 - "node": ">=8" 3884 - } 3885 - }, 3886 4771 "node_modules/p-timeout": { 3887 - "version": "6.0.0", 3888 - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.0.0.tgz", 3889 - "integrity": "sha512-5iS61MOdUMemWH9CORQRxVXTp9g5K8rPnI9uQpo97aWgsH3vVXKjkIhDi+OgIDmN3Ly9+AZ2fZV01Wut1yzfKA==", 4772 + "version": "6.1.1", 4773 + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.1.tgz", 4774 + "integrity": "sha512-yqz2Wi4fiFRpMmK0L2pGAU49naSUaP23fFIQL2Y6YT+qDGPoFwpvgQM/wzc6F8JoenUkIlAFa4Ql7NguXBxI7w==", 3890 4775 "engines": { 3891 4776 "node": ">=14.16" 3892 4777 }, ··· 3953 4838 "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 3954 4839 "dev": true 3955 4840 }, 4841 + "node_modules/path-type": { 4842 + "version": "4.0.0", 4843 + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 4844 + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 4845 + "dev": true, 4846 + "engines": { 4847 + "node": ">=8" 4848 + } 4849 + }, 3956 4850 "node_modules/peek-readable": { 3957 4851 "version": "4.1.0", 3958 4852 "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", ··· 3990 4884 "dev": true, 3991 4885 "engines": { 3992 4886 "node": ">=0.10.0" 4887 + } 4888 + }, 4889 + "node_modules/pirates": { 4890 + "version": "4.0.5", 4891 + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", 4892 + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", 4893 + "dev": true, 4894 + "engines": { 4895 + "node": ">= 6" 3993 4896 } 3994 4897 }, 3995 4898 "node_modules/postcss": { 3996 - "version": "8.4.19", 3997 - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", 3998 - "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", 4899 + "version": "8.4.23", 4900 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", 4901 + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", 3999 4902 "dev": true, 4000 4903 "funding": [ 4001 4904 { ··· 4005 4908 { 4006 4909 "type": "tidelift", 4007 4910 "url": "https://tidelift.com/funding/github/npm/postcss" 4911 + }, 4912 + { 4913 + "type": "github", 4914 + "url": "https://github.com/sponsors/ai" 4008 4915 } 4009 4916 ], 4010 4917 "dependencies": { 4011 - "nanoid": "^3.3.4", 4918 + "nanoid": "^3.3.6", 4012 4919 "picocolors": "^1.0.0", 4013 4920 "source-map-js": "^1.0.2" 4014 4921 }, ··· 4017 4924 } 4018 4925 }, 4019 4926 "node_modules/postcss-custom-properties": { 4020 - "version": "12.1.11", 4021 - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", 4022 - "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", 4927 + "version": "13.1.5", 4928 + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.1.5.tgz", 4929 + "integrity": "sha512-98DXk81zTGqMVkGANysMHbGIg3voH383DYo3/+c+Abzay3nao+vM/f4Jgzsakk9S7BDsEw5DiW7sFy5G4W2wLA==", 4023 4930 "dev": true, 4024 4931 "dependencies": { 4932 + "@csstools/cascade-layer-name-parser": "^1.0.2", 4933 + "@csstools/css-parser-algorithms": "^2.1.1", 4934 + "@csstools/css-tokenizer": "^2.1.1", 4025 4935 "postcss-value-parser": "^4.2.0" 4026 4936 }, 4027 4937 "engines": { 4028 - "node": "^12 || ^14 || >=16" 4938 + "node": "^14 || ^16 || >=18" 4029 4939 }, 4030 4940 "funding": { 4031 4941 "type": "opencollective", 4032 4942 "url": "https://opencollective.com/csstools" 4033 4943 }, 4034 4944 "peerDependencies": { 4035 - "postcss": "^8.2" 4945 + "postcss": "^8.4" 4036 4946 } 4037 4947 }, 4038 4948 "node_modules/postcss-import": { 4039 - "version": "14.1.0", 4040 - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", 4041 - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", 4949 + "version": "15.1.0", 4950 + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 4951 + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 4042 4952 "dev": true, 4043 4953 "dependencies": { 4044 4954 "postcss-value-parser": "^4.0.0", ··· 4046 4956 "resolve": "^1.1.7" 4047 4957 }, 4048 4958 "engines": { 4049 - "node": ">=10.0.0" 4959 + "node": ">=14.0.0" 4050 4960 }, 4051 4961 "peerDependencies": { 4052 4962 "postcss": "^8.0.0" 4053 4963 } 4054 4964 }, 4055 4965 "node_modules/postcss-js": { 4056 - "version": "4.0.0", 4057 - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", 4058 - "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", 4966 + "version": "4.0.1", 4967 + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 4968 + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 4059 4969 "dev": true, 4060 4970 "dependencies": { 4061 4971 "camelcase-css": "^2.0.1" ··· 4068 4978 "url": "https://opencollective.com/postcss/" 4069 4979 }, 4070 4980 "peerDependencies": { 4071 - "postcss": "^8.3.3" 4981 + "postcss": "^8.4.21" 4072 4982 } 4073 4983 }, 4074 4984 "node_modules/postcss-load-config": { 4075 - "version": "3.1.4", 4076 - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 4077 - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 4985 + "version": "4.0.1", 4986 + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", 4987 + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", 4078 4988 "dev": true, 4079 4989 "dependencies": { 4080 4990 "lilconfig": "^2.0.5", 4081 - "yaml": "^1.10.2" 4991 + "yaml": "^2.1.1" 4082 4992 }, 4083 4993 "engines": { 4084 - "node": ">= 10" 4994 + "node": ">= 14" 4085 4995 }, 4086 4996 "funding": { 4087 4997 "type": "opencollective", ··· 4101 5011 } 4102 5012 }, 4103 5013 "node_modules/postcss-nested": { 4104 - "version": "6.0.0", 4105 - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", 4106 - "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", 5014 + "version": "6.0.1", 5015 + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", 5016 + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", 4107 5017 "dev": true, 4108 5018 "dependencies": { 4109 - "postcss-selector-parser": "^6.0.10" 5019 + "postcss-selector-parser": "^6.0.11" 4110 5020 }, 4111 5021 "engines": { 4112 5022 "node": ">=12.0" ··· 4120 5030 } 4121 5031 }, 4122 5032 "node_modules/postcss-selector-parser": { 4123 - "version": "6.0.11", 4124 - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", 4125 - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", 5033 + "version": "6.0.12", 5034 + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", 5035 + "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", 4126 5036 "dev": true, 4127 5037 "dependencies": { 4128 5038 "cssesc": "^3.0.0", ··· 4183 5093 "signal-exit": "^3.0.2" 4184 5094 } 4185 5095 }, 4186 - "node_modules/proper-lockfile/node_modules/retry": { 4187 - "version": "0.12.0", 4188 - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 4189 - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", 4190 - "engines": { 4191 - "node": ">= 4" 4192 - } 4193 - }, 4194 5096 "node_modules/protobufjs": { 4195 - "version": "7.1.2", 4196 - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz", 4197 - "integrity": "sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ==", 5097 + "version": "7.2.3", 5098 + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.3.tgz", 5099 + "integrity": "sha512-TtpvOqwB5Gdz/PQmOjgsrGH1nHjAQVCN7JG4A6r1sXRWESL5rNMAiRcBQlCAdKxZcAbstExQePYG8xof/JVRgg==", 4198 5100 "hasInstallScript": true, 4199 5101 "dependencies": { 4200 5102 "@protobufjs/aspromise": "^1.1.2", ··· 4225 5127 } 4226 5128 }, 4227 5129 "node_modules/punycode": { 4228 - "version": "2.1.1", 4229 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 4230 - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 5130 + "version": "2.3.0", 5131 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 5132 + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", 4231 5133 "dev": true, 4232 5134 "engines": { 4233 5135 "node": ">=6" ··· 4274 5176 } 4275 5177 }, 4276 5178 "node_modules/readable-stream": { 4277 - "version": "2.3.7", 4278 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 4279 - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 5179 + "version": "4.3.0", 5180 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz", 5181 + "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==", 4280 5182 "dependencies": { 4281 - "core-util-is": "~1.0.0", 4282 - "inherits": "~2.0.3", 4283 - "isarray": "~1.0.0", 4284 - "process-nextick-args": "~2.0.0", 4285 - "safe-buffer": "~5.1.1", 4286 - "string_decoder": "~1.1.1", 4287 - "util-deprecate": "~1.0.1" 5183 + "abort-controller": "^3.0.0", 5184 + "buffer": "^6.0.3", 5185 + "events": "^3.3.0", 5186 + "process": "^0.11.10" 5187 + }, 5188 + "engines": { 5189 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 4288 5190 } 4289 5191 }, 4290 5192 "node_modules/readable-web-to-node-stream": { ··· 4303 5205 } 4304 5206 }, 4305 5207 "node_modules/readable-web-to-node-stream/node_modules/readable-stream": { 4306 - "version": "3.6.0", 4307 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 4308 - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 5208 + "version": "3.6.2", 5209 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 5210 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 4309 5211 "dependencies": { 4310 5212 "inherits": "^2.0.3", 4311 5213 "string_decoder": "^1.1.1", ··· 4340 5242 "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", 4341 5243 "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" 4342 5244 }, 4343 - "node_modules/regexpp": { 4344 - "version": "3.2.0", 4345 - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 4346 - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 4347 - "dev": true, 4348 - "engines": { 4349 - "node": ">=8" 4350 - }, 4351 - "funding": { 4352 - "url": "https://github.com/sponsors/mysticatea" 4353 - } 4354 - }, 4355 5245 "node_modules/remotestoragejs": { 4356 - "version": "1.2.3", 4357 - "resolved": "https://registry.npmjs.org/remotestoragejs/-/remotestoragejs-1.2.3.tgz", 4358 - "integrity": "sha512-uXmWjBC3OoPR7q4v5MHAkYCLzNMvCe7afUeDQSoqdQ53Zw4BjhlF8ARGRVhe+5nbCBuJspaA2O5lTiqp4GVdeA==", 5246 + "version": "2.0.0-beta.6", 5247 + "resolved": "https://registry.npmjs.org/remotestoragejs/-/remotestoragejs-2.0.0-beta.6.tgz", 5248 + "integrity": "sha512-xGBmCPe99F4Gs/IEEzvGFjlmOkG48rRCSFz4+7xFNVs4WUJ3nzkm+fQbKelTB2HHErgOLSIyxc2dloqhI5srAQ==", 4359 5249 "dependencies": { 5250 + "@types/node": "16.11.59", 5251 + "@types/tv4": "^1.2.29", 5252 + "esm": "^3.2.25", 4360 5253 "tv4": "^1.3.0", 4361 - "webfinger.js": "^2.7.0", 4362 - "xhr2": "^0.2.0" 5254 + "webfinger.js": "^2.7.1", 5255 + "xhr2": "^0.2.1" 5256 + }, 5257 + "optionalDependencies": { 5258 + "fsevents": "^2.3.2" 4363 5259 } 5260 + }, 5261 + "node_modules/remotestoragejs/node_modules/@types/node": { 5262 + "version": "16.11.59", 5263 + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.59.tgz", 5264 + "integrity": "sha512-6u+36Dj3aDzhfBVUf/mfmc92OEdzQ2kx2jcXGdigfl70E/neV21ZHE6UCz4MDzTRcVqGAM27fk+DLXvyDsn3Jw==" 4364 5265 }, 4365 5266 "node_modules/resolve": { 4366 - "version": "1.22.1", 4367 - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 4368 - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 5267 + "version": "1.22.2", 5268 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", 5269 + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", 4369 5270 "dev": true, 4370 5271 "dependencies": { 4371 - "is-core-module": "^2.9.0", 5272 + "is-core-module": "^2.11.0", 4372 5273 "path-parse": "^1.0.7", 4373 5274 "supports-preserve-symlinks-flag": "^1.0.0" 4374 5275 }, ··· 4420 5321 } 4421 5322 }, 4422 5323 "node_modules/retry": { 4423 - "version": "0.13.1", 4424 - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", 4425 - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", 5324 + "version": "0.12.0", 5325 + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 5326 + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", 4426 5327 "engines": { 4427 5328 "node": ">= 4" 4428 5329 } ··· 4498 5399 } 4499 5400 }, 4500 5401 "node_modules/safe-buffer": { 4501 - "version": "5.1.2", 4502 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 4503 - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 5402 + "version": "5.2.1", 5403 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 5404 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 5405 + "funding": [ 5406 + { 5407 + "type": "github", 5408 + "url": "https://github.com/sponsors/feross" 5409 + }, 5410 + { 5411 + "type": "patreon", 5412 + "url": "https://www.patreon.com/feross" 5413 + }, 5414 + { 5415 + "type": "consulting", 5416 + "url": "https://feross.org/support" 5417 + } 5418 + ] 4504 5419 }, 4505 5420 "node_modules/seedrandom": { 4506 5421 "version": "3.0.5", 4507 5422 "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", 4508 5423 "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" 4509 5424 }, 5425 + "node_modules/semver": { 5426 + "version": "7.5.0", 5427 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", 5428 + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", 5429 + "dev": true, 5430 + "dependencies": { 5431 + "lru-cache": "^6.0.0" 5432 + }, 5433 + "bin": { 5434 + "semver": "bin/semver.js" 5435 + }, 5436 + "engines": { 5437 + "node": ">=10" 5438 + } 5439 + }, 4510 5440 "node_modules/setimmediate": { 4511 5441 "version": "1.0.5", 4512 5442 "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", ··· 4544 5474 "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", 4545 5475 "dev": true 4546 5476 }, 5477 + "node_modules/slash": { 5478 + "version": "3.0.0", 5479 + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 5480 + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 5481 + "dev": true, 5482 + "engines": { 5483 + "node": ">=8" 5484 + } 5485 + }, 4547 5486 "node_modules/sort-keys": { 4548 5487 "version": "5.0.0", 4549 5488 "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz", ··· 4587 5526 } 4588 5527 }, 4589 5528 "node_modules/string_decoder": { 4590 - "version": "1.1.1", 4591 - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 4592 - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 5529 + "version": "1.3.0", 5530 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 5531 + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 4593 5532 "dependencies": { 4594 - "safe-buffer": "~5.1.0" 5533 + "safe-buffer": "~5.2.0" 4595 5534 } 4596 5535 }, 4597 5536 "node_modules/string-width": { ··· 4648 5587 "url": "https://github.com/sponsors/Borewit" 4649 5588 } 4650 5589 }, 4651 - "node_modules/subworkers": { 4652 - "version": "1.0.1", 4653 - "resolved": "https://registry.npmjs.org/subworkers/-/subworkers-1.0.1.tgz", 4654 - "integrity": "sha512-5R3HH7AMvvuWozRqgOCe/zJic3Hn/mdVHpg7ILuo2BV8qosTiDDngLpsvNernPnUnH57fP3IWU8Eux354E2WcQ==" 5590 + "node_modules/sucrase": { 5591 + "version": "3.32.0", 5592 + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", 5593 + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", 5594 + "dev": true, 5595 + "dependencies": { 5596 + "@jridgewell/gen-mapping": "^0.3.2", 5597 + "commander": "^4.0.0", 5598 + "glob": "7.1.6", 5599 + "lines-and-columns": "^1.1.6", 5600 + "mz": "^2.7.0", 5601 + "pirates": "^4.0.1", 5602 + "ts-interface-checker": "^0.1.9" 5603 + }, 5604 + "bin": { 5605 + "sucrase": "bin/sucrase", 5606 + "sucrase-node": "bin/sucrase-node" 5607 + }, 5608 + "engines": { 5609 + "node": ">=8" 5610 + } 5611 + }, 5612 + "node_modules/sucrase/node_modules/glob": { 5613 + "version": "7.1.6", 5614 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 5615 + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 5616 + "dev": true, 5617 + "dependencies": { 5618 + "fs.realpath": "^1.0.0", 5619 + "inflight": "^1.0.4", 5620 + "inherits": "2", 5621 + "minimatch": "^3.0.4", 5622 + "once": "^1.3.0", 5623 + "path-is-absolute": "^1.0.0" 5624 + }, 5625 + "engines": { 5626 + "node": "*" 5627 + }, 5628 + "funding": { 5629 + "url": "https://github.com/sponsors/isaacs" 5630 + } 4655 5631 }, 4656 5632 "node_modules/supports-color": { 4657 5633 "version": "7.2.0", ··· 4691 5667 } 4692 5668 }, 4693 5669 "node_modules/tailwindcss": { 4694 - "version": "3.2.4", 4695 - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", 4696 - "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", 5670 + "version": "3.3.2", 5671 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", 5672 + "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", 4697 5673 "dev": true, 4698 5674 "dependencies": { 5675 + "@alloc/quick-lru": "^5.2.0", 4699 5676 "arg": "^5.0.2", 4700 5677 "chokidar": "^3.5.3", 4701 - "color-name": "^1.1.4", 4702 - "detective": "^5.2.1", 4703 5678 "didyoumean": "^1.2.2", 4704 5679 "dlv": "^1.1.3", 4705 5680 "fast-glob": "^3.2.12", 4706 5681 "glob-parent": "^6.0.2", 4707 5682 "is-glob": "^4.0.3", 4708 - "lilconfig": "^2.0.6", 5683 + "jiti": "^1.18.2", 5684 + "lilconfig": "^2.1.0", 4709 5685 "micromatch": "^4.0.5", 4710 5686 "normalize-path": "^3.0.0", 4711 5687 "object-hash": "^3.0.0", 4712 5688 "picocolors": "^1.0.0", 4713 - "postcss": "^8.4.18", 4714 - "postcss-import": "^14.1.0", 4715 - "postcss-js": "^4.0.0", 4716 - "postcss-load-config": "^3.1.4", 4717 - "postcss-nested": "6.0.0", 4718 - "postcss-selector-parser": "^6.0.10", 5689 + "postcss": "^8.4.23", 5690 + "postcss-import": "^15.1.0", 5691 + "postcss-js": "^4.0.1", 5692 + "postcss-load-config": "^4.0.1", 5693 + "postcss-nested": "^6.0.1", 5694 + "postcss-selector-parser": "^6.0.11", 4719 5695 "postcss-value-parser": "^4.2.0", 4720 - "quick-lru": "^5.1.1", 4721 - "resolve": "^1.22.1" 5696 + "resolve": "^1.22.2", 5697 + "sucrase": "^3.32.0" 4722 5698 }, 4723 5699 "bin": { 4724 5700 "tailwind": "lib/cli.js", 4725 5701 "tailwindcss": "lib/cli.js" 4726 5702 }, 4727 5703 "engines": { 4728 - "node": ">=12.13.0" 4729 - }, 4730 - "peerDependencies": { 4731 - "postcss": "^8.0.9" 5704 + "node": ">=14.0.0" 4732 5705 } 4733 5706 }, 4734 5707 "node_modules/tailwindcss-animations": { ··· 4811 5784 "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 4812 5785 "dev": true 4813 5786 }, 5787 + "node_modules/thenify": { 5788 + "version": "3.3.1", 5789 + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 5790 + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 5791 + "dev": true, 5792 + "dependencies": { 5793 + "any-promise": "^1.0.0" 5794 + } 5795 + }, 5796 + "node_modules/thenify-all": { 5797 + "version": "1.6.0", 5798 + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 5799 + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 5800 + "dev": true, 5801 + "dependencies": { 5802 + "thenify": ">= 3.1.0 < 4" 5803 + }, 5804 + "engines": { 5805 + "node": ">=0.8" 5806 + } 5807 + }, 4814 5808 "node_modules/throttle-debounce": { 4815 - "version": "3.0.1", 4816 - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", 4817 - "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==", 5809 + "version": "5.0.0", 5810 + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", 5811 + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", 4818 5812 "engines": { 4819 - "node": ">=10" 5813 + "node": ">=12.22" 4820 5814 } 4821 5815 }, 4822 5816 "node_modules/timer.js": { ··· 4842 5836 "integrity": "sha512-FXofUGAFcgEIEOS3m9Dk9URaY3x+JeerPfVFc8K820PjV0JcCsH98BFxrVOTANC8YvM4QTrmKMol2/818gFmCw==" 4843 5837 }, 4844 5838 "node_modules/token-types": { 4845 - "version": "4.2.1", 4846 - "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", 4847 - "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==", 5839 + "version": "5.0.1", 5840 + "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", 5841 + "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", 4848 5842 "dependencies": { 4849 5843 "@tokenizer/token": "^0.3.0", 4850 5844 "ieee754": "^1.2.1" 4851 5845 }, 4852 5846 "engines": { 4853 - "node": ">=10" 5847 + "node": ">=14.16" 4854 5848 }, 4855 5849 "funding": { 4856 5850 "type": "github", ··· 4862 5856 "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 4863 5857 "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 4864 5858 }, 5859 + "node_modules/ts-interface-checker": { 5860 + "version": "0.1.13", 5861 + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 5862 + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 5863 + "dev": true 5864 + }, 5865 + "node_modules/tslib": { 5866 + "version": "1.14.1", 5867 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 5868 + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", 5869 + "dev": true 5870 + }, 5871 + "node_modules/tsutils": { 5872 + "version": "3.21.0", 5873 + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", 5874 + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", 5875 + "dev": true, 5876 + "dependencies": { 5877 + "tslib": "^1.8.1" 5878 + }, 5879 + "engines": { 5880 + "node": ">= 6" 5881 + }, 5882 + "peerDependencies": { 5883 + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" 5884 + } 5885 + }, 4865 5886 "node_modules/tv4": { 4866 5887 "version": "1.3.0", 4867 5888 "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.3.0.tgz", ··· 4899 5920 "url": "https://github.com/sponsors/sindresorhus" 4900 5921 } 4901 5922 }, 5923 + "node_modules/typescript": { 5924 + "version": "5.0.4", 5925 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", 5926 + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", 5927 + "dev": true, 5928 + "peer": true, 5929 + "bin": { 5930 + "tsc": "bin/tsc", 5931 + "tsserver": "bin/tsserver" 5932 + }, 5933 + "engines": { 5934 + "node": ">=12.20" 5935 + } 5936 + }, 4902 5937 "node_modules/uint8arraylist": { 4903 5938 "version": "2.4.3", 4904 5939 "resolved": "https://registry.npmjs.org/uint8arraylist/-/uint8arraylist-2.4.3.tgz", ··· 4911 5946 "npm": ">=7.0.0" 4912 5947 } 4913 5948 }, 4914 - "node_modules/uint8arraylist/node_modules/multiformats": { 4915 - "version": "11.0.0", 4916 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 4917 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==", 4918 - "engines": { 4919 - "node": ">=16.0.0", 4920 - "npm": ">=7.0.0" 4921 - } 4922 - }, 4923 - "node_modules/uint8arraylist/node_modules/uint8arrays": { 5949 + "node_modules/uint8arrays": { 4924 5950 "version": "4.0.3", 4925 5951 "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 4926 5952 "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", ··· 4932 5958 "npm": ">=7.0.0" 4933 5959 } 4934 5960 }, 4935 - "node_modules/uint8arrays": { 4936 - "version": "3.1.1", 4937 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", 4938 - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", 4939 - "dependencies": { 4940 - "multiformats": "^9.4.2" 4941 - } 4942 - }, 4943 - "node_modules/uint8arrays/node_modules/multiformats": { 4944 - "version": "9.9.0", 4945 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", 4946 - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" 4947 - }, 4948 5961 "node_modules/undici": { 4949 - "version": "5.15.0", 4950 - "resolved": "https://registry.npmjs.org/undici/-/undici-5.15.0.tgz", 4951 - "integrity": "sha512-wCAZJDyjw9Myv+Ay62LAoB+hZLPW9SmKbQkbHIhMw/acKSlpn7WohdMUc/Vd4j1iSMBO0hWwU8mjB7a5p5bl8g==", 5962 + "version": "5.22.0", 5963 + "resolved": "https://registry.npmjs.org/undici/-/undici-5.22.0.tgz", 5964 + "integrity": "sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==", 4952 5965 "dependencies": { 4953 5966 "busboy": "^1.6.0" 4954 5967 }, 4955 5968 "engines": { 4956 - "node": ">=12.18" 5969 + "node": ">=14.0" 4957 5970 } 4958 5971 }, 4959 5972 "node_modules/universalify": { ··· 4966 5979 } 4967 5980 }, 4968 5981 "node_modules/update-browserslist-db": { 4969 - "version": "1.0.10", 4970 - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", 4971 - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", 5982 + "version": "1.0.11", 5983 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", 5984 + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", 4972 5985 "dev": true, 4973 5986 "funding": [ 4974 5987 { ··· 4978 5991 { 4979 5992 "type": "tidelift", 4980 5993 "url": "https://tidelift.com/funding/github/npm/browserslist" 5994 + }, 5995 + { 5996 + "type": "github", 5997 + "url": "https://github.com/sponsors/ai" 4981 5998 } 4982 5999 ], 4983 6000 "dependencies": { ··· 4985 6002 "picocolors": "^1.0.0" 4986 6003 }, 4987 6004 "bin": { 4988 - "browserslist-lint": "cli.js" 6005 + "update-browserslist-db": "cli.js" 4989 6006 }, 4990 6007 "peerDependencies": { 4991 6008 "browserslist": ">= 4.21.0" ··· 5045 6062 "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 5046 6063 "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 5047 6064 }, 5048 - "node_modules/webnative": { 5049 - "version": "0.36.2", 5050 - "resolved": "https://registry.npmjs.org/webnative/-/webnative-0.36.2.tgz", 5051 - "integrity": "sha512-WrFT/BEEro+QC21gZuegBI3bOR1x0j4AxZTWHa8fC7nhMi1rdc/KuAuPV0yKB7T4xlB8j00N44B+pdfa/h4Rww==", 5052 - "dependencies": { 5053 - "@ipld/dag-cbor": "^8.0.0", 5054 - "@ipld/dag-pb": "^3.0.1", 5055 - "@libp2p/interface-keys": "^1.0.4", 5056 - "@libp2p/peer-id": "^1.1.17", 5057 - "@multiformats/multiaddr": "^11.1.0", 5058 - "blockstore-core": "^2.0.2", 5059 - "blockstore-datastore-adapter": "^4.0.0", 5060 - "datastore-core": "^8.0.2", 5061 - "datastore-level": "^9.0.4", 5062 - "events": "^3.3.0", 5063 - "fission-bloom-filters": "1.7.1", 5064 - "ipfs-core-types": "0.13.0", 5065 - "ipfs-repo": "^16.0.0", 5066 - "keystore-idb": "^0.15.5", 5067 - "localforage": "^1.10.0", 5068 - "multiformats": "^10.0.2", 5069 - "one-webcrypto": "^1.0.3", 5070 - "throttle-debounce": "^3.0.1", 5071 - "tweetnacl": "^1.0.3", 5072 - "uint8arrays": "^3.0.0", 5073 - "wnfs": "0.1.7" 5074 - }, 5075 - "engines": { 5076 - "node": ">=16" 5077 - } 5078 - }, 5079 6065 "node_modules/whatwg-url": { 5080 6066 "version": "5.0.0", 5081 6067 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", ··· 5162 6148 "node": ">= 6" 5163 6149 } 5164 6150 }, 5165 - "node_modules/xtend": { 5166 - "version": "4.0.2", 5167 - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 5168 - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 5169 - "dev": true, 5170 - "engines": { 5171 - "node": ">=0.4" 5172 - } 5173 - }, 5174 6151 "node_modules/xxhashjs": { 5175 6152 "version": "0.2.2", 5176 6153 "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", ··· 5179 6156 "cuint": "^0.2.2" 5180 6157 } 5181 6158 }, 6159 + "node_modules/yallist": { 6160 + "version": "4.0.0", 6161 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 6162 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 6163 + "dev": true 6164 + }, 5182 6165 "node_modules/yaml": { 5183 - "version": "1.10.2", 5184 - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 5185 - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 6166 + "version": "2.2.2", 6167 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", 6168 + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", 5186 6169 "dev": true, 5187 6170 "engines": { 5188 - "node": ">= 6" 6171 + "node": ">= 14" 5189 6172 } 5190 6173 }, 5191 6174 "node_modules/yocto-queue": { ··· 5202 6185 } 5203 6186 }, 5204 6187 "dependencies": { 6188 + "@alloc/quick-lru": { 6189 + "version": "5.2.0", 6190 + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 6191 + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 6192 + "dev": true 6193 + }, 5205 6194 "@chainsafe/is-ip": { 5206 6195 "version": "2.0.1", 5207 6196 "resolved": "https://registry.npmjs.org/@chainsafe/is-ip/-/is-ip-2.0.1.tgz", 5208 6197 "integrity": "sha512-nqSJ8u2a1Rv9FYbyI8qpDhTYujaKEyLknNrTejLYoSWmdeg+2WB7R6BZqPZYfrJzDxVi3rl6ZQuoaEvpKRZWgQ==" 5209 6198 }, 6199 + "@chainsafe/netmask": { 6200 + "version": "2.0.0", 6201 + "resolved": "https://registry.npmjs.org/@chainsafe/netmask/-/netmask-2.0.0.tgz", 6202 + "integrity": "sha512-I3Z+6SWUoaljh3TBzCnCxjlUyN8tA+NAk5L6m9IxvCf1BENQTePzPMis97CoN/iMW1St3WN+AWCCRp+TTBRiDg==", 6203 + "requires": { 6204 + "@chainsafe/is-ip": "^2.0.1" 6205 + } 6206 + }, 6207 + "@csstools/cascade-layer-name-parser": { 6208 + "version": "1.0.2", 6209 + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.2.tgz", 6210 + "integrity": "sha512-xm7Mgwej/wBfLoK0K5LfntmPJzoULayl1XZY9JYgQgT29JiqNw++sLnx95u5y9zCihblzkyaRYJrsRMhIBzRdg==", 6211 + "dev": true, 6212 + "requires": {} 6213 + }, 6214 + "@csstools/css-parser-algorithms": { 6215 + "version": "2.1.1", 6216 + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.1.1.tgz", 6217 + "integrity": "sha512-viRnRh02AgO4mwIQb2xQNJju0i+Fh9roNgmbR5xEuG7J3TGgxjnE95HnBLgsFJOJOksvcfxOUCgODcft6Y07cA==", 6218 + "dev": true, 6219 + "requires": {} 6220 + }, 6221 + "@csstools/css-tokenizer": { 6222 + "version": "2.1.1", 6223 + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz", 6224 + "integrity": "sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==", 6225 + "dev": true 6226 + }, 6227 + "@esbuild/android-arm": { 6228 + "version": "0.17.18", 6229 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.18.tgz", 6230 + "integrity": "sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==", 6231 + "dev": true, 6232 + "optional": true 6233 + }, 6234 + "@esbuild/android-arm64": { 6235 + "version": "0.17.18", 6236 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz", 6237 + "integrity": "sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==", 6238 + "dev": true, 6239 + "optional": true 6240 + }, 6241 + "@esbuild/android-x64": { 6242 + "version": "0.17.18", 6243 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.18.tgz", 6244 + "integrity": "sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==", 6245 + "dev": true, 6246 + "optional": true 6247 + }, 5210 6248 "@esbuild/darwin-arm64": { 5211 - "version": "0.16.4", 5212 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz", 5213 - "integrity": "sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg==", 6249 + "version": "0.17.18", 6250 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz", 6251 + "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==", 6252 + "dev": true, 6253 + "optional": true 6254 + }, 6255 + "@esbuild/darwin-x64": { 6256 + "version": "0.17.18", 6257 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz", 6258 + "integrity": "sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==", 6259 + "dev": true, 6260 + "optional": true 6261 + }, 6262 + "@esbuild/freebsd-arm64": { 6263 + "version": "0.17.18", 6264 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz", 6265 + "integrity": "sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==", 6266 + "dev": true, 6267 + "optional": true 6268 + }, 6269 + "@esbuild/freebsd-x64": { 6270 + "version": "0.17.18", 6271 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz", 6272 + "integrity": "sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==", 6273 + "dev": true, 6274 + "optional": true 6275 + }, 6276 + "@esbuild/linux-arm": { 6277 + "version": "0.17.18", 6278 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz", 6279 + "integrity": "sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==", 6280 + "dev": true, 6281 + "optional": true 6282 + }, 6283 + "@esbuild/linux-arm64": { 6284 + "version": "0.17.18", 6285 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz", 6286 + "integrity": "sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==", 6287 + "dev": true, 6288 + "optional": true 6289 + }, 6290 + "@esbuild/linux-ia32": { 6291 + "version": "0.17.18", 6292 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz", 6293 + "integrity": "sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==", 6294 + "dev": true, 6295 + "optional": true 6296 + }, 6297 + "@esbuild/linux-loong64": { 6298 + "version": "0.17.18", 6299 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz", 6300 + "integrity": "sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==", 5214 6301 "dev": true, 5215 6302 "optional": true 5216 6303 }, 6304 + "@esbuild/linux-mips64el": { 6305 + "version": "0.17.18", 6306 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz", 6307 + "integrity": "sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==", 6308 + "dev": true, 6309 + "optional": true 6310 + }, 6311 + "@esbuild/linux-ppc64": { 6312 + "version": "0.17.18", 6313 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz", 6314 + "integrity": "sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==", 6315 + "dev": true, 6316 + "optional": true 6317 + }, 6318 + "@esbuild/linux-riscv64": { 6319 + "version": "0.17.18", 6320 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz", 6321 + "integrity": "sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==", 6322 + "dev": true, 6323 + "optional": true 6324 + }, 6325 + "@esbuild/linux-s390x": { 6326 + "version": "0.17.18", 6327 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz", 6328 + "integrity": "sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==", 6329 + "dev": true, 6330 + "optional": true 6331 + }, 6332 + "@esbuild/linux-x64": { 6333 + "version": "0.17.18", 6334 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz", 6335 + "integrity": "sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==", 6336 + "dev": true, 6337 + "optional": true 6338 + }, 6339 + "@esbuild/netbsd-x64": { 6340 + "version": "0.17.18", 6341 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz", 6342 + "integrity": "sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==", 6343 + "dev": true, 6344 + "optional": true 6345 + }, 6346 + "@esbuild/openbsd-x64": { 6347 + "version": "0.17.18", 6348 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz", 6349 + "integrity": "sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==", 6350 + "dev": true, 6351 + "optional": true 6352 + }, 6353 + "@esbuild/sunos-x64": { 6354 + "version": "0.17.18", 6355 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz", 6356 + "integrity": "sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==", 6357 + "dev": true, 6358 + "optional": true 6359 + }, 6360 + "@esbuild/win32-arm64": { 6361 + "version": "0.17.18", 6362 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz", 6363 + "integrity": "sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==", 6364 + "dev": true, 6365 + "optional": true 6366 + }, 6367 + "@esbuild/win32-ia32": { 6368 + "version": "0.17.18", 6369 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz", 6370 + "integrity": "sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==", 6371 + "dev": true, 6372 + "optional": true 6373 + }, 6374 + "@esbuild/win32-x64": { 6375 + "version": "0.17.18", 6376 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz", 6377 + "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==", 6378 + "dev": true, 6379 + "optional": true 6380 + }, 6381 + "@eslint-community/eslint-utils": { 6382 + "version": "4.4.0", 6383 + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", 6384 + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", 6385 + "dev": true, 6386 + "requires": { 6387 + "eslint-visitor-keys": "^3.3.0" 6388 + } 6389 + }, 6390 + "@eslint-community/regexpp": { 6391 + "version": "4.5.1", 6392 + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", 6393 + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", 6394 + "dev": true 6395 + }, 5217 6396 "@eslint/eslintrc": { 5218 - "version": "1.3.3", 5219 - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", 5220 - "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", 6397 + "version": "2.0.2", 6398 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", 6399 + "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", 5221 6400 "dev": true, 5222 6401 "requires": { 5223 6402 "ajv": "^6.12.4", 5224 6403 "debug": "^4.3.2", 5225 - "espree": "^9.4.0", 5226 - "globals": "^13.15.0", 6404 + "espree": "^9.5.1", 6405 + "globals": "^13.19.0", 5227 6406 "ignore": "^5.2.0", 5228 6407 "import-fresh": "^3.2.1", 5229 6408 "js-yaml": "^4.1.0", 5230 6409 "minimatch": "^3.1.2", 5231 6410 "strip-json-comments": "^3.1.1" 5232 6411 } 6412 + }, 6413 + "@eslint/js": { 6414 + "version": "8.39.0", 6415 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz", 6416 + "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==", 6417 + "dev": true 5233 6418 }, 5234 6419 "@humanwhocodes/config-array": { 5235 - "version": "0.11.7", 5236 - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", 5237 - "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==", 6420 + "version": "0.11.8", 6421 + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", 6422 + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", 5238 6423 "dev": true, 5239 6424 "requires": { 5240 6425 "@humanwhocodes/object-schema": "^1.2.1", ··· 5261 6446 "requires": { 5262 6447 "cborg": "^1.6.0", 5263 6448 "multiformats": "^11.0.0" 5264 - }, 5265 - "dependencies": { 5266 - "multiformats": { 5267 - "version": "11.0.0", 5268 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 5269 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 5270 - } 5271 6449 } 5272 6450 }, 5273 6451 "@ipld/dag-pb": { ··· 5276 6454 "integrity": "sha512-ge+llKU/CNc6rX5ZcUhCrPXJjKjN1DsolDOJ99zOsousGOhepoIgvT01iAP8s7QN9QFciOE+a1jHdccs+CyhBA==", 5277 6455 "requires": { 5278 6456 "multiformats": "^11.0.0" 6457 + } 6458 + }, 6459 + "@jridgewell/gen-mapping": { 6460 + "version": "0.3.3", 6461 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 6462 + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 6463 + "dev": true, 6464 + "requires": { 6465 + "@jridgewell/set-array": "^1.0.1", 6466 + "@jridgewell/sourcemap-codec": "^1.4.10", 6467 + "@jridgewell/trace-mapping": "^0.3.9" 6468 + } 6469 + }, 6470 + "@jridgewell/resolve-uri": { 6471 + "version": "3.1.0", 6472 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", 6473 + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", 6474 + "dev": true 6475 + }, 6476 + "@jridgewell/set-array": { 6477 + "version": "1.1.2", 6478 + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 6479 + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 6480 + "dev": true 6481 + }, 6482 + "@jridgewell/sourcemap-codec": { 6483 + "version": "1.4.15", 6484 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 6485 + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 6486 + "dev": true 6487 + }, 6488 + "@jridgewell/trace-mapping": { 6489 + "version": "0.3.18", 6490 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", 6491 + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", 6492 + "dev": true, 6493 + "requires": { 6494 + "@jridgewell/resolve-uri": "3.1.0", 6495 + "@jridgewell/sourcemap-codec": "1.4.14" 5279 6496 }, 5280 6497 "dependencies": { 5281 - "multiformats": { 5282 - "version": "11.0.0", 5283 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 5284 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 6498 + "@jridgewell/sourcemap-codec": { 6499 + "version": "1.4.14", 6500 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", 6501 + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", 6502 + "dev": true 5285 6503 } 5286 6504 } 5287 6505 }, 5288 6506 "@libp2p/interface-connection": { 5289 - "version": "3.0.7", 5290 - "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-3.0.7.tgz", 5291 - "integrity": "sha512-MBDrGlrSO1nL1DqqjNQzZSjcY2tobo6BOo9DxCFbaESiK7u1YLBNo9Amd0o5bPpFjez+O/VSasz9x3SQpHU1qQ==", 6507 + "version": "4.0.0", 6508 + "resolved": "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-4.0.0.tgz", 6509 + "integrity": "sha512-6xx/NmEc84HX7QmsjSC3hHredQYjHv4Dkf4G27adAPf+qN+vnPxmQ7gaTnk243a0++DOFTbZ2gKX/15G2B6SRg==", 5292 6510 "requires": { 5293 6511 "@libp2p/interface-peer-id": "^2.0.0", 5294 6512 "@libp2p/interfaces": "^3.0.0", 5295 - "@multiformats/multiaddr": "^11.0.0", 6513 + "@multiformats/multiaddr": "^12.0.0", 5296 6514 "it-stream-types": "^1.0.4", 5297 6515 "uint8arraylist": "^2.1.2" 5298 6516 }, 5299 6517 "dependencies": { 5300 6518 "@libp2p/interface-peer-id": { 5301 - "version": "2.0.0", 5302 - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.0.tgz", 5303 - "integrity": "sha512-TZmJy/tfWNvX/n1TWby6V+LP9Pg3ZYJbSkqQfnqp/hCCN3Xhd2KrDTm4LWq5MMunr4Xk9xLUJdK41W2wUF7OQw==", 6519 + "version": "2.0.1", 6520 + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", 6521 + "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", 5304 6522 "requires": { 5305 6523 "multiformats": "^11.0.0" 5306 6524 } 5307 6525 }, 5308 - "multiformats": { 5309 - "version": "11.0.0", 5310 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 5311 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 6526 + "@multiformats/multiaddr": { 6527 + "version": "12.1.2", 6528 + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-12.1.2.tgz", 6529 + "integrity": "sha512-EYYUEAddjWoyig5Dcu+JGq2JdpEpT2tW/K4sefdDWVSQW+rfnABfz1rx/KnrituB20jC8aPBcT62kISTZ3oL5A==", 6530 + "requires": { 6531 + "@chainsafe/is-ip": "^2.0.1", 6532 + "@chainsafe/netmask": "^2.0.0", 6533 + "@libp2p/interfaces": "^3.3.1", 6534 + "dns-over-http-resolver": "^2.1.0", 6535 + "multiformats": "^11.0.0", 6536 + "uint8arrays": "^4.0.2", 6537 + "varint": "^6.0.0" 6538 + } 5312 6539 } 5313 6540 } 5314 6541 }, ··· 5318 6545 "integrity": "sha512-JqI7mMthIafP8cGhhsmIs/M0Ey+ivHLcpzqbVVzMFiFVi1dC03R7EHlalcaPn8yaLSvlmI0MqjC8lJYuvlFjfw==", 5319 6546 "requires": { 5320 6547 "multiformats": "^10.0.0" 6548 + }, 6549 + "dependencies": { 6550 + "multiformats": { 6551 + "version": "10.0.3", 6552 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 6553 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==" 6554 + } 5321 6555 } 5322 6556 }, 5323 6557 "@libp2p/interface-keys": { 5324 - "version": "1.0.6", 5325 - "resolved": "https://registry.npmjs.org/@libp2p/interface-keys/-/interface-keys-1.0.6.tgz", 5326 - "integrity": "sha512-cYe8DyKONA4TFdjEnPTPSWRntBH5+MMzivjtduVQukv7aO6PpihBF4PixzhKds+ciR2TMIkGXPsDaehmmU0Mqw==" 6558 + "version": "1.0.7", 6559 + "resolved": "https://registry.npmjs.org/@libp2p/interface-keys/-/interface-keys-1.0.7.tgz", 6560 + "integrity": "sha512-DRMPY9LfcnGJKrjaqIkY62U3fW2dya3VLy4x986ExtMrGn4kxIHeQ1IKk8/Vs9CJHTKmXEMID4of1Cjnw4aJpA==" 5327 6561 }, 5328 6562 "@libp2p/interface-peer-id": { 5329 6563 "version": "1.1.2", ··· 5331 6565 "integrity": "sha512-S5iyVzG2EUgxm4NLe8W4ya9kpKuGfHs7Wbbos0wOUB4GXsbIKgOOxIr4yf+xGFgtEBaoximvlLkpob6dn8VFgA==", 5332 6566 "requires": { 5333 6567 "multiformats": "^10.0.0" 6568 + }, 6569 + "dependencies": { 6570 + "multiformats": { 6571 + "version": "10.0.3", 6572 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 6573 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==" 6574 + } 5334 6575 } 5335 6576 }, 5336 6577 "@libp2p/interface-peer-info": { 5337 - "version": "1.0.7", 5338 - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-info/-/interface-peer-info-1.0.7.tgz", 5339 - "integrity": "sha512-aVI4ii1DFBF1dmQM5uemtO/qxNedCREzBtt2kAQtusN55BKT9GOlBSme+xTYpXw63iDrbtLXgJH+gNPoPkwJeQ==", 6578 + "version": "1.0.9", 6579 + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-info/-/interface-peer-info-1.0.9.tgz", 6580 + "integrity": "sha512-XewuwXMVYMcwaxhH9PFVfsFNEXi2OEe9TgkBwvZbbtwTI2Cz6zvKS1tT4f+ATCXjQbN840Nhe6ETPQ4TfhThOQ==", 5340 6581 "requires": { 5341 6582 "@libp2p/interface-peer-id": "^2.0.0", 5342 - "@multiformats/multiaddr": "^11.0.0" 6583 + "@multiformats/multiaddr": "^12.0.0" 5343 6584 }, 5344 6585 "dependencies": { 5345 6586 "@libp2p/interface-peer-id": { 5346 - "version": "2.0.0", 5347 - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.0.tgz", 5348 - "integrity": "sha512-TZmJy/tfWNvX/n1TWby6V+LP9Pg3ZYJbSkqQfnqp/hCCN3Xhd2KrDTm4LWq5MMunr4Xk9xLUJdK41W2wUF7OQw==", 6587 + "version": "2.0.1", 6588 + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", 6589 + "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", 5349 6590 "requires": { 5350 6591 "multiformats": "^11.0.0" 5351 6592 } 5352 6593 }, 5353 - "multiformats": { 5354 - "version": "11.0.0", 5355 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 5356 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 6594 + "@multiformats/multiaddr": { 6595 + "version": "12.1.2", 6596 + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-12.1.2.tgz", 6597 + "integrity": "sha512-EYYUEAddjWoyig5Dcu+JGq2JdpEpT2tW/K4sefdDWVSQW+rfnABfz1rx/KnrituB20jC8aPBcT62kISTZ3oL5A==", 6598 + "requires": { 6599 + "@chainsafe/is-ip": "^2.0.1", 6600 + "@chainsafe/netmask": "^2.0.0", 6601 + "@libp2p/interfaces": "^3.3.1", 6602 + "dns-over-http-resolver": "^2.1.0", 6603 + "multiformats": "^11.0.0", 6604 + "uint8arrays": "^4.0.2", 6605 + "varint": "^6.0.0" 6606 + } 5357 6607 } 5358 6608 } 5359 6609 }, 5360 6610 "@libp2p/interface-pubsub": { 5361 - "version": "3.0.5", 5362 - "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-3.0.5.tgz", 5363 - "integrity": "sha512-+DsqrkDeYBuokMCuqLvlsdq4D/Tcs9bwSHeNUw1V88ffZE+pqmMIYntyIpFoI4SCLOxqB8U1B5yAlF/OBuJFSw==", 6611 + "version": "3.0.7", 6612 + "resolved": "https://registry.npmjs.org/@libp2p/interface-pubsub/-/interface-pubsub-3.0.7.tgz", 6613 + "integrity": "sha512-+c74EVUBTfw2sx1GE/z/IjsYO6dhur+ukF0knAppeZsRQ1Kgg6K5R3eECtT28fC6dBWLjFpAvW/7QGfiDAL4RA==", 5364 6614 "requires": { 5365 - "@libp2p/interface-connection": "^3.0.0", 6615 + "@libp2p/interface-connection": "^4.0.0", 5366 6616 "@libp2p/interface-peer-id": "^2.0.0", 5367 6617 "@libp2p/interfaces": "^3.0.0", 5368 6618 "it-pushable": "^3.0.0", ··· 5370 6620 }, 5371 6621 "dependencies": { 5372 6622 "@libp2p/interface-peer-id": { 5373 - "version": "2.0.0", 5374 - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.0.tgz", 5375 - "integrity": "sha512-TZmJy/tfWNvX/n1TWby6V+LP9Pg3ZYJbSkqQfnqp/hCCN3Xhd2KrDTm4LWq5MMunr4Xk9xLUJdK41W2wUF7OQw==", 6623 + "version": "2.0.1", 6624 + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", 6625 + "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", 5376 6626 "requires": { 5377 6627 "multiformats": "^11.0.0" 5378 6628 } 5379 - }, 5380 - "multiformats": { 5381 - "version": "11.0.0", 5382 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 5383 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 5384 6629 } 5385 6630 } 5386 6631 }, 5387 6632 "@libp2p/interfaces": { 5388 - "version": "3.2.0", 5389 - "resolved": "https://registry.npmjs.org/@libp2p/interfaces/-/interfaces-3.2.0.tgz", 5390 - "integrity": "sha512-lIVeMMv/TGcN4k5qfe1ZMwUvZTwWqLs7atxuoNdZ7lEPye94XNuHQj2WXoF9nEELkGKevpUJs/OB+gldl9MuFA==" 6633 + "version": "3.3.1", 6634 + "resolved": "https://registry.npmjs.org/@libp2p/interfaces/-/interfaces-3.3.1.tgz", 6635 + "integrity": "sha512-3N+goQt74SmaVOjwpwMPKLNgh1uDQGw8GD12c40Kc86WOq0qvpm3NfACW+H8Su2X6KmWjCSMzk9JWs9+8FtUfg==" 5391 6636 }, 5392 6637 "@libp2p/logger": { 5393 - "version": "2.0.5", 5394 - "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-2.0.5.tgz", 5395 - "integrity": "sha512-WEhxsc7+gsfuTcljI4vSgW/H2f18aBaC+JiO01FcX841Wxe9szjzHdBLDh9eqygUlzoK0LEeIBfctN7ibzus5A==", 6638 + "version": "2.0.7", 6639 + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-2.0.7.tgz", 6640 + "integrity": "sha512-Zp9C9lMNGfVFTMVc7NvxuxMvIE6gyxDapQc/TqZH02IuIDl1JpZyCgNILr0APd8wcUxwvwRXYNf3kQ0Lmz7tuQ==", 5396 6641 "requires": { 5397 6642 "@libp2p/interface-peer-id": "^2.0.0", 5398 6643 "debug": "^4.3.3", 5399 - "interface-datastore": "^7.0.0", 6644 + "interface-datastore": "^8.0.0", 5400 6645 "multiformats": "^11.0.0" 5401 6646 }, 5402 6647 "dependencies": { 5403 6648 "@libp2p/interface-peer-id": { 5404 - "version": "2.0.0", 5405 - "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.0.tgz", 5406 - "integrity": "sha512-TZmJy/tfWNvX/n1TWby6V+LP9Pg3ZYJbSkqQfnqp/hCCN3Xhd2KrDTm4LWq5MMunr4Xk9xLUJdK41W2wUF7OQw==", 6649 + "version": "2.0.1", 6650 + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-id/-/interface-peer-id-2.0.1.tgz", 6651 + "integrity": "sha512-k01hKHTAZWMOiBC+yyFsmBguEMvhPkXnQtqLtFqga2fVZu8Zve7zFAtQYLhQjeJ4/apeFtO6ddTS8mCE6hl4OA==", 5407 6652 "requires": { 5408 6653 "multiformats": "^11.0.0" 5409 6654 } 5410 6655 }, 5411 - "multiformats": { 5412 - "version": "11.0.0", 5413 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 5414 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 6656 + "interface-datastore": { 6657 + "version": "8.2.0", 6658 + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-8.2.0.tgz", 6659 + "integrity": "sha512-rDMAcpCGxWMubRk2YQuSEHl11bc0xcZeBZzfLvqhoZJdByUWeo7YDJUdgyRKgD6liGXVYirtDkFU9nyn9xl2hg==", 6660 + "requires": { 6661 + "interface-store": "^5.0.0", 6662 + "nanoid": "^4.0.0", 6663 + "uint8arrays": "^4.0.2" 6664 + } 6665 + }, 6666 + "interface-store": { 6667 + "version": "5.1.0", 6668 + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-5.1.0.tgz", 6669 + "integrity": "sha512-mjUwX3XSoreoxCS3sXS3pSRsGnUjl9T06KBqt/T7AgE9Sgp4diH64ZyURJKnj2T5WmCvTbC0Dm+mwQV5hfLSBQ==" 6670 + }, 6671 + "nanoid": { 6672 + "version": "4.0.2", 6673 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 6674 + "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==" 5415 6675 } 5416 6676 } 5417 6677 }, ··· 5426 6686 "uint8arrays": "^4.0.2" 5427 6687 }, 5428 6688 "dependencies": { 5429 - "uint8arrays": { 5430 - "version": "4.0.3", 5431 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 5432 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 5433 - "requires": { 5434 - "multiformats": "^11.0.0" 5435 - }, 5436 - "dependencies": { 5437 - "multiformats": { 5438 - "version": "11.0.0", 5439 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 5440 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 5441 - } 5442 - } 6689 + "multiformats": { 6690 + "version": "10.0.3", 6691 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 6692 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==" 5443 6693 } 5444 6694 } 5445 6695 }, 5446 6696 "@multiformats/multiaddr": { 5447 - "version": "11.1.5", 5448 - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.1.5.tgz", 5449 - "integrity": "sha512-sFppiscvhExFbSUdYl/4wBBOb5IjhYVpuRMBb6RgVjq7qTVHQDQeX3CEjQGdyy7+8A/cixL+fQez4RI+hltkLQ==", 6697 + "version": "11.6.1", 6698 + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.6.1.tgz", 6699 + "integrity": "sha512-doST0+aB7/3dGK9+U5y3mtF3jq85KGbke1QiH0KE1F5mGQ9y56mFebTeu2D9FNOm+OT6UHb8Ss8vbSnpGjeLNw==", 5450 6700 "requires": { 5451 6701 "@chainsafe/is-ip": "^2.0.1", 5452 6702 "dns-over-http-resolver": "^2.1.0", ··· 5454 6704 "multiformats": "^11.0.0", 5455 6705 "uint8arrays": "^4.0.2", 5456 6706 "varint": "^6.0.0" 5457 - }, 5458 - "dependencies": { 5459 - "multiformats": { 5460 - "version": "11.0.0", 5461 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 5462 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 5463 - }, 5464 - "uint8arrays": { 5465 - "version": "4.0.3", 5466 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 5467 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 5468 - "requires": { 5469 - "multiformats": "^11.0.0" 5470 - } 5471 - } 5472 6707 } 5473 6708 }, 5474 6709 "@nodelib/fs.scandir": { ··· 5497 6732 "fastq": "^1.6.0" 5498 6733 } 5499 6734 }, 6735 + "@oddjs/odd": { 6736 + "version": "0.37.1", 6737 + "resolved": "https://registry.npmjs.org/@oddjs/odd/-/odd-0.37.1.tgz", 6738 + "integrity": "sha512-tSzmQ0dB2b1D5SbxNQFE3L9aZu0PM3FfKN+ihisnbS8iifBALy97zDA8DF7IjXYGWTKXiAMeDevCNrVFU6UKPQ==", 6739 + "requires": { 6740 + "@ipld/dag-cbor": "^8.0.0", 6741 + "@ipld/dag-pb": "^3.0.1", 6742 + "@libp2p/interface-keys": "^1.0.4", 6743 + "@libp2p/peer-id": "^1.1.17", 6744 + "@multiformats/multiaddr": "^11.1.0", 6745 + "blockstore-core": "^2.0.2", 6746 + "blockstore-datastore-adapter": "^4.0.0", 6747 + "datastore-core": "^8.0.2", 6748 + "datastore-level": "^9.0.4", 6749 + "events": "^3.3.0", 6750 + "fission-bloom-filters": "1.7.1", 6751 + "ipfs-core-types": "0.13.0", 6752 + "ipfs-repo": "^16.0.0", 6753 + "keystore-idb": "^0.15.5", 6754 + "localforage": "^1.10.0", 6755 + "multiformats": "^10.0.2", 6756 + "one-webcrypto": "^1.0.3", 6757 + "throttle-debounce": "^3.0.1", 6758 + "tweetnacl": "^1.0.3", 6759 + "uint8arrays": "^3.0.0", 6760 + "wnfs": "0.1.7" 6761 + }, 6762 + "dependencies": { 6763 + "multiformats": { 6764 + "version": "10.0.3", 6765 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 6766 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==" 6767 + }, 6768 + "throttle-debounce": { 6769 + "version": "3.0.1", 6770 + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", 6771 + "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==" 6772 + }, 6773 + "uint8arrays": { 6774 + "version": "3.1.1", 6775 + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", 6776 + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", 6777 + "requires": { 6778 + "multiformats": "^9.4.2" 6779 + }, 6780 + "dependencies": { 6781 + "multiformats": { 6782 + "version": "9.9.0", 6783 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", 6784 + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" 6785 + } 6786 + } 6787 + } 6788 + } 6789 + }, 5500 6790 "@protobufjs/aspromise": { 5501 6791 "version": "1.1.2", 5502 6792 "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", ··· 5609 6899 "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", 5610 6900 "dev": true 5611 6901 }, 6902 + "@types/json-schema": { 6903 + "version": "7.0.11", 6904 + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", 6905 + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", 6906 + "dev": true 6907 + }, 5612 6908 "@types/keyv": { 5613 6909 "version": "3.1.4", 5614 6910 "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", ··· 5619 6915 } 5620 6916 }, 5621 6917 "@types/node": { 5622 - "version": "18.11.13", 5623 - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.13.tgz", 5624 - "integrity": "sha512-IASpMGVcWpUsx5xBOrxMj7Bl8lqfuTY7FKAnPmu5cHkfQVWF8GulWS1jbRqA934qZL35xh5xN/+Xe/i26Bod4w==" 6918 + "version": "18.16.3", 6919 + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.3.tgz", 6920 + "integrity": "sha512-OPs5WnnT1xkCBiuQrZA4+YAV4HEJejmHneyraIaxsbev5yCEr6KMwINNFP9wQeFIw8FWcoTqF3vQsa5CDaI+8Q==" 5625 6921 }, 5626 6922 "@types/responselike": { 5627 6923 "version": "1.0.0", ··· 5632 6928 "@types/node": "*" 5633 6929 } 5634 6930 }, 5635 - "@types/retry": { 5636 - "version": "0.12.0", 5637 - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", 5638 - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" 6931 + "@types/semver": { 6932 + "version": "7.3.13", 6933 + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", 6934 + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", 6935 + "dev": true 6936 + }, 6937 + "@types/tv4": { 6938 + "version": "1.2.31", 6939 + "resolved": "https://registry.npmjs.org/@types/tv4/-/tv4-1.2.31.tgz", 6940 + "integrity": "sha512-P97XU07fcpauSw3/fE2Q7eF6bHl4oHhwkikjnM7zlQLENrdC2rZuHSdNlMBhnW82NyBEsVJHII1Jk3d/MtQsQQ==" 6941 + }, 6942 + "@typescript-eslint/eslint-plugin": { 6943 + "version": "5.59.1", 6944 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz", 6945 + "integrity": "sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==", 6946 + "dev": true, 6947 + "requires": { 6948 + "@eslint-community/regexpp": "^4.4.0", 6949 + "@typescript-eslint/scope-manager": "5.59.1", 6950 + "@typescript-eslint/type-utils": "5.59.1", 6951 + "@typescript-eslint/utils": "5.59.1", 6952 + "debug": "^4.3.4", 6953 + "grapheme-splitter": "^1.0.4", 6954 + "ignore": "^5.2.0", 6955 + "natural-compare-lite": "^1.4.0", 6956 + "semver": "^7.3.7", 6957 + "tsutils": "^3.21.0" 6958 + } 6959 + }, 6960 + "@typescript-eslint/parser": { 6961 + "version": "5.59.1", 6962 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz", 6963 + "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==", 6964 + "dev": true, 6965 + "requires": { 6966 + "@typescript-eslint/scope-manager": "5.59.1", 6967 + "@typescript-eslint/types": "5.59.1", 6968 + "@typescript-eslint/typescript-estree": "5.59.1", 6969 + "debug": "^4.3.4" 6970 + } 6971 + }, 6972 + "@typescript-eslint/scope-manager": { 6973 + "version": "5.59.1", 6974 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz", 6975 + "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==", 6976 + "dev": true, 6977 + "requires": { 6978 + "@typescript-eslint/types": "5.59.1", 6979 + "@typescript-eslint/visitor-keys": "5.59.1" 6980 + } 6981 + }, 6982 + "@typescript-eslint/type-utils": { 6983 + "version": "5.59.1", 6984 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz", 6985 + "integrity": "sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==", 6986 + "dev": true, 6987 + "requires": { 6988 + "@typescript-eslint/typescript-estree": "5.59.1", 6989 + "@typescript-eslint/utils": "5.59.1", 6990 + "debug": "^4.3.4", 6991 + "tsutils": "^3.21.0" 6992 + } 6993 + }, 6994 + "@typescript-eslint/types": { 6995 + "version": "5.59.1", 6996 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz", 6997 + "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==", 6998 + "dev": true 6999 + }, 7000 + "@typescript-eslint/typescript-estree": { 7001 + "version": "5.59.1", 7002 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz", 7003 + "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==", 7004 + "dev": true, 7005 + "requires": { 7006 + "@typescript-eslint/types": "5.59.1", 7007 + "@typescript-eslint/visitor-keys": "5.59.1", 7008 + "debug": "^4.3.4", 7009 + "globby": "^11.1.0", 7010 + "is-glob": "^4.0.3", 7011 + "semver": "^7.3.7", 7012 + "tsutils": "^3.21.0" 7013 + } 7014 + }, 7015 + "@typescript-eslint/utils": { 7016 + "version": "5.59.1", 7017 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.1.tgz", 7018 + "integrity": "sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==", 7019 + "dev": true, 7020 + "requires": { 7021 + "@eslint-community/eslint-utils": "^4.2.0", 7022 + "@types/json-schema": "^7.0.9", 7023 + "@types/semver": "^7.3.12", 7024 + "@typescript-eslint/scope-manager": "5.59.1", 7025 + "@typescript-eslint/types": "5.59.1", 7026 + "@typescript-eslint/typescript-estree": "5.59.1", 7027 + "eslint-scope": "^5.1.1", 7028 + "semver": "^7.3.7" 7029 + } 7030 + }, 7031 + "@typescript-eslint/visitor-keys": { 7032 + "version": "5.59.1", 7033 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz", 7034 + "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==", 7035 + "dev": true, 7036 + "requires": { 7037 + "@typescript-eslint/types": "5.59.1", 7038 + "eslint-visitor-keys": "^3.3.0" 7039 + } 5639 7040 }, 5640 7041 "abort-controller": { 5641 7042 "version": "3.0.0", ··· 5660 7061 } 5661 7062 }, 5662 7063 "acorn": { 5663 - "version": "8.8.1", 5664 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", 5665 - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", 7064 + "version": "8.8.2", 7065 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", 7066 + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", 5666 7067 "dev": true 5667 7068 }, 5668 7069 "acorn-jsx": { ··· 5671 7072 "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 5672 7073 "dev": true, 5673 7074 "requires": {} 5674 - }, 5675 - "acorn-node": { 5676 - "version": "1.8.2", 5677 - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", 5678 - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", 5679 - "dev": true, 5680 - "requires": { 5681 - "acorn": "^7.0.0", 5682 - "acorn-walk": "^7.0.0", 5683 - "xtend": "^4.0.2" 5684 - }, 5685 - "dependencies": { 5686 - "acorn": { 5687 - "version": "7.4.1", 5688 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", 5689 - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", 5690 - "dev": true 5691 - } 5692 - } 5693 - }, 5694 - "acorn-walk": { 5695 - "version": "7.2.0", 5696 - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", 5697 - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", 5698 - "dev": true 5699 7075 }, 5700 7076 "ajv": { 5701 7077 "version": "6.12.6", ··· 5741 7117 "color-convert": "^2.0.1" 5742 7118 } 5743 7119 }, 7120 + "any-promise": { 7121 + "version": "1.3.0", 7122 + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 7123 + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 7124 + "dev": true 7125 + }, 5744 7126 "anymatch": { 5745 7127 "version": "3.1.3", 5746 7128 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", ··· 5763 7145 "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 5764 7146 "dev": true 5765 7147 }, 7148 + "array-union": { 7149 + "version": "2.1.0", 7150 + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 7151 + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 7152 + "dev": true 7153 + }, 5766 7154 "assert": { 5767 7155 "version": "2.0.0", 5768 7156 "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", ··· 5782 7170 "dev": true 5783 7171 }, 5784 7172 "autoprefixer": { 5785 - "version": "10.4.13", 5786 - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", 5787 - "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", 7173 + "version": "10.4.14", 7174 + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", 7175 + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", 5788 7176 "dev": true, 5789 7177 "requires": { 5790 - "browserslist": "^4.21.4", 5791 - "caniuse-lite": "^1.0.30001426", 7178 + "browserslist": "^4.21.5", 7179 + "caniuse-lite": "^1.0.30001464", 5792 7180 "fraction.js": "^4.2.0", 5793 7181 "normalize-range": "^0.1.2", 5794 7182 "picocolors": "^1.0.0", ··· 5840 7228 } 5841 7229 }, 5842 7230 "readable-stream": { 5843 - "version": "3.6.0", 5844 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 5845 - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 7231 + "version": "3.6.2", 7232 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 7233 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 5846 7234 "dev": true, 5847 7235 "requires": { 5848 7236 "inherits": "^2.0.3", ··· 5865 7253 "it-filter": "^1.0.2", 5866 7254 "it-take": "^1.0.1", 5867 7255 "multiformats": "^10.0.0" 7256 + }, 7257 + "dependencies": { 7258 + "multiformats": { 7259 + "version": "10.0.3", 7260 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 7261 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==" 7262 + } 5868 7263 } 5869 7264 }, 5870 7265 "blockstore-datastore-adapter": { ··· 5882 7277 }, 5883 7278 "dependencies": { 5884 7279 "it-drain": { 5885 - "version": "2.0.0", 5886 - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.0.tgz", 5887 - "integrity": "sha512-oa/5iyBtRs9UW486vPpyDTC0ee3rqx5qlrPI7txIUJcqqtiO5yVozEB6LQrl5ysQYv+P3y/dlKEqwVqlCV0SEA==" 7280 + "version": "2.0.1", 7281 + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.1.tgz", 7282 + "integrity": "sha512-ESuHV6MLUNxuSy0vGZpKhSRjW0ixczN1FhbVy7eGJHjX6U2qiiXTyMvDc0z/w+nifOOwPyI5DT9Rc3o9IaGqEQ==" 7283 + }, 7284 + "multiformats": { 7285 + "version": "10.0.3", 7286 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 7287 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==" 5888 7288 } 5889 7289 } 5890 7290 }, ··· 5919 7319 } 5920 7320 }, 5921 7321 "browserslist": { 5922 - "version": "4.21.4", 5923 - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", 5924 - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", 7322 + "version": "4.21.5", 7323 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", 7324 + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", 5925 7325 "dev": true, 5926 7326 "requires": { 5927 - "caniuse-lite": "^1.0.30001400", 5928 - "electron-to-chromium": "^1.4.251", 5929 - "node-releases": "^2.0.6", 5930 - "update-browserslist-db": "^1.0.9" 7327 + "caniuse-lite": "^1.0.30001449", 7328 + "electron-to-chromium": "^1.4.284", 7329 + "node-releases": "^2.0.8", 7330 + "update-browserslist-db": "^1.0.10" 5931 7331 } 5932 7332 }, 5933 7333 "buffer": { ··· 5996 7396 "dev": true 5997 7397 }, 5998 7398 "caniuse-lite": { 5999 - "version": "1.0.30001439", 6000 - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz", 6001 - "integrity": "sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==", 7399 + "version": "1.0.30001481", 7400 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001481.tgz", 7401 + "integrity": "sha512-KCqHwRnaa1InZBtqXzP98LPg0ajCVujMKjqKDhZEthIpAsJl/YEIa3YvXjGXPVqzZVguccuu7ga9KOE1J9rKPQ==", 6002 7402 "dev": true 6003 7403 }, 6004 7404 "catering": { ··· 6007 7407 "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==" 6008 7408 }, 6009 7409 "cborg": { 6010 - "version": "1.10.0", 6011 - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.0.tgz", 6012 - "integrity": "sha512-/eM0JCaL99HDHxjySNQJLaolZFVdl6VA0/hEKIoiQPcQzE5LrG5QHdml0HaBt31brgB9dNe1zMr3f8IVrpotRQ==" 7410 + "version": "1.10.1", 7411 + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.10.1.tgz", 7412 + "integrity": "sha512-et6Qm8MOUY2kCWa5GKk2MlBVoPjHv0hQBmlzI/Z7+5V3VJCeIkGehIB3vWknNsm2kOkAIs6wEKJFJo8luWQQ/w==" 6013 7413 }, 6014 7414 "chalk": { 6015 7415 "version": "4.1.2", ··· 6038 7438 } 6039 7439 }, 6040 7440 "classic-level": { 6041 - "version": "1.2.0", 6042 - "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.2.0.tgz", 6043 - "integrity": "sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg==", 7441 + "version": "1.3.0", 7442 + "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.3.0.tgz", 7443 + "integrity": "sha512-iwFAJQYtqRTRM0F6L8h4JCt00ZSGdOyqh7yVrhhjrOpFhmBjNlRUey64MCiyo6UmQHMJ+No3c81nujPv+n9yrg==", 6044 7444 "requires": { 6045 7445 "abstract-level": "^1.0.2", 6046 7446 "catering": "^2.1.0", 6047 7447 "module-error": "^1.0.1", 6048 - "napi-macros": "~2.0.0", 7448 + "napi-macros": "^2.2.2", 6049 7449 "node-gyp-build": "^4.3.0" 6050 7450 } 6051 7451 }, ··· 6059 7459 } 6060 7460 }, 6061 7461 "cli-spinners": { 6062 - "version": "2.7.0", 6063 - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", 6064 - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", 7462 + "version": "2.8.0", 7463 + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.8.0.tgz", 7464 + "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==", 6065 7465 "dev": true 6066 7466 }, 6067 7467 "clone": { ··· 6094 7494 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 6095 7495 "dev": true 6096 7496 }, 7497 + "commander": { 7498 + "version": "4.1.1", 7499 + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 7500 + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 7501 + "dev": true 7502 + }, 6097 7503 "concat-map": { 6098 7504 "version": "0.0.1", 6099 7505 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", ··· 6101 7507 "dev": true 6102 7508 }, 6103 7509 "content-type": { 6104 - "version": "1.0.4", 6105 - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 6106 - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 7510 + "version": "1.0.5", 7511 + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", 7512 + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" 6107 7513 }, 6108 7514 "core-util-is": { 6109 7515 "version": "1.0.3", ··· 6152 7558 }, 6153 7559 "dependencies": { 6154 7560 "it-all": { 6155 - "version": "2.0.0", 6156 - "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.0.tgz", 6157 - "integrity": "sha512-I/yi9ogTY59lFxtfsDSlI9w9QZtC/5KJt6g7CPPBJJh2xql2ZS7Ghcp9hoqDDbc4QfwQvtx8Loy0zlKQ8H5gFg==" 7561 + "version": "2.0.1", 7562 + "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.1.tgz", 7563 + "integrity": "sha512-9UuJcCRZsboz+HBQTNOau80Dw+ryGaHYFP/cPYzFBJBFcfDathMYnhHk4t52en9+fcyDGPTdLB+lFc1wzQIroA==" 6158 7564 }, 6159 7565 "it-drain": { 6160 - "version": "2.0.0", 6161 - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.0.tgz", 6162 - "integrity": "sha512-oa/5iyBtRs9UW486vPpyDTC0ee3rqx5qlrPI7txIUJcqqtiO5yVozEB6LQrl5ysQYv+P3y/dlKEqwVqlCV0SEA==" 7566 + "version": "2.0.1", 7567 + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.1.tgz", 7568 + "integrity": "sha512-ESuHV6MLUNxuSy0vGZpKhSRjW0ixczN1FhbVy7eGJHjX6U2qiiXTyMvDc0z/w+nifOOwPyI5DT9Rc3o9IaGqEQ==" 6163 7569 }, 6164 7570 "it-filter": { 6165 - "version": "2.0.0", 6166 - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.0.tgz", 6167 - "integrity": "sha512-E68+zzoNNI7MxdH1T4lUTgwpCyEnymlH349Qg2mcvsqLmYRkaZLM4NfZZ0hUuH7/5DkWXubQSDOYH396va8mpg==" 7571 + "version": "2.0.2", 7572 + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.2.tgz", 7573 + "integrity": "sha512-gocw1F3siqupegsOzZ78rAc9C+sYlQbI2af/TmzgdrR613MyEJHbvfwBf12XRekGG907kqXSOGKPlxzJa6XV1Q==" 6168 7574 }, 6169 7575 "it-take": { 6170 - "version": "2.0.0", 6171 - "resolved": "https://registry.npmjs.org/it-take/-/it-take-2.0.0.tgz", 6172 - "integrity": "sha512-lN3diSTomOvYBk2K0LHAgrQ52DlQfvq8tH/+HLAFpX8Q3JwBkr/BPJEi3Z3Lf8jMmN1KOCBXvt5sXa3eW9vUmg==" 6173 - }, 6174 - "multiformats": { 6175 - "version": "11.0.0", 6176 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 6177 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 6178 - }, 6179 - "uint8arrays": { 6180 - "version": "4.0.3", 6181 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 6182 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 6183 - "requires": { 6184 - "multiformats": "^11.0.0" 6185 - } 7576 + "version": "2.0.1", 7577 + "resolved": "https://registry.npmjs.org/it-take/-/it-take-2.0.1.tgz", 7578 + "integrity": "sha512-DL7kpZNjuoeSTnB9dMAJ0Z3m2T29LRRAU+HIgkiQM+1jH3m8l9e/1xpWs8JHTlbKivbqSFrQMTc8KVcaQNmsaA==" 6186 7579 } 6187 7580 } 6188 7581 }, ··· 6202 7595 }, 6203 7596 "dependencies": { 6204 7597 "it-filter": { 6205 - "version": "2.0.0", 6206 - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.0.tgz", 6207 - "integrity": "sha512-E68+zzoNNI7MxdH1T4lUTgwpCyEnymlH349Qg2mcvsqLmYRkaZLM4NfZZ0hUuH7/5DkWXubQSDOYH396va8mpg==" 7598 + "version": "2.0.2", 7599 + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.2.tgz", 7600 + "integrity": "sha512-gocw1F3siqupegsOzZ78rAc9C+sYlQbI2af/TmzgdrR613MyEJHbvfwBf12XRekGG907kqXSOGKPlxzJa6XV1Q==" 6208 7601 }, 6209 7602 "it-take": { 6210 - "version": "2.0.0", 6211 - "resolved": "https://registry.npmjs.org/it-take/-/it-take-2.0.0.tgz", 6212 - "integrity": "sha512-lN3diSTomOvYBk2K0LHAgrQ52DlQfvq8tH/+HLAFpX8Q3JwBkr/BPJEi3Z3Lf8jMmN1KOCBXvt5sXa3eW9vUmg==" 7603 + "version": "2.0.1", 7604 + "resolved": "https://registry.npmjs.org/it-take/-/it-take-2.0.1.tgz", 7605 + "integrity": "sha512-DL7kpZNjuoeSTnB9dMAJ0Z3m2T29LRRAU+HIgkiQM+1jH3m8l9e/1xpWs8JHTlbKivbqSFrQMTc8KVcaQNmsaA==" 6213 7606 } 6214 7607 } 6215 7608 }, ··· 6260 7653 "dev": true 6261 7654 }, 6262 7655 "define-properties": { 6263 - "version": "1.1.4", 6264 - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", 6265 - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", 7656 + "version": "1.2.0", 7657 + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", 7658 + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", 6266 7659 "dev": true, 6267 7660 "requires": { 6268 7661 "has-property-descriptors": "^1.0.0", 6269 7662 "object-keys": "^1.1.1" 6270 7663 } 6271 7664 }, 6272 - "defined": { 6273 - "version": "1.0.1", 6274 - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", 6275 - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", 6276 - "dev": true 6277 - }, 6278 7665 "delay": { 6279 7666 "version": "5.0.0", 6280 7667 "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", 6281 7668 "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==" 6282 7669 }, 6283 - "detective": { 6284 - "version": "5.2.1", 6285 - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", 6286 - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", 6287 - "dev": true, 6288 - "requires": { 6289 - "acorn-node": "^1.8.2", 6290 - "defined": "^1.0.0", 6291 - "minimist": "^1.2.6" 6292 - } 6293 - }, 6294 7670 "didyoumean": { 6295 7671 "version": "1.2.2", 6296 7672 "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 6297 7673 "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 6298 7674 "dev": true 6299 7675 }, 7676 + "dir-glob": { 7677 + "version": "3.0.1", 7678 + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 7679 + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 7680 + "dev": true, 7681 + "requires": { 7682 + "path-type": "^4.0.0" 7683 + } 7684 + }, 6300 7685 "dlv": { 6301 7686 "version": "1.1.3", 6302 7687 "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", ··· 6324 7709 } 6325 7710 }, 6326 7711 "electron-to-chromium": { 6327 - "version": "1.4.284", 6328 - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", 6329 - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", 7712 + "version": "1.4.377", 7713 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.377.tgz", 7714 + "integrity": "sha512-H3BYG6DW5Z+l0xcfXaicJGxrpA4kMlCxnN71+iNX+dBLkRMOdVJqFJiAmbNZZKA1zISpRg17JR03qGifXNsJtw==", 6330 7715 "dev": true 6331 7716 }, 6332 7717 "elm-review": { 6333 - "version": "2.8.5", 6334 - "resolved": "https://registry.npmjs.org/elm-review/-/elm-review-2.8.5.tgz", 6335 - "integrity": "sha512-e3HmCoBZPdcnwdyelnL02GVE1ZXOIjuP/fo4DvrQjxd5082b4lOUxzbh/pWeKdU9a1mtrHNYkWalEXPYeig3Kw==", 7718 + "version": "2.10.1", 7719 + "resolved": "https://registry.npmjs.org/elm-review/-/elm-review-2.10.1.tgz", 7720 + "integrity": "sha512-uEc4McppMqmWEaRo+jo5RowbDyfcBr0MTFN0kZt9gWrmmK6hPilTJJGtRmoH+K/aJtq4ZPDDF97oAFdkylD1gg==", 6336 7721 "dev": true, 6337 7722 "requires": { 6338 7723 "chalk": "^4.0.0", ··· 6362 7747 "integrity": "sha512-8UgIjzmGuoU6Wt6VC0tkJnzvc5xHL5yH7GdN+/QNxaaA3ckoyveCtV0QJqNCRa42bpyR1JhOwLSApwf2Id5xZg==" 6363 7748 }, 6364 7749 "elm-tooling": { 6365 - "version": "1.10.0", 6366 - "resolved": "https://registry.npmjs.org/elm-tooling/-/elm-tooling-1.10.0.tgz", 6367 - "integrity": "sha512-fMLXs7xHpr6LodtmvVJKepYC6chgSOfe5Hgv8GcFO+Id7O/CuT9+CAfrlzYxvBn91cm6ekWwHFDjPD765v5iBA==", 7750 + "version": "1.14.0", 7751 + "resolved": "https://registry.npmjs.org/elm-tooling/-/elm-tooling-1.14.0.tgz", 7752 + "integrity": "sha512-cIbK3gfYWK086HsqOIGM4reIYcV/FF2R/8jIJ6ZUy1/RSkYFUv2BgPTGYYZo1Io9oymmbwoCWWleNtw7LgGL2w==", 6368 7753 "dev": true 6369 7754 }, 6370 7755 "emoji-regex": { ··· 6394 7779 "dev": true 6395 7780 }, 6396 7781 "esbuild": { 6397 - "version": "0.16.4", 6398 - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.4.tgz", 6399 - "integrity": "sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA==", 7782 + "version": "0.17.18", 7783 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", 7784 + "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", 6400 7785 "dev": true, 6401 7786 "requires": { 6402 - "@esbuild/android-arm": "0.16.4", 6403 - "@esbuild/android-arm64": "0.16.4", 6404 - "@esbuild/android-x64": "0.16.4", 6405 - "@esbuild/darwin-arm64": "0.16.4", 6406 - "@esbuild/darwin-x64": "0.16.4", 6407 - "@esbuild/freebsd-arm64": "0.16.4", 6408 - "@esbuild/freebsd-x64": "0.16.4", 6409 - "@esbuild/linux-arm": "0.16.4", 6410 - "@esbuild/linux-arm64": "0.16.4", 6411 - "@esbuild/linux-ia32": "0.16.4", 6412 - "@esbuild/linux-loong64": "0.16.4", 6413 - "@esbuild/linux-mips64el": "0.16.4", 6414 - "@esbuild/linux-ppc64": "0.16.4", 6415 - "@esbuild/linux-riscv64": "0.16.4", 6416 - "@esbuild/linux-s390x": "0.16.4", 6417 - "@esbuild/linux-x64": "0.16.4", 6418 - "@esbuild/netbsd-x64": "0.16.4", 6419 - "@esbuild/openbsd-x64": "0.16.4", 6420 - "@esbuild/sunos-x64": "0.16.4", 6421 - "@esbuild/win32-arm64": "0.16.4", 6422 - "@esbuild/win32-ia32": "0.16.4", 6423 - "@esbuild/win32-x64": "0.16.4" 7787 + "@esbuild/android-arm": "0.17.18", 7788 + "@esbuild/android-arm64": "0.17.18", 7789 + "@esbuild/android-x64": "0.17.18", 7790 + "@esbuild/darwin-arm64": "0.17.18", 7791 + "@esbuild/darwin-x64": "0.17.18", 7792 + "@esbuild/freebsd-arm64": "0.17.18", 7793 + "@esbuild/freebsd-x64": "0.17.18", 7794 + "@esbuild/linux-arm": "0.17.18", 7795 + "@esbuild/linux-arm64": "0.17.18", 7796 + "@esbuild/linux-ia32": "0.17.18", 7797 + "@esbuild/linux-loong64": "0.17.18", 7798 + "@esbuild/linux-mips64el": "0.17.18", 7799 + "@esbuild/linux-ppc64": "0.17.18", 7800 + "@esbuild/linux-riscv64": "0.17.18", 7801 + "@esbuild/linux-s390x": "0.17.18", 7802 + "@esbuild/linux-x64": "0.17.18", 7803 + "@esbuild/netbsd-x64": "0.17.18", 7804 + "@esbuild/openbsd-x64": "0.17.18", 7805 + "@esbuild/sunos-x64": "0.17.18", 7806 + "@esbuild/win32-arm64": "0.17.18", 7807 + "@esbuild/win32-ia32": "0.17.18", 7808 + "@esbuild/win32-x64": "0.17.18" 6424 7809 } 6425 7810 }, 6426 7811 "escalade": { ··· 6436 7821 "dev": true 6437 7822 }, 6438 7823 "eslint": { 6439 - "version": "8.29.0", 6440 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz", 6441 - "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==", 7824 + "version": "8.39.0", 7825 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz", 7826 + "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==", 6442 7827 "dev": true, 6443 7828 "requires": { 6444 - "@eslint/eslintrc": "^1.3.3", 6445 - "@humanwhocodes/config-array": "^0.11.6", 7829 + "@eslint-community/eslint-utils": "^4.2.0", 7830 + "@eslint-community/regexpp": "^4.4.0", 7831 + "@eslint/eslintrc": "^2.0.2", 7832 + "@eslint/js": "8.39.0", 7833 + "@humanwhocodes/config-array": "^0.11.8", 6446 7834 "@humanwhocodes/module-importer": "^1.0.1", 6447 7835 "@nodelib/fs.walk": "^1.2.8", 6448 7836 "ajv": "^6.10.0", ··· 6451 7839 "debug": "^4.3.2", 6452 7840 "doctrine": "^3.0.0", 6453 7841 "escape-string-regexp": "^4.0.0", 6454 - "eslint-scope": "^7.1.1", 6455 - "eslint-utils": "^3.0.0", 6456 - "eslint-visitor-keys": "^3.3.0", 6457 - "espree": "^9.4.0", 6458 - "esquery": "^1.4.0", 7842 + "eslint-scope": "^7.2.0", 7843 + "eslint-visitor-keys": "^3.4.0", 7844 + "espree": "^9.5.1", 7845 + "esquery": "^1.4.2", 6459 7846 "esutils": "^2.0.2", 6460 7847 "fast-deep-equal": "^3.1.3", 6461 7848 "file-entry-cache": "^6.0.1", 6462 7849 "find-up": "^5.0.0", 6463 7850 "glob-parent": "^6.0.2", 6464 - "globals": "^13.15.0", 7851 + "globals": "^13.19.0", 6465 7852 "grapheme-splitter": "^1.0.4", 6466 7853 "ignore": "^5.2.0", 6467 7854 "import-fresh": "^3.0.0", ··· 6476 7863 "minimatch": "^3.1.2", 6477 7864 "natural-compare": "^1.4.0", 6478 7865 "optionator": "^0.9.1", 6479 - "regexpp": "^3.2.0", 6480 7866 "strip-ansi": "^6.0.1", 6481 7867 "strip-json-comments": "^3.1.0", 6482 7868 "text-table": "^0.2.0" 6483 7869 }, 6484 7870 "dependencies": { 7871 + "eslint-scope": { 7872 + "version": "7.2.0", 7873 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", 7874 + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", 7875 + "dev": true, 7876 + "requires": { 7877 + "esrecurse": "^4.3.0", 7878 + "estraverse": "^5.2.0" 7879 + } 7880 + }, 7881 + "estraverse": { 7882 + "version": "5.3.0", 7883 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 7884 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 7885 + "dev": true 7886 + }, 6485 7887 "find-up": { 6486 7888 "version": "5.0.0", 6487 7889 "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", ··· 6531 7933 } 6532 7934 }, 6533 7935 "eslint-scope": { 6534 - "version": "7.1.1", 6535 - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 6536 - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 7936 + "version": "5.1.1", 7937 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", 7938 + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", 6537 7939 "dev": true, 6538 7940 "requires": { 6539 7941 "esrecurse": "^4.3.0", 6540 - "estraverse": "^5.2.0" 6541 - } 6542 - }, 6543 - "eslint-utils": { 6544 - "version": "3.0.0", 6545 - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 6546 - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 6547 - "dev": true, 6548 - "requires": { 6549 - "eslint-visitor-keys": "^2.0.0" 6550 - }, 6551 - "dependencies": { 6552 - "eslint-visitor-keys": { 6553 - "version": "2.1.0", 6554 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 6555 - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 6556 - "dev": true 6557 - } 7942 + "estraverse": "^4.1.1" 6558 7943 } 6559 7944 }, 6560 7945 "eslint-visitor-keys": { 6561 - "version": "3.3.0", 6562 - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 6563 - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 7946 + "version": "3.4.0", 7947 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", 7948 + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", 6564 7949 "dev": true 6565 7950 }, 7951 + "esm": { 7952 + "version": "3.2.25", 7953 + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", 7954 + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==" 7955 + }, 6566 7956 "espree": { 6567 - "version": "9.4.1", 6568 - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", 6569 - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", 7957 + "version": "9.5.1", 7958 + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", 7959 + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", 6570 7960 "dev": true, 6571 7961 "requires": { 6572 7962 "acorn": "^8.8.0", 6573 7963 "acorn-jsx": "^5.3.2", 6574 - "eslint-visitor-keys": "^3.3.0" 7964 + "eslint-visitor-keys": "^3.4.0" 6575 7965 } 6576 7966 }, 6577 7967 "esquery": { 6578 - "version": "1.4.0", 6579 - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 6580 - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 7968 + "version": "1.5.0", 7969 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", 7970 + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", 6581 7971 "dev": true, 6582 7972 "requires": { 6583 7973 "estraverse": "^5.1.0" 7974 + }, 7975 + "dependencies": { 7976 + "estraverse": { 7977 + "version": "5.3.0", 7978 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 7979 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 7980 + "dev": true 7981 + } 6584 7982 } 6585 7983 }, 6586 7984 "esrecurse": { ··· 6590 7988 "dev": true, 6591 7989 "requires": { 6592 7990 "estraverse": "^5.2.0" 7991 + }, 7992 + "dependencies": { 7993 + "estraverse": { 7994 + "version": "5.3.0", 7995 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 7996 + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 7997 + "dev": true 7998 + } 6593 7999 } 6594 8000 }, 6595 8001 "estraverse": { 6596 - "version": "5.3.0", 6597 - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 6598 - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 8002 + "version": "4.3.0", 8003 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 8004 + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 6599 8005 "dev": true 6600 8006 }, 6601 8007 "esutils": { ··· 6665 8071 "dev": true 6666 8072 }, 6667 8073 "fastq": { 6668 - "version": "1.14.0", 6669 - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz", 6670 - "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==", 8074 + "version": "1.15.0", 8075 + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", 8076 + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", 6671 8077 "dev": true, 6672 8078 "requires": { 6673 8079 "reusify": "^1.0.4" ··· 6688 8094 "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" 6689 8095 }, 6690 8096 "file-type": { 6691 - "version": "16.5.4", 6692 - "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.4.tgz", 6693 - "integrity": "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==", 8097 + "version": "18.3.0", 8098 + "resolved": "https://registry.npmjs.org/file-type/-/file-type-18.3.0.tgz", 8099 + "integrity": "sha512-pkPZ5OGIq0TYb37b8bHDLNeQSe1H2KlaQ2ySGpJkkr2KZdaWsO4QhPzHA0mQcsUW2cSqJk+4gM/UyLz/UFbXdQ==", 6694 8100 "requires": { 6695 - "readable-web-to-node-stream": "^3.0.0", 6696 - "strtok3": "^6.2.4", 6697 - "token-types": "^4.1.1" 8101 + "readable-web-to-node-stream": "^3.0.2", 8102 + "strtok3": "^7.0.0", 8103 + "token-types": "^5.0.1" 8104 + }, 8105 + "dependencies": { 8106 + "peek-readable": { 8107 + "version": "5.0.0", 8108 + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", 8109 + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==" 8110 + }, 8111 + "strtok3": { 8112 + "version": "7.0.0", 8113 + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", 8114 + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", 8115 + "requires": { 8116 + "@tokenizer/token": "^0.3.0", 8117 + "peek-readable": "^5.0.0" 8118 + } 8119 + } 6698 8120 } 6699 8121 }, 6700 8122 "fill-range": { ··· 6811 8233 "version": "2.3.2", 6812 8234 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 6813 8235 "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 6814 - "dev": true, 6815 8236 "optional": true 6816 8237 }, 6817 8238 "function-bind": { ··· 6821 8242 "dev": true 6822 8243 }, 6823 8244 "get-intrinsic": { 6824 - "version": "1.1.3", 6825 - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", 6826 - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", 8245 + "version": "1.2.0", 8246 + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", 8247 + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", 6827 8248 "dev": true, 6828 8249 "requires": { 6829 8250 "function-bind": "^1.1.1", ··· 6864 8285 } 6865 8286 }, 6866 8287 "globals": { 6867 - "version": "13.18.0", 6868 - "resolved": "https://registry.npmjs.org/globals/-/globals-13.18.0.tgz", 6869 - "integrity": "sha512-/mR4KI8Ps2spmoc0Ulu9L7agOF0du1CZNQ3dke8yItYlyKNmGrkONemBbd6V8UTc1Wgcqn21t3WYB7dbRmh6/A==", 8288 + "version": "13.20.0", 8289 + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", 8290 + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", 6870 8291 "dev": true, 6871 8292 "requires": { 6872 8293 "type-fest": "^0.20.2" 6873 8294 } 6874 8295 }, 8296 + "globby": { 8297 + "version": "11.1.0", 8298 + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 8299 + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 8300 + "dev": true, 8301 + "requires": { 8302 + "array-union": "^2.1.0", 8303 + "dir-glob": "^3.0.1", 8304 + "fast-glob": "^3.2.9", 8305 + "ignore": "^5.2.0", 8306 + "merge2": "^1.4.1", 8307 + "slash": "^3.0.0" 8308 + } 8309 + }, 6875 8310 "gopd": { 6876 8311 "version": "1.0.1", 6877 8312 "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", ··· 6901 8336 } 6902 8337 }, 6903 8338 "graceful-fs": { 6904 - "version": "4.2.10", 6905 - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 6906 - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" 8339 + "version": "4.2.11", 8340 + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 8341 + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 6907 8342 }, 6908 8343 "grapheme-splitter": { 6909 8344 "version": "1.0.4", ··· 6951 8386 } 6952 8387 }, 6953 8388 "http-cache-semantics": { 6954 - "version": "4.1.0", 6955 - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", 6956 - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", 8389 + "version": "4.1.1", 8390 + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", 8391 + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", 6957 8392 "dev": true 6958 8393 }, 6959 8394 "http2-wrapper": { ··· 6972 8407 "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" 6973 8408 }, 6974 8409 "ignore": { 6975 - "version": "5.2.1", 6976 - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz", 6977 - "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==", 8410 + "version": "5.2.4", 8411 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", 8412 + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", 6978 8413 "dev": true 6979 8414 }, 6980 8415 "immediate": { ··· 7020 8455 "requires": { 7021 8456 "interface-store": "^3.0.0", 7022 8457 "multiformats": "^10.0.0" 8458 + }, 8459 + "dependencies": { 8460 + "multiformats": { 8461 + "version": "10.0.3", 8462 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 8463 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==" 8464 + } 7023 8465 } 7024 8466 }, 7025 8467 "interface-datastore": { 7026 - "version": "7.0.3", 7027 - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-7.0.3.tgz", 7028 - "integrity": "sha512-6zUypd1LM2Rl8o58RgJ7stLHgqx5+9t0+XkUVAvjd3KkWCNKBknD7G+Zar5jpUGClS+IINRPTjH/8Xnc2HB39A==", 8468 + "version": "7.0.4", 8469 + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-7.0.4.tgz", 8470 + "integrity": "sha512-Q8LZS/jfFFHz6XyZazLTAc078SSCoa27ZPBOfobWdpDiFO7FqPA2yskitUJIhaCgxNK8C+/lMBUTBNfVIDvLiw==", 7029 8471 "requires": { 7030 8472 "interface-store": "^3.0.0", 7031 8473 "nanoid": "^4.0.0", 7032 8474 "uint8arrays": "^4.0.2" 7033 8475 }, 7034 8476 "dependencies": { 7035 - "multiformats": { 7036 - "version": "11.0.0", 7037 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 7038 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 7039 - }, 7040 8477 "nanoid": { 7041 - "version": "4.0.0", 7042 - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.0.tgz", 7043 - "integrity": "sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==" 7044 - }, 7045 - "uint8arrays": { 7046 - "version": "4.0.3", 7047 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 7048 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 7049 - "requires": { 7050 - "multiformats": "^11.0.0" 7051 - } 8478 + "version": "4.0.2", 8479 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 8480 + "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==" 7052 8481 } 7053 8482 } 7054 8483 }, 7055 8484 "interface-store": { 7056 - "version": "3.0.3", 7057 - "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.3.tgz", 7058 - "integrity": "sha512-FihzZamIkSPHIFw7xZAvZ77DEOSTvHt/t3HvIG7pm8lmqDIUh8/PgDsez/4Aa2091bT0sqK4tTFBcKF9TOGhtQ==" 8485 + "version": "3.0.4", 8486 + "resolved": "https://registry.npmjs.org/interface-store/-/interface-store-3.0.4.tgz", 8487 + "integrity": "sha512-OjHUuGXbH4eXSBx1TF1tTySvjLldPLzRSYYXJwrEQI+XfH5JWYZofr0gVMV4F8XTwC+4V7jomDYkvGRmDSRKqQ==" 7059 8488 }, 7060 8489 "ipfs-core-types": { 7061 8490 "version": "0.13.0", ··· 7072 8501 "interface-datastore": "^7.0.0", 7073 8502 "ipfs-unixfs": "^8.0.0", 7074 8503 "multiformats": "^10.0.0" 8504 + }, 8505 + "dependencies": { 8506 + "multiformats": { 8507 + "version": "10.0.3", 8508 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 8509 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==" 8510 + } 7075 8511 } 7076 8512 }, 7077 8513 "ipfs-repo": { ··· 7109 8545 }, 7110 8546 "dependencies": { 7111 8547 "it-drain": { 7112 - "version": "2.0.0", 7113 - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.0.tgz", 7114 - "integrity": "sha512-oa/5iyBtRs9UW486vPpyDTC0ee3rqx5qlrPI7txIUJcqqtiO5yVozEB6LQrl5ysQYv+P3y/dlKEqwVqlCV0SEA==" 8548 + "version": "2.0.1", 8549 + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-2.0.1.tgz", 8550 + "integrity": "sha512-ESuHV6MLUNxuSy0vGZpKhSRjW0ixczN1FhbVy7eGJHjX6U2qiiXTyMvDc0z/w+nifOOwPyI5DT9Rc3o9IaGqEQ==" 7115 8551 }, 7116 8552 "it-filter": { 7117 - "version": "2.0.0", 7118 - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.0.tgz", 7119 - "integrity": "sha512-E68+zzoNNI7MxdH1T4lUTgwpCyEnymlH349Qg2mcvsqLmYRkaZLM4NfZZ0hUuH7/5DkWXubQSDOYH396va8mpg==" 8553 + "version": "2.0.2", 8554 + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-2.0.2.tgz", 8555 + "integrity": "sha512-gocw1F3siqupegsOzZ78rAc9C+sYlQbI2af/TmzgdrR613MyEJHbvfwBf12XRekGG907kqXSOGKPlxzJa6XV1Q==" 8556 + }, 8557 + "multiformats": { 8558 + "version": "10.0.3", 8559 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 8560 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==" 7120 8561 }, 7121 8562 "quick-lru": { 7122 8563 "version": "6.1.1", 7123 8564 "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.1.tgz", 7124 8565 "integrity": "sha512-S27GBT+F0NTRiehtbrgaSE1idUAJ5bX8dPAQTdylEyNlrdcH5X4Lz7Edz3DYzecbsCluD5zO8ZNEe04z3D3u6Q==" 7125 - }, 7126 - "uint8arrays": { 7127 - "version": "4.0.3", 7128 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 7129 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 7130 - "requires": { 7131 - "multiformats": "^11.0.0" 7132 - }, 7133 - "dependencies": { 7134 - "multiformats": { 7135 - "version": "11.0.0", 7136 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 7137 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 7138 - } 7139 - } 7140 8566 } 7141 8567 } 7142 8568 }, ··· 7160 8586 "varint": "^6.0.0" 7161 8587 }, 7162 8588 "dependencies": { 7163 - "uint8arrays": { 7164 - "version": "4.0.3", 7165 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 7166 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 7167 - "requires": { 7168 - "multiformats": "^11.0.0" 7169 - }, 7170 - "dependencies": { 7171 - "multiformats": { 7172 - "version": "11.0.0", 7173 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 7174 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 7175 - } 7176 - } 8589 + "multiformats": { 8590 + "version": "10.0.3", 8591 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 8592 + "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==" 7177 8593 } 7178 8594 } 7179 8595 }, ··· 7217 8633 "dev": true 7218 8634 }, 7219 8635 "is-core-module": { 7220 - "version": "2.11.0", 7221 - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", 7222 - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", 8636 + "version": "2.12.0", 8637 + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", 8638 + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", 7223 8639 "dev": true, 7224 8640 "requires": { 7225 8641 "has": "^1.0.3" ··· 7324 8740 "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" 7325 8741 }, 7326 8742 "it-batch": { 7327 - "version": "2.0.0", 7328 - "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-2.0.0.tgz", 7329 - "integrity": "sha512-kh30J83cNGCXuH48+meNLSCjkhRzvZyySgiHJ+Vz0ch/YyQ/XgYSCQhbx2a2VbxhvDdYZBoKiI3x7h14ReYFcg==" 8743 + "version": "2.0.1", 8744 + "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-2.0.1.tgz", 8745 + "integrity": "sha512-2gWFuPzamh9Dh3pW+OKjc7UwJ41W4Eu2AinVAfXDMfrC5gXfm3b1TF+1UzsygBUgKBugnxnGP+/fFRyn+9y1mQ==" 7330 8746 }, 7331 8747 "it-drain": { 7332 8748 "version": "1.0.5", ··· 7339 8755 "integrity": "sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w==" 7340 8756 }, 7341 8757 "it-first": { 7342 - "version": "2.0.0", 7343 - "resolved": "https://registry.npmjs.org/it-first/-/it-first-2.0.0.tgz", 7344 - "integrity": "sha512-fzZGzVf01exFyIZXNjkpSMFr1eW2+J1K0v018tYY26Dd4f/O3pWlBTdrOBfSQRZwtI8Pst6c7eKhYczWvFs6tA==" 8758 + "version": "2.0.1", 8759 + "resolved": "https://registry.npmjs.org/it-first/-/it-first-2.0.1.tgz", 8760 + "integrity": "sha512-noC1oEQcWZZMUwq7VWxHNLML43dM+5bviZpfmkxkXlvBe60z7AFRqpZSga9uQBo792jKv9otnn1IjA4zwgNARw==" 7345 8761 }, 7346 8762 "it-length": { 7347 - "version": "2.0.0", 7348 - "resolved": "https://registry.npmjs.org/it-length/-/it-length-2.0.0.tgz", 7349 - "integrity": "sha512-YFe6AW6RKkSTburcbyBChf6+HnyWumKZH9KRVfUSVXYkVqJxaJh/8aM8pnaFHm26lKQxYo57YW6RP+wL4CMx0Q==" 8763 + "version": "2.0.1", 8764 + "resolved": "https://registry.npmjs.org/it-length/-/it-length-2.0.1.tgz", 8765 + "integrity": "sha512-BynaPOK4UwcQX2Z+kqsQygXUNW9NZswfTnscfP7MLhFvVhRYbYJv8XH+09/Qwf8ktk65QdsGoVnDmQUCUGCyvg==" 7350 8766 }, 7351 8767 "it-map": { 7352 - "version": "2.0.0", 7353 - "resolved": "https://registry.npmjs.org/it-map/-/it-map-2.0.0.tgz", 7354 - "integrity": "sha512-mLgtk/NZaN7NZ06iLrMXCA6jjhtZO0vZT5Ocsp31H+nsGI18RSPVmUbFyA1sWx7q+g92J22Sixya7T2QSSAwfA==" 8768 + "version": "2.0.1", 8769 + "resolved": "https://registry.npmjs.org/it-map/-/it-map-2.0.1.tgz", 8770 + "integrity": "sha512-a2GcYDHiAh/eSU628xlvB56LA98luXZnniH2GlD0IdBzf15shEq9rBeb0Rg3o1SWtNILUAwqmQxEXcewGCdvmQ==" 7355 8771 }, 7356 8772 "it-merge": { 7357 - "version": "2.0.0", 7358 - "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-2.0.0.tgz", 7359 - "integrity": "sha512-mH4bo/ZrMoU+Wlu7ZuYPNNh9oWZ/GvYbeXZ0zll97+Rp6H4jFu98iu6v9qqXDz//RUjdO9zGh8awzMfOElsjpA==", 8773 + "version": "2.0.1", 8774 + "resolved": "https://registry.npmjs.org/it-merge/-/it-merge-2.0.1.tgz", 8775 + "integrity": "sha512-ItoBy3dPlNKnhjHR8e7nfabfZzH4Jy2OMPvayYH3XHy4YNqSVKmWTIxhz7KX4UMBsLChlIJZ+5j6csJgrYGQtw==", 7360 8776 "requires": { 7361 8777 "it-pushable": "^3.1.0" 7362 8778 } 7363 8779 }, 7364 8780 "it-parallel-batch": { 7365 - "version": "2.0.0", 7366 - "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-2.0.0.tgz", 7367 - "integrity": "sha512-RWP3h1y1OW3kzP633640mqgcfA9rlGGv4XV7EIsdU8VzAv+hRbpibqFk8sUyN/tNjrcFcYNkGBTE0/0FYf65IQ==", 8781 + "version": "2.0.1", 8782 + "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-2.0.1.tgz", 8783 + "integrity": "sha512-tXh567/JfDGJ90Zi//H9HkL7kY27ARp0jf2vu2jUI6PUVBWfsoT+gC4eT41/b4+wkJXSGgT8ZHnivAOlMfcNjA==", 7368 8784 "requires": { 7369 8785 "it-batch": "^2.0.0" 7370 8786 } ··· 7380 8796 } 7381 8797 }, 7382 8798 "it-pushable": { 7383 - "version": "3.1.2", 7384 - "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.2.tgz", 7385 - "integrity": "sha512-zU9FbeoGT0f+yobwm8agol2OTMXbq4ZSWLEi7hug6TEZx4qVhGhGyp31cayH04aBYsIoO2Nr5kgMjH/oWj2BJQ==" 8799 + "version": "3.1.3", 8800 + "resolved": "https://registry.npmjs.org/it-pushable/-/it-pushable-3.1.3.tgz", 8801 + "integrity": "sha512-f50iQ85HISS6DaWCyrqf9QJ6G/kQtKIMf9xZkgZgyOvxEQDfn8OfYcLXXquCqgoLboxQtAW1ZFZyFIAsLHDtJw==" 7386 8802 }, 7387 8803 "it-sort": { 7388 - "version": "2.0.0", 7389 - "resolved": "https://registry.npmjs.org/it-sort/-/it-sort-2.0.0.tgz", 7390 - "integrity": "sha512-yeAE97b5PEjCrWFUiNyR90eJdGslj8FB3cjT84rsc+mzx9lxPyR2zJkYB9ZOJoWE5MMebxqcQCLRT3OSlzo7Zg==", 8804 + "version": "2.0.1", 8805 + "resolved": "https://registry.npmjs.org/it-sort/-/it-sort-2.0.1.tgz", 8806 + "integrity": "sha512-9f4jKOTHfxc/FJpg/wwuQ+j+88i+sfNGKsu2HukAKymm71/XDnBFtOAOzaimko3YIhmn/ERwnfEKrsYLykxw9A==", 7391 8807 "requires": { 7392 8808 "it-all": "^2.0.0" 7393 8809 }, 7394 8810 "dependencies": { 7395 8811 "it-all": { 7396 - "version": "2.0.0", 7397 - "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.0.tgz", 7398 - "integrity": "sha512-I/yi9ogTY59lFxtfsDSlI9w9QZtC/5KJt6g7CPPBJJh2xql2ZS7Ghcp9hoqDDbc4QfwQvtx8Loy0zlKQ8H5gFg==" 8812 + "version": "2.0.1", 8813 + "resolved": "https://registry.npmjs.org/it-all/-/it-all-2.0.1.tgz", 8814 + "integrity": "sha512-9UuJcCRZsboz+HBQTNOau80Dw+ryGaHYFP/cPYzFBJBFcfDathMYnhHk4t52en9+fcyDGPTdLB+lFc1wzQIroA==" 7399 8815 } 7400 8816 } 7401 8817 }, ··· 7409 8825 "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.2.tgz", 7410 8826 "integrity": "sha512-u7I6qhhxH7pSevcYNaMECtkvZW365ARqAIt9K+xjdK1B2WUDEjQSfETkOCT8bxFq/59LqrN3cMLUtTgmDBaygw==" 7411 8827 }, 8828 + "jiti": { 8829 + "version": "1.18.2", 8830 + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", 8831 + "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", 8832 + "dev": true 8833 + }, 7412 8834 "js-sdsl": { 7413 - "version": "4.2.0", 7414 - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", 7415 - "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==", 8835 + "version": "4.4.0", 8836 + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", 8837 + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", 7416 8838 "dev": true 7417 8839 }, 7418 8840 "js-yaml": { ··· 7461 8883 "pako": "~1.0.2", 7462 8884 "readable-stream": "~2.3.6", 7463 8885 "setimmediate": "^1.0.5" 8886 + }, 8887 + "dependencies": { 8888 + "readable-stream": { 8889 + "version": "2.3.8", 8890 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 8891 + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 8892 + "requires": { 8893 + "core-util-is": "~1.0.0", 8894 + "inherits": "~2.0.3", 8895 + "isarray": "~1.0.0", 8896 + "process-nextick-args": "~2.0.0", 8897 + "safe-buffer": "~5.1.1", 8898 + "string_decoder": "~1.1.1", 8899 + "util-deprecate": "~1.0.1" 8900 + } 8901 + }, 8902 + "safe-buffer": { 8903 + "version": "5.1.2", 8904 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 8905 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 8906 + }, 8907 + "string_decoder": { 8908 + "version": "1.1.1", 8909 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 8910 + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 8911 + "requires": { 8912 + "safe-buffer": "~5.1.0" 8913 + } 8914 + } 7464 8915 } 7465 8916 }, 7466 8917 "just-safe-get": { ··· 7469 8920 "integrity": "sha512-+tS4Bvgr/FnmYxOGbwziJ8I2BFk+cP1gQHm6rm7zo61w1SbxBwWGEq/Ryy9Gb6bvnloPq6pz7Bmm4a0rjTNlXA==" 7470 8921 }, 7471 8922 "just-safe-set": { 7472 - "version": "4.2.0", 7473 - "resolved": "https://registry.npmjs.org/just-safe-set/-/just-safe-set-4.2.0.tgz", 7474 - "integrity": "sha512-109CZyFYcRAgR5hT/aA6V6ZKUfxItJYrZvtTikfIJ4sEewAE86fQARiF9BFzZlSn0gTLVGIMuZC7le2qQ+JJKw==" 8923 + "version": "4.2.1", 8924 + "resolved": "https://registry.npmjs.org/just-safe-set/-/just-safe-set-4.2.1.tgz", 8925 + "integrity": "sha512-La5CP41Ycv52+E4g7w1sRV8XXk7Sp8a/TwWQAYQKn6RsQz1FD4Z/rDRRmqV3wJznS1MDF3YxK7BCudX1J8FxLg==" 7475 8926 }, 7476 8927 "keystore-idb": { 7477 8928 "version": "0.15.5", ··· 7481 8932 "localforage": "^1.10.0", 7482 8933 "one-webcrypto": "^1.0.3", 7483 8934 "uint8arrays": "^3.0.0" 8935 + }, 8936 + "dependencies": { 8937 + "multiformats": { 8938 + "version": "9.9.0", 8939 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", 8940 + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" 8941 + }, 8942 + "uint8arrays": { 8943 + "version": "3.1.1", 8944 + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", 8945 + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", 8946 + "requires": { 8947 + "multiformats": "^9.4.2" 8948 + } 8949 + } 7484 8950 } 7485 8951 }, 7486 8952 "keyv": { ··· 7540 9006 } 7541 9007 }, 7542 9008 "lilconfig": { 7543 - "version": "2.0.6", 7544 - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", 7545 - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", 9009 + "version": "2.1.0", 9010 + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 9011 + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 9012 + "dev": true 9013 + }, 9014 + "lines-and-columns": { 9015 + "version": "1.2.4", 9016 + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 9017 + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 7546 9018 "dev": true 7547 9019 }, 7548 9020 "load-script2": { ··· 7609 9081 } 7610 9082 }, 7611 9083 "long": { 7612 - "version": "5.2.1", 7613 - "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", 7614 - "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" 9084 + "version": "5.2.3", 9085 + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", 9086 + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" 7615 9087 }, 7616 9088 "lowercase-keys": { 7617 9089 "version": "2.0.0", 7618 9090 "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", 7619 9091 "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", 7620 9092 "dev": true 9093 + }, 9094 + "lru-cache": { 9095 + "version": "6.0.0", 9096 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 9097 + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 9098 + "dev": true, 9099 + "requires": { 9100 + "yallist": "^4.0.0" 9101 + } 7621 9102 }, 7622 9103 "lunr": { 7623 9104 "version": "2.3.9", ··· 7675 9156 } 7676 9157 }, 7677 9158 "minimist": { 7678 - "version": "1.2.7", 7679 - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", 7680 - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", 9159 + "version": "1.2.8", 9160 + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 9161 + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 7681 9162 "dev": true 7682 9163 }, 7683 9164 "mkdirp": { ··· 7706 9187 }, 7707 9188 "dependencies": { 7708 9189 "nanoid": { 7709 - "version": "4.0.0", 7710 - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.0.tgz", 7711 - "integrity": "sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==" 9190 + "version": "4.0.2", 9191 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 9192 + "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==" 7712 9193 } 7713 9194 } 7714 9195 }, ··· 7718 9199 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 7719 9200 }, 7720 9201 "multiformats": { 7721 - "version": "10.0.3", 7722 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.3.tgz", 7723 - "integrity": "sha512-K2yGSmstS/oEmYiEIieHb53jJCaqp4ERPDQAYrm5sV3UUrVDZeshJQCK6GHAKyIGufU1vAcbS0PdAAZmC7Tzcw==" 9202 + "version": "11.0.2", 9203 + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", 9204 + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==" 7724 9205 }, 7725 9206 "music-metadata": { 7726 - "version": "7.13.0", 7727 - "resolved": "https://registry.npmjs.org/music-metadata/-/music-metadata-7.13.0.tgz", 7728 - "integrity": "sha512-EoDmAoK84Z9xarNEgjE7YQ4x7cIwHI9kOI3RdA2QlEHCsqBvBuBbIcP3vONGO/SBiPhXe5FF+IVAW+1T2owjEA==", 9207 + "version": "8.1.4", 9208 + "resolved": "https://registry.npmjs.org/music-metadata/-/music-metadata-8.1.4.tgz", 9209 + "integrity": "sha512-q9mw2qeESeJY69cXtdaum/YJstDimpP+mwZnb801iq20JpyY75v6uzcp6VfVXZDixpD2f9yWneJtA0TgSEypxA==", 7729 9210 "requires": { 7730 9211 "@tokenizer/token": "^0.3.0", 7731 - "content-type": "^1.0.4", 9212 + "content-type": "^1.0.5", 7732 9213 "debug": "^4.3.4", 7733 - "file-type": "^16.5.4", 9214 + "file-type": "^18.2.1", 7734 9215 "media-typer": "^1.1.0", 7735 - "strtok3": "^6.3.0", 7736 - "token-types": "^4.2.1" 7737 - } 7738 - }, 7739 - "music-metadata-browser": { 7740 - "version": "2.5.9", 7741 - "resolved": "https://registry.npmjs.org/music-metadata-browser/-/music-metadata-browser-2.5.9.tgz", 7742 - "integrity": "sha512-+HmJRuNvSxprB1CNPm6AuQygaxhnrpkfg2P4jWUY6zE8Lench6HbjsothtL636fhfnUYP8hM0MmlqC12yfp3kg==", 7743 - "requires": { 7744 - "buffer": "^6.0.3", 7745 - "debug": "^4.3.4", 7746 - "music-metadata": "^7.12.6", 7747 - "readable-stream": "^4.1.0", 7748 - "readable-web-to-node-stream": "^3.0.2" 9216 + "strtok3": "^7.0.0", 9217 + "token-types": "^5.0.1" 7749 9218 }, 7750 9219 "dependencies": { 7751 - "readable-stream": { 7752 - "version": "4.2.0", 7753 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz", 7754 - "integrity": "sha512-gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A==", 9220 + "peek-readable": { 9221 + "version": "5.0.0", 9222 + "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-5.0.0.tgz", 9223 + "integrity": "sha512-YtCKvLUOvwtMGmrniQPdO7MwPjgkFBtFIrmfSbYmYuq3tKDV/mcfAhBth1+C3ru7uXIZasc/pHnb+YDYNkkj4A==" 9224 + }, 9225 + "strtok3": { 9226 + "version": "7.0.0", 9227 + "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-7.0.0.tgz", 9228 + "integrity": "sha512-pQ+V+nYQdC5H3Q7qBZAz/MO6lwGhoC2gOAjuouGf/VO0m7vQRh8QNMl2Uf6SwAtzZ9bOw3UIeBukEGNJl5dtXQ==", 7755 9229 "requires": { 7756 - "abort-controller": "^3.0.0", 7757 - "buffer": "^6.0.3", 7758 - "events": "^3.3.0", 7759 - "process": "^0.11.10" 9230 + "@tokenizer/token": "^0.3.0", 9231 + "peek-readable": "^5.0.0" 7760 9232 } 7761 9233 } 7762 9234 } 7763 9235 }, 9236 + "mz": { 9237 + "version": "2.7.0", 9238 + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 9239 + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 9240 + "dev": true, 9241 + "requires": { 9242 + "any-promise": "^1.0.0", 9243 + "object-assign": "^4.0.1", 9244 + "thenify-all": "^1.0.0" 9245 + } 9246 + }, 7764 9247 "nanoid": { 7765 - "version": "3.3.4", 7766 - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 7767 - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 9248 + "version": "3.3.6", 9249 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 9250 + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 7768 9251 "dev": true 7769 9252 }, 7770 9253 "napi-macros": { 7771 - "version": "2.0.0", 7772 - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", 7773 - "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==" 9254 + "version": "2.2.2", 9255 + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.2.2.tgz", 9256 + "integrity": "sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==" 7774 9257 }, 7775 9258 "native-fetch": { 7776 9259 "version": "4.0.2", ··· 7784 9267 "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 7785 9268 "dev": true 7786 9269 }, 9270 + "natural-compare-lite": { 9271 + "version": "1.4.0", 9272 + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", 9273 + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", 9274 + "dev": true 9275 + }, 7787 9276 "node-fetch": { 7788 - "version": "2.6.7", 7789 - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", 7790 - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", 9277 + "version": "2.6.9", 9278 + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", 9279 + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", 7791 9280 "requires": { 7792 9281 "whatwg-url": "^5.0.0" 7793 9282 } ··· 7798 9287 "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==" 7799 9288 }, 7800 9289 "node-releases": { 7801 - "version": "2.0.6", 7802 - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", 7803 - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", 9290 + "version": "2.0.10", 9291 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", 9292 + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", 7804 9293 "dev": true 7805 9294 }, 7806 9295 "normalize-path": { ··· 7821 9310 "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", 7822 9311 "dev": true 7823 9312 }, 9313 + "object-assign": { 9314 + "version": "4.1.1", 9315 + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 9316 + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 9317 + "dev": true 9318 + }, 7824 9319 "object-hash": { 7825 9320 "version": "3.0.0", 7826 9321 "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", ··· 7935 9430 } 7936 9431 }, 7937 9432 "p-queue": { 7938 - "version": "7.3.0", 7939 - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-7.3.0.tgz", 7940 - "integrity": "sha512-5fP+yVQ0qp0rEfZoDTlP2c3RYBgxvRsw30qO+VtPPc95lyvSG+x6USSh1TuLB4n96IO6I8/oXQGsTgtna4q2nQ==", 9433 + "version": "7.3.4", 9434 + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-7.3.4.tgz", 9435 + "integrity": "sha512-esox8CWt0j9EZECFvkFl2WNPat8LN4t7WWeXq73D9ha0V96qPRufApZi4ZhPwXAln1uVVal429HVVKPa2X0yQg==", 7941 9436 "requires": { 7942 9437 "eventemitter3": "^4.0.7", 7943 9438 "p-timeout": "^5.0.2" ··· 7948 9443 "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", 7949 9444 "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==" 7950 9445 } 7951 - } 7952 - }, 7953 - "p-retry": { 7954 - "version": "4.6.2", 7955 - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", 7956 - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", 7957 - "requires": { 7958 - "@types/retry": "0.12.0", 7959 - "retry": "^0.13.1" 7960 9446 } 7961 9447 }, 7962 9448 "p-timeout": { 7963 - "version": "6.0.0", 7964 - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.0.0.tgz", 7965 - "integrity": "sha512-5iS61MOdUMemWH9CORQRxVXTp9g5K8rPnI9uQpo97aWgsH3vVXKjkIhDi+OgIDmN3Ly9+AZ2fZV01Wut1yzfKA==" 9449 + "version": "6.1.1", 9450 + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.1.tgz", 9451 + "integrity": "sha512-yqz2Wi4fiFRpMmK0L2pGAU49naSUaP23fFIQL2Y6YT+qDGPoFwpvgQM/wzc6F8JoenUkIlAFa4Ql7NguXBxI7w==" 7966 9452 }, 7967 9453 "p-try": { 7968 9454 "version": "2.2.0", ··· 8008 9494 "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 8009 9495 "dev": true 8010 9496 }, 9497 + "path-type": { 9498 + "version": "4.0.0", 9499 + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 9500 + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 9501 + "dev": true 9502 + }, 8011 9503 "peek-readable": { 8012 9504 "version": "4.1.0", 8013 9505 "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz", ··· 8031 9523 "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 8032 9524 "dev": true 8033 9525 }, 9526 + "pirates": { 9527 + "version": "4.0.5", 9528 + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", 9529 + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", 9530 + "dev": true 9531 + }, 8034 9532 "postcss": { 8035 - "version": "8.4.19", 8036 - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz", 8037 - "integrity": "sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==", 9533 + "version": "8.4.23", 9534 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", 9535 + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", 8038 9536 "dev": true, 8039 9537 "requires": { 8040 - "nanoid": "^3.3.4", 9538 + "nanoid": "^3.3.6", 8041 9539 "picocolors": "^1.0.0", 8042 9540 "source-map-js": "^1.0.2" 8043 9541 } 8044 9542 }, 8045 9543 "postcss-custom-properties": { 8046 - "version": "12.1.11", 8047 - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", 8048 - "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", 9544 + "version": "13.1.5", 9545 + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.1.5.tgz", 9546 + "integrity": "sha512-98DXk81zTGqMVkGANysMHbGIg3voH383DYo3/+c+Abzay3nao+vM/f4Jgzsakk9S7BDsEw5DiW7sFy5G4W2wLA==", 8049 9547 "dev": true, 8050 9548 "requires": { 9549 + "@csstools/cascade-layer-name-parser": "^1.0.2", 9550 + "@csstools/css-parser-algorithms": "^2.1.1", 9551 + "@csstools/css-tokenizer": "^2.1.1", 8051 9552 "postcss-value-parser": "^4.2.0" 8052 9553 } 8053 9554 }, 8054 9555 "postcss-import": { 8055 - "version": "14.1.0", 8056 - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", 8057 - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", 9556 + "version": "15.1.0", 9557 + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 9558 + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 8058 9559 "dev": true, 8059 9560 "requires": { 8060 9561 "postcss-value-parser": "^4.0.0", ··· 8063 9564 } 8064 9565 }, 8065 9566 "postcss-js": { 8066 - "version": "4.0.0", 8067 - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", 8068 - "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", 9567 + "version": "4.0.1", 9568 + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 9569 + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 8069 9570 "dev": true, 8070 9571 "requires": { 8071 9572 "camelcase-css": "^2.0.1" 8072 9573 } 8073 9574 }, 8074 9575 "postcss-load-config": { 8075 - "version": "3.1.4", 8076 - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", 8077 - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", 9576 + "version": "4.0.1", 9577 + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", 9578 + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", 8078 9579 "dev": true, 8079 9580 "requires": { 8080 9581 "lilconfig": "^2.0.5", 8081 - "yaml": "^1.10.2" 9582 + "yaml": "^2.1.1" 8082 9583 } 8083 9584 }, 8084 9585 "postcss-nested": { 8085 - "version": "6.0.0", 8086 - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", 8087 - "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", 9586 + "version": "6.0.1", 9587 + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", 9588 + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", 8088 9589 "dev": true, 8089 9590 "requires": { 8090 - "postcss-selector-parser": "^6.0.10" 9591 + "postcss-selector-parser": "^6.0.11" 8091 9592 } 8092 9593 }, 8093 9594 "postcss-selector-parser": { 8094 - "version": "6.0.11", 8095 - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", 8096 - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", 9595 + "version": "6.0.12", 9596 + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", 9597 + "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", 8097 9598 "dev": true, 8098 9599 "requires": { 8099 9600 "cssesc": "^3.0.0", ··· 8140 9641 "graceful-fs": "^4.2.4", 8141 9642 "retry": "^0.12.0", 8142 9643 "signal-exit": "^3.0.2" 8143 - }, 8144 - "dependencies": { 8145 - "retry": { 8146 - "version": "0.12.0", 8147 - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 8148 - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" 8149 - } 8150 9644 } 8151 9645 }, 8152 9646 "protobufjs": { 8153 - "version": "7.1.2", 8154 - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz", 8155 - "integrity": "sha512-4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ==", 9647 + "version": "7.2.3", 9648 + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.3.tgz", 9649 + "integrity": "sha512-TtpvOqwB5Gdz/PQmOjgsrGH1nHjAQVCN7JG4A6r1sXRWESL5rNMAiRcBQlCAdKxZcAbstExQePYG8xof/JVRgg==", 8156 9650 "requires": { 8157 9651 "@protobufjs/aspromise": "^1.1.2", 8158 9652 "@protobufjs/base64": "^1.1.2", ··· 8179 9673 } 8180 9674 }, 8181 9675 "punycode": { 8182 - "version": "2.1.1", 8183 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 8184 - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 9676 + "version": "2.3.0", 9677 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", 9678 + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", 8185 9679 "dev": true 8186 9680 }, 8187 9681 "queue-microtask": { ··· 8205 9699 } 8206 9700 }, 8207 9701 "readable-stream": { 8208 - "version": "2.3.7", 8209 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 8210 - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 9702 + "version": "4.3.0", 9703 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz", 9704 + "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==", 8211 9705 "requires": { 8212 - "core-util-is": "~1.0.0", 8213 - "inherits": "~2.0.3", 8214 - "isarray": "~1.0.0", 8215 - "process-nextick-args": "~2.0.0", 8216 - "safe-buffer": "~5.1.1", 8217 - "string_decoder": "~1.1.1", 8218 - "util-deprecate": "~1.0.1" 9706 + "abort-controller": "^3.0.0", 9707 + "buffer": "^6.0.3", 9708 + "events": "^3.3.0", 9709 + "process": "^0.11.10" 8219 9710 } 8220 9711 }, 8221 9712 "readable-web-to-node-stream": { ··· 8227 9718 }, 8228 9719 "dependencies": { 8229 9720 "readable-stream": { 8230 - "version": "3.6.0", 8231 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 8232 - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 9721 + "version": "3.6.2", 9722 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 9723 + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 8233 9724 "requires": { 8234 9725 "inherits": "^2.0.3", 8235 9726 "string_decoder": "^1.1.1", ··· 8259 9750 "version": "0.1.13", 8260 9751 "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", 8261 9752 "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" 8262 - }, 8263 - "regexpp": { 8264 - "version": "3.2.0", 8265 - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 8266 - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 8267 - "dev": true 8268 9753 }, 8269 9754 "remotestoragejs": { 8270 - "version": "1.2.3", 8271 - "resolved": "https://registry.npmjs.org/remotestoragejs/-/remotestoragejs-1.2.3.tgz", 8272 - "integrity": "sha512-uXmWjBC3OoPR7q4v5MHAkYCLzNMvCe7afUeDQSoqdQ53Zw4BjhlF8ARGRVhe+5nbCBuJspaA2O5lTiqp4GVdeA==", 9755 + "version": "2.0.0-beta.6", 9756 + "resolved": "https://registry.npmjs.org/remotestoragejs/-/remotestoragejs-2.0.0-beta.6.tgz", 9757 + "integrity": "sha512-xGBmCPe99F4Gs/IEEzvGFjlmOkG48rRCSFz4+7xFNVs4WUJ3nzkm+fQbKelTB2HHErgOLSIyxc2dloqhI5srAQ==", 8273 9758 "requires": { 9759 + "@types/node": "16.11.59", 9760 + "@types/tv4": "^1.2.29", 9761 + "esm": "^3.2.25", 9762 + "fsevents": "^2.3.2", 8274 9763 "tv4": "^1.3.0", 8275 - "webfinger.js": "^2.7.0", 8276 - "xhr2": "^0.2.0" 9764 + "webfinger.js": "^2.7.1", 9765 + "xhr2": "^0.2.1" 9766 + }, 9767 + "dependencies": { 9768 + "@types/node": { 9769 + "version": "16.11.59", 9770 + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.59.tgz", 9771 + "integrity": "sha512-6u+36Dj3aDzhfBVUf/mfmc92OEdzQ2kx2jcXGdigfl70E/neV21ZHE6UCz4MDzTRcVqGAM27fk+DLXvyDsn3Jw==" 9772 + } 8277 9773 } 8278 9774 }, 8279 9775 "resolve": { 8280 - "version": "1.22.1", 8281 - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 8282 - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 9776 + "version": "1.22.2", 9777 + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", 9778 + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", 8283 9779 "dev": true, 8284 9780 "requires": { 8285 - "is-core-module": "^2.9.0", 9781 + "is-core-module": "^2.11.0", 8286 9782 "path-parse": "^1.0.7", 8287 9783 "supports-preserve-symlinks-flag": "^1.0.0" 8288 9784 } ··· 8319 9815 } 8320 9816 }, 8321 9817 "retry": { 8322 - "version": "0.13.1", 8323 - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", 8324 - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" 9818 + "version": "0.12.0", 9819 + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 9820 + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" 8325 9821 }, 8326 9822 "reusify": { 8327 9823 "version": "1.0.4", ··· 8356 9852 } 8357 9853 }, 8358 9854 "safe-buffer": { 8359 - "version": "5.1.2", 8360 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 8361 - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 9855 + "version": "5.2.1", 9856 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 9857 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 8362 9858 }, 8363 9859 "seedrandom": { 8364 9860 "version": "3.0.5", 8365 9861 "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", 8366 9862 "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" 8367 9863 }, 9864 + "semver": { 9865 + "version": "7.5.0", 9866 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", 9867 + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", 9868 + "dev": true, 9869 + "requires": { 9870 + "lru-cache": "^6.0.0" 9871 + } 9872 + }, 8368 9873 "setimmediate": { 8369 9874 "version": "1.0.5", 8370 9875 "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", ··· 8396 9901 "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", 8397 9902 "dev": true 8398 9903 }, 9904 + "slash": { 9905 + "version": "3.0.0", 9906 + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 9907 + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 9908 + "dev": true 9909 + }, 8399 9910 "sort-keys": { 8400 9911 "version": "5.0.0", 8401 9912 "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz", ··· 8423 9934 "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" 8424 9935 }, 8425 9936 "string_decoder": { 8426 - "version": "1.1.1", 8427 - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 8428 - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 9937 + "version": "1.3.0", 9938 + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 9939 + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 8429 9940 "requires": { 8430 - "safe-buffer": "~5.1.0" 9941 + "safe-buffer": "~5.2.0" 8431 9942 } 8432 9943 }, 8433 9944 "string-width": { ··· 8465 9976 "peek-readable": "^4.1.0" 8466 9977 } 8467 9978 }, 8468 - "subworkers": { 8469 - "version": "1.0.1", 8470 - "resolved": "https://registry.npmjs.org/subworkers/-/subworkers-1.0.1.tgz", 8471 - "integrity": "sha512-5R3HH7AMvvuWozRqgOCe/zJic3Hn/mdVHpg7ILuo2BV8qosTiDDngLpsvNernPnUnH57fP3IWU8Eux354E2WcQ==" 9979 + "sucrase": { 9980 + "version": "3.32.0", 9981 + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", 9982 + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", 9983 + "dev": true, 9984 + "requires": { 9985 + "@jridgewell/gen-mapping": "^0.3.2", 9986 + "commander": "^4.0.0", 9987 + "glob": "7.1.6", 9988 + "lines-and-columns": "^1.1.6", 9989 + "mz": "^2.7.0", 9990 + "pirates": "^4.0.1", 9991 + "ts-interface-checker": "^0.1.9" 9992 + }, 9993 + "dependencies": { 9994 + "glob": { 9995 + "version": "7.1.6", 9996 + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", 9997 + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", 9998 + "dev": true, 9999 + "requires": { 10000 + "fs.realpath": "^1.0.0", 10001 + "inflight": "^1.0.4", 10002 + "inherits": "2", 10003 + "minimatch": "^3.0.4", 10004 + "once": "^1.3.0", 10005 + "path-is-absolute": "^1.0.0" 10006 + } 10007 + } 10008 + } 8472 10009 }, 8473 10010 "supports-color": { 8474 10011 "version": "7.2.0", ··· 8496 10033 "dev": true 8497 10034 }, 8498 10035 "tailwindcss": { 8499 - "version": "3.2.4", 8500 - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz", 8501 - "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==", 10036 + "version": "3.3.2", 10037 + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", 10038 + "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", 8502 10039 "dev": true, 8503 10040 "requires": { 10041 + "@alloc/quick-lru": "^5.2.0", 8504 10042 "arg": "^5.0.2", 8505 10043 "chokidar": "^3.5.3", 8506 - "color-name": "^1.1.4", 8507 - "detective": "^5.2.1", 8508 10044 "didyoumean": "^1.2.2", 8509 10045 "dlv": "^1.1.3", 8510 10046 "fast-glob": "^3.2.12", 8511 10047 "glob-parent": "^6.0.2", 8512 10048 "is-glob": "^4.0.3", 8513 - "lilconfig": "^2.0.6", 10049 + "jiti": "^1.18.2", 10050 + "lilconfig": "^2.1.0", 8514 10051 "micromatch": "^4.0.5", 8515 10052 "normalize-path": "^3.0.0", 8516 10053 "object-hash": "^3.0.0", 8517 10054 "picocolors": "^1.0.0", 8518 - "postcss": "^8.4.18", 8519 - "postcss-import": "^14.1.0", 8520 - "postcss-js": "^4.0.0", 8521 - "postcss-load-config": "^3.1.4", 8522 - "postcss-nested": "6.0.0", 8523 - "postcss-selector-parser": "^6.0.10", 10055 + "postcss": "^8.4.23", 10056 + "postcss-import": "^15.1.0", 10057 + "postcss-js": "^4.0.1", 10058 + "postcss-load-config": "^4.0.1", 10059 + "postcss-nested": "^6.0.1", 10060 + "postcss-selector-parser": "^6.0.11", 8524 10061 "postcss-value-parser": "^4.2.0", 8525 - "quick-lru": "^5.1.1", 8526 - "resolve": "^1.22.1" 10062 + "resolve": "^1.22.2", 10063 + "sucrase": "^3.32.0" 8527 10064 }, 8528 10065 "dependencies": { 8529 10066 "glob-parent": { ··· 8593 10130 "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 8594 10131 "dev": true 8595 10132 }, 10133 + "thenify": { 10134 + "version": "3.3.1", 10135 + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 10136 + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 10137 + "dev": true, 10138 + "requires": { 10139 + "any-promise": "^1.0.0" 10140 + } 10141 + }, 10142 + "thenify-all": { 10143 + "version": "1.6.0", 10144 + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 10145 + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 10146 + "dev": true, 10147 + "requires": { 10148 + "thenify": ">= 3.1.0 < 4" 10149 + } 10150 + }, 8596 10151 "throttle-debounce": { 8597 - "version": "3.0.1", 8598 - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", 8599 - "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==" 10152 + "version": "5.0.0", 10153 + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", 10154 + "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==" 8600 10155 }, 8601 10156 "timer.js": { 8602 10157 "version": "1.0.4", ··· 8618 10173 "integrity": "sha512-FXofUGAFcgEIEOS3m9Dk9URaY3x+JeerPfVFc8K820PjV0JcCsH98BFxrVOTANC8YvM4QTrmKMol2/818gFmCw==" 8619 10174 }, 8620 10175 "token-types": { 8621 - "version": "4.2.1", 8622 - "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", 8623 - "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==", 10176 + "version": "5.0.1", 10177 + "resolved": "https://registry.npmjs.org/token-types/-/token-types-5.0.1.tgz", 10178 + "integrity": "sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==", 8624 10179 "requires": { 8625 10180 "@tokenizer/token": "^0.3.0", 8626 10181 "ieee754": "^1.2.1" ··· 8631 10186 "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 8632 10187 "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 8633 10188 }, 10189 + "ts-interface-checker": { 10190 + "version": "0.1.13", 10191 + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 10192 + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 10193 + "dev": true 10194 + }, 10195 + "tslib": { 10196 + "version": "1.14.1", 10197 + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 10198 + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", 10199 + "dev": true 10200 + }, 10201 + "tsutils": { 10202 + "version": "3.21.0", 10203 + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", 10204 + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", 10205 + "dev": true, 10206 + "requires": { 10207 + "tslib": "^1.8.1" 10208 + } 10209 + }, 8634 10210 "tv4": { 8635 10211 "version": "1.3.0", 8636 10212 "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.3.0.tgz", ··· 8656 10232 "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 8657 10233 "dev": true 8658 10234 }, 10235 + "typescript": { 10236 + "version": "5.0.4", 10237 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", 10238 + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", 10239 + "dev": true, 10240 + "peer": true 10241 + }, 8659 10242 "uint8arraylist": { 8660 10243 "version": "2.4.3", 8661 10244 "resolved": "https://registry.npmjs.org/uint8arraylist/-/uint8arraylist-2.4.3.tgz", 8662 10245 "integrity": "sha512-oEVZr4/GrH87K0kjNce6z8pSCzLEPqHNLNR5sj8cJOySrTP8Vb/pMIbZKLJGhQKxm1TiZ31atNrpn820Pyqpow==", 8663 10246 "requires": { 8664 10247 "uint8arrays": "^4.0.2" 8665 - }, 8666 - "dependencies": { 8667 - "multiformats": { 8668 - "version": "11.0.0", 8669 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.0.tgz", 8670 - "integrity": "sha512-vqF8bmMtbxw9Zn3eTpk0OZQdBVmAT/+bTGwXb3C2qCNkp45aJMmkCDds3lrtObECWPf+KFjFtTOHkvCaT/c/xQ==" 8671 - }, 8672 - "uint8arrays": { 8673 - "version": "4.0.3", 8674 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 8675 - "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 8676 - "requires": { 8677 - "multiformats": "^11.0.0" 8678 - } 8679 - } 8680 10248 } 8681 10249 }, 8682 10250 "uint8arrays": { 8683 - "version": "3.1.1", 8684 - "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", 8685 - "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", 10251 + "version": "4.0.3", 10252 + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.3.tgz", 10253 + "integrity": "sha512-b+aKlI2oTnxnfeSQWV1sMacqSNxqhtXySaH6bflvONGxF8V/fT3ZlYH7z2qgGfydsvpVo4JUgM/Ylyfl2YouCg==", 8686 10254 "requires": { 8687 - "multiformats": "^9.4.2" 8688 - }, 8689 - "dependencies": { 8690 - "multiformats": { 8691 - "version": "9.9.0", 8692 - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", 8693 - "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" 8694 - } 10255 + "multiformats": "^11.0.0" 8695 10256 } 8696 10257 }, 8697 10258 "undici": { 8698 - "version": "5.15.0", 8699 - "resolved": "https://registry.npmjs.org/undici/-/undici-5.15.0.tgz", 8700 - "integrity": "sha512-wCAZJDyjw9Myv+Ay62LAoB+hZLPW9SmKbQkbHIhMw/acKSlpn7WohdMUc/Vd4j1iSMBO0hWwU8mjB7a5p5bl8g==", 10259 + "version": "5.22.0", 10260 + "resolved": "https://registry.npmjs.org/undici/-/undici-5.22.0.tgz", 10261 + "integrity": "sha512-fR9RXCc+6Dxav4P9VV/sp5w3eFiSdOjJYsbtWfd4s5L5C4ogyuVpdKIVHeW0vV1MloM65/f7W45nR9ZxwVdyiA==", 8701 10262 "requires": { 8702 10263 "busboy": "^1.6.0" 8703 10264 } ··· 8709 10270 "dev": true 8710 10271 }, 8711 10272 "update-browserslist-db": { 8712 - "version": "1.0.10", 8713 - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", 8714 - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", 10273 + "version": "1.0.11", 10274 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", 10275 + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", 8715 10276 "dev": true, 8716 10277 "requires": { 8717 10278 "escalade": "^3.1.1", ··· 8772 10333 "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 8773 10334 "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 8774 10335 }, 8775 - "webnative": { 8776 - "version": "0.36.2", 8777 - "resolved": "https://registry.npmjs.org/webnative/-/webnative-0.36.2.tgz", 8778 - "integrity": "sha512-WrFT/BEEro+QC21gZuegBI3bOR1x0j4AxZTWHa8fC7nhMi1rdc/KuAuPV0yKB7T4xlB8j00N44B+pdfa/h4Rww==", 8779 - "requires": { 8780 - "@ipld/dag-cbor": "^8.0.0", 8781 - "@ipld/dag-pb": "^3.0.1", 8782 - "@libp2p/interface-keys": "^1.0.4", 8783 - "@libp2p/peer-id": "^1.1.17", 8784 - "@multiformats/multiaddr": "^11.1.0", 8785 - "blockstore-core": "^2.0.2", 8786 - "blockstore-datastore-adapter": "^4.0.0", 8787 - "datastore-core": "^8.0.2", 8788 - "datastore-level": "^9.0.4", 8789 - "events": "^3.3.0", 8790 - "fission-bloom-filters": "1.7.1", 8791 - "ipfs-core-types": "0.13.0", 8792 - "ipfs-repo": "^16.0.0", 8793 - "keystore-idb": "^0.15.5", 8794 - "localforage": "^1.10.0", 8795 - "multiformats": "^10.0.2", 8796 - "one-webcrypto": "^1.0.3", 8797 - "throttle-debounce": "^3.0.1", 8798 - "tweetnacl": "^1.0.3", 8799 - "uint8arrays": "^3.0.0", 8800 - "wnfs": "0.1.7" 8801 - } 8802 - }, 8803 10336 "whatwg-url": { 8804 10337 "version": "5.0.0", 8805 10338 "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", ··· 8865 10398 "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.1.tgz", 8866 10399 "integrity": "sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==" 8867 10400 }, 8868 - "xtend": { 8869 - "version": "4.0.2", 8870 - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", 8871 - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", 8872 - "dev": true 8873 - }, 8874 10401 "xxhashjs": { 8875 10402 "version": "0.2.2", 8876 10403 "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", ··· 8879 10406 "cuint": "^0.2.2" 8880 10407 } 8881 10408 }, 10409 + "yallist": { 10410 + "version": "4.0.0", 10411 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 10412 + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 10413 + "dev": true 10414 + }, 8882 10415 "yaml": { 8883 - "version": "1.10.2", 8884 - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", 8885 - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", 10416 + "version": "2.2.2", 10417 + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", 10418 + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", 8886 10419 "dev": true 8887 10420 }, 8888 10421 "yocto-queue": {
+17 -13
package.json
··· 7 7 "repository": "github:icidasset/diffuse", 8 8 "license": "SEE LICENSE IN LICENSE", 9 9 "devDependencies": { 10 + "@typescript-eslint/eslint-plugin": "^5.59.0", 11 + "@typescript-eslint/parser": "^5.59.0", 10 12 "assert": "^2.0.0", 11 - "autoprefixer": "^10.4.13", 13 + "autoprefixer": "^10.4.14", 12 14 "buffer": "^6.0.3", 13 - "elm-review": "^2.8.5", 14 - "esbuild": "^0.16.4", 15 - "eslint": "^8.29.0", 15 + "elm-review": "^2.9.1", 16 + "esbuild": "^0.17.17", 17 + "eslint": "^8.38.0", 16 18 "events": "^3.3.0", 17 - "postcss": "^8.4.19", 18 - "postcss-custom-properties": "^12.1.11", 19 - "postcss-import": "^14.1.0", 20 - "tailwindcss": "^3.2.4", 19 + "postcss": "^8.4.23", 20 + "postcss-custom-properties": "^13.1.5", 21 + "postcss-import": "^15.1.0", 22 + "tailwindcss": "^3.3.1", 21 23 "tailwindcss-animations": "^2.0.0", 22 24 "tailwindcss-interaction-variants": "^5.0.0" 23 25 }, 24 26 "dependencies": { 27 + "@oddjs/odd": "^0.37.1", 25 28 "@tokenizer/http": "^0.6.2", 26 29 "delay": "^5.0.0", 27 30 "elm-taskport": "^2.0.1", ··· 29 32 "file-saver": "^2.0.2", 30 33 "jszip": "^3.7.1", 31 34 "load-script2": "^2.0.5", 35 + "localforage": "^1.10.0", 32 36 "lunr": "^2.3.8", 33 - "music-metadata-browser": "^2.5.9", 34 - "p-retry": "^4.6.2", 35 - "remotestoragejs": "^1.2.3", 36 - "subworkers": "^1.0.1", 37 + "music-metadata": "^8.1.4", 38 + "readable-stream": "^4.3.0", 39 + "remotestoragejs": "^2.0.0-beta.6", 40 + "throttle-debounce": "^5.0.0", 37 41 "timer.js": "^1.0.4", 38 42 "tocca": "^2.0.9", 39 - "webnative": "^0.36.2" 43 + "uint8arrays": "^4.0.3" 40 44 } 41 45 }
+1 -1
src/Applications/UI/Settings/Sync.elm
··· 104 104 Just (\_ -> OpenUrlOnNewPage "https://dropbox.com") 105 105 106 106 Fission _ -> 107 - Just (\_ -> OpenUrlOnNewPage "https://webnative.dev") 107 + Just (\_ -> OpenUrlOnNewPage "https://odd.dev") 108 108 109 109 RemoteStorage _ -> 110 110 Just (\_ -> OpenUrlOnNewPage "https://remotestorage.io")
+3 -3
src/Javascript/Brain/artwork.js src/Javascript/Brain/artwork.ts
··· 10 10 const REJECT = () => Promise.reject("No artwork found") 11 11 12 12 13 - export function find(prep, _app) { 14 - return findUsingTags(prep) 13 + export function find(prep, app) { 14 + return findUsingTags(prep, app) 15 15 .then(a => a ? a : findUsingMusicBrainz(prep)) 16 16 .then(a => a ? a : findUsingLastFm(prep)) 17 17 .then(a => a ? a : REJECT()) ··· 42 42 { skipCovers: false } 43 43 44 44 )).then(tags => { 45 - return tags.picture 45 + return tags?.picture 46 46 ? new Blob([ tags.picture.data ], { type: tags.picture.format }) 47 47 : null 48 48
+9 -11
src/Javascript/Brain/common.ts
··· 4 4 5 5 6 6 import * as crypto from "../crypto" 7 - import * as db from "../indexed-db" 7 + import { db } from "../common" 8 8 9 9 10 10 export const SECRET_KEY_LOCATION = "SECRET_KEY" ··· 40 40 } 41 41 42 42 43 - export function sendData(app, event, opts) { 43 + export function sendData(app, event, opts: any = {}) { 44 44 return data => { 45 45 app.ports.fromAlien.send({ 46 46 tag: event.tag, ··· 57 57 // Cache 58 58 // ----- 59 59 60 - export function removeCache(key) { 61 - return db.deleteFromIndex({ key: key }) 60 + export function removeCache(key: string) { 61 + return db().removeItem(key) 62 62 } 63 63 64 64 65 - export function fromCache(key) { 66 - return db.getFromIndex({ key: key }) 65 + export function fromCache(key: string) { 66 + return db().getItem(key) 67 67 } 68 68 69 69 70 - export function toCache(key, data) { 71 - return db.setInIndex({ key: key, data: data }).then(result => { 72 - return result 73 - }) 70 + export function toCache(key: string, data: unknown) { 71 + return db().setItem(key, data) 74 72 } 75 73 76 74 ··· 113 111 114 112 115 113 export function getSecretKey() { 116 - return db.getFromIndex({ key: SECRET_KEY_LOCATION }) 114 + return db().getItem(SECRET_KEY_LOCATION) 117 115 }
+96 -81
src/Javascript/Brain/index.js src/Javascript/Brain/index.ts
··· 4 4 // 5 5 // This worker is responsible for everything non-UI. 6 6 7 + import { } from "../index.d" 7 8 9 + // @ts-ignore 8 10 import * as TaskPort from "elm-taskport" 9 11 10 12 import * as artwork from "./artwork" 11 - import * as db from "../indexed-db" 12 13 import * as processing from "../processing" 13 14 import * as user from "./user" 14 15 16 + import { db } from "../common" 15 17 import { fromCache, removeCache, reportError } from "./common" 16 18 import { sendData, toCache } from "./common" 17 19 import { transformUrl } from "../urls" 18 20 19 - importScripts("brain.elm.js") 20 - importScripts("subworkers.js") 21 + // @ts-ignore 22 + import { Elm } from "../../../build/js/brain.elm.js" 21 23 22 24 23 25 // 🍱 24 26 25 27 26 28 let app 27 - let wire = {} 29 + const wire: any = {} 28 30 29 31 30 32 TaskPort.install() ··· 38 40 user.setupTaskPorts() 39 41 40 42 41 - const flags = location 42 - .hash 43 - .substr(1) 44 - .split("&") 45 - .reduce((acc, flag) => { 46 - const [ k, v ] = flag.split("=") 47 - return { ...acc, [ k ]: v } 48 - }, {}) 49 - 50 - 51 - forwardCompatibility().then(initialise) 52 - 53 - 54 - function initialise() { 55 - app = Elm.Brain.init({ 56 - flags: { 57 - initialUrl: decodeURIComponent(flags.appHref) || "" 58 - } 59 - }) 60 - 61 - user.setupPorts(app) 62 - 63 - wire.ui() 64 - wire.caching() 65 - wire.artworkCaching() 66 - wire.tracksCaching() 67 - wire.downloading() 68 - wire.search() 69 - wire.tags() 70 - 71 - self.postMessage({ action: "READY" }) 72 - } 73 - 74 - 75 - async function forwardCompatibility() { 76 - // TODO: Future, check version to migrate 77 - if (await fromCache("MIGRATED")) return 78 - 79 - await moveOldDbValue({ oldName: "AUTH_SECRET_KEY", newName: "SECRET_KEY" }) 80 - await moveOldDbValue({ oldName: "AUTH_ENCLOSED_DATA", newName: "ENCLOSED_DATA" }) 81 - 82 - const method = await fromCache("AUTH_METHOD") 83 - 84 - if (method === "LOCAL") { 85 - await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_favourites.json", newName: "SYNC_LOCAL_favourites.json", parseJSON: true }) 86 - await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_playlists.json", newName: "SYNC_LOCAL_playlists.json", parseJSON: true }) 87 - await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_progress.json", newName: "SYNC_LOCAL_progress.json", parseJSON: true }) 88 - await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_settings.json", newName: "SYNC_LOCAL_settings.json", parseJSON: true }) 89 - await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_sources.json", newName: "SYNC_LOCAL_sources.json", parseJSON: true }) 90 - await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_tracks.json", newName: "SYNC_LOCAL_tracks.json", parseJSON: true }) 91 - 92 - await removeCache("AUTH_METHOD") 93 - 94 - } else if (method) { 95 - await toCache("SYNC_METHOD", method) 96 - await removeCache("AUTH_METHOD") 97 - 98 - } 99 - 100 - await toCache("MIGRATED", "3.3.0") 101 - } 102 - 103 - 104 - async function moveOldDbValue({ oldName, newName, parseJSON }) { 105 - const value = await fromCache(oldName) 106 - if (value) { 107 - await toCache(newName, parseJSON ? JSON.parse(value) : value) 108 - await removeCache(oldName) 109 - } 110 - } 111 - 112 - 113 43 114 44 // UI 115 45 // == ··· 178 108 179 109 180 110 function downloadArtwork(list) { 181 - const exe = !artworkQueue[ 0 ] 111 + const exe = !artworkQueue[0] 182 112 artworkQueue = artworkQueue.concat(list) 183 113 if (exe) shiftArtworkQueue() 184 114 } ··· 240 170 241 171 function removeTracksFromCache(trackIds) { 242 172 trackIds.reduce( 243 - (acc, id) => acc.then(_ => db.deleteFromIndex({ key: id, store: db.storeNames.tracks })), 173 + (acc, id) => acc.then(_ => db("tracks").removeItem(id)), 244 174 Promise.resolve() 245 175 246 176 ).catch( ··· 256 186 list.reduce( 257 187 (acc, item) => { 258 188 return acc 259 - .then(_ => transformUrl(item.url)) 189 + .then(_ => transformUrl(item.url, app)) 260 190 .then(fetch) 261 191 .then(r => r.blob()) 262 - .then(b => db.setInIndex({ key: item.trackId, data: b, store: db.storeNames.tracks })) 192 + .then(b => db("tracks").setItem(item.trackId, b)) 263 193 }, 264 194 Promise.resolve() 265 195 ··· 302 232 // Search 303 233 // ------ 304 234 305 - const search = new Worker("search.js") 235 + const search = new Worker( 236 + "../../search.js", 237 + { type: "module" } 238 + ) 306 239 307 240 308 241 wire.search = () => { ··· 353 286 }) 354 287 }) 355 288 } 289 + 290 + 291 + 292 + // 🚀 293 + 294 + 295 + const flags: Record<string, string> = location 296 + .hash 297 + .substr(1) 298 + .split("&") 299 + .reduce((acc, flag) => { 300 + const [k, v] = flag.split("=") 301 + return { ...acc, [k]: v } 302 + }, {}) 303 + 304 + 305 + forwardCompatibility().then(initialise) 306 + 307 + 308 + function initialise() { 309 + app = Elm.Brain.init({ 310 + flags: { 311 + initialUrl: decodeURIComponent(flags.appHref) || "" 312 + } 313 + }) 314 + 315 + user.setupPorts(app) 316 + 317 + wire.ui() 318 + wire.caching() 319 + wire.artworkCaching() 320 + wire.tracksCaching() 321 + wire.downloading() 322 + wire.search() 323 + wire.tags() 324 + 325 + self.postMessage({ action: "READY" }) 326 + } 327 + 328 + 329 + async function forwardCompatibility() { 330 + // TODO: Future, check version to migrate 331 + if (await fromCache("MIGRATED")) return 332 + 333 + await moveOldDbValue({ oldName: "AUTH_SECRET_KEY", newName: "SECRET_KEY" }) 334 + await moveOldDbValue({ oldName: "AUTH_ENCLOSED_DATA", newName: "ENCLOSED_DATA" }) 335 + 336 + const method = await fromCache("AUTH_METHOD") 337 + 338 + if (method === "LOCAL") { 339 + await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_favourites.json", newName: "SYNC_LOCAL_favourites.json", parseJSON: true }) 340 + await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_playlists.json", newName: "SYNC_LOCAL_playlists.json", parseJSON: true }) 341 + await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_progress.json", newName: "SYNC_LOCAL_progress.json", parseJSON: true }) 342 + await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_settings.json", newName: "SYNC_LOCAL_settings.json", parseJSON: true }) 343 + await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_sources.json", newName: "SYNC_LOCAL_sources.json", parseJSON: true }) 344 + await moveOldDbValue({ oldName: "AUTH_ANONYMOUS_tracks.json", newName: "SYNC_LOCAL_tracks.json", parseJSON: true }) 345 + 346 + await removeCache("AUTH_METHOD") 347 + 348 + } else if (method) { 349 + await toCache("SYNC_METHOD", method) 350 + await removeCache("AUTH_METHOD") 351 + 352 + } 353 + 354 + await toCache("MIGRATED", "3.3.0") 355 + } 356 + 357 + 358 + async function moveOldDbValue( 359 + { oldName, newName, parseJSON }: { 360 + oldName: string 361 + newName: string 362 + parseJSON?: boolean 363 + } 364 + ) { 365 + const value = await fromCache(oldName) 366 + if (value && typeof value === "string") { 367 + await toCache(newName, parseJSON ? JSON.parse(value) : value) 368 + await removeCache(oldName) 369 + } 370 + }
+15 -17
src/Javascript/Brain/user.ts
··· 7 7 8 8 // @ts-ignore 9 9 import * as TaskPort from "elm-taskport" 10 - import { APP_INFO, WEBNATIVE_CONFIG } from "../common" 10 + import { APP_INFO, ODD_CONFIG } from "../common" 11 11 12 12 import * as crypto from "../crypto" 13 13 ··· 71 71 // Fission 72 72 // ------- 73 73 74 - let session, wn 74 + let odd, session 75 75 76 76 77 77 taskPorts.fromFission = async ({ fileName, includePublicData }) => { 78 78 await constructFission() 79 79 80 80 // Private data 81 - const privatePath = wn.path.appData(APP_INFO, wn.path.file(fileName)) 81 + const privatePath = odd.path.appData(APP_INFO, odd.path.file(fileName)) 82 82 const privateData = await session.fs.exists(privatePath) 83 83 ? session.fs.read(privatePath) 84 84 .then(bytes => new TextDecoder().decode(bytes)) ··· 117 117 await constructFission() 118 118 119 119 // Data identifying 120 - const privatePath = wn.path.appData(APP_INFO, wn.path.file(fileName)) 120 + const privatePath = odd.path.appData(APP_INFO, odd.path.file(fileName)) 121 121 const isDataObject = typeof data === "object" && !!data.data 122 122 123 123 if (!isDataObject) { ··· 171 171 172 172 173 173 async function constructFission() { 174 - if (session) return Promise.resolve() 175 - 176 - importScripts("vendor/webnative.min.js") 174 + if (odd) return Promise.resolve() 177 175 178 - wn = (self as any).webnative 176 + odd = await import("@oddjs/odd") 179 177 180 - const program = await wn.program({ 181 - ...WEBNATIVE_CONFIG, 178 + const program = await odd.program({ 179 + ...ODD_CONFIG, 182 180 fileSystem: { loadImmediately: false } 183 181 }) 184 182 ··· 186 184 187 185 if (!session) { 188 186 await removeCache("SYNC_METHOD") 189 - location.reload() 190 - throw new Error("Failed to load Webnative session") 187 + window.location.reload() 188 + throw new Error("Failed to load ODD SDK session") 191 189 } 192 190 193 191 session.fs = await program.fileSystem.load(session.username) 194 - if (!session.fs) throw new Error("Did not load Webnative file system") 192 + if (!session.fs) throw new Error("Did not load ODD SDK file system") 195 193 } 196 194 197 195 ··· 199 197 if (!session) return 200 198 session.destroy() 201 199 session = undefined 202 - wn = undefined 200 + odd = undefined 203 201 } 204 202 205 203 ··· 252 250 let rsClient 253 251 254 252 255 - function remoteStorage(userAddress: string, token: string) { 253 + async function remoteStorage(userAddress: string, token: string) { 256 254 if (!rs) { 257 - importScripts("vendor/remotestorage.min.js") 255 + const { default: RemoteStorage } = await import("remotestoragejs") 258 256 259 - rs = new (self as any).RemoteStorage({ cache: false }) 257 + rs = new RemoteStorage({ cache: false }) 260 258 rs.access.claim("diffuse", "rw") 261 259 262 260 rsClient = rs.scope("/diffuse/")
+319
src/Javascript/Odd/components/capabilities.ts
··· 1 + import * as Uint8arrays from "uint8arrays" 2 + 3 + import * as Base64 from "@oddjs/odd/common/base64" 4 + import * as Capabilities from "@oddjs/odd/capabilities" 5 + import * as Crypto from "@oddjs/odd/components/crypto/implementation" 6 + import * as Depot from "@oddjs/odd/components/depot/implementation" 7 + import * as DID from "@oddjs/odd/did/index" 8 + import * as Fission from "@oddjs/odd/common/fission" 9 + import * as Path from "@oddjs/odd/path/index" 10 + import * as TypeChecks from "@oddjs/odd/common/type-checks" 11 + import * as Ucan from "@oddjs/odd/ucan/index" 12 + 13 + import { Implementation, RequestOptions } from "@oddjs/odd/components/capabilities/implementation" 14 + import { Maybe } from "@oddjs/odd/common/types" 15 + import { VERSION } from "@oddjs/odd/common/version" 16 + 17 + 18 + // 🧩 19 + 20 + 21 + export type Dependencies = { 22 + crypto: Crypto.Implementation 23 + depot: Depot.Implementation 24 + } 25 + 26 + 27 + 28 + // 🛠 29 + 30 + 31 + export async function collect( 32 + endpoints: Fission.Endpoints, 33 + dependencies: Dependencies 34 + ): Promise<Maybe<Capabilities.Capabilities>> { 35 + const url = new URL(self.location.href) 36 + const username = url.searchParams.get("username") ?? "" 37 + if (!username) return null 38 + 39 + const info = await retry( 40 + () => getClassifiedViaPostMessage(endpoints, dependencies.crypto), 41 + { 42 + tries: 20, 43 + timeout: 60000, 44 + timeoutMessage: "Trying to retrieve UCAN(s) and readKey(s) from the auth lobby timed out after 60 seconds." 45 + } 46 + ) 47 + 48 + const secrets = await translateClassifiedInfo(dependencies, info) 49 + 50 + if (!secrets) { 51 + throw new Error("Failed to retrieve secrets from lobby url parameters") 52 + } 53 + 54 + url.searchParams.delete("authorised") 55 + url.searchParams.delete("cancelled") 56 + url.searchParams.delete("newUser") 57 + url.searchParams.delete("username") 58 + 59 + history.replaceState(null, document.title, url.toString()) 60 + 61 + return { ...secrets, username } 62 + } 63 + 64 + 65 + /** 66 + * Redirects to a lobby. 67 + * 68 + * NOTE: Only works on the main thread, as it uses `window.location`. 69 + */ 70 + export async function request( 71 + endpoints: Fission.Endpoints, 72 + dependencies: Dependencies, 73 + options: RequestOptions = {} 74 + ): Promise<void> { 75 + const { permissions } = options 76 + 77 + const app = permissions?.app 78 + const fs = permissions?.fs 79 + const platform = permissions?.platform 80 + const raw = permissions?.raw 81 + const sharing = permissions?.sharing 82 + 83 + const exchangeDid = await DID.exchange(dependencies.crypto) 84 + const writeDid = await DID.write(dependencies.crypto) 85 + const sharedRepo = false 86 + const redirectTo = options.returnUrl || window.location.href 87 + 88 + // Compile params 89 + const params = [ 90 + [ "didExchange", exchangeDid ], 91 + [ "didWrite", writeDid ], 92 + [ "redirectTo", redirectTo ], 93 + [ "sdk", VERSION.toString() ], 94 + [ "sharedRepo", sharedRepo ? "t" : "f" ], 95 + [ "sharing", sharing ? "t" : "f" ] 96 + 97 + ].concat( 98 + app ? [ [ "appFolder", `${app.creator}/${app.name}` ] ] : [], 99 + fs?.private ? fs.private.map(p => [ "privatePath", Path.toPosix(p, { absolute: true }) ]) : [], 100 + fs?.public ? fs.public.map(p => [ "publicPath", Path.toPosix(p, { absolute: true }) ]) : [], 101 + raw ? [ [ "raw", Base64.urlEncode(JSON.stringify(raw)) ] ] : [], 102 + options.extraParams ? Object.entries(options.extraParams) : [] 103 + 104 + ).concat((() => { 105 + const apps = platform?.apps 106 + 107 + switch (typeof apps) { 108 + case "string": return [ [ "app", apps ] ] 109 + case "object": return apps.map(a => [ "app", a ]) 110 + default: return [] 111 + } 112 + 113 + })()) 114 + 115 + // And, go! 116 + window.location.href = endpoints.lobby + "?" + 117 + params 118 + .map(([ k, v ]) => encodeURIComponent(k) + "=" + encodeURIComponent(v)) 119 + .join("&") 120 + } 121 + 122 + 123 + 124 + // COLLECTION HELPERS 125 + 126 + 127 + type LobbyClassifiedInfo = { 128 + sessionKey: string 129 + secrets: string 130 + iv: string 131 + } 132 + 133 + type LobbySecrets = { 134 + fs: Record<string, { key: string; bareNameFilter: string }> 135 + ucans: string[] 136 + } 137 + 138 + async function getClassifiedViaPostMessage( 139 + endpoints: Fission.Endpoints, 140 + crypto: Crypto.Implementation 141 + ): Promise<LobbyClassifiedInfo> { 142 + const didExchange = await DID.exchange(crypto) 143 + const iframe: HTMLIFrameElement = await new Promise(resolve => { 144 + const iframe = document.createElement("iframe") 145 + iframe.id = "odd-secret-exchange" 146 + iframe.style.width = "0" 147 + iframe.style.height = "0" 148 + iframe.style.border = "none" 149 + iframe.style.display = "none" 150 + document.body.appendChild(iframe) 151 + 152 + iframe.onload = () => { 153 + resolve(iframe) 154 + } 155 + 156 + iframe.src = `${endpoints.lobby}/exchange.html` 157 + }) 158 + 159 + return new Promise((resolve, reject) => { 160 + function stop() { 161 + globalThis.removeEventListener("message", listen) 162 + document.body.removeChild(iframe) 163 + reject() 164 + } 165 + 166 + function listen(event: MessageEvent<string>) { 167 + if (new URL(event.origin).host !== new URL(endpoints.lobby).host) return stop() 168 + if (event.data == null) return stop() 169 + 170 + let classifiedInfo 171 + 172 + try { 173 + classifiedInfo = JSON.parse(event.data) 174 + } catch { 175 + stop() 176 + } 177 + 178 + if (!isLobbyClassifiedInfo(classifiedInfo)) stop() 179 + globalThis.removeEventListener("message", listen) 180 + 181 + try { document.body.removeChild(iframe) } catch { } 182 + 183 + resolve(classifiedInfo) 184 + } 185 + 186 + globalThis.addEventListener("message", listen) 187 + 188 + if (iframe.contentWindow == null) { 189 + throw new Error("Can't import UCANs & readKey(s): No access to its contentWindow") 190 + } 191 + 192 + const message = { 193 + webnative: "exchange-secrets", 194 + didExchange 195 + } 196 + 197 + iframe.contentWindow.postMessage(message, iframe.src) 198 + }) 199 + } 200 + 201 + function isLobbyClassifiedInfo(obj: unknown): obj is LobbyClassifiedInfo { 202 + return TypeChecks.isObject(obj) 203 + && TypeChecks.isString(obj.sessionKey) 204 + && TypeChecks.isString(obj.secrets) 205 + && TypeChecks.isString(obj.iv) 206 + } 207 + 208 + function isLobbySecrets(obj: unknown): obj is LobbySecrets { 209 + return TypeChecks.isObject(obj) 210 + && TypeChecks.isObject(obj.fs) 211 + && Object.values(obj.fs).every(a => TypeChecks.hasProp(a, "key") && TypeChecks.hasProp(a, "bareNameFilter")) 212 + && Array.isArray(obj.ucans) 213 + && obj.ucans.every(a => TypeChecks.isString(a)) 214 + } 215 + 216 + async function translateClassifiedInfo( 217 + { crypto }: Dependencies, 218 + classifiedInfo: LobbyClassifiedInfo 219 + ): Promise<{ fileSystemSecrets: Capabilities.FileSystemSecret[]; ucans: Ucan.Ucan[] }> { 220 + // Extract session key 221 + const rawSessionKey = await crypto.keystore.decrypt( 222 + Uint8arrays.fromString(classifiedInfo.sessionKey, "base64pad") 223 + ) 224 + 225 + // The encrypted session key and read keys can be encoded in both UTF-16 and UTF-8. 226 + // This is because keystore-idb uses UTF-16 by default, and that's what the ODD SDK used before. 227 + // --- 228 + // This easy way of detection works because the decrypted session key is encoded in base 64. 229 + // That means it'll only ever use the first byte to encode it, and if it were UTF-16 it would 230 + // split up the two bytes. Hence we check for the second byte here. 231 + const isUtf16 = rawSessionKey[ 1 ] === 0 232 + 233 + const sessionKey = isUtf16 234 + ? Uint8arrays.fromString( 235 + new TextDecoder("utf-16").decode(rawSessionKey), 236 + "base64pad" 237 + ) 238 + : rawSessionKey 239 + 240 + // Decrypt secrets 241 + const secretsStr = await crypto.aes.decrypt( 242 + Uint8arrays.fromString(classifiedInfo.secrets, "base64pad"), 243 + sessionKey, 244 + Crypto.SymmAlg.AES_GCM, 245 + Uint8arrays.fromString(classifiedInfo.iv, "base64pad") 246 + ) 247 + 248 + const secrets: unknown = JSON.parse( 249 + Uint8arrays.toString(secretsStr, "utf8") 250 + ) 251 + 252 + if (!isLobbySecrets(secrets)) throw new Error("Invalid secrets received") 253 + 254 + const fileSystemSecrets: Capabilities.FileSystemSecret[] = 255 + isLobbySecrets(secrets) 256 + ? Object 257 + .entries(secrets.fs) 258 + .map(([ posixPath, { bareNameFilter, key } ]) => { 259 + return { 260 + bareNameFilter: bareNameFilter, 261 + path: Path.fromPosix(posixPath), 262 + readKey: Uint8arrays.fromString(key, "base64pad") 263 + } 264 + }) 265 + : [] 266 + 267 + const ucans: Ucan.Ucan[] = secrets.ucans.map( 268 + (u: string) => Ucan.decode(u) 269 + ) 270 + 271 + return { 272 + fileSystemSecrets, 273 + ucans, 274 + } 275 + } 276 + 277 + 278 + 279 + // HELPERS 280 + 281 + 282 + async function retry<T>( 283 + action: () => Promise<T>, 284 + options: { tries: number; timeout: number; timeoutMessage: string } 285 + ): Promise<T> { 286 + return new Promise((resolve, reject) => { 287 + if (options.tries > 0) { 288 + const unoMas = () => { 289 + retry(action, { ...options, tries: options.tries - 1 }) 290 + } 291 + 292 + const timeoutId = setTimeout(unoMas, options.timeout) 293 + 294 + action() 295 + .then(resolve, unoMas) 296 + .finally(() => clearTimeout(timeoutId)) 297 + 298 + } else { 299 + reject(new Error(options.timeoutMessage)) 300 + 301 + } 302 + }) 303 + } 304 + 305 + 306 + 307 + // 🛳 308 + 309 + 310 + export function implementation( 311 + dependencies: Dependencies 312 + ): Implementation { 313 + const endpoints = Fission.PRODUCTION 314 + 315 + return { 316 + collect: () => collect(endpoints, dependencies), 317 + request: (...args) => request(endpoints, dependencies, ...args) 318 + } 319 + }
src/Javascript/Workers/search.js src/Javascript/Workers/search.ts
+23 -7
src/Javascript/Workers/service.js src/Javascript/Workers/service.ts
··· 3 3 // (◡ ‿ ◡ ✿) 4 4 // 5 5 // This worker is responsible for caching the application 6 - // so it can be used offline. 6 + // so it can be used offline and acts as a proxy that 7 + // allows for example, authentication through headers 8 + // when using audio elements. 9 + // 10 + /// <reference lib="webworker" /> 11 + 12 + import { } from "../index.d" 7 13 8 14 9 15 const KEY = ··· 45 51 46 52 self.addEventListener("install", event => { 47 53 if (isNativeWrapper) { 48 - return self.skipWaiting() 54 + return globalThis.skipWaiting() 49 55 } 50 56 51 57 const href = self.location.href.replace("service-worker.js", "") ··· 65 71 const isInternal = 66 72 !!event.request.url.match(new RegExp("^" + self.location.origin)) 67 73 68 - // When doing a request with basic authentication in the url, put it in the headers instead 69 - if (event.request.url.includes("service_worker_authentication=")) { 74 + // Ping 75 + if (event.request.url.includes("?ping=1")) { 76 + event.respondWith( 77 + (async () => { 78 + const serverIsOnline = await network(event).then(_ => true).catch(_ => false) 79 + return new Response(JSON.stringify(serverIsOnline), { 80 + headers: { "Content-Type": "application/json" } 81 + }) 82 + })() 83 + ) 84 + 85 + // When doing a request with basic authentication in the url, put it in the headers instead 86 + } else if (event.request.url.includes("service_worker_authentication=")) { 70 87 const url = new URL(event.request.url) 71 88 const token = url.searchParams.get("service_worker_authentication") 72 89 ··· 120 137 121 138 122 139 function cacheThenNetwork(event) { 123 - let url = new URL(event.request.url) 140 + const url = new URL(event.request.url) 124 141 url.search = "" 125 142 126 143 return caches ··· 137 154 138 155 addEventListener("message", event => { 139 156 if (event.data === "skipWaiting") { 140 - skipWaiting() 157 + globalThis.skipWaiting() 141 158 } 142 159 }) 143 160 ··· 160 177 headers: newHeaders, 161 178 credentials: request.credentials, 162 179 cache: request.cache, 163 - destination: request.destination, 164 180 method: request.method, 165 181 mode: request.mode, 166 182 redirect: request.redirect,
+116 -90
src/Javascript/audio-engine.js src/Javascript/audio-engine.ts
··· 5 5 // Creates audio elements and interacts with the Web Audio API. 6 6 7 7 8 + import { throttle } from "throttle-debounce" 8 9 import Timer from "timer.js" 9 - import * as db from "./indexed-db" 10 - import { throttle } from "./common" 10 + 11 + import { db } from "./common" 11 12 import { transformUrl } from "./urls" 13 + import { mimeType } from "./common" 12 14 13 15 14 16 // ⛩ ··· 19 21 20 22 21 23 22 - // Audio context 23 - // ------------- 24 - 25 - let SINGLE_AUDIO_NODE = IS_SAFARI 26 - 27 - 28 - export function usesSingleAudioNode() { 29 - return SINGLE_AUDIO_NODE 30 - } 31 - 32 - 33 - 34 24 // Container for <audio> elements 35 25 // ------------------------------ 36 26 37 - const audioElementsContainer = (() => { 27 + const audioElementsContainer: HTMLElement = (() => { 38 28 let c 39 29 let styles = 40 30 [ "height: 0" ··· 65 55 66 56 export function setup(orchestrion) { 67 57 addAudioContainer() 68 - 69 - if (IS_SAFARI) { 70 - // Try to avoid the "couldn't play automatically" error, 71 - // which seems to happen with audio nodes using an url created by `createObjectURL`. 72 - insertTrack(orchestrion, { url: silentMp3File, trackId: "" }).then(_ => { 73 - const temporaryClickHandler = () => { 74 - if (orchestrion.audio) orchestrion.audio.play() 75 - document.body.removeEventListener("click", temporaryClickHandler) 76 - } 77 - 78 - document.body.addEventListener("click", temporaryClickHandler) 79 - }) 80 - } 81 58 } 82 59 83 60 ··· 101 78 // Playback 102 79 // -------- 103 80 104 - export function insertTrack(orchestrion, queueItem, maybeArtwork) { 81 + export function insertTrack(orchestrion, queueItem, maybeArtwork = null) { 105 82 if (queueItem.url == undefined) console.error("insertTrack, missing `url`"); 106 83 if (queueItem.trackId == undefined) console.error("insertTrack, missing `trackId`"); 107 84 ··· 116 93 117 94 // initial promise 118 95 const initialPromise = queueItem.isCached 119 - ? db.getFromIndex({ key: queueItem.trackId, store: db.storeNames.tracks }).then(blobUrl) 96 + ? db("tracks").getItem(queueItem.trackId).then(blobUrl) 120 97 : transformUrl(queueItem.url, orchestrion.app) 121 98 122 99 // find or create audio node 123 100 let audioNode 124 101 125 102 return initialPromise.then(url => { 126 - queueItem = 127 - Object.assign({}, queueItem, { url: url }) 103 + queueItem.url = url 104 + audioNode = audioElementsContainer.querySelector("audio") 128 105 129 - audioNode = 130 - audioElementsContainer.querySelector("audio") 131 - 132 - if (SINGLE_AUDIO_NODE && audioNode) { 133 - const crossorigin = isCrossOrginUrl(queueItem.url) ? "use-credentials" : "anonymous" 134 - audioNode.setAttribute("crossorigin", crossorigin) 135 - audioNode.setAttribute("src", queueItem.url) 136 - audioNode.setAttribute("rel", queueItem.trackId) 137 - audioNode.load() 138 - 139 - } else if (audioNode = findExistingAudioElement(queueItem)) { 106 + if (audioNode = findExistingAudioElement(queueItem)) { 140 107 audioNode.setAttribute("data-preload", "f") 141 108 audioNode.setAttribute("data-timestamp", Date.now()) 142 109 ··· 148 115 } 149 116 150 117 } else { 151 - audioNode = createAudioElement(orchestrion, queueItem, Date.now()) 118 + audioNode = createAudioElement(orchestrion, queueItem, Date.now(), false) 152 119 153 120 } 154 121 ··· 173 140 174 141 const crossorigin = isCrossOrginUrl(queueItem.url) ? "use-credentials" : "anonymous" 175 142 176 - audio = new Audio() 143 + const fileName = queueItem.trackPath.split("/").reverse()[ 0 ] 144 + const fileExtMatch = fileName.match(/\.(\w+)$/) 145 + const fileExt = fileExtMatch && fileExtMatch[ 1 ] 146 + const mime = mimeType(fileExt) 147 + 148 + const source = document.createElement("source") 149 + if (mime) source.setAttribute("type", mime) 150 + source.setAttribute("src", queueItem.url) 151 + 152 + audio = document.createElement("audio") 177 153 audio.setAttribute("crossorigin", crossorigin) 178 154 audio.setAttribute("data-preload", isPreload ? "t" : "f") 179 155 audio.setAttribute("data-timestamp", timestampInMilliseconds) 180 - audio.setAttribute("preload", SINGLE_AUDIO_NODE ? "none" : "auto") 156 + audio.setAttribute("preload", "auto") 181 157 audio.setAttribute("rel", queueItem.trackId) 182 - audio.setAttribute("src", queueItem.url) 158 + audio.appendChild(source) 183 159 184 160 audio.crossorigin = "anonymous" 185 161 audio.volume = 1 ··· 195 171 audio.addEventListener("seeked", bind(audioLoaded)) 196 172 audio.addEventListener("timeupdate", bind(audioTimeUpdateEvent)) 197 173 198 - // `stalled` event doesn't work properly (mostly on Safari and mobile devices) 199 - // if (!IS_SAFARI) audio.addEventListener("stalled", bind(audioStalledEvent)) 174 + // Audio stalled event doesn't work well in Safari 175 + if (!IS_SAFARI) { 176 + audio.addEventListener("stalled", bind(audioStalledEvent)) 177 + } 200 178 201 - audio.load() 202 179 audioElementsContainer.appendChild(audio) 180 + audio.load() 203 181 204 182 return audio 205 183 } ··· 211 189 212 190 // remove other preloads 213 191 audioElementsContainer.querySelectorAll(`[data-preload="t"]`).forEach( 214 - n => n.parentNode.removeChild(n) 192 + n => n.parentNode?.removeChild(n) 215 193 ) 216 194 217 195 // audio element remains valid for 45 minutes ··· 229 207 } 230 208 231 209 232 - export function seek(audio, percentage) { 210 + export function playAudio(element, queueItem, app) { 211 + if (queueItem.progress && element.duration) { 212 + element.currentTime = queueItem.progress * element.duration 213 + } 214 + 215 + const promise = element.play() || Promise.resolve() 216 + 217 + promise.catch(e => { 218 + const err = "Couldn't play audio automatically. Please resume playback manually." 219 + console.error(err, e) 220 + if (app) app.ports.fromAlien.send({ tag: "", data: null, error: err }) 221 + }) 222 + } 223 + 224 + 225 + export function seek(orchestrion, percentage) { 226 + const audio = orchestrion.audio 233 227 if (audio && !isNaN(audio.duration)) { 234 - if (audio.paused) audio.play() 228 + if (audio.paused) playAudio(audio, orchestrion.activeQueueItem, orchestrion.app) 235 229 audio.currentTime = audio.duration * percentage 236 230 } 237 231 } ··· 313 307 } 314 308 315 309 // Timeout 316 - setTimeout(_ => { 310 + this.unstallTimeout = setTimeout(_ => { 317 311 if (isActiveAudioElement(this, event.target)) { 318 312 unstallAudio.call(this, event.target) 319 313 } ··· 337 331 this.app.ports.setAudioPosition.send(node.currentTime) 338 332 339 333 if (navigator.mediaSession && navigator.mediaSession.setPositionState) { 340 - navigator.mediaSession.setPositionState({ 341 - duration: node.duration, 342 - position: node.currentTime 343 - }) 334 + try { 335 + navigator.mediaSession.setPositionState({ 336 + duration: node.duration, 337 + position: node.currentTime 338 + }) 339 + } catch (_err) { } 344 340 } 345 341 346 342 const progress = node.currentTime / node.duration ··· 363 359 } 364 360 365 361 366 - function audioLoading(_event) { 362 + function audioLoading(event) { 367 363 clearTimeout(this.loadingTimeoutId) 368 364 369 365 this.loadingTimeoutId = setTimeout(() => { 370 - if (!this.audio) { 366 + const audio = event.target 367 + 368 + if (!audio || !isActiveAudioElement(this, audio)) { 371 369 return 372 - } else if (this.audio.readyState === 4 && this.audio.currentTime === 0) { 370 + } else if (audio.readyState === 4 && audio.currentTime === 0) { 373 371 this.app.ports.setAudioIsLoading.send(false) 372 + } else if (audio.readyState < 3 && IS_SAFARI) { 373 + this.app.ports.setAudioIsLoading.send(true) 374 + this.unstallTimeout = setTimeout( 375 + () => { 376 + if (isActiveAudioElement(this, audio)) { 377 + unstallSafariAudio.call(this, audio) 378 + } 379 + }, 380 + timesStalled * 2500 381 + ) 374 382 } else { 375 383 this.app.ports.setAudioIsLoading.send(true) 376 384 } ··· 380 388 381 389 function audioLoaded(event) { 382 390 clearTimeout(this.loadingTimeoutId) 391 + clearTimeout(this.unstallTimeout) 383 392 this.app.ports.setAudioHasStalled.send(false) 384 393 this.app.ports.setAudioIsLoading.send(false) 385 - if (event.target.paused) playAudio(event.target, this.activeQueueItem, this.app) 394 + if (event.target.paused && (event.type === "seeked" || !event.target.hasPlayed)) { 395 + playAudio(event.target, this.activeQueueItem, this.app) 396 + } 386 397 } 387 398 388 399 389 - function audioPlayEvent(_event) { 400 + function audioPlayEvent(event) { 401 + event.target.hasPlayed = true 390 402 this.app.ports.setAudioIsPlaying.send(true) 391 403 if (navigator.mediaSession) navigator.mediaSession.playbackState = "playing" 392 404 if (this.scrobbleTimer) this.scrobbleTimer.start() 393 405 } 394 406 395 407 396 - function audioPauseEvent(_event) { 408 + function audioPauseEvent(event) { 397 409 this.app.ports.setAudioIsPlaying.send(false) 398 410 if (navigator.mediaSession) navigator.mediaSession.playbackState = "paused" 399 411 if (this.scrobbleTimer) this.scrobbleTimer.pause() ··· 421 433 422 434 423 435 function isActiveAudioElement(orchestrion, node) { 424 - return ( 436 + const isActive = ( 425 437 !orchestrion.activeQueueItem || 426 438 !node || 427 - node.getAttribute("data-preload") === "t" 439 + node.getAttribute("data-preload") === "t" || 440 + node.getAttribute("data-deactivated") === "t" 428 441 ) 429 442 ? false 430 - : orchestrion.activeQueueItem.trackId === audioElementTrackId(node) 431 - } 443 + : orchestrion.activeQueueItem.trackId === audioElementTrackId(node); 432 444 433 - 434 - function playAudio(element, queueItem, app) { 435 - if (queueItem.progress && element.duration) { 436 - element.currentTime = queueItem.progress * element.duration 437 - } 438 - 439 - const promise = element.play() || Promise.resolve() 440 - 441 - promise.catch(e => { 442 - // SINGLE_AUDIO_NODE = true 443 - 444 - const err = "Couldn't play audio automatically. Please resume playback manually." 445 - console.error(err, e) 446 - if (app) app.ports.fromAlien.send({ tag: "", data: null, error: err }) 447 - }) 445 + return isActive 448 446 } 449 447 450 448 451 - const sendProgress = throttle((orchestrion, progress) => { 449 + const sendProgress = throttle(30000, (orchestrion, progress) => { 452 450 orchestrion.app.ports.noteProgress.send({ 453 451 trackId: orchestrion.activeQueueItem.trackId, 454 452 progress: progress 455 453 }) 456 - }, 30000) 454 + }, { 455 + noLeading: false, 456 + noTrailing: false 457 + }) 457 458 458 459 459 460 let lastSetDuration = 0 ··· 489 490 export function setMediaSessionMetadata(queueItem, maybeArtwork) { 490 491 if ("mediaSession" in navigator === false || !queueItem.trackTags) return 491 492 492 - let artwork = [] 493 + let artwork: MediaImage[] = [] 493 494 494 495 if (maybeArtwork && typeof maybeArtwork !== "string") { 495 496 artwork = [ { ··· 507 508 } 508 509 509 510 510 - function unstallAudio(node) { 511 + function unstallAudio(node: HTMLAudioElement) { 511 512 const time = node.currentTime 512 513 513 514 node.load() ··· 523 524 } 524 525 525 526 527 + function unstallSafariAudio(node: HTMLAudioElement) { 528 + timesStalled++ 529 + 530 + // Deactivate 531 + node.setAttribute("data-deactivated", "t") 532 + 533 + // Force browser to stop loading 534 + try { node.src = silentMp3File } catch (_err) { } 535 + 536 + // Remove element 537 + audioElementsContainer.removeChild(node) 538 + 539 + // Create new element 540 + createAudioElement(this, this.activeQueueItem, Date.now() + 1000 * 60 * 45, false) 541 + } 542 + 543 + 526 544 527 545 // 💥 528 546 // -- 529 547 // Remove all the audio elements with a timestamp older than the given one. 530 548 531 549 export function removeOlderAudioElements(timestamp) { 532 - const nodes = audioElementsContainer.querySelectorAll("audio[data-timestamp]") 550 + const nodes: NodeListOf<HTMLAudioElement> = audioElementsContainer.querySelectorAll( 551 + "audio[data-timestamp]" 552 + ) 533 553 534 554 nodes.forEach(node => { 535 - const t = parseInt(node.getAttribute("data-timestamp"), 10) 555 + const tAttr = node.getAttribute("data-timestamp") 556 + if (!tAttr) return 557 + 558 + const t = parseInt(tAttr, 10) 536 559 if (t >= timestamp) return 537 560 561 + // Deactivate 562 + node.setAttribute("data-deactivated", "t") 563 + 538 564 // Force browser to stop loading 539 - node.src = silentMp3File 565 + try { node.src = silentMp3File } catch (_err) { } 540 566 541 567 // Remove element 542 568 audioElementsContainer.removeChild(node)
+9 -18
src/Javascript/common.js src/Javascript/common.ts
··· 3 3 // ʕ•ᴥ•ʔ 4 4 5 5 6 + import * as localforage from "localforage" 7 + 8 + 6 9 export const APP_INFO = { 7 10 creator: "icidasset", 8 11 name: "Diffuse" 9 12 } 10 13 11 14 12 - export const WEBNATIVE_CONFIG = { 15 + export const ODD_CONFIG = { 13 16 namespace: APP_INFO, 14 17 permissions: { 15 18 app: APP_INFO, ··· 23 26 // FUNCTIONS 24 27 25 28 26 - export const debounce = 27 - (callback, time = 250, timeoutId) => 28 - (...args) => 29 - clearTimeout(timeoutId, timeoutId = setTimeout(callback, time, ...args)) 30 - 31 - 32 - export const throttle = 33 - (callback, time = 250, wasCalledBefore, lastestArgs) => 34 - (...args) => { 35 - lastestArgs = args 36 - if (wasCalledBefore) { return } else { wasCalledBefore = true } 37 - setTimeout(() => { callback(...lastestArgs); wasCalledBefore = false }, time) 38 - } 39 - 40 - 41 - export function identity(a) { 42 - return a 29 + export function db(storeName: string = "main"): LocalForage { 30 + return localforage.createInstance({ 31 + name: "diffuse", 32 + storeName 33 + }) 43 34 } 44 35 45 36
-120
src/Javascript/crypto.js
··· 1 - // 2 - // Cryptography 3 - // \ (•◡•) / 4 - // 5 - // Data encryption & decryption. 6 - 7 - 8 - const crypto = (self.crypto || self.msCrypto) 9 - const extractable = false 10 - 11 - 12 - export function keyFromPassphrase(passphrase) { 13 - return crypto.subtle.importKey( 14 - "raw", 15 - stringToArrayBuffer(passphrase), 16 - { 17 - name: "PBKDF2" 18 - }, 19 - false, 20 - [ "deriveKey" ] 21 - 22 - ).then(baseKey => crypto.subtle.deriveKey( 23 - { 24 - name: "PBKDF2", 25 - salt: stringToArrayBuffer("diffuse"), 26 - iterations: 10000, 27 - hash: "SHA-512" 28 - }, 29 - baseKey, 30 - { 31 - name: "AES-GCM", 32 - length: 256 33 - }, 34 - extractable, 35 - [ "encrypt", "decrypt" ] 36 - 37 - )) 38 - } 39 - 40 - 41 - export function encrypt(key, string) { 42 - let iv = crypto.getRandomValues(new Uint8Array(12)) 43 - 44 - return crypto.subtle.encrypt( 45 - { 46 - name: "AES-GCM", 47 - iv: iv, 48 - tagLength: 128 49 - }, 50 - key, 51 - stringToArrayBuffer(string) 52 - 53 - ).then(buf => { 54 - const iv_b64 = arrayBufferToBase64(iv) 55 - const buf_b64 = arrayBufferToBase64(buf) 56 - return iv_b64 + buf_b64 57 - 58 - }) 59 - } 60 - 61 - 62 - export function decrypt(key, string) { 63 - const iv_b64 = string.substring(0, 16) 64 - const buf_b64 = string.substring(16) 65 - 66 - const iv = base64ToArrayBuffer(iv_b64) 67 - const buf = base64ToArrayBuffer(buf_b64) 68 - 69 - return crypto.subtle.decrypt( 70 - { 71 - name: "AES-GCM", 72 - iv: iv, 73 - tagLength: 128 74 - }, 75 - key, 76 - buf 77 - 78 - ).then( 79 - arrayBufferToString 80 - 81 - ) 82 - } 83 - 84 - 85 - 86 - // Buffers 87 - // ------- 88 - 89 - function arrayBufferToBase64(buffer) { 90 - const uint8 = new Uint8Array(buffer) 91 - let string = "" 92 - 93 - for (let i = 0; i < uint8.byteLength; i++) { 94 - string = string + String.fromCharCode( uint8[i] ) 95 - } 96 - 97 - return self.btoa(string) 98 - } 99 - 100 - 101 - function arrayBufferToString(buffer) { 102 - return new TextDecoder("UTF-8").decode(buffer) 103 - } 104 - 105 - 106 - function base64ToArrayBuffer(base64) { 107 - const string = self.atob(base64) 108 - const bytes = new Uint8Array(string.length) 109 - 110 - for (let i = 0; i < string.length; i++) { 111 - bytes[i] = string.charCodeAt(i) 112 - } 113 - 114 - return bytes.buffer 115 - } 116 - 117 - 118 - function stringToArrayBuffer(string) { 119 - return new TextEncoder("UTF-8").encode(string).buffer 120 - }
+87
src/Javascript/crypto.ts
··· 1 + // 2 + // Cryptography 3 + // \ (•◡•) / 4 + // 5 + // Data encryption & decryption. 6 + 7 + 8 + import * as Uint8arrays from "uint8arrays" 9 + 10 + 11 + const extractable = false 12 + 13 + 14 + export function keyFromPassphrase(passphrase) { 15 + return crypto.subtle.importKey( 16 + "raw", 17 + Uint8arrays.fromString(passphrase, "base64pad"), 18 + { 19 + name: "PBKDF2" 20 + }, 21 + false, 22 + [ "deriveKey" ] 23 + 24 + ).then(baseKey => crypto.subtle.deriveKey( 25 + { 26 + name: "PBKDF2", 27 + salt: Uint8arrays.fromString("diffuse", "base64pad"), 28 + iterations: 10000, 29 + hash: "SHA-512" 30 + }, 31 + baseKey, 32 + { 33 + name: "AES-GCM", 34 + length: 256 35 + }, 36 + extractable, 37 + [ "encrypt", "decrypt" ] 38 + 39 + )) 40 + } 41 + 42 + 43 + export function encrypt(key, string) { 44 + let iv = crypto.getRandomValues(new Uint8Array(12)) 45 + 46 + return crypto.subtle.encrypt( 47 + { 48 + name: "AES-GCM", 49 + iv: iv, 50 + tagLength: 128 51 + }, 52 + key, 53 + Uint8arrays.fromString(string, "base64pad") 54 + 55 + ).then(buf => { 56 + const iv_b64 = Uint8arrays.toString(iv, "base64pad") 57 + const buf_b64 = Uint8arrays.toString(new Uint8Array(buf), "base64pad") 58 + return iv_b64 + buf_b64 59 + 60 + }) 61 + } 62 + 63 + 64 + export function decrypt(key, string) { 65 + const iv_b64 = string.substring(0, 16) 66 + const buf_b64 = string.substring(16) 67 + 68 + const iv = Uint8arrays.fromString(iv_b64, "base64pad") 69 + const buf = Uint8arrays.fromString(buf_b64, "base64pad") 70 + 71 + return crypto.subtle.decrypt( 72 + { 73 + name: "AES-GCM", 74 + iv: iv, 75 + tagLength: 128 76 + }, 77 + key, 78 + buf 79 + 80 + ).then( 81 + buffer => Uint8arrays.toString( 82 + new Uint8Array(buffer), 83 + "base64pad" 84 + ) 85 + 86 + ) 87 + }
+8
src/Javascript/index.d.ts
··· 1 + export { } 2 + 3 + declare global { 4 + const BUILD_TIMESTAMP: string 5 + 6 + const Elm: any 7 + const tocca: any 8 + }
+126 -112
src/Javascript/index.js src/Javascript/index.ts
··· 4 4 // The bit where we launch the Elm app, 5 5 // and connect the other bits to it. 6 6 7 + import { } from "./index.d" 7 8 8 - import "subworkers" 9 9 import "tocca" 10 10 11 - import loadScript from "load-script2" 12 - import JSZip from "jszip" 11 + import type { Program as OddProgram } from "@oddjs/odd" 12 + 13 + import { debounce } from "throttle-debounce" 13 14 import { saveAs } from "file-saver" 14 - 15 - import "../../build/vendor/pep" 15 + import JSZip from "jszip" 16 16 17 17 import * as audioEngine from "./audio-engine" 18 - import * as db from "./indexed-db" 19 - import { version } from '../../package.json' 20 - import { debounce, fileExtension, WEBNATIVE_CONFIG } from "./common" 18 + import { db, fileExtension, ODD_CONFIG } from "./common" 21 19 import { transformUrl } from "./urls" 20 + import { version } from "../../package.json" 22 21 23 22 24 23 ··· 48 47 window.addEventListener("load", () => { 49 48 navigator.serviceWorker 50 49 .getRegistrations() 51 - .then(registrations => { 52 - // native app should not have to install a new service worker 53 - if (isNativeWrapper) { 54 - return Promise.all(registrations.map(r => r.unregister())) 55 - } 50 + .then(async registrations => { 51 + const resp = await fetch(`${location.origin}?ping=1`).then(r => r.text()).then(a => a === "false" ? false : true) 52 + const serverIsOnline = navigator.onLine && resp 53 + 54 + if (isNativeWrapper) await Promise.all( 55 + registrations.map(r => r.unregister()) 56 + ) 56 57 57 - return Promise.resolve([]) 58 + return serverIsOnline 58 59 }) 59 - .then(_ => navigator.serviceWorker.register("service-worker.js")) 60 + .then(async serverIsOnline => { 61 + if (serverIsOnline) { 62 + return navigator.serviceWorker.register( 63 + "service-worker.js", 64 + { type: "module" } 65 + ) 66 + } 67 + }) 68 + .then(_ => { 69 + return navigator.serviceWorker.ready 70 + }) 60 71 .catch(err => { 61 72 const isFirefox = navigator.userAgent.toLowerCase().includes("firefox") 62 73 ··· 83 94 84 95 let app 85 96 let brain 86 - let wire = {} 97 + let wire: any = {} 87 98 88 99 89 100 async function initialise(reg) { 90 101 brain = new Worker( 91 - "brain.js#appHref=" + 92 - encodeURIComponent(window.location.href) 102 + "./js/brain/index.js#appHref=" + encodeURIComponent(window.location.href), 103 + { type: "module" } 93 104 ) 94 105 106 + brain.addEventListener("error", err => { 107 + failure("<strong>Failed to load web worker.</strong><br />If you're using Firefox, you might need to upgrade your browser (version 113 and up) and set `dom.workers.modules.enabled` to `true` in `about:config`") 108 + }) 109 + 95 110 await new Promise(resolve => { 96 111 brain.onmessage = event => { 97 - if (event.data.action === "READY") resolve() 112 + if (event.data.action === "READY") resolve(null) 98 113 } 99 114 }) 100 115 101 116 app = Elm.UI.init({ 102 117 node: document.getElementById("elm"), 103 118 flags: { 104 - /* eslint-disable no-undef */ 105 119 buildTimestamp: BUILD_TIMESTAMP, 106 120 darkMode: preferredColorScheme().matches, 107 121 initialTime: Date.now(), ··· 116 130 } 117 131 }) 118 132 119 - self.app = app 120 - 121 133 // ⚡️ 122 134 wire.brain() 123 135 wire.audio() ··· 126 138 wire.clipboard() 127 139 wire.covers() 128 140 wire.serviceWorker(reg) 129 - wire.webnative() 141 + wire.odd() 130 142 131 143 // Other ports 132 144 app.ports.openUrlOnNewPage.subscribe(url => { 133 - if (self.__TAURI__) { 134 - __TAURI__.shell.open( 145 + if (globalThis.__TAURI__) { 146 + globalThis.__TAURI__.shell.open( 135 147 url.includes("://") ? url : `${location.origin}/${url.replace(/^\.\//, "")}` 136 148 ) 137 149 ··· 144 156 app.ports.reloadApp.subscribe(_ => { 145 157 let timeout = setTimeout(() => { 146 158 if (reg.waiting) reg.waiting.postMessage("skipWaiting") 147 - location.reload() 159 + window.location.reload() 148 160 }, 250) 149 161 150 162 bc.addEventListener("message", event => { ··· 159 171 } 160 172 161 173 162 - function failure(text) { 174 + function failure(text: string) { 163 175 const note = document.createElement("div") 164 176 165 177 note.className = "flex flex-col font-body items-center h-screen italic justify-center leading-relaxed px-4 text-center text-base text-white" ··· 177 189 178 190 // Remove loader 179 191 const elm = document.querySelector("#elm") 180 - elm && elm.parentNode.removeChild(elm) 192 + elm?.parentNode?.removeChild(elm) 181 193 } 182 194 183 195 ··· 258 270 } 259 271 260 272 // Remove older audio elements if possible 261 - audioEngine.usesSingleAudioNode() 262 - ? false 263 - : audioEngine.removeOlderAudioElements(timestampInMilliseconds) 273 + audioEngine.removeOlderAudioElements(timestampInMilliseconds) 264 274 265 275 // 🎵 266 276 if (item) { ··· 279 289 audioEngine.insertTrack( 280 290 orchestrion, 281 291 item, 282 - maybeCover 292 + maybeCover as any 283 293 284 294 ).then(() => { 285 295 if (!maybeCover) { ··· 314 324 315 325 316 326 function play(_) { 317 - if (orchestrion.audio) orchestrion.audio.play() 327 + if (orchestrion.audio) { 328 + audioEngine.playAudio(orchestrion.audio, orchestrion.activeQueueItem, app) 329 + } 318 330 } 319 331 320 332 321 333 function preloadAudio() { 322 - return debounce(item => { 334 + return debounce(15000, item => { 323 335 // Wait 15 seconds to preload something. 324 336 // This is particularly useful when quickly shifting through tracks, 325 337 // or when moving things around in the queue. 326 - (audioEngine.usesSingleAudioNode() || item.isCached) 338 + item.isCached 327 339 ? false 328 340 : audioEngine.preloadAudioElement(orchestrion, item) 329 - }, 15000) 341 + }) 330 342 } 331 343 332 344 333 345 function seek(percentage) { 334 - audioEngine.seek(orchestrion.audio, percentage) 346 + audioEngine.seek(orchestrion, percentage) 335 347 } 336 348 337 349 ··· 354 366 const ctx = canvas.getContext("2d") 355 367 canvas.width = img.naturalWidth 356 368 canvas.height = img.naturalHeight 369 + 370 + if (!ctx) return null 357 371 358 372 ctx.drawImage(img, 0, 0) 359 373 ··· 409 423 // TODO: Find a better solution for this 410 424 const adjustedText = (() => { 411 425 if (text.startsWith("dropbox://")) { 412 - return transformUrl(text) 426 + return transformUrl(text, app) 413 427 } else if (text.startsWith("google://")) { 414 - return transformUrl(text) 428 + return transformUrl(text, app) 415 429 } else { 416 430 return text 417 431 ··· 429 443 430 444 wire.covers = () => { 431 445 app.ports.loadAlbumCovers.subscribe( 432 - debounce(loadAlbumCoversFromDom, 500) 446 + debounce(500, loadAlbumCoversFromDom) 433 447 ) 434 448 435 - db.keys().then(cachedCovers) 449 + db().keys().then(cachedCovers) 436 450 } 437 451 438 452 439 453 function albumCover(coverKey) { 440 - return db.getFromIndex({ key: `coverCache.${coverKey}` }) 454 + return db().getItem(`coverCache.${coverKey}`) 441 455 } 442 456 443 457 ··· 445 459 const item = orchestrion.activeQueueItem 446 460 447 461 if (item && orchestrion.coverPrep && key === orchestrion.coverPrep.key && url) { 448 - let artwork = [ { src: url } ] 462 + let artwork = [ { src: url, type: undefined } ] 449 463 450 464 if (typeof url !== "string") { 451 465 artwork = [ { ··· 464 478 } 465 479 466 480 467 - function loadAlbumCoversFromDom({ coverView, list } = {}) { 468 - let nodes = [] 481 + function loadAlbumCoversFromDom({ coverView, list }) { 482 + let nodes: HTMLElement[] = [] 469 483 470 484 if (list) nodes = nodes.concat(Array.from( 471 485 document.querySelectorAll("#diffuse__track-covers [data-key]") ··· 516 530 517 531 const cachePromise = cacheKeys.reduce((acc, key) => { 518 532 return acc.then(cache => { 519 - return db.getFromIndex({ key: key }).then(blob => { 533 + return db().getItem(key).then(blob => { 520 534 const cacheKey = key.slice(11) 521 535 522 - if (blob && typeof blob !== "string") { 536 + if (blob && typeof blob !== "string" && blob instanceof Blob) { 523 537 cache[ cacheKey ] = URL.createObjectURL(blob) 524 538 } 525 539 ··· 570 584 function downloadTracks(group) { 571 585 const zip = new JSZip() 572 586 const folder = zip.folder("Diffuse - " + group.name) 587 + if (!folder) throw new Error("Failed to create ZIP file") 573 588 574 589 return group.tracks.reduce( 575 590 (acc, track) => { 576 591 return acc 577 - .then(_ => transformUrl(track.url)) 592 + .then(_ => transformUrl(track.url, app)) 578 593 .then(fetch) 579 594 .then(r => { 580 595 const mimeType = r.headers.get("content-type") ··· 600 615 // Focus 601 616 // ----- 602 617 603 - document.body.addEventListener("click", event => { 604 - if ( 605 - event.target.matches("button, a") || 606 - event.target.closest("button, a") 607 - ) { 608 - removeFocus() 609 - } 610 - }) 611 - 612 - 613 - function removeFocus() { 614 - const n = document.activeElement 615 - if (n && !n.dataset.keepFocus) n.blur() 616 - } 617 - 618 - 619 618 window.addEventListener("blur", event => { 620 619 if (app && event.target === window) app.ports.lostWindowFocus.send(null) 621 620 }) ··· 631 630 632 631 633 632 document.addEventListener("keyup", e => { 634 - const field = e.target.closest(FIELD_SELECTOR) 633 + const field = e.target && (<HTMLElement>e.target).closest(FIELD_SELECTOR) 635 634 if (field) field.setAttribute("changed", "") 636 635 }) 637 636 638 637 639 638 document.addEventListener("click", e => { 640 - if (e.target.tagName !== "BUTTON") return; 641 - const form = e.target.closest("form") 639 + if (!e.target || (<HTMLElement>e.target).tagName !== "BUTTON") return; 640 + const form = (<HTMLElement>e.target).closest("form") 642 641 if (form) markAllFormFieldsAsChanged(form) 643 642 }) 644 643 645 644 646 645 document.addEventListener("submit", e => { 647 - const form = e.target.closest("form") 646 + const form = e.target && (<HTMLElement>e.target).closest("form") 648 647 if (form) markAllFormFieldsAsChanged(form) 649 648 }) 650 649 ··· 672 671 673 672 // Media Keys 674 673 // ---------- 675 - // https://github.com/borismus/keysocket#api 676 - // https://developers.google.com/web/updates/2019/02/chrome-73-media-updates 677 - 678 - document.addEventListener("MediaPlayPause", () => { 679 - app.ports.requestPlayPause.send(null) 680 - }) 681 - 682 - 683 - document.addEventListener("MediaStop", () => { 684 - app.ports.requestStop.send(null) 685 - }) 686 - 687 - 688 - document.addEventListener("MediaPrev", () => { 689 - app.ports.requestPrevious.send(null) 690 - }) 691 - 692 - 693 - document.addEventListener("MediaNext", () => { 694 - app.ports.requestNext.send(null) 695 - }) 696 - 697 - 698 674 699 675 if ("mediaSession" in navigator) { 700 676 ··· 755 731 756 732 757 733 function mousePointerEvent(eventType, mouseEvent) { 758 - let pointerEvent = new MouseEvent(eventType, mouseEvent) 734 + let pointerEvent: any = new MouseEvent(eventType, mouseEvent) 759 735 pointerEvent.pointerId = 1 760 736 pointerEvent.isPrimary = true 761 737 pointerEvent.pointerType = "mouse" ··· 773 749 774 750 775 751 function touchPointerEvent(eventType, touchEvent, touch) { 776 - let pointerEvent = new CustomEvent(eventType, { 752 + let pointerEvent: any = new CustomEvent(eventType, { 777 753 bubbles: true, 778 754 cancelable: true 779 755 }) ··· 860 836 // Service worker 861 837 // -------------- 862 838 863 - wire.serviceWorker = async (reg) => { 839 + wire.serviceWorker = async (reg: ServiceWorkerRegistration) => { 864 840 if (reg.installing) console.log("🧑‍✈️ Service worker is installing") 865 841 const initialInstall = reg.installing 866 842 843 + initialInstall?.addEventListener("statechange", function () { 844 + if (this.state === "activated") { 845 + console.log("🧑‍✈️ Service worker is activated") 846 + app.ports.installedNewServiceWorker.send(null) 847 + } 848 + }) 849 + 850 + if (reg.waiting) { 851 + console.log("🧑‍✈️ A new version of Diffuse is available") 852 + app.ports.installingNewServiceWorker.send(null) 853 + app.ports.installedNewServiceWorker.send(null) 854 + } 855 + 856 + if (initialInstall?.state === "activated") { 857 + console.log("🧑‍✈️ Service worker is activated") 858 + app.ports.installedNewServiceWorker.send(null) 859 + } 860 + 867 861 reg.addEventListener("updatefound", () => { 868 862 const newWorker = reg.installing 863 + if (!newWorker) return 869 864 870 865 // No worker was installed yet, so we'll only want to track the state changes 871 866 if (newWorker !== initialInstall) { ··· 873 868 app.ports.installingNewServiceWorker.send(null) 874 869 } 875 870 876 - newWorker.addEventListener("statechange", (e) => { 871 + newWorker.addEventListener("statechange", (e: any) => { 877 872 console.log("🧑‍✈️ Service worker is", e.target.state) 878 873 if (e.target.state === "installed") app.ports.installedNewServiceWorker.send(null) 879 874 }) 880 875 }) 881 876 882 877 // Check for service worker updates and every hour after that 883 - if (!isNativeWrapper) { 878 + if (!isNativeWrapper && navigator.onLine) { 884 879 reg.update() 885 880 setInterval(() => reg.update(), 1 * 1000 * 60 * 60) 886 881 } ··· 891 886 // Syncing 892 887 // ------- 893 888 894 - let wn 889 + let odd 895 890 896 891 897 - wire.webnative = () => { 892 + wire.odd = () => { 898 893 app.ports.authenticateWithFission.subscribe(async () => { 899 - const program = await webnativeProgram() 894 + const program = await oddProgram() 900 895 await program.capabilities.request({ 901 896 returnUrl: location.origin + "?action=authenticate/fission" 902 897 }) 903 898 }) 904 899 905 - app.ports.collectFissionCapabilities.subscribe(async () => { 906 - // Webnative should collect the capabilities for us, 900 + app.ports.collectFissionCapabilities.subscribe(() => { 901 + // The ODD SDK should collect the capabilities for us, 907 902 // if everything is valid, we'll receive a session. 908 - await webnativeProgram() 909 - app.ports.collectedFissionCapabilities.send(null) 903 + oddProgram().then( 904 + program => { 905 + history.replaceState({}, "", location.origin) 906 + app.ports.collectedFissionCapabilities.send(null) 907 + } 908 + ).catch( 909 + err => console.error(err) 910 + ) 910 911 }) 911 912 } 912 913 913 914 914 915 915 - async function webnativeProgram() { 916 - await loadWebnative() 916 + async function oddProgram(): Promise<OddProgram> { 917 + try { 918 + await loadOdd() 919 + } catch (err) { 920 + console.trace(err) 921 + throw new Error("Failed to load the ODD SDK") 922 + } 923 + 924 + const capComponent = await import("./Odd/components/capabilities.js") 925 + 926 + const crypto = await odd.defaultCryptoComponent(ODD_CONFIG) 927 + const storage = await odd.defaultStorageComponent(ODD_CONFIG) 928 + const depot = await odd.defaultDepotComponent({ storage }, ODD_CONFIG) 917 929 918 - return wn.program({ 919 - ...WEBNATIVE_CONFIG, 930 + return odd.program({ 931 + ...ODD_CONFIG, 932 + capabilities: capComponent.implementation({ 933 + crypto, 934 + depot 935 + }), 920 936 fileSystem: { loadImmediately: false } 921 937 }) 922 938 } 923 939 924 940 925 - async function loadWebnative() { 926 - if (wn) return 927 - 928 - await loadScript("vendor/webnative.min.js") 929 - wn = window.webnative 941 + async function loadOdd() { 942 + if (odd) return 943 + odd = await import("@oddjs/odd") 930 944 } 931 945 932 946
-140
src/Javascript/indexed-db.js
··· 1 - // 2 - // IndexedDB 3 - // \ (•◡•) / 4 - // 5 - // The local database. 6 - // This is used instead of localStorage. 7 - 8 - 9 - import delay from "delay" 10 - import retryPromise from "p-retry" 11 - 12 - 13 - const WAITING_MSG = "Waiting for database" 14 - 15 - 16 - const indexedDB = 17 - self.indexedDB || 18 - self.webkitIndexedDB || 19 - self.mozIndexedDB || 20 - self.msIndexedDB 21 - 22 - 23 - export const storeNames = { 24 - main: "main", 25 - tracks: "tracks" 26 - } 27 - 28 - 29 - let db, idx 30 - 31 - 32 - idx = indexedDB.open("diffuse", 1) 33 - idx.onupgradeneeded = event => { 34 - event.target.result.createObjectStore(storeNames.main) 35 - event.target.result.createObjectStore(storeNames.tracks) 36 - } 37 - 38 - idx.onsuccess = _ => { 39 - db = idx.result 40 - } 41 - 42 - idx.onerror = event => { 43 - console.error("IndexedDB error: " + event.target.error) 44 - } 45 - 46 - 47 - 48 - // Get 49 - // --- 50 - 51 - export const getFromIndex = args => retry(() => { 52 - return new Promise((resolve, reject) => { 53 - if (!db) throw new Error(WAITING_MSG) 54 - 55 - const sto = args.store || storeNames.main 56 - const key = args.key 57 - const tra = db.transaction([sto], "readonly") 58 - const req = tra.objectStore(sto).get(key) 59 - 60 - req.onsuccess = _ => { 61 - if (req.result) { 62 - resolve(req.result) 63 - } else { 64 - resolve(null) 65 - } 66 - } 67 - 68 - req.onerror = reject 69 - }) 70 - }) 71 - 72 - 73 - export const keys = args => retry(() => { 74 - return new Promise((resolve, reject) => { 75 - if (!db) throw new Error(WAITING_MSG) 76 - 77 - const sto = (args || {}).store || storeNames.main 78 - const tra = db.transaction([sto], "readonly") 79 - const req = tra.objectStore(sto).getAllKeys() 80 - 81 - req.onsuccess = _ => { 82 - if (req.result) { 83 - resolve(req.result) 84 - } else { 85 - resolve(null) 86 - } 87 - } 88 - 89 - req.onerror = reject 90 - }) 91 - }) 92 - 93 - 94 - 95 - // Set 96 - // --- 97 - 98 - export const setInIndex = args => retry(() => { 99 - return new Promise((resolve, reject) => { 100 - if (!db) throw new Error(WAITING_MSG) 101 - 102 - const sto = args.store || storeNames.main 103 - const key = args.key 104 - const dat = args.data 105 - 106 - const tra = db.transaction([sto], "readwrite") 107 - const req = tra.objectStore(sto).put(dat, key) 108 - 109 - req.onsuccess = resolve 110 - req.onerror = reject 111 - }) 112 - }) 113 - 114 - 115 - 116 - // Delete 117 - // ------ 118 - 119 - export const deleteFromIndex = args => retry(() => { 120 - return new Promise((resolve, reject) => { 121 - if (!db) throw new Error(WAITING_MSG) 122 - 123 - const sto = args.store || storeNames.main 124 - const key = args.key 125 - const tra = db.transaction([sto], "readwrite") 126 - const req = tra.objectStore(sto).delete(key) 127 - 128 - req.onsuccess = resolve 129 - req.onerror = reject 130 - }) 131 - }) 132 - 133 - 134 - 135 - // ⚗️ 136 - // -- 137 - 138 - function retry(func) { 139 - return retryPromise(func, { onFailedAttempt: _ => delay(250), retries: 20 }) 140 - }
+1 -1
src/Javascript/processing.js src/Javascript/processing.ts
··· 5 5 // Audio processing, getting metadata, etc. 6 6 7 7 8 - import * as musicMetadata from "music-metadata-browser" 8 + import * as musicMetadata from "music-metadata" 9 9 import { makeTokenizer } from "@tokenizer/http" 10 10 11 11 import { mimeType } from "./common"
src/Javascript/urls.js src/Javascript/urls.ts
+5 -2
src/Static/About/Layout.html
··· 1 1 <!DOCTYPE html> 2 2 <html> 3 + 3 4 <head> 4 5 5 6 <meta charset="utf-8" /> ··· 22 23 <link rel="stylesheet" href="{{pathToRoot}}about.css" /> 23 24 24 25 </head> 26 + 25 27 <body class="bg-white font-body my-16 px-4 text-base01 dark:bg-darkest-hour dark:text-gray-600"> 26 28 27 29 ··· 41 43 <script>hljs.initHighlightingOnLoad()</script> 42 44 <script> 43 45 if ("serviceWorker" in navigator) { 44 - navigator.serviceWorker.register("{{pathToRoot}}service-worker.js") 46 + navigator.serviceWorker.register("{{pathToRoot}}service-worker.js", { type: "module" }) 45 47 } 46 48 </script> 47 49 48 50 49 51 </body> 50 - </html> 52 + 53 + </html>
+15 -11
src/Static/Html/Application.html
··· 1 1 <!DOCTYPE html> 2 2 <html class="fixed font-body h-screen left-0 overflow-hidden top-0 w-full" lang="en"> 3 + 3 4 <head> 4 5 5 6 <meta charset="utf-8" /> ··· 8 9 9 10 <title>Diffuse</title> 10 11 11 - <meta name="description" content="A music player that connects to your cloud/distributed storage, in the form of a static, serverless, web application." /> 12 + <meta name="description" 13 + content="A music player that connects to your cloud/distributed storage, in the form of a static, serverless, web application." /> 12 14 13 15 <!-- Viewport --> 14 16 <meta name="viewport" content="width=device-width, initial-scale=1" /> ··· 26 28 <meta name="color-scheme" content="dark light" /> 27 29 <link rel="stylesheet" href="application.css" /> 28 30 29 - <!-- Preload some assets --> 31 + <!-- Preload --> 32 + <link rel="modulepreload" href="js/brain/index.js" /> 33 + 30 34 <link rel="preload" href="images/diffuse__icon-dark.svg" as="image" crossorigin /> 31 35 <link rel="preload" href="fonts/Montserrat/Variable/variable.woff2" as="font" crossorigin /> 32 36 37 + <!-- Scripts --> 38 + <script defer src="js/ui.elm.js"></script> 39 + <script defer type="module" src="js/ui/index.js"></script> 40 + 33 41 </head> 42 + 34 43 <body> 35 44 36 45 ··· 44 53 45 54 --> 46 55 <noscript data-nosnippet> 47 - <div class="flex flex-col font-body items-center h-screen italic justify-center leading-relaxed px-4 text-center text-base text-white" 48 - > 56 + <div 57 + class="flex flex-col font-body items-center h-screen italic justify-center leading-relaxed px-4 text-center text-base text-white"> 49 58 <a class="block logo mb-5" href="../"> 50 59 <img src="../images/diffuse-light.svg" /> 51 60 </a> ··· 76 85 </script> 77 86 78 87 88 + </body> 79 89 80 - <!-- Scripts --> 81 - <script src="ui.elm.js"></script> 82 - <script src="ui.js"></script> 83 - 84 - 85 - </body> 86 - </html> 90 + </html>
+6 -1
system/Js/node-shims.js
··· 2 2 3 3 export let Buffer = BufferPolyfill.Buffer 4 4 export let global = globalThis 5 - export let process = { env: {} } 5 + export let process = { env: { NODE_DEBUG: false } } 6 + export let localStorage = globalThis.localStorage || { 7 + getItem: () => null, 8 + setItem: () => null, 9 + removeItem: () => null 10 + }