From 1e22202fdc9cea04f9d8c0b492db03a006069f6f Mon Sep 17 00:00:00 2001 From: David Day Date: Fri, 6 Sep 2024 12:48:05 -0700 Subject: [PATCH 1/5] Change tech stack from Expo to React + Vite + TS. --- .editorconfig | 20 + .eslintrc.cjs | 18 + .eslintrc.js | 28 - .eslintrc.json | 3 - .expo-shared/assets.json | 4 - .github/workflows/build.yml | 89 - .github/workflows/lint.yml | 17 + .github/workflows/lint_check.yml | 16 - .github/workflows/publish.yml | 89 - .gitignore | 36 +- .idea/NCU-App.iml | 9 - .idea/modules.xml | 8 - .idea/vcs.xml | 6 - .idea/workspace.xml | 44 - .prettierrc.json | 11 - .vscode/extensions.json | 2 +- .vscode/launch.json | 15 - .vscode/settings.json | 1 - App.jsx | 53 - App.tsx | 15 - Event/Navigation.tsx | 21 - Event/screens/CreateEventScreen.tsx | 177 - Event/screens/EventDetailScreen.tsx | 0 Event/screens/EventMainScreen.tsx | 22 - Event/stylesheet.tsx | 31 - README.md | 33 +- app.json | 30 - assets/MapIcon/badminton.png | Bin 15216 -> 0 bytes assets/MapIcon/building.png | Bin 832 -> 0 bytes assets/MapIcon/bus.png | Bin 1110 -> 0 bytes assets/MapIcon/restaurant.png | Bin 1044 -> 0 bytes assets/MapIcon/volleyball.png | Bin 34483 -> 0 bytes assets/Sales/TagBackground.png | Bin 22883 -> 0 bytes assets/adaptive-icon.png | Bin 84557 -> 0 bytes assets/building.json | 514 - assets/splash.png | Bin 85205 -> 0 bytes babel.config.js | 6 - components/DateTimeField.jsx | 51 - config/firebase.js | 23 - config/index.js | 3 - controller/Active.js | 1164 - controller/Activity.js | 242 - controller/Bus.js | 257 - controller/BusTimeTable.js | 0 controller/BusTimeTable.json | 113 - controller/BusUSTTime.json | 4 - controller/Event.js | 295 - controller/Home.js | 115 - controller/Map.js | 141 - controller/Message.js | 354 - controller/Setting.js | 91 - controller/getStudentId.js | 38 - controller/notificationHelper.js | 14 - eas.json | 39 - index.html | 13 + navigation/AppTabView.jsx | 93 - navigation/AuthStack.jsx | 17 - navigation/RootNavigator.jsx | 74 - navigation/index.jsx | 3 - package-lock.json | 21603 +++++----------- package.json | 70 +- postcss.config.js | 6 + providers/AuthenticatedUserProvider.js | 19 - providers/index.js | 6 - {assets => public}/favicon.png | Bin pwa-assets.config.ts | 12 + screens/Auth/Anonymous.jsx | 34 - screens/Auth/Login.jsx | 150 - screens/Auth/Register.jsx | 361 - screens/Auth/ResetPwd.jsx | 132 - screens/Auth/index.jsx | 29 - screens/Event/GenreEvent.jsx | 157 - screens/Event/Message.jsx | 165 - screens/Event/Send.jsx | 449 - screens/Event/activityList.jsx | 215 - screens/Event/addActivity.jsx | 852 - screens/Event/components/EventCard.jsx | 27 - screens/Event/components/SearchHeader.jsx | 106 - screens/Event/editActivity.jsx | 854 - screens/Event/index.jsx | 53 - screens/Event/manage.jsx | 521 - screens/Event/moreEvent.jsx | 181 - screens/Event/moreHang.jsx | 181 - screens/Event/personal_manage.jsx | 396 - screens/Event/search.jsx | 153 - screens/Event/sharePage.jsx | 107 - screens/Event/showActivityDetails.jsx | 623 - screens/Event/style_folder/Styles_Message.jsx | 201 - .../style_folder/Styles_activityList.jsx | 113 - .../Event/style_folder/Styles_addActivity.jsx | 214 - .../style_folder/Styles_editActivity.jsx | 213 - screens/Event/style_folder/Styles_manage.jsx | 209 - .../Event/style_folder/Styles_moreEvent.jsx | 86 - .../style_folder/Styles_personal_manage.jsx | 175 - screens/Event/style_folder/Styles_search.jsx | 89 - screens/Event/style_folder/Styles_share.jsx | 21 - .../Styles_showActivityDetails.jsx | 123 - screens/Home/EditInfo.jsx | 132 - screens/Home/Message.jsx | 154 - screens/Home/Send.jsx | 447 - screens/Home/bigCal.jsx | 23 - screens/Home/components/forHome/Calender.jsx | 42 - screens/Home/components/forHome/EventCard.jsx | 116 - .../Home/components/forHome/HomeHeader.jsx | 125 - screens/Home/components/forHome/Tutorial.jsx | 75 - .../Home/components/forSetting/EditHeader.jsx | 30 - screens/Home/components/forSetting/Info.jsx | 105 - screens/Home/components/forSetting/Others.jsx | 77 - .../components/forSetting/SettingHeader.jsx | 30 - screens/Home/homePage.jsx | 69 - screens/Home/index.jsx | 30 - screens/Home/settings.jsx | 19 - screens/Home/styles_folder/Styles.js | 41 - .../Home/styles_folder/Styles_EventCard.jsx | 63 - screens/Home/styles_folder/Styles_Message.jsx | 201 - screens/Map/BusScreen/BusDetailViewCell.jsx | 331 - screens/Map/BusScreen/UST.jsx | 105 - screens/Map/BusScreen/busDetailView.jsx | 317 - screens/Map/BusScreen/busTimeTable.jsx | 282 - screens/Map/BusScreen/firstpage.jsx | 111 - screens/Map/MapScreen.jsx | 235 - screens/Map/Styles.jsx | 56 - screens/Map/assets/BuildingsInfo.jsx | 743 - screens/Map/assets/MapStyle.jsx | 52 - screens/Map/assets/MarkersCategories.jsx | 107 - screens/Map/components/BottomDrawer.jsx | 118 - screens/Map/components/BusButton.jsx | 36 - screens/Map/components/CategorySlider.jsx | 147 - screens/Map/components/CustomMarkerView.jsx | 36 - screens/Map/components/HeaderSearchBar.jsx | 123 - screens/Map/components/SearchResults.jsx | 96 - screens/Map/index.jsx | 23 - assets/icon.png => src/assets/logo.png | Bin src/components/Button.tsx | 13 + src/components/HStack.tsx | 13 + src/index.css | 9 + src/main.tsx | 26 + src/routeTree.gen.ts | 132 + src/routes/__root.tsx | 32 + src/routes/events/$eventId.tsx | 10 + src/routes/events/create.tsx | 122 + src/routes/events/index.tsx | 16 + src/vite-env.d.ts | 2 + tailwind.config.js | 11 + theme/index.js | 48 - tsconfig.json | 25 +- tsconfig.node.json | 11 + vite.config.ts | 41 + yarn.lock | 9826 ------- 149 files changed, 7016 insertions(+), 41386 deletions(-) create mode 100644 .editorconfig create mode 100644 .eslintrc.cjs delete mode 100644 .eslintrc.js delete mode 100644 .eslintrc.json delete mode 100644 .expo-shared/assets.json delete mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/lint.yml delete mode 100644 .github/workflows/lint_check.yml delete mode 100644 .github/workflows/publish.yml delete mode 100644 .idea/NCU-App.iml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml delete mode 100644 .idea/workspace.xml delete mode 100644 .prettierrc.json delete mode 100644 .vscode/launch.json delete mode 100644 App.jsx delete mode 100644 App.tsx delete mode 100644 Event/Navigation.tsx delete mode 100644 Event/screens/CreateEventScreen.tsx delete mode 100644 Event/screens/EventDetailScreen.tsx delete mode 100644 Event/screens/EventMainScreen.tsx delete mode 100644 Event/stylesheet.tsx delete mode 100644 app.json delete mode 100644 assets/MapIcon/badminton.png delete mode 100644 assets/MapIcon/building.png delete mode 100644 assets/MapIcon/bus.png delete mode 100644 assets/MapIcon/restaurant.png delete mode 100644 assets/MapIcon/volleyball.png delete mode 100644 assets/Sales/TagBackground.png delete mode 100644 assets/adaptive-icon.png delete mode 100644 assets/building.json delete mode 100644 assets/splash.png delete mode 100644 babel.config.js delete mode 100644 components/DateTimeField.jsx delete mode 100644 config/firebase.js delete mode 100644 config/index.js delete mode 100644 controller/Active.js delete mode 100644 controller/Activity.js delete mode 100644 controller/Bus.js delete mode 100644 controller/BusTimeTable.js delete mode 100644 controller/BusTimeTable.json delete mode 100644 controller/BusUSTTime.json delete mode 100644 controller/Event.js delete mode 100644 controller/Home.js delete mode 100644 controller/Map.js delete mode 100644 controller/Message.js delete mode 100644 controller/Setting.js delete mode 100644 controller/getStudentId.js delete mode 100644 controller/notificationHelper.js delete mode 100644 eas.json create mode 100644 index.html delete mode 100644 navigation/AppTabView.jsx delete mode 100644 navigation/AuthStack.jsx delete mode 100644 navigation/RootNavigator.jsx delete mode 100644 navigation/index.jsx create mode 100644 postcss.config.js delete mode 100644 providers/AuthenticatedUserProvider.js delete mode 100644 providers/index.js rename {assets => public}/favicon.png (100%) create mode 100644 pwa-assets.config.ts delete mode 100644 screens/Auth/Anonymous.jsx delete mode 100644 screens/Auth/Login.jsx delete mode 100644 screens/Auth/Register.jsx delete mode 100644 screens/Auth/ResetPwd.jsx delete mode 100644 screens/Auth/index.jsx delete mode 100644 screens/Event/GenreEvent.jsx delete mode 100644 screens/Event/Message.jsx delete mode 100644 screens/Event/Send.jsx delete mode 100644 screens/Event/activityList.jsx delete mode 100644 screens/Event/addActivity.jsx delete mode 100644 screens/Event/components/EventCard.jsx delete mode 100644 screens/Event/components/SearchHeader.jsx delete mode 100644 screens/Event/editActivity.jsx delete mode 100644 screens/Event/index.jsx delete mode 100644 screens/Event/manage.jsx delete mode 100644 screens/Event/moreEvent.jsx delete mode 100644 screens/Event/moreHang.jsx delete mode 100644 screens/Event/personal_manage.jsx delete mode 100644 screens/Event/search.jsx delete mode 100644 screens/Event/sharePage.jsx delete mode 100644 screens/Event/showActivityDetails.jsx delete mode 100644 screens/Event/style_folder/Styles_Message.jsx delete mode 100644 screens/Event/style_folder/Styles_activityList.jsx delete mode 100644 screens/Event/style_folder/Styles_addActivity.jsx delete mode 100644 screens/Event/style_folder/Styles_editActivity.jsx delete mode 100644 screens/Event/style_folder/Styles_manage.jsx delete mode 100644 screens/Event/style_folder/Styles_moreEvent.jsx delete mode 100644 screens/Event/style_folder/Styles_personal_manage.jsx delete mode 100644 screens/Event/style_folder/Styles_search.jsx delete mode 100644 screens/Event/style_folder/Styles_share.jsx delete mode 100644 screens/Event/style_folder/Styles_showActivityDetails.jsx delete mode 100644 screens/Home/EditInfo.jsx delete mode 100644 screens/Home/Message.jsx delete mode 100644 screens/Home/Send.jsx delete mode 100644 screens/Home/bigCal.jsx delete mode 100644 screens/Home/components/forHome/Calender.jsx delete mode 100644 screens/Home/components/forHome/EventCard.jsx delete mode 100644 screens/Home/components/forHome/HomeHeader.jsx delete mode 100644 screens/Home/components/forHome/Tutorial.jsx delete mode 100644 screens/Home/components/forSetting/EditHeader.jsx delete mode 100644 screens/Home/components/forSetting/Info.jsx delete mode 100644 screens/Home/components/forSetting/Others.jsx delete mode 100644 screens/Home/components/forSetting/SettingHeader.jsx delete mode 100644 screens/Home/homePage.jsx delete mode 100644 screens/Home/index.jsx delete mode 100644 screens/Home/settings.jsx delete mode 100644 screens/Home/styles_folder/Styles.js delete mode 100644 screens/Home/styles_folder/Styles_EventCard.jsx delete mode 100644 screens/Home/styles_folder/Styles_Message.jsx delete mode 100644 screens/Map/BusScreen/BusDetailViewCell.jsx delete mode 100644 screens/Map/BusScreen/UST.jsx delete mode 100644 screens/Map/BusScreen/busDetailView.jsx delete mode 100644 screens/Map/BusScreen/busTimeTable.jsx delete mode 100644 screens/Map/BusScreen/firstpage.jsx delete mode 100644 screens/Map/MapScreen.jsx delete mode 100644 screens/Map/Styles.jsx delete mode 100644 screens/Map/assets/BuildingsInfo.jsx delete mode 100644 screens/Map/assets/MapStyle.jsx delete mode 100644 screens/Map/assets/MarkersCategories.jsx delete mode 100644 screens/Map/components/BottomDrawer.jsx delete mode 100644 screens/Map/components/BusButton.jsx delete mode 100644 screens/Map/components/CategorySlider.jsx delete mode 100644 screens/Map/components/CustomMarkerView.jsx delete mode 100644 screens/Map/components/HeaderSearchBar.jsx delete mode 100644 screens/Map/components/SearchResults.jsx delete mode 100644 screens/Map/index.jsx rename assets/icon.png => src/assets/logo.png (100%) create mode 100644 src/components/Button.tsx create mode 100644 src/components/HStack.tsx create mode 100644 src/index.css create mode 100644 src/main.tsx create mode 100644 src/routeTree.gen.ts create mode 100644 src/routes/__root.tsx create mode 100644 src/routes/events/$eventId.tsx create mode 100644 src/routes/events/create.tsx create mode 100644 src/routes/events/index.tsx create mode 100644 src/vite-env.d.ts create mode 100644 tailwind.config.js delete mode 100644 theme/index.js create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts delete mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..217d0cb --- /dev/null +++ b/.editorconfig @@ -0,0 +1,20 @@ +# EditorConfig is awesome: https://editorconfig.org + +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true + +# Set default charset and spacing +[*.{js,jsx,ts,tsx}] +charset = utf-8 +indent_style = space +indent_size = 2 + +# Matches the exact files either package.json or .travis.yml +[{package.json,.github/*.yml}] +indent_style = space +indent_size = 2 diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..d6c9537 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,18 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:react-hooks/recommended', + ], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parser: '@typescript-eslint/parser', + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, +} diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 534f77d..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - env: { - es2021: true, - node: true - }, - extends: [ - 'plugin:react/recommended', - 'standard' - ], - parserOptions: { - ecmaFeatures: { - jsx: true - }, - ecmaVersion: 'latest', - sourceType: 'module' - }, - plugins: [ - 'react' - ], - rules: { - 'react/prop-types': 'off' - }, - settings: { - react: { - version: 'detect' - } - } -} diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index d5655a3..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": ["universe", "plugin:react-hooks/recommended"] -} \ No newline at end of file diff --git a/.expo-shared/assets.json b/.expo-shared/assets.json deleted file mode 100644 index 1e6decf..0000000 --- a/.expo-shared/assets.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "12bb71342c6255bbf50437ec8f4441c083f47cdb74bd89160c15e4f43e52a1cb": true, - "40b842e832070c58deac6aa9e08fa459302ee3f9da492c7e77d93d2fbf4a56fd": true -} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index f6ae523..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,89 +0,0 @@ -name: Build Standalone App - -on: - schedule: - - cron: '0 4 * * MON' - -jobs: - publish: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Use Node.js 12 - uses: actions/setup-node@v1 - with: - node-version: 12 - - run: npm ci - - name: Install Expo-CLI - run: npm install -g expo-cli - - name: Login Expo - env: - EXPO_CLI_PASSWORD: ${{ secrets.EXPO_CLI_PASSWORD }} - run: npx expo login --non-interactive -u NCUAppTeam - - name: Publish build - run: npx expo publish --non-interactive - - build_android: - runs-on: ubuntu-latest - needs: publish - steps: - - uses: actions/checkout@v2 - - name: Use Node.js 12 - uses: actions/setup-node@v1 - with: - node-version: 12 - - name: Use Java 8 - uses: actions/setup-java@v1 - with: - java-version: '8' - - run: npm ci - - name: Install Turtle-CLI - run: npm install -g turtle-cli - - name: Extract KeyStore - env: - BASE64_ENCODED: ${{ secrets.ANDROID_KEYSTORE }} - run: echo "$BASE64_ENCODED" | base64 -d > ./KeyStore.jks - - name: Build App - env: - EXPO_USERNAME: ncuappteam - EXPO_PASSWORD: ${{ secrets.EXPO_CLI_PASSWORD }} - EXPO_ANDROID_KEYSTORE_PASSWORD: ${{ secrets.EXPO_ANDROID_KEYSTORE_PASSWORD }} - EXPO_ANDROID_KEY_PASSWORD: ${{ secrets.EXPO_ANDROID_KEY_PASSWORD }} - run: turtle build:android --keystore-path ./KeyStore.jks --keystore-alias tw.edu.ncu.app --type apk -o NCU-App-$(date +'%Y-%m-%d').apk - - name: Archive production artifacts - uses: actions/upload-artifact@v2 - with: - name: android-apk - path: ./*.apk - - build_ios: - runs-on: macos-latest - needs: publish - steps: - - uses: actions/checkout@v2 - - name: Use Node.js 12 - uses: actions/setup-node@v1 - with: - node-version: 12 - - run: npm ci - - name: Install Turtle-CLI - run: npm install -g turtle-cli - - name: Extract P12 - env: - BASE64_ENCODED: ${{ secrets.APPLE_CERT_P12 }} - run: echo "$BASE64_ENCODED" | base64 -d > ./cert.p12 - - name: Extract Provisioning profile - env: - BASE64_ENCODED: ${{ secrets.APPLE_PROFILE_MOBILEPROVISION }} - run: echo "$BASE64_ENCODED" | base64 -d > ./profile.mobileprovision - - name: Build App - env: - EXPO_USERNAME: ncuappteam - EXPO_PASSWORD: ${{ secrets.EXPO_CLI_PASSWORD }} - EXPO_IOS_DIST_P12_PASSWORD: ${{ secrets.EXPO_IOS_DIST_P12_PASSWORD }} - run: turtle build:ios --team-id 8AWNGKT5GW --dist-p12-path ./cert.p12 --provisioning-profile-path ./profile.mobileprovision -o NCU-App-$(date +'%Y-%m-%d').ipa - - name: Archive production artifacts - uses: actions/upload-artifact@v2 - with: - name: ios-archive - path: ./*.ipa diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..27928c7 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,17 @@ +name: Check Code Style and Types + +on: [push, pull_request] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - run: npm ci + + - name: Type check + run: npm run build + + - name: Code style check + run: npm run lint diff --git a/.github/workflows/lint_check.yml b/.github/workflows/lint_check.yml deleted file mode 100644 index c5ca783..0000000 --- a/.github/workflows/lint_check.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Linting Check - -on: [push, pull_request] - -jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Use Node.js 12 - uses: actions/setup-node@v1 - with: - node-version: 12 - - run: npm ci - - name: RUN ESLint - run: npx eslint . --ext .js,.jsx,.ts,.tsx diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index cac5f1e..0000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,89 +0,0 @@ -name: Release App - -on: - release: - types: [created] - -jobs: - publish: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Use Node.js 12 - uses: actions/setup-node@v1 - with: - node-version: 12 - - run: npm ci - - name: Install Expo-CLI - run: npm install -g expo-cli - - name: Login Expo - env: - EXPO_CLI_PASSWORD: ${{ secrets.EXPO_CLI_PASSWORD }} - run: npx expo login --non-interactive -u NCUAppTeam - - name: Publish build - run: npx expo publish --non-interactive - - release_android: - runs-on: ubuntu-latest - needs: publish - steps: - - uses: actions/checkout@v2 - - name: Use Node.js 12 - uses: actions/setup-node@v1 - with: - node-version: 12 - - name: Use Java 8 - uses: actions/setup-java@v1 - with: - java-version: '8' - - run: npm ci - - name: Install Turtle-CLI - run: npm install -g turtle-cli - - name: Extract KeyStore - env: - BASE64_ENCODED: ${{ secrets.ANDROID_KEYSTORE }} - run: echo "$BASE64_ENCODED" | base64 -d > ./KeyStore.jks - - name: Build App - env: - EXPO_USERNAME: ncuappteam - EXPO_PASSWORD: ${{ secrets.EXPO_CLI_PASSWORD }} - EXPO_ANDROID_KEYSTORE_PASSWORD: ${{ secrets.EXPO_ANDROID_KEYSTORE_PASSWORD }} - EXPO_ANDROID_KEY_PASSWORD: ${{ secrets.EXPO_ANDROID_KEY_PASSWORD }} - run: turtle build:android --keystore-path ./KeyStore.jks --keystore-alias tw.edu.ncu.app --type app-bundle -o NCU-App-$(date +'%Y-%m-%d').aab - # TODO, automatically upload .aab file to play store - - name: Archive production artifacts - uses: actions/upload-artifact@v2 - with: - name: android-bundle - path: ./*.aab - - release_ios: - runs-on: macos-latest - needs: publish - steps: - - uses: actions/checkout@v2 - - name: Use Node.js 12 - uses: actions/setup-node@v1 - with: - node-version: 12 - - run: npm ci - - name: Install Turtle-CLI - run: npm install -g turtle-cli - - name: Extract P12 - env: - BASE64_ENCODED: ${{ secrets.APPLE_CERT_P12 }} - run: echo "$BASE64_ENCODED" | base64 -d > ./cert.p12 - - name: Extract Provisioning profile - env: - BASE64_ENCODED: ${{ secrets.APPLE_PROFILE_MOBILEPROVISION }} - run: echo "$BASE64_ENCODED" | base64 -d > ./profile.mobileprovision - - name: Build App - env: - EXPO_USERNAME: ncuappteam - EXPO_PASSWORD: ${{ secrets.EXPO_CLI_PASSWORD }} - EXPO_IOS_DIST_P12_PASSWORD: ${{ secrets.EXPO_IOS_DIST_P12_PASSWORD }} - run: turtle build:ios --team-id 8AWNGKT5GW --dist-p12-path ./cert.p12 --provisioning-profile-path ./profile.mobileprovision -o NCU-App.ipa - - name: Validate App - run: xcrun altool --validate-app -f NCU-App.ipa -t ios -u ncuappteam@gmail.com -p ${{ secrets.APPLE_PASSWORD }} - - name: Upload App - run: xcrun altool --upload-app -f NCU-App.ipa -t ios -u ncuappteam@gmail.com -p ${{ secrets.APPLE_PASSWORD }} diff --git a/.gitignore b/.gitignore index 772ef29..ff666bf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,17 +1,23 @@ -node_modules/ -.expo/ -dist/ -npm-debug.* -*.jks -*.p8 -*.p12 -*.key -*.mobileprovision -*.orig.* -web-build/ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* -# macOS -.DS_Store +node_modules +dist +dist-ssr +dev-dist +*.local -# Temporary files created by Metro to check the health of the file watcher -.metro-health-check* +# Editor directories and files +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.idea/NCU-App.iml b/.idea/NCU-App.iml deleted file mode 100644 index d6ebd48..0000000 --- a/.idea/NCU-App.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index fad9e5f..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml deleted file mode 100644 index 8f14967..0000000 --- a/.idea/workspace.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - 1651729359009 - - - - \ No newline at end of file diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index 9c9a653..0000000 --- a/.prettierrc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "arrowParens": "avoid", - "bracketSpacing": true, - "bracketSameLine": true, - "printWidth": 80, - "semi": true, - "singleQuote": true, - "tabWidth": 2, - "trailingComma": "all", - "useTabs": false -} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 4fb54b0..daf7413 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -3,7 +3,7 @@ // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp // List of extensions which should be recommended for users of this workspace. - "recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"], + "recommendations": ["dbaeumer.vscode-eslint"], // List of extensions recommended by VS Code that should not be recommended for users of this workspace. "unwantedRecommendations": [] } diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index ae4f37a..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Attach to packager", - "request": "attach", - "type": "reactnative", - "cwd": "${workspaceFolder}", - "port": 19000 - } - ] -} diff --git a/.vscode/settings.json b/.vscode/settings.json index c7c84c2..e960ecf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,6 +3,5 @@ "source.organizeImports": "explicit", "source.fixAll.eslint": "explicit" }, - "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true } diff --git a/App.jsx b/App.jsx deleted file mode 100644 index be8687f..0000000 --- a/App.jsx +++ /dev/null @@ -1,53 +0,0 @@ -import React from 'react' -import { NativeBaseProvider } from 'native-base' -import { LinearGradient } from 'expo-linear-gradient' -import { RootNavigator, navigate } from './navigation/RootNavigator' -import { AuthenticatedUserProvider } from './providers' -import { BaseTheme } from './theme/index' -import * as Linking from 'expo-linking' - -const config = { - dependencies: { - 'linear-gradient': LinearGradient - } -} - -// 處理收到 url 的事件 -function handleIncomingLink (url) { - if (!url) return - - const { hostname, path, queryParams } = Linking.parse(url) - - // 如果路徑不包含 "activity",跳過 - if (!path.includes('activity')) return - - // 如果缺少活動 ID 參數,跳過 - if (!('id' in queryParams)) return - - // 在打開活動詳細頁之前,先初始化活動列表 - navigate('活動', { screen: 'list' }) - - // 直接 navigate 到活動 details 頁面,因為是 nested navigator,所以多了一個 screen 參數 - navigate('活動', { screen: 'details', params: { Cd: queryParams.id, prepage: 'list' } }) -} - -// 決定透過URL初始化應用時,要等多久(單位:毫秒)才轉畫面 (navigate) -const APP_INIT_NAVIGATE_DELAY = 2000 - -export default function App () { - // 處理 Linking 進來的 URL - const url = Linking.useURL() - Linking.addEventListener('url', () => handleIncomingLink(url)) // 透過 listener 處理後續的 url 事件 - - // 應用還沒打開,點 url 後才啟動 - // 這裡給它設 2 秒延遲,否則可能會吃不到 - setTimeout(() => { handleIncomingLink(url) }, APP_INIT_NAVIGATE_DELAY) - - return ( - - - - - - ) -} diff --git a/App.tsx b/App.tsx deleted file mode 100644 index f387e13..0000000 --- a/App.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { Box, Button, NativeBaseProvider } from 'native-base'; -import React from 'react'; -import { SafeAreaView } from 'react-native'; -import Navigation from './Event/Navigation'; -import { styles } from './Event/stylesheet'; - -export default function App() { - return ( - - - - - - ); -} diff --git a/Event/Navigation.tsx b/Event/Navigation.tsx deleted file mode 100644 index dccd236..0000000 --- a/Event/Navigation.tsx +++ /dev/null @@ -1,21 +0,0 @@ -// NavigationContainer.tsx -import React from 'react'; -import { NavigationContainer } from '@react-navigation/native'; -import { createStackNavigator } from '@react-navigation/stack'; -import CreateEventScreen from './screens/CreateEventScreen'; -import EventMainScreen from './screens/EventMainScreen'; - -const Stack = createStackNavigator(); - -const Navigation = () => { - return ( - - - - - - - ); -}; - -export default Navigation; diff --git a/Event/screens/CreateEventScreen.tsx b/Event/screens/CreateEventScreen.tsx deleted file mode 100644 index 7b8726f..0000000 --- a/Event/screens/CreateEventScreen.tsx +++ /dev/null @@ -1,177 +0,0 @@ -import { MaterialIcons } from '@expo/vector-icons'; -import DateTimePicker from '@react-native-community/datetimepicker'; -import { ImagePickerResult, launchImageLibraryAsync } from 'expo-image-picker'; -import { Box, Button, HStack, Heading, Input, NativeBaseProvider, VStack, extendTheme } from 'native-base'; -import React, { useState } from 'react'; -import { Image, Text } from 'react-native'; -import { styles } from '../stylesheet'; - -//預設為Dark Mode -function CreateEventScreen({navigation}:any){ - const config = { - useSystemColorMode: false, - initialColorMode: 'dark', - }; - - const customTheme = extendTheme({ config }); - - const [eventName, setEventName] = useState(''); - const [eventLocation, setEventLocation] = useState(''); - const [eventCost, setEventCost] = useState(''); - const [eventDescription, setEventDescription] = useState(''); - const [selectedImage, setSelectedImage] = useState(null); - const [showStartDatePicker, setShowStartDatePicker] = useState(false); - const [showEndDatePicker, setShowEndDatePicker] = useState(false); - const [startDate, setStartDate] = useState(new Date()); - const [endDate, setEndDate] = useState(new Date()); - - //處理輸入的活動資訊 - const handleEventNameChange = (text: string) => { - setEventName(text); - }; - - const handleEventLocationChange = (text: string) => { - setEventLocation(text); - }; - - const handleEventCostChange = (text: string) => { - setEventCost(text); - }; - - const handleEventDescriptionChange = (text: string) => { - setEventDescription(text); - }; - - // 選擇開始日期 - const handleStartDateChange = (event: any, selectedDate?: Date) => { - setShowStartDatePicker(false); - if (selectedDate) { - setStartDate(selectedDate); - } - }; - - // 選擇結束日期 - const handleEndDateChange = (event: any, selectedDate?: Date) => { - setShowEndDatePicker(false); - if (selectedDate) { - setEndDate(selectedDate); - } - }; - //顯示開始日期選擇器 - const showStartDatePickerModal = () => { - setShowStartDatePicker(true); - }; - //顯示結束日期選擇器 - const showEndDatePickerModal = () => { - setShowEndDatePicker(true); - }; - //上傳照片 - const handleUploadImage = async () => { - const result = await launchImageLibraryAsync(); - if (!result.canceled) { - setSelectedImage(result); - } - }; - return ( - - - - - - 新增活動 - - - 活動名稱 - - - - {showStartDatePicker && ( - - )} - - - - - {showEndDatePicker && ( - - )} - - 開始時間 : {startDate.toLocaleDateString()} {startDate.toLocaleTimeString()} - 結束時間 : {endDate.toLocaleDateString()} {endDate.toLocaleTimeString()} - 活動地點 - - 參加費用 - - 活動介紹 - - - - - {selectedImage?.assets && ( //selectedImage可能是null 所以用selectedImage?.assets - - //可以印出來看selectedImage裡面的結構 再找uri - )} - - - - - - - ); -}; - -export default CreateEventScreen; diff --git a/Event/screens/EventDetailScreen.tsx b/Event/screens/EventDetailScreen.tsx deleted file mode 100644 index e69de29..0000000 diff --git a/Event/screens/EventMainScreen.tsx b/Event/screens/EventMainScreen.tsx deleted file mode 100644 index 1fa1f6e..0000000 --- a/Event/screens/EventMainScreen.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { Box, Heading, NativeBaseProvider, extendTheme } from 'native-base'; -import React from 'react'; -import { styles } from '../stylesheet'; -//預設為Dark Mode -function EventMainScreen({navigation}:any){ - const config = { - useSystemColorMode: false, - initialColorMode: 'dark', - }; - - const customTheme = extendTheme({ config }); - - return( - - - 活動列表 - - - ); -}; -export default EventMainScreen; - diff --git a/Event/stylesheet.tsx b/Event/stylesheet.tsx deleted file mode 100644 index 1d3c1c5..0000000 --- a/Event/stylesheet.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { StyleSheet } from 'react-native'; - -export const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#333333', - }, - text: { - fontSize : 17, - marginLeft: 15, - color: '#ffffff', - }, - input:{ - backgroundColor: '#E8E8E8', - alignSelf: 'center', - color: '#000000', - }, - // placeholder: { - // color: '#CCCCCC', - // }, - safeArea: { - flex: 1, - backgroundColor: '#333333', - }, - Button:{ - backgroundColor: '#E8E8E8', - alignSelf: 'center', - width: '45%', - textShadowColor: '#CCCCCC', - }, -}); diff --git a/README.md b/README.md index 8682b23..0d6babe 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,30 @@ -#

+# React + TypeScript + Vite -# NCU App +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. -An App to provide easier life at National Central University. +Currently, two official plugins are available: -# :file_folder: Prerequisites +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh -Please follow the requirements in [Expo Doc](https://docs.expo.dev/get-started/installation/#requirements). +## Expanding the ESLint configuration -# :rocket: Getting Started +If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: -``` -# Install the dependency packages -yarn install +- Configure the top-level `parserOptions` property like this: -# Start the development server. -yarn start +```js +export default { + // other rules... + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + project: ['./tsconfig.json', './tsconfig.node.json'], + tsconfigRootDir: __dirname, + }, +} ``` + +- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` +- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list diff --git a/app.json b/app.json deleted file mode 100644 index 12ad39c..0000000 --- a/app.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "expo": { - "name": "NCU-APP-v2", - "slug": "NCU-APP-v2", - "version": "1.0.0", - "orientation": "portrait", - "icon": "./assets/icon.png", - "userInterfaceStyle": "light", - "splash": { - "image": "./assets/splash.png", - "resizeMode": "contain", - "backgroundColor": "#ffffff" - }, - "assetBundlePatterns": [ - "**/*" - ], - "ios": { - "supportsTablet": true - }, - "android": { - "adaptiveIcon": { - "foregroundImage": "./assets/adaptive-icon.png", - "backgroundColor": "#ffffff" - } - }, - "web": { - "favicon": "./assets/favicon.png" - } - } -} diff --git a/assets/MapIcon/badminton.png b/assets/MapIcon/badminton.png deleted file mode 100644 index 2c3331d815a52cf9b83a71eb095df4667ff54d48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15216 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 O0000?@PN_P$^4U*E0bVy5=lz<@Jk^&+~r?lL| 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 diff --git a/assets/Sales/TagBackground.png b/assets/Sales/TagBackground.png deleted file mode 100644 index 087b20dacd8ac724907003225d5c3f008f41209c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22883 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 S6L^{c0000NJbD)B#PwJfQU#E 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

iBR^?uwKJ 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 diff --git a/assets/building.json b/assets/building.json deleted file mode 100644 index c0184ad..0000000 --- a/assets/building.json +++ /dev/null @@ -1,514 +0,0 @@ -[ - { - "latitude":24.97025, - "image":"building", - "chineseName":"I 志希館", - "longitude":121.19367, - "units": "電子計算機中心, 管理學院研究室", - "index": 0 - }, - { - "longitude":121.19078, - "chineseName":"松苑餐廳", - "image":"restaurant", - "latitude":24.96703, - "units": "漢堡王, 全家, 江記餛飩, 露易莎, lala kitchen, 都挺好", - "index": 1 - }, - { - "latitude":24.96609, - "chineseName":"國際學生宿舍", - "image":"building", - "longitude":121.19465, - "units": " ", - "index": 2 - }, - { - "chineseName":"籃球場", - "longitude":121.19069, - "image": "basketball", - "latitude":24.96967, - "units": " ", - "index": 3 - }, - { - "chineseName":"女十四舍", - "latitude":24.96571, - "longitude":121.19431, - "image":"building", - "units": "藝文空間, 拉亞漢堡, 龍騰影印店, 581生活館, 全家無人商店", - "index": 4 - }, - { - "image":"building", - "latitude":24.96561, - "chineseName":"男十一舍", - "longitude":121.19511, - "units": "敦煌書局, 中大眼鏡行, 印象剪髮, 郵局, 洗衣店", - "index": 5 - }, - { - "longitude":121.19519, - "image":"building", - "latitude":24.9695, - "chineseName":"LS 人文社會科學大樓", - "units": "文三, 文學三館, 黑盒子劇場, 藝文中心, 107電影院", - "index": 6 - }, - { - "latitude":24.969364, - "image":"building", - "chineseName":"校長宿舍", - "longitude":121.195814, - "units": " ", - "index": 7 - }, - { - "image":"building", - "chineseName":"O 綜教館", - "latitude":24.97024, - "longitude":121.19292, - "units": "語言中心", - "index": 8 - }, - { - "chineseName":"中正圖書館", - "latitude":24.96821, - "image":"building", - "longitude":121.19368, - "units": "K書中心, 生活輔導組, 課外活動組, 服務學習辦公室, 軍訓室, 衛生保健組, 圖書館視聽室, 原住民族學生資源中心, 諮商中心, 資源教室, 藝文中心展示空間, 職涯發展中心, 小中大電視台, 備用書庫, 英語自學中心, 戲曲研究室, 團體活動室, 學務處", - "index": 9 - }, - { - "longitude":121.18774915643395, - "image":"building", - "chineseName":"前瞻科技研究中心", - "latitude":24.966554536362217, - "units": " ", - "index": 10 - }, - { - "longitude":121.1935, - "chineseName":"小木屋鬆餅", - "image":"restaurant", - "latitude":24.9701, - "units": " ", - "index": 11 - }, - { - "latitude":24.96562, - "longitude":121.19555, - "image":"building", - "chineseName":"男七舍", - "units": " ", - "index": 12 - }, - { - "chineseName":"溜冰場", - "image":"running", - "longitude":121.19097, - "latitude":24.96958, - "units": "skating", - "index": 13 - }, - { - "chineseName":"住宿服務處", - "latitude":24.96618, - "image":"building", - "longitude":121.19446, - "units": " ", - "index": 14 - }, - { - "chineseName":"YH 依仁堂", - "latitude":24.96837, - "image":"building", - "longitude":121.19091, - "units": "室內籃球場, 室內排球場, 健身房, 韻律教室, 桌球練習場, 技擊教室", - "index": 15 - }, - { - "chineseName":"志道樓", - "image":"building", - "latitude":24.96566, - "longitude":121.19381, - "units": " ", - "index": 16 - }, - { - "longitude":121.19448436732834, - "latitude":24.970117061463334, - "image":"building", - "chineseName":"國鼎圖書館", - "units": "白樓特藏室, 國鼎館展示室, 簡報室, 閱覽室", - "index": 17 - }, - { - "longitude":121.19209, - "chineseName":"S4 健雄館", - "latitude":24.97144, - "image":"building", - "units": "科四, 科學四館, 物理系, 奈米科技研究中心, 探測器研發中心, 複雜系統研究中心, 中子束應用研究中心, 數學與理論物理中心, 中壢福衛地面站, 天文研究所, 太空科學研究所", - "index": 18 - }, - { - "chineseName":"大講堂", - "longitude":121.19571, - "image":"building", - "latitude":24.96718, - "units": "校史館", - "index": 19 - }, - { - "latitude":24.97061, - "chineseName":"研究生宿舍", - "image":"building", - "longitude":121.19435, - "units": " ", - "index": 20 - }, - { - "latitude":24.96724, - "chineseName":"E 工程一館", - "image":"building", - "longitude":121.19269, - "units": "土木工程學系, 化學工程與材料工程學系, 化材, 奈米觸媒研究中心, 界面科技研究中心 , 土木材料品保中心, 災害防治研究中心, 橋梁工程研究中心", - "index": 21 - }, - { - "chineseName":"A 文學一館", - "latitude":24.96946, - "longitude":121.19458, - "image":"building", - "units": "中國文學系, 英美語文學系, 法國語文學系, 哲學研究所, 歷史研究所, 藝術學研究所, 學習與教學研究及亞祭文化研究國際碩士學位學程所", - "index": 22 - }, - { - "chineseName":"E5 大型力學實驗室", - "latitude":24.968898292544104, - "longitude":121.18847797691994, - "image":"building", - "units": "結構力學實驗室, 韓鋼架及混凝土力學實驗區, 大地工程實驗室, 流體力學實驗室", - "index": 23 - }, - { - "latitude":24.9672, - "chineseName":"S 科學一館", - "longitude":121.19465, - "image":"building", - "units": "地球科學系, 地球物理研究所, 水文與海洋科學研究所, 地震電磁前兆研究中心, 應用地質研究所, 環境研究中心, 中大天文台, 秉文堂", - "index": 24 - }, - { - "image":"building", - "latitude":24.96604511545328, - "longitude":121.19190498514823, - "chineseName":"中大幼稚園", - "units": " ", - "index": 25 - }, - { - "chineseName":"中央大學第九宿舍餐廳", - "latitude":24.97054, - "longitude":121.19569, - "image":"restaurant", - "units": "全家, 四海遊龍, 金盃美而美早餐, 賈董的麵, 香米自助餐, 第九餐廳", - "index": 26 - }, - { - "latitude":24.96559, - "longitude":121.19343, - "chineseName":"男三舍", - "image":"building", - "units": " ", - "index": 27 - }, - { - "chineseName":"攀岩場", - "longitude":121.18941, - "image": "rockclimbing", - "latitude":24.96901, - "units": " ", - "index": 28 - }, - { - "chineseName":"中大iicafe", - "latitude":24.97064, - "image":"restaurant", - "longitude":121.19441, - "units": " ", - "index": 29 - }, - { - "image":"building", - "longitude":121.19548, - "chineseName":"男九舍", - "latitude":24.97025, - "units": "自修室", - "index": 30 - }, - { - "chineseName":"據德樓", - "image":"building", - "longitude":121.19583, - "latitude":24.96671, - "units": "社團辦公室", - "index": 31 - }, - { - "longitude":121.19495, - "latitude":24.97084, - "image":"building", - "chineseName":"中大會館", - "units": " ", - "index": 32 - }, - { - "latitude":24.96594, - "image":"building", - "chineseName":"男六舍", - "longitude":121.1958, - "units": " ", - "index": 33 - }, - { - "longitude":121.193, - "latitude":24.96899, - "chineseName":"壘球場", - "image": " ", - "units": "棒壘球場", - "index": 34 - }, - { - "chineseName":"國際處&創新育成中心", - "longitude":121.19087, - "latitude":24.96672, - "image":"building", - "units": " ", - "index": 35 - }, - { - "chineseName":"HK 客家學院大樓", - "image":"building", - "longitude":121.19037, - "latitude":24.97102, - "units": "客家與社會學系, 客家社會文化研究所, 客家語文研究所, 客家政治經濟研究所, 客家研究在職專班, 法律與政府研究所, 客語認證中心, 客家公共事務中心, 客家希望工程言青年培育中心, 全球客家女性研究(基金)中心, 客家藝文中心", - "index": 36 - }, - { - "image":"building", - "longitude":121.18767, - "latitude":24.96861, - "chineseName":"E3 工程四館", - "units": "環境工程學研究所, 永續環境科技研究中心, 化學工程與材料工程學系實驗館", - "index": 37 - }, - { - "longitude":121.19269, - "image":"building", - "latitude":24.97162, - "chineseName":"S5 科學五館", - "units": "腦科學研究中心, 生物醫藥研發中心, 認知與神經科學所, 系統生物與生物資訊研究所, 生命科學系", - "index": 38 - }, - { - "image":"building", - "chineseName":"總圖書館", - "longitude":121.19443, - "latitude":24.96839, - "units": "英語閱讀坊, 台聯大圖書管理系統", - "index": 39 - }, - { - "chineseName":"男十二舍", - "longitude":121.194957, - "latitude":24.971215, - "image":"building", - "units": " ", - "index": 40 - }, - { - "image": "badminton", - "latitude":24.96935, - "chineseName":"羽球館", - "longitude":121.1909, - "units": " ", - "index": 41 - }, - { - "latitude":24.96793, - "image":"building", - "longitude":121.18709, - "chineseName":"R3 研究中心大樓二期", - "units": "生醫理工學院", - "index": 42 - }, - { - "longitude":121.19522, - "chineseName":"行政大樓", - "image":"building", - "latitude":24.96825, - "units": "教務處, 總務處, 註冊組, 課務組, 招生組, 文書組, 出納組, 保管組, 事務組", - "index": 43 - }, - { - "longitude":121.19234, - "image":"building", - "latitude":24.96828, - "chineseName":"TR 教學研究綜合大樓暨大禮堂", - "units": "世界奇觀, 大禮堂, 多功能會議廳, 教學研究空間, 停車場", - "index": 44 - }, - { - "chineseName":"C2 文學二館", - "longitude":121.19453, - "latitude":24.96898, - "image":"building", - "units": "中國文學系, 英美語文學系, 法國語文學系, 哲學研究所, 歷史研究所, 藝術學研究所, 學習與教學研究及亞祭文化研究國際碩士學位學程所", - "index": 45 - }, - { - "chineseName":"S2 科學三館", - "latitude":24.97088, - "longitude":121.19242, - "image":"building", - "units": "物化實驗室, 有機無機實驗室, 核磁共振儀室, 普化分析實驗室, 大氣分析實驗室, 光子材料研究實驗室, 高分子及觸媒化學實驗室, 有機化學研究實驗室, 有機光電材料開發化學實驗室, 有機化學研究實驗室, 有機光電材料開發實驗室", - "index": 46 - }, - { - "latitude":24.9678, - "chineseName":"E2 工程三館", - "image":"building", - "longitude":121.18858, - "units": "機械工程學系, 機械系, 能源研究中心, 生物醫學工程研究所, 能源工程研究所, 光機電工程研究所", - "index": 47 - }, - { - "chineseName":"E1 工程二館", - "image":"building", - "latitude":24.96788, - "longitude":121.19153, - "units": "電機工程學系, 通訊工程學系, 電機系, 通訊系, 小禮堂, 視聽教室, 通訊工程研究所, 資訊電機學院", - "index": 48 - }, - { - "latitude":24.966, - "chineseName":"男五舍", - "image":"building", - "longitude":121.1953, - "units": " ", - "index": 49 - }, - { - "longitude":121.19584, - "latitude":24.96635, - "image":"building", - "chineseName":"游藝館", - "units": "社團辦公室", - "index": 50 - }, - { - "longitude":121.19542, - "latitude":24.96556, - "chineseName":"松果餐廳", - "image":"restaurant", - "units": "全家, 吮指王炸雞, 豪秋吐司, 香米自助餐", - "index": 51 - }, - { - "image":"building", - "longitude":121.19048, - "chineseName":"IL 國鼎光電大樓", - "latitude":24.97036, - "units": "光電系, 鍍膜實驗室, 光電博物館, 光電展示中心, 台達研究中心", - "index": 52 - }, - { - "latitude":24.96835, - "chineseName":"操場", - "longitude":121.18991, - "image": "running", - "units": " ", - "index": 53 - }, - { - "latitude":24.96631, - "image":"building", - "longitude":121.19262, - "chineseName":"女一~四舍", - "units": " ", - "index": 54 - }, - { - "chineseName":"E6 工程五館", - "longitude":121.18777, - "image":"building", - "latitude":24.96734, - "units": "資訊工程學系, 資工系, 資訊工程研究所, 工學院, 工學院精密研究中心, 環境與能源研究中心, 材料科學與工程研究所, 網路學習科技研究所", - "index": 55 - }, - { - "latitude":24.97105, - "longitude":121.19372, - "image":"building", - "chineseName":"I1 管理二館", - "units": "管二, 企管, 資管, 財金, 經濟, 企業管理學系, 資訊管理學系, 財務金融學系, 經濟學系, 產驗經濟研究所, 人力資源管理研究所, 工業管理研究所, 會計研究所及管理學術研究中心, 企業資源規劃中心, 管院電算中心", - "index": 56 - }, - { - "latitude":24.97013, - "image":"building", - "chineseName":"S1 科學二館", - "longitude":121.19262, - "units": "理學院辦公室, 光電中心辦公室, 地科中心辦公室, 新世代太陽能電池研究中心辦公室, 固態無機化學實驗室, 功能高分子及觸媒實驗室, 奈米觸媒與高能電池實驗室, 化學系系學會, 分子光譜學實驗室, 化學系辦公室, 教授研究室, 大氣系辦公室", - "index": 57 - }, - { - "longitude":121.18709, - "latitude":24.96793, - "image":"building", - "chineseName":"R2 太空及遙測研究中心", - "units": "太遙中心", - "index": 58 - }, - { - "longitude":121.18993, - "latitude":24.96957, - "image": "tennis", - "chineseName":"網球場", - "units": " ", - "index": 59 - }, - { - "longitude":121.18961, - "chineseName":"室內游泳池", - "image":"building", - "latitude":24.9701, - "units": " ", - "index": 60 - }, - { - "image":"building", - "chineseName":"男十三舍", - "longitude":121.19623, - "latitude":24.96663, - "units": " ", - "index": 61 - }, - { - "longitude":121.19268, - "chineseName":"M 鴻經館", - "latitude":24.97085, - "image":"building", - "units": "數學系, 數學系圖書館, 數學系系學會, 數學系系辦公室", - "index": 62 - }, - { - "longitude":121.19079, - "chineseName":"排球場", - "image": "volleyball", - "latitude":24.9676, - "units": " ", - "index": 63 - } - ] \ No newline at end of file diff --git a/assets/splash.png b/assets/splash.png deleted file mode 100644 index 9254c62c34f4b05bc19f739f3eec81b21b7fd6c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85205 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 XKB%`G`A3v7wnw2;)~@u##hd>H2T^^D diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index 73ebf58..0000000 --- a/babel.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = function (api) { - api.cache(true); - return { - presets: ["babel-preset-expo"], - }; -}; diff --git a/components/DateTimeField.jsx b/components/DateTimeField.jsx deleted file mode 100644 index 9ccdd6e..0000000 --- a/components/DateTimeField.jsx +++ /dev/null @@ -1,51 +0,0 @@ -import React, { useState } from 'react'; -import { View } from 'react-native'; -import DateTimePickerModal from 'react-native-modal-datetime-picker'; -import { TextInput } from 'react-native-paper'; - -function DateTimeField({ - label, value, inputStyle, onChange, -}) { - const [visible, setVisible] = useState(false); - const [focused, setFocused] = useState(false); - const [date, setDate] = useState(new Date()); - const [text, setText] = useState(value ? value.toLocaleString() : ''); - - const showDialog = () => { - if (!focused) { - setFocused(true); - setVisible(true); - } else { - setFocused(false); - } - }; - - const hideDialog = () => setVisible(false); - - const handleConfirm = (newVal) => { - setDate(newVal); - setText(newVal.toLocaleString()); - hideDialog(); - onChange(newVal); - }; - - return ( - - - - - ); -} - -export default DateTimeField; diff --git a/config/firebase.js b/config/firebase.js deleted file mode 100644 index fea99e3..0000000 --- a/config/firebase.js +++ /dev/null @@ -1,23 +0,0 @@ -import { initializeApp } from 'firebase/app' -import { initializeAuth, getReactNativePersistence } from 'firebase/auth' -import AsyncStorage from '@react-native-async-storage/async-storage' - -// add firebase config -const firebaseConfig = { - apiKey: 'AIzaSyA8GH6yj1i4gJM0H_ZTsurYG3Dqn4-nIS8', - authDomain: 'ncu-app-test.firebaseapp.com', - projectId: 'ncu-app-test', - storageBucket: 'ncu-app-test.appspot.com', - messagingSenderId: '739839700130', - appId: '1:739839700130:web:37591d0118a440488cfbfb' -} - -// initialize firebase -const app = initializeApp(firebaseConfig) - -// initialize auth -const auth = initializeAuth(app, { - persistence: getReactNativePersistence(AsyncStorage) -}) - -export { auth } diff --git a/config/index.js b/config/index.js deleted file mode 100644 index bac6469..0000000 --- a/config/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import { auth } from './firebase'; - -export { auth }; diff --git a/controller/Active.js b/controller/Active.js deleted file mode 100644 index 98ea1d6..0000000 --- a/controller/Active.js +++ /dev/null @@ -1,1164 +0,0 @@ -/* eslint-disable no-console */ -/* eslint-disable brace-style */ -/* eslint-disable max-len */ -/* eslint-disable no-loop-func */ -/* eslint-disable no-await-in-loop */ -import { getApp } from 'firebase/app' -import { - getFirestore, collection, query, getDoc, getDocs, addDoc, - setDoc, doc, orderBy, where, deleteDoc, deleteField, updateDoc, arrayRemove, -} from 'firebase/firestore' -import { - getStorage, - ref, - getDownloadURL, - uploadBytes, - deleteObject -} from 'firebase/storage' -import Fuse from 'fuse.js' -import UserController from './getStudentId' -import MessageController from './Message' - -const values = ['揪人共乘', '揪人運動', '揪人遊戲', '校園活動', '系上活動', '社團活動'] -const defaultLinks = { - 0: - { - id: '0', - type: 'carpool', - link: 'https://firebasestorage.googleapis.com/v0/b/ncu-app-test.appspot.com/o/activities%2Fcarpool.png?alt=media&token=79c907f5-01f9-429e-bc4c-039a6cccfde4' - }, - 1: - { - id: '1', - type: 'exercising', - link: 'https://firebasestorage.googleapis.com/v0/b/ncu-app-test.appspot.com/o/activities%2Fexercising.png?alt=media&token=aff283ca-f80b-4f9a-9a4f-26631a7533b1' - }, - 2: { - id: '2', - type: 'HangOut', - link: 'https://firebasestorage.googleapis.com/v0/b/ncu-app-test.appspot.com/o/activities%2Fhangout.png?alt=media&token=c4746524-28a9-4e54-af12-9f06de57cf75' - }, - 3: { - id: '3', - type: 'schoolEvent', - link: 'https://firebasestorage.googleapis.com/v0/b/ncu-app-test.appspot.com/o/activities%2FschoolEvent.png?alt=media&token=d94a9692-f843-45af-9809-f3d9acb0db51' - }, - 4: { - id: '4', - type: 'tiedEvent', - link: 'https://firebasestorage.googleapis.com/v0/b/ncu-app-test.appspot.com/o/activities%2FtiedEvent.png?alt=media&token=9ce839a9-1df3-4edb-9755-d2241da49d4d' - }, - 5: { - id: '5', - type: 'clubEvent', - link: 'https://firebasestorage.googleapis.com/v0/b/ncu-app-test.appspot.com/o/activities%2FclubEvent.png?alt=media&token=4f1e582b-3ea5-42de-82e4-c0ef9e3d5462' - } -} - -/** - * - * @param {*} time - * @returns - */ - -function toDateString (time) { - const date = new Date(time) - const dateString = `${date.getFullYear().toString()}/${ - (date.getMonth() + 1).toString().padStart(2, '0')}/${ - date.getDate().toString().padStart(2, '0')} ${ - date.getHours().toString().padStart(2, '0')}:${ - date.getMinutes().toString().padStart(2, '0')}` - return dateString -} - -function dateToWeekday (t) { - const time = new Date(t) - const y = (time.getFullYear().toString()) - const c = ((time.getFullYear().toString() - 1969) % 100 === 0) - ? ((time.getFullYear().toString() - 1969).toString().substring(0, 2) - 1) - : (time.getFullYear().toString() - 1969).toString().substring(0, 2) - let m = 0 - if ((time.getMonth() + 1).toString() === 1) { - m = 13 - } else if ((time.getMonth() + 1).toString() === 2) { - m = 14 - } else { - m = (time.getMonth() + 1).toString() - } - const d = time.getDate().toString() - const day = (y + Math.floor((y / 4)) + Math.floor((c / 4)) - 2 * c + - Math.floor(2.6 * m + 2.6) + d * 1 - 1) % 7 - let weekday = '' - if (day === 0) { weekday = '星期日' } else if (day === 1) { weekday = '星期一' } else if (day === 2) { weekday = '星期二' } else if (day === 3) { weekday = '星期三' } else if (day === 4) { weekday = '星期四' } else if (day === 5) { weekday = '星期五' } else if (day === 6) { weekday = '星期六' } - const check = `${y}年 ${(time.getMonth() + 1).toString()}月${time.getDate().toString()}日 ${weekday} ${time.getHours().toString().padStart(2, '0')}:${time.getMinutes().toString().padStart(2, '0')}` - return check -} - -function dateToWeekdayWithoutTime (t) { - const time = new Date(t) - const y = (time.getFullYear().toString()) - const c = ((time.getFullYear().toString() - 1969) % 100 === 0) - ? ((time.getFullYear().toString() - 1969).toString().substring(0, 2) - 1) - : (time.getFullYear().toString() - 1969).toString().substring(0, 2) - let m = 0 - if ((time.getMonth() + 1).toString() === 1) { - m = 13 - } else if ((time.getMonth() + 1).toString() === 2) { - m = 14 - } else { - m = (time.getMonth() + 1).toString() - } - const d = time.getDate().toString() - const day = (y + Math.floor((y / 4)) + Math.floor((c / 4)) - 2 * c + - Math.floor(2.6 * m + 2.6) + d * 1 - 1) % 7 - let weekday = '' - if (day === 0) { weekday = '星期日' } else if (day === 1) { weekday = '星期一' } else if (day === 2) { weekday = '星期二' } else if (day === 3) { weekday = '星期三' } else if (day === 4) { weekday = '星期四' } else if (day === 5) { weekday = '星期五' } else if (day === 6) { weekday = '星期六' } - const check = `${y}年 ${(time.getMonth() + 1).toString()}月${time.getDate().toString()}日 ${weekday}` - return check -} - -const app = getApp() -const storage = getStorage() - -/** - * - * @param {*} imageUri - * @returns - */ -function imagePos (imageUri) { - return imageUri.split('/').pop() -} - -/** - * Create a new activity - * - * @param {object} active - * @property {string} UserStudent - the id of the user that create this activity(current user) - * @property {object} item - all information of this activity - * @property {string} item.name - the name of the activity - * @property {timestamp} item.startTime - the start time of the activity - * @property {timestamp} item.endTime - the end time of the activity - * @property {timestamp} item.uploadTime - the time that the activity is uploaded - * @property {string} item.place - the place of the activity - * @property {number} item.cost - the cost for attending this activity - * @property {number} item.limitNum - the maximum number of attendees - * @property {string} item.genre - the genre of the activity - * @property {string} item.link - the link of the activity - * @property {string} item.details - the details of the activity - * @property {string} item.host - the id of the host - * @property {number} item.totalAttendee - the number of attendees - * @property {boolean} item.CloseEvent - the status of the activity - * @property {array} item.participant - the list of attendees - * @property {string} item.imageUri1 - the uri of the first image - * @property {string} item.imageUri2 - the uri of the second image - * @property {string} item.imageUri3 - the uri of the third image - * @property {*} db - the reference of the firestore - * @property {*} activesRef - the reference of the activities collection - * @property {*} querySnapshot - the snapshot of the activesRef - * - */ -async function addActive (active) { - const UserStudent = UserController.getUid() - const item = { - name: active.name, - startTime: active.startTime, - endTime: active.endTime, - uploadTime: active.uploadTime, - place: active.place.trim(), - cost: active.cost, - limitNum: active.limitNum, - genre: active.genre, - link: active.link.trim(), - details: active.details.trim(), - host: UserStudent, - totalAttendee: 0, - CloseEvent: false, - participant: [] - } - - if (active.image1) { - const imageAddress = `activities/${imagePos(active.image1)}` - const storageRef = ref(storage, imageAddress) - const response = await fetch(active.image1) - const blob = await response.blob() - const uploadTask = await uploadBytes(storageRef, blob) - item.imageUri1 = await getDownloadURL(uploadTask.ref) - } else { - item.imageUri1 = defaultLinks[values.indexOf(active.genre)].link - } - - if (active.image2) { - const imageAddress = `activities/${imagePos(active.image2)}` - const storageRef = ref(storage, imageAddress) - const response = await fetch(active.image2) - const blob = await response.blob() - const uploadTask = await uploadBytes(storageRef, blob) - item.imageUri2 = await getDownloadURL(uploadTask.ref) - } - if (active.image3) { - const imageAddress = `activities/${imagePos(active.image3)}` - const storageRef = ref(storage, imageAddress) - const response = await fetch(active.image3) - const blob = await response.blob() - const uploadTask = await uploadBytes(storageRef, blob) - item.imageUri3 = await getDownloadURL(uploadTask.ref) - } - - if (active.cost === 0 || active.cost === '') { - item.cost = '免費free' - } - const db = getFirestore(app) - const activesRef = query(collection(db, 'activities')) - addDoc(activesRef, item).then(() => { - console.log('Document has been added successfully') - }).catch((error) => { - console.log(error) - }) - const querySnapshot = await getDocs(collection(db, 'activities')) - querySnapshot.forEach((doc1) => { - if (doc1.data().name === item.name) { - setDoc(doc(db, 'attendees', `${UserStudent}`, 'hostedEvent', `${doc1.id}`), {}, { merge: true }) - } - }) - - console.log('addActive Successful') -} - -/** - * Update the information of an activity - * - * @param {*} oldID - the id of the activity that is going to be updated - * @param {*} NEWactive - the new information of the activity - */ -async function updateActive (oldID, NEWactive) { - let defaultRef - - const NEWitem = NEWactive - const db = getFirestore(app) - const activesRef = doc(db, `activities/${oldID}`) - const querySnapshot = await getDoc(activesRef) - if (NEWactive.genre) { - defaultRef = defaultLinks[values.indexOf(NEWactive.genre)].link - } else { - defaultRef = defaultLinks[values.indexOf(querySnapshot.data().genre)].link - } - - // 狀況1: 主辦者沒有上傳新照片 && 換了分類 && 原本照片是上個分類的預設照片 - if (!NEWactive.image1 && NEWactive.genre && querySnapshot.data().imageUri1 === defaultLinks[values.indexOf(querySnapshot.data().genre)].link) { - console.log('status 1: new genre link') - NEWitem.imageUri1 = defaultRef - delete NEWitem.image1 - } - // 狀況2: 主辦者希望用預設照片 - else if (NEWactive.image1 === values.indexOf(querySnapshot.data().genre) || NEWactive.image1 === values.indexOf(NEWactive.genre)) { - console.log('status 2: use default image') - NEWitem.imageUri1 = defaultRef - delete NEWitem.image1 - } - // 狀況3: 主辦者第一張照片換了 - else if (NEWactive.image1) { - if (NEWactive.image2 === 'forward') { // 如果是第二張照片往前補 - delete NEWitem.image1 - delete NEWitem.image2 - const docRef = doc(db, 'activities', oldID) - const data = { - imageUri1: NEWactive.image1, - imageUri2: deleteField() - } - await updateDoc(docRef, data, { merge: true }) - } else { - const imageAddress = `activities/${imagePos(NEWactive.image1)}` - const storageRef = ref(storage, imageAddress) - const response = await fetch(NEWactive.image1) - const blob = await response.blob() - const uploadTask = await uploadBytes(storageRef, blob) - NEWitem.imageUri1 = await getDownloadURL(uploadTask.ref) - if (querySnapshot.data().imageUri1 !== defaultLinks[values.indexOf(querySnapshot.data().genre)].link) { - const deleteRef = ref(storage, `activities/${querySnapshot.data().imageUri1.substr(-94, 41)}`) - deleteObject(deleteRef).then(() => { - console.log('origin image1 has been deleted!') - }).catch((err) => { - console.log(err) - }) - } - } - delete NEWitem.image1 - console.log('status 3: image 1 changed') - } - - if (NEWactive.image2 === 'removed') { - delete NEWitem.image2 - const deleteRef = ref(storage, `activities/${querySnapshot.data().imageUri2.substr(-94, 41)}`) - deleteObject(deleteRef).then(() => { - console.log('origin image2 has been deleted!') - }).catch((err) => { - console.log(err) - }) - } else if (NEWactive.image3 === 'forward') { - delete NEWitem.image2 - delete NEWitem.image3 - const docRef = doc(db, 'activities', oldID) - const data = { - imageUri2: NEWactive.image2, - imageUri3: deleteField() - } - await updateDoc(docRef, data, { merge: true }) - } else if (NEWactive.image2 !== undefined) { - const imageAddress = `activities/${imagePos(NEWactive.image2)}` - const storageRef = ref(storage, imageAddress) - const response = await fetch(NEWactive.image2) - const blob = await response.blob() - const uploadTask = await uploadBytes(storageRef, blob) - NEWitem.imageUri2 = await getDownloadURL(uploadTask.ref) - const deleteRef = ref(storage, `activities/${querySnapshot.data().imageUri2.substr(-94, 41)}`) - deleteObject(deleteRef).then(() => { - console.log('origin image2 has been deleted!') - }).catch((err) => { - console.log(err) - }) - delete NEWitem.image2 - } - - if (NEWactive.image3 === 'removed') { - delete NEWitem.image3 - const deleteRef = ref(storage, `activities/${querySnapshot.data().imageUri3.substr(-94, 41)}`) - deleteObject(deleteRef).then(() => { - console.log('origin image3 has been deleted!') - }).catch((err) => { - console.log(err) - }) - } else if (NEWactive.image3 !== undefined) { - const imageAddress = `activities/${imagePos(NEWactive.image3)}` - const storageRef = ref(storage, imageAddress) - const response = await fetch(NEWactive.image3) - const blob = await response.blob() - const uploadTask = await uploadBytes(storageRef, blob) - NEWitem.imageUri3 = await getDownloadURL(uploadTask.ref) - const deleteRef = ref(storage, `activities/${querySnapshot.data().imageUri3.substr(-94, 41)}`) - deleteObject(deleteRef).then(() => { - console.log('origin image3 has been deleted!') - }).catch((err) => { - console.log(err) - }) - delete NEWitem.image3 - } - - if (NEWactive.cost) { - if (NEWactive.cost === 0 || NEWactive.cost === '') { - NEWitem.cost = '免費free' - } - } - - if (NEWitem) { - setDoc(activesRef, NEWitem, { merge: true }) - .then(() => { console.log('updateActive Successful') }) - } -} - -/** - * Get all activities - * - * @property {*} db - the reference of the firestore - * @property {*} activesRef - the reference of the activities collection - * @property {*} querySnapshot - the snapshot of the activesRef - * - * @returns {object} activeArray - the array of all activities - */ - -async function getAllActive () { - const db = getFirestore(app) - const activesRef = query(collection(db, 'activities'), orderBy('uploadTime', 'desc')) - const activeArray = [] - const querySnapshot = await getDocs(activesRef) - querySnapshot.forEach((doc1) => { - activeArray.push({ - id: doc1.id, - name: doc1.data().name, - imageUri1: doc1.data().imageUri1, - startTimeWeekday: dateToWeekday(doc1.data().startTime.toDate()), - startTimeInNum: toDateString(doc1.data().startTime.toDate()), - place: doc1.data().place, - cost: doc1.data().cost, - limitNum: doc1.data().limitNum, - genre: doc1.data().genre, - link: doc1.data().link, - details: doc1.data().details - }) - }) - return activeArray -} - -/** - * Get activities by genre - * - * @property {*} db - the reference of the firestore - * @property {*} activesRef - the reference of the activities collection - * @property {*} querySnapshot - the snapshot of the activesRef - * @property {timestamp} current - the current time - * - * @returns {object} GenreArray - the array of all activities - */ - -async function getGenreActive (genre) { - const db = getFirestore(app) - const activesRef = query(collection(db, 'activities'), where('genre', '==', genre)) - const GenreArray = [] - const querySnapshot = await getDocs(activesRef) - const current = new Date() - - querySnapshot.forEach((doc1) => { - GenreArray.push({ - id: doc1.id, - name: doc1.data().name, - imageUri1: doc1.data().imageUri1, - imageUri2: doc1.data().imageUri2, - imageUri3: doc1.data().imageUri3, - endtimeTimestamp: doc1.data().endTime.toDate(), - startTime: toDateString(doc1.data().startTime.toDate()), - endTime: toDateString(doc1.data().endTime.toDate()), - startTimeWeekday: dateToWeekday(doc1.data().startTime.toDate()), - endTimeWeekday: dateToWeekday(doc1.data().endTime.toDate()), - place: doc1.data().place.length < 10 ? doc1.data().place : doc1.data().place.slice(0, 8) + '...', - cost: doc1.data().cost, - limitNum: doc1.data().limitNum, - genre: doc1.data().genre, - link: doc1.data().link, - details: doc1.data().details, - finish: doc1.data().endTime.toDate() < current - }) - }) - // 按照結束時間排序 - 由未結束到已結束 - var sortedGenreArray = GenreArray.sort((a, b) => { return b.endtimeTimestamp - a.endtimeTimestamp }) - return sortedGenreArray -} - -/** - * Get current user's activities that are not finished - * - * @property {string} UserStudent - the id of the current user - * @property {*} db - the reference of the firestore - * @property {*} attendRef - the reference of the user's attendedEvent collection - * @property {*} querySnapshot - the snapshot of the activesRef - * @property {array} attendIDArray - the array of the id of the activities that the current user has attended - * @property {array} activeArray - array that filter the activities that are not finished - * @property {timestamp} current - the current time - * - * @returns {object} activeArray - the array of current user's activities that are not finished - */ - -async function getParticipatedActive () { - const UserStudent = await UserController.getUid() - const db = getFirestore(app) - const attendRef = query(collection(db, `attendees/${UserStudent}/attendedEvent`)) - const querySnapshot = await getDocs(attendRef) - const attendIDArray = [] - const activeArray = [] - const current = new Date() - querySnapshot.forEach((attendID) => { - attendIDArray.push(attendID.id) - }) - - for (let i = 0; i < attendIDArray.length; i += 1) { - const refDoc = doc(db, `activities/${attendIDArray[i]}`) - const result = await getDoc(refDoc) - - if (result.data().endTime.toDate() >= current) { - activeArray.push({ - id: result.id, - name: result.data().name, - imageUri1: result.data().imageUri1, - time: dateToWeekdayWithoutTime(result.data().startTime.toDate()), - starttimeTimestamp: result.data().startTime.toDate(), - startTimeWeekday: dateToWeekday(result.data().startTime.toDate()), - startTimeInNum: toDateString(result.data().startTime.toDate()), - place: result.data().place.length < 10 ? result.data().place : result.data().place.slice(0, 8) + '...', - cost: result.data().cost, - limitNum: result.data().limitNum, - genre: result.data().genre, - link: result.data().link, - details: result.data().details, - num: result.data().totalAttendee - }) - } - } - // 按照開始時間排序 - 由近到遠 - var sortedActiveArray = activeArray.sort((a, b) => { return a.starttimeTimestamp - b.starttimeTimestamp }) - return sortedActiveArray -} - -/** - * Get current user's activities that has already finished - * - * @property {string} UserStudent - the id of the current user - * @property {*} db - the reference of the firestore - * @property {*} attendRef - the reference of the user's attendedEvent collection - * @property {*} querySnapshot - the snapshot of the activesRef - * @property {array} attendIDArray - the array of the id of the activities that the current user has attended - * @property {array} activeArray - array that filter the activities that has finished - * @property {timestamp} current - the current time - * - * @returns {object} activeArray - the array of current user's activities that are not finished - */ - -async function getFinishedActive () { - const UserStudent = UserController.getUid() - const db = getFirestore(app) - const attendRef = query(collection(db, `attendees/${UserStudent}/attendedEvent`)) - const querySnapshot = await getDocs(attendRef) - const attendIDArray = [] - const activeArray = [] - const current = new Date() - querySnapshot.forEach((attendID) => { - attendIDArray.push(attendID.id) - }) - for (let i = 0; i < attendIDArray.length; i += 1) { - const refDoc = doc(db, `activities/${attendIDArray[i]}`) - const result = await getDoc(refDoc) - if (result.data().endTime.toDate() < current) { - activeArray.push({ - id: result.id, - name: result.data().name, - imageUri1: result.data().imageUri1, - startTimeWeekday: dateToWeekday(result.data().startTime.toDate()), - startTimeInNum: toDateString(result.data().startTime.toDate()), - place: result.data().place.length < 10 ? result.data().place : result.data().place.slice(0, 8) + '...', - cost: result.data().cost, - limitNum: result.data().limitNum, - genre: result.data().genre, - link: result.data().link, - details: result.data().details, - num: result.data().totalAttendee, - endtimeTimestamp: result.data().endTime.toDate() - }) - } - } - // 按照結束時間排序 - 由先結束的 到 後結束的 - var sortedActiveArray = activeArray.sort((a, b) => { return a.endtimeTimestamp - b.endtimeTimestamp }) - return activeArray -} - -/** - * Get one activity by id - * - * @param {string} id - the id of the activity - * @property {*} db - the reference of the firestore - * @property {*} activesDoc - the reference of the activity - * @property {*} querySnapshot - the snapshot of the activesRef - * @property {object} oneactive - the information of the activity - * - * @returns {array} oneactive - the array of the activity - */ - -async function getOneActive (id) { - const db = getFirestore(app) - const activesDoc = doc(db, `activities/${id}`) - - const querySnapshot = await getDoc(activesDoc) - const oneactive = { - id: querySnapshot.id, - name: querySnapshot.data().name, - imageUri1: querySnapshot.data().imageUri1, - endTime: querySnapshot.data().endTime.toDate(), - startTimeInNum: toDateString(querySnapshot.data().startTime.toDate()), - endTimeInNum: toDateString(querySnapshot.data().endTime.toDate()), - startTimeWeekday: dateToWeekday(querySnapshot.data().startTime.toDate()), - endTimeWeekday: dateToWeekday(querySnapshot.data().endTime.toDate()), - place: querySnapshot.data().place, - cost: querySnapshot.data().cost, - limitNum: querySnapshot.data().limitNum, - genre: querySnapshot.data().genre, - genreIndex: querySnapshot.data().genreIndex, - link: querySnapshot.data().link, - details: querySnapshot.data().details, - totalAttendee: querySnapshot.data().totalAttendee, - CloseEvent: querySnapshot.data().CloseEvent - } - if (querySnapshot.data().imageUri2) { - oneactive.imageUri2 = querySnapshot.data().imageUri2 - } - if (querySnapshot.data().imageUri3) { - oneactive.imageUri3 = querySnapshot.data().imageUri3 - } - - return [oneactive] -} - -/** - * Get activities by 'hangout' genre - * - * @property {*} db - the reference of the firestore - * @property {*} activesRef - the reference of the activity - * @property {*} querySnapshot - the snapshot of the activesRef - * @property {timestamp} current - the current time - * - * @returns {object} GenreArray - the array of activities of corresponding genre - */ - -async function getHangOutActive () { - const db = getFirestore(app) - const activesRef = query(collection(db, 'activities'), where('genre', 'in', ['揪人遊戲', '揪人共乘', '揪人運動'])) - const GenreArray = [] - const querySnapshot = await getDocs(activesRef) - const current = new Date() - - querySnapshot.forEach((doc1) => { - GenreArray.push({ - id: doc1.id, - name: doc1.data().name, - imageUri1: doc1.data().imageUri1, - imageUri2: doc1.data().imageUri2, - imageUri3: doc1.data().imageUri3, - endtimeTimestamp: doc1.data().endTime.toDate(), - startTime: toDateString(doc1.data().startTime.toDate()), - endTime: toDateString(doc1.data().endTime.toDate()), - startTimeWeekday: dateToWeekday(doc1.data().startTime.toDate()), - endTimeWeekday: dateToWeekday(doc1.data().endTime.toDate()), - place: doc1.data().place.length < 10 ? doc1.data().place : doc1.data().place.slice(0, 8) + '...', - cost: doc1.data().cost, - limitNum: doc1.data().limitNum, - genre: doc1.data().genre, - link: doc1.data().link, - details: doc1.data().details, - finish: doc1.data().endTime.toDate() < current - }) - }) - // 按照結束時間排序 - 由未結束到已結束 - var sortedGenreArray = GenreArray.sort((a, b) => { return b.endtimeTimestamp - a.endtimeTimestamp }) - return sortedGenreArray -} - - -/** - * Get activities by 'event' genre - * - * @property {*} db - the reference of the firestore - * @property {*} activesRef - the reference of the activity - * @property {*} querySnapshot - the snapshot of the activesRef - * @property {timestamp} current - the current time - * - * @returns {object} EventArray - the array of activities of corresponding genre - */ - -async function getEventActive () { - const db = getFirestore(app) - const activesRef = query(collection(db, 'activities'), where('genre', 'in', ['校園活動', '系上活動', '社團活動'])) - const EventArray = [] - const querySnapshot = await getDocs(activesRef) - const current = new Date() - - querySnapshot.forEach((doc1) => { - EventArray.push({ - id: doc1.id, - name: doc1.data().name, - imageUri1: doc1.data().imageUri1, - imageUri2: doc1.data().imageUri2, - imageUri3: doc1.data().imageUri3, - endtimeTimestamp: doc1.data().endTime.toDate(), - startTime: toDateString(doc1.data().startTime.toDate()), - endTime: toDateString(doc1.data().endTime.toDate()), - startTimeWeekday: dateToWeekday(doc1.data().startTime.toDate()), - endTimeWeekday: dateToWeekday(doc1.data().endTime.toDate()), - place: doc1.data().place.length < 10 ? doc1.data().place : doc1.data().place.slice(0, 8) + '...', - cost: doc1.data().cost, - limitNum: doc1.data().limitNum, - genre: doc1.data().genre, - link: doc1.data().link, - details: doc1.data().details, - finish: doc1.data().endTime.toDate() < current - }) - }) - // 按照結束時間排序 - 由未結束到已結束 - var sortedEventArray = EventArray.sort((a, b) => { return b.endtimeTimestamp - a.endtimeTimestamp }) - return sortedEventArray -} - -/** - * Delete one activity by id - * - * @property {*} db - the reference of the firestore - * @property {*} activesRef - the reference of the activity - * @property {*} dltDoc - the snapshot of the activesRef - * - */ - -async function deleteOneActive (deleteDocId) { - const db = getFirestore(app) - const activesRef = query(doc(db, 'activities', deleteDocId)) - const dltDoc = await getDoc(activesRef) - if (dltDoc.data().imageUri1 !== defaultLinks[values.indexOf(dltDoc.data().genre)].link) { - if (dltDoc.data().imageUri1) { - const uriRef1 = ref(storage, `activities/${dltDoc.data().imageUri1.substr(-94, 41)}`) - deleteObject(uriRef1).then(() => { - console.log('Image 1 has been deleted!') - }).catch((err) => { - console.log(err) - }) - } - } - if (dltDoc.data().imageUri2) { - const uriRef2 = ref(storage, `activities/${dltDoc.data().imageUri2.substr(-94, 41)}`) - deleteObject(uriRef2).then(() => { - console.log('Image 2 has been deleted!') - }).catch((err) => { - console.log(err) - }) - } - if (dltDoc.data().imageUri3) { - const uriRef3 = ref(storage, `activities/${dltDoc.data().imageUri3.substr(-94, 41)}`) - deleteObject(uriRef3).then(() => { - console.log('Image 3 has been deleted!') - }).catch((err) => { - console.log(err) - }) - } - - await deleteDoc(doc(db, 'activities', deleteDocId)) - console.log('deleteOneActive Successful') -} - -/** - * Get all attendees of an activity - * - * @property {*} db - the reference of the firestore - * @property {*} infoRef - the reference of the attendees information - * @property {*} activesDoc - the reference of the activity - * @property {*} querySnapshot - the snapshot of the infoRef - * @property {*} activesSnapshot - the snapshot of the activesDoc - * @property {array} IDlist - the array of the id of attendees - * @property {array} info - the array of the information of attendees - * - * @returns {object} info - the array of the information of attendees - */ - -async function getAllAttendees (docID) { - const db = getFirestore(app) - const activesDoc = doc(db, `activities/${docID}`) - - const activesSnapshot = await getDoc(activesDoc) - const IDlist = activesSnapshot.data().participant - let info = [] - - for (let j = 0; j < IDlist.length; j += 1) { - const infoDoc = doc(db, `attendees/${IDlist[j]}`) - const querySnapshot = await getDoc(infoDoc) - const signUpTime = await getDoc(doc(db, `attendees/${IDlist[j]}/attendedEvent/${docID}`)) - info.push({ - uid: querySnapshot.id, - signupTimestamp: signUpTime.data().signUpTime, - signUpTime: toDateString(signUpTime.data().signUpTime.toDate()), - ...querySnapshot.data() - }) - } - console.log(info) - // 按照報名時間排序 - 由先報名的 到 後報名的 - var sortedInfo = info.sort((a, b) => { return a.signupTimestamp - b.signupTimestamp }) - return sortedInfo -} - -/** - * Delete every attendee of an activity - * - * @property {*} db - the reference of the firestore - * @property {*} docRef - the reference of the activity - * @property {*} docSnapshot - the snapshot of the docRef - * @property {*} attendeeRef - the reference of the attendees information - * @property {*} querySnapshot - the snapshot of the attendeeRef - * - */ - - -async function deleteEverySingleAttendee (docID) { - const db = getFirestore(app) - const docRef = doc(db, `activities/${docID}`) - const docSnapshot = await getDoc(docRef) - - const attendeeRef = query(collection(db, 'attendees')) - const querySnapshot = await getDocs(attendeeRef) - querySnapshot.forEach(async (student) => { - await deleteDoc(doc(db, 'attendees', `${student.id}`, 'attendedEvent', `${docID}`)) - }) - await deleteDoc(doc(db, 'attendees', `${docSnapshot.data().host}`, 'hostedEvent', `${docID}`)) - await MessageController.Notification('(此為自動發出的訊息,無需回覆)主辦者已刪除【' + docSnapshot.data().name + '】這項活動,特此通知!', docID) - console.log('delete successfully!') -} - -/** - * Remove an attendee by uid - * - * @param {string} docID - the id of the activity - * @param {string} studentUid - the id of the attendee that is going to be removed - * @property {string} user - the id of the current user - * @property {*} db - the reference of the firestore - * @property {*} docRef - the reference of the activity - * @property {*} docSnapshot - the snapshot of the docRef - * @property {object} update - the information that is going to be updated - * @property {*} activesRef - the reference of the attendee attendedEvent collection - * @property {*} result - the snapshot of the activesRef - * @property {string} chatroomID - the id of the chatroom - * @property {object} messageData - the information of the message - * - */ - -async function removeAttendee (docID, studentUid) { // remove attendee - const user = UserController.getUid() - const db = getFirestore(app) - const docRef = doc(db, `activities/${docID}`) - const docSnapshot = await getDoc(docRef) - - const update = { - totalAttendee: docSnapshot.data().totalAttendee - 1, - participant: arrayRemove(studentUid) - } - - await updateDoc(docRef, update, { merge: true }) - - const activesRef = query(collection(db, `attendees/${studentUid}/attendedEvent`)) - await deleteDoc(doc(db, 'attendees', studentUid, 'attendedEvent', docID)) - console.log('delete successfully!') - const result = await getDocs(activesRef) - result.forEach((doc1) => console.log(doc1.id)) - - const chatroomID = await MessageController.addChatroom(studentUid, user) - const messageData = { - id: chatroomID, - sender: user, - type: 'text', - data: '(此為自動發出的訊息,無需回覆)你已被移出 【' + docSnapshot.data().name + '】,此活動的參加名單!', - sendTime: new Date(), - read: false - } - - await MessageController.addMessage(messageData) -} - -/** - * add an attendee by uid - * - * @param {string} uid - the id of the new user - * @param {object} newUserInfo - the information of the new user - * @property {*} db - the reference of the firestore - * @property {*} attendeeRefRef - the reference of the attendee collection - * @property {*} result - the snapshot of the attendeeRef - * - */ - -async function addUser (uid, newUserInfo) { - const db = getFirestore(app) - const memberInfo = newUserInfo - const imageAddress = `avatar/${imagePos(newUserInfo.avatar)}` - const storageRef = ref(storage, imageAddress) - const response = await fetch(newUserInfo.avatar) - const blob = await response.blob() - const uploadTask = await uploadBytes(storageRef, blob) - memberInfo.avatar = await getDownloadURL(uploadTask.ref) - - setDoc(doc(db, 'attendees', `${uid}`), memberInfo, { merge: true }) - .then(console.log('succeed')) -} - -/** - * Get current user's hosted events - * - * @property {string} UserStudent - the id of the current user - * @property {*} db - the reference of the firestore - * @property {*} Ref - the reference of the current user's hostedEvent collection - * @property {*} querySnapshot - the snapshot of the activesRef - * @property {array} hostIDArray - the array of the id of the activities that the current user has hosted - * @property {array} eventArray - the array of the information of the activities that the current user has hosted - * - * @returns {object} eventArray - the array of the information of the activities that the current user has hosted - */ - -async function getHostedEvent () { - const UserStudent = UserController.getUid() - const db = getFirestore(app) - const Ref = query(collection(db, `attendees/${UserStudent}/hostedEvent`)) - const hostIDArray = [] - const eventArray = [] - const querySnapshot = await getDocs(Ref) - querySnapshot.forEach((doc1) => { - hostIDArray.push(doc1.id) - }) - for (let i = 0; i < hostIDArray.length; i += 1) { - const refDoc = doc(db, `activities/${hostIDArray[i]}`) - const result = await getDoc(refDoc) - - eventArray.push({ - id: result.id, - name: result.data().name, - imageUri1: result.data().imageUri1, - startTimeWeekday: dateToWeekday(result.data().startTime.toDate()), - startTimeInNum: toDateString(result.data().startTime.toDate()), - place: result.data().place.length < 10 ? result.data().place : result.data().place.slice(0, 8) + '...', - cost: result.data().cost, - limitNum: result.data().limitNum, - genre: result.data().genre, - link: result.data().link, - details: result.data().details, - num: result.data().totalAttendee, - finish: result.data().endTime.toDate() < new Date(), - endtimeTimestamp: result.data().endTime.toDate() - }) - } - // 按照時間排序 - 由未結束到已結束 - var sortedEventArray = eventArray.sort((a, b) => { return b.endtimeTimestamp - a.endtimeTimestamp }) - return eventArray -} - -/** - * Sign up an activity by id - * - * @param {string} docID - the id of the activity - * @property {string} UserStudent - the id of the current user - * @property {*} db - the reference of the firestore - * @property {*} docRef - the reference of the activity - * @property {*} docSnapshot - the snapshot of the docRef - * @property {object} update - the information that is going to be updated - * @property {*} Ref - the reference of the attendee attendedEvent collection - * @property {*} result - the snapshot of the Ref - * @property {object} signUpTime - the time that the current user sign up - * - */ - -async function signUp (docID) { - const UserStudent = UserController.getUid() - const db = getFirestore(app) - const docRef = doc(db, `activities/${docID}`) - const docSnapshot = await getDoc(docRef) - - const update = { - totalAttendee: docSnapshot.data().totalAttendee + 1, - participant: [...docSnapshot.data().participant, UserStudent] - } - - await updateDoc(docRef, update, { merge: true }) - - const Ref = doc(db, `attendees/${UserStudent}/attendedEvent/${docID}`) - const signUpTime = new Date() - setDoc(Ref, { signUpTime }) - .then(() => { - console.log('sign up successfully!') - }) - .catch((error) => { - console.log(error) - }) - const result = await getDocs(collection(db, `attendees/${UserStudent}/attendedEvent`)) - result.forEach((doc1) => console.log(doc1.id)) -} - -/** - * Quit an activity by id - * - * @param {string} docID - the id of the activity - * @property {string} UserStudent - the id of the current user - * @property {*} db - the reference of the firestore - * @property {*} docRef - the reference of the activity - * @property {*} docSnapshot - the snapshot of the docRef - * @property {object} update - the information that is going to be updated - * @property {*} Ref - the reference of the attendee attendedEvent collection - * @property {*} result - the snapshot of the Ref - * @property {object} signUpTime - the time that the current user sign up - * - */ - -async function quitEvent (docID) { - const UserStudent = UserController.getUid() - const db = getFirestore(app) - const docRef = doc(db, `activities/${docID}`) - const docSnapshot = await getDoc(docRef) - const update = { - totalAttendee: docSnapshot.data().totalAttendee - 1, - participant: arrayRemove(UserStudent) - } - - await updateDoc(docRef, update, { merge: true }) - - const Ref = doc(db, `attendees/${UserStudent}/attendedEvent/${docID}`) - deleteDoc(Ref) - .then(() => { - console.log('delete successfully!') - }) - .catch((error) => { - console.log(error) - }) - const result = await getDocs(collection(db, `attendees/${UserStudent}/attendedEvent`)) - result.forEach((doc1) => console.log(doc1.id)) -} - - -/** - * Get Host info by docID - * - * @param {string} docID - the id of the activity - * @property {*} db - the reference of the firestore - * @property {*} activesDoc - the reference of the activity - * @property {*} querySnapshot - the snapshot of the activesDoc - * @property {*} querySnapshot2 - the snapshot of the host info - * - * @returns {object} info - the array of the host info - */ - -async function getHostInfo (docID) { - const db = getFirestore(app) - const activesDoc = doc(db, `activities/${docID}`) - const querySnapshot = await getDoc(activesDoc) - const querySnapshot2 = await getDoc(doc(db, `attendees/${querySnapshot.data().host}`)) - const info = [] - - info.push({ uid: querySnapshot2.id, ...querySnapshot2.data() }) - - return info -} - -/** - * fuseSearch by activities' names - * - * @param {string} searchString - the query string - * @property {*} db - the reference of the firestore - * @property {*} activesRef - the reference of the activity - * @property {*} querySnapshot - the snapshot of the activesDoc - * @property {*} activeArray - the array of all activities' names and ids - * - * @returns {object} result - the array of the search result - */ - -async function fuseSearchName (searchString) { - const db = getFirestore(app) - const activesRef = query(collection(db, 'activities')) - const activeArray = [] - const querySnapshot = await getDocs(activesRef) - - querySnapshot.forEach((doc1) => { - activeArray.push({ - id: doc1.id, - name: doc1.data().name - }) - }) - - const options = { - includeScore: true, - keys: ['name'] - } - - const fuse = new Fuse(activeArray, options) - const result = fuse.search(searchString) - console.log('Search Successful') - return result -} - -/** - * Get attended status of an activity - * - * @param {string} docID - the id of the activity - * @property {string} UserStudent - the id of the current user - * @property {*} db - the reference of the firestore - * @property {*} attendRef - the reference of the activity - * @property {*} querySnapshot - the snapshot of the activesDoc - * - * @returns {boolean} - attended or not - */ - -async function getAttendedOrNot (docID) { - const UserStudent = UserController.getUid() - const db = getFirestore(app) - const attendRef = doc(db, `activities/${docID}`) - const querySnapshot = await getDoc(attendRef) - - if (querySnapshot.data().participant.includes(UserStudent)) { - return true - } - return false -} - -/** - * Get Host info for add event function - * - * @property {string} Uid - the id of the current user - * @property {*} db - the reference of the firestore - * @property {*} infoRef - the reference of the attendees information - * @property {*} querySnapshot - the snapshot of the infoRef - * @property {object} querySnapshot.data() - the information of the host - * - * @returns {object} info - the array of the host info - */ - -async function getHostinAdd () { - const Uid = UserController.getUid() - const db = getFirestore(app) - const infoRef = query(doc(db, `attendees/${Uid}`)) - const querySnapshot = await getDoc(infoRef) - - return querySnapshot.data() -} - -/** - * Disable an event sign up button - * - * @property {string} docID - the id of the activity - * @property {*} db - the reference of the firestore - * @property {*} docRef - the reference of the attendees information - * @property {object} update - the information of the host - * - */ - -async function closeEvent (docID) { - const db = getFirestore(app) - - const docRef = doc(db, `activities/${docID}`) - console.log(docID) - - const update = { - CloseEvent: true - } - - await updateDoc(docRef, update, { merge: true }) -} - -/** - * Enable an event sign up button - * - * @property {string} docID - the id of the activity - * @property {*} db - the reference of the firestore - * @property {*} docRef - the reference of the attendees information - * @property {object} update - the information of the host - * - */ - -async function openEvent (docID) { - const db = getFirestore(app) - - const docRef = doc(db, `activities/${docID}`) - console.log(docID) - const update = { - CloseEvent: false - } - - await updateDoc(docRef, update, { merge: true }) -} - -export default { - toDateString, - addActive, - updateActive, - getAllActive, - getGenreActive, - getParticipatedActive, - getHostedEvent, - getFinishedActive, - getHangOutActive, - getEventActive, - deleteOneActive, - deleteEverySingleAttendee, - getOneActive, - fuseSearchName, - addUser, - signUp, - quitEvent, - getHostInfo, - getAllAttendees, - removeAttendee, - getAttendedOrNot, - getHostinAdd, - closeEvent, - openEvent -} diff --git a/controller/Activity.js b/controller/Activity.js deleted file mode 100644 index 3e38563..0000000 --- a/controller/Activity.js +++ /dev/null @@ -1,242 +0,0 @@ -import firebase from 'firebase/app'; -import 'firebase/firestore'; -import { Alert } from 'react-native'; - -/** - * dataObj type definition - * @typedef {object} dataObj - * @property {string} name - the name of the activity - * @property {number} price - the price for attendance of this activity - * @property {timestamp} time - the time when this activity occur - * @property {number} numberLimit - Rhe upper bound of the number of people - * @property {string} qualification - who can attendant this activity - * @property {string} details - description of this activity - */ -/** - * Get info of one activity - * - * @param {string} activityID - id of the activity - * @returns {object} - */ -export async function getActivityInfo(activityID) { - const db = firebase.firestore(); - const doc = await db.collection('activities').doc(activityID).get(); - - if (!doc.exists) { - // await Alert.alert('No event data found!'); - } else { - const dataObj = doc.data(); - dataObj.id = doc.id; - - return dataObj; - } - - return null; -} - -export async function createAttendance(activityID) { - try { - const db = firebase.firestore(); - const { uid } = firebase.auth().currentUser; - const { name, attendees, numberLimit } = await getActivityInfo(activityID); - if (!attendees.includes(uid)) { - if (numberLimit === attendees.length) { - Alert.alert(`${name} has no vacancy now!`); - } else { - const docRef = await db.collection('activities').doc(activityID); - docRef.update({ - attendees: firebase.firestore.FieldValue.arrayUnion(uid), - }); - } - Alert.alert(`You successfully joined ${name}!`); - } else { - Alert.alert(`You had joined ${name} before!`); - } - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } -} - -export async function deleteAttendance(activityID) { - try { - const db = firebase.firestore(); - const { uid } = firebase.auth().currentUser; - const docRef = await db.collection('activities').doc(activityID); - docRef.update({ - attendees: firebase.firestore.FieldValue.arrayRemove(uid), - }); - Alert.alert('You leaved!'); - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } -} - -export async function createActivity(data) { - try { - const db = firebase.firestore(); - const { uid } = firebase.auth().currentUser; - const res = await db.collection('activities') - .add({ - uid, - tag: data.tag, - name: data.name, - price: data.price, - time: data.time, - numberLimit: data.numberLimit, - qualification: data.qualification, - details: data.details, - attendees: [uid], - }); - return res; - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -export async function modifyActivity(data) { - try { - const db = firebase.firestore(); - const { uid } = firebase.auth().currentUser; - const res = await db.collection('activities') - .doc(data.id) - .set({ - uid, - tag: data.tag, - name: data.name, - price: data.price, - time: data.time, - numberLimit: data.numberLimit, - qualification: data.qualification, - details: data.details, - attendees: data.attendees, - }); - - return res; - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -export async function deleteActivity(activityID) { - try { - const db = firebase.firestore(); - const res = await db.collection('activities').doc(activityID).delete(); - - return res; - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -export async function getTagActivities(tagId) { - try { - const db = firebase.firestore(); - const activityRef = await db.collection('activities'); - const activitiesQueryRes = await activityRef.where('activitiesTags', '==', tagId).get(); - const activitiesRes = []; - activitiesQueryRes.forEach((doc) => { - const dataObj = doc.data(); - dataObj.id = doc.id; - activitiesRes.push(dataObj); - }); - await Promise.all(activitiesRes); - - return activitiesRes; - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -export async function getAllactivities() { - try { - const db = firebase.firestore(); - const activityRef = await db.collection('activities'); - const activityQueryRes = await activityRef.get(); - const activityRes = []; - activityQueryRes.forEach((doc) => { - const dataObj = doc.data(); - dataObj.id = doc.id; - activityRes.push(dataObj); - }); - await Promise.all(activityRes); - - return activityRes; - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -export async function getUserActivities() { - try { - const db = firebase.firestore(); - const activityRef = await db.collection('activities'); - const { uid } = firebase.auth().currentUser; - const userActivityQueryRes = await activityRef.where('uid', '==', uid).get(); - const userActivityRes = []; - if (userActivityQueryRes !== null) { - userActivityQueryRes.forEach((doc) => { - const dataObj = doc.data(); - dataObj.id = doc.id; - userActivityRes.push(dataObj); - }); - await Promise.all(userActivityRes); - } - - return userActivityRes; - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -export async function getTags() { - try { - const db = firebase.firestore(); - const activityTagRef = await db.collection('activitiesTags'); - const activityTagQueryRes = await activityTagRef.get(); - const activityTagRes = []; - activityTagQueryRes.forEach((doc) => { - const dataObj = doc.data(); - dataObj.id = doc.id; - activityTagRes.push(dataObj); - }); - - return activityTagRes; - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -/** - * Search activtiy - * - * @param {string} query - The search to search for. - * @param {string} tagId - The ID of the tag, can be undefined. - */ -export async function querySearch(query, tagId = undefined) { - const db = firebase.firestore(); - const itemRef = db.collection('activities'); - let queryRef = itemRef.where('name', '>=', query); - if (tagId) { - queryRef = queryRef.where('activitiesTags', '==', tagId); - } - const querySnapshot = await queryRef.get(); - const resultArray = []; - querySnapshot.forEach((item) => { - resultArray.push({ id: item.id, ...item.data() }); - }); - return resultArray; -} diff --git a/controller/Bus.js b/controller/Bus.js deleted file mode 100644 index b315c6a..0000000 --- a/controller/Bus.js +++ /dev/null @@ -1,257 +0,0 @@ -import url from 'url'; -import axios from 'axios'; -import qs from 'qs'; - -async function getAuthorizationHeader() { - const parameters = { - grant_type: 'client_credentials', - client_id: '110502542-f4ef0225-f7f3-49d7', - client_secret: 'b8ba09f0-1be8-4a1f-abc3-f944c69b89ce', - }; - - const authUrl = 'https://tdx.transportdata.tw/auth/realms/TDXConnect/protocol/openid-connect/token'; - try { - const res = await axios({ - method: 'POST', - url: authUrl, - data: qs.stringify(parameters), - headers: { 'content-type': 'application/x-www-form-urlencoded' }, - }); - const accesstoken = res.data; - return { - authorization: `Bearer ${accesstoken.access_token}`, - }; - } catch (err) { - return err; - } -} - -function getBusTime(data) { - const now = new Date(); - const updateTime = Math.floor((now - new Date(data.UpdateTime)) / (1000 * 60)); - if (data.EstimateTime !== undefined) { - if (data.EstimateTime === 120) return {time: '即將進站', alert: 2}; - else if (data.EstimateTime <= 60) return {time: '進站中', alert: 2}; - return {time: `${Math.floor((data.EstimateTime - updateTime) / 60)} 分鐘後`, alert: data.EstimateTime <= 600 ? 1 : 0}; - } - if (data.StopStatus === 2) return {time: '不停靠', alert: -1}; - if (data.StopStatus === 3 || data.NextBusTime === undefined) return {time: '末班駛離', alert: -1}; - if (data.StopStatus == 1) { - const nextBusTime = new Date(data.NextBusTime); -; return {time: `${nextBusTime.getHours().toString().padStart(2, '0')}:${nextBusTime.getMinutes().toString().padStart(2, '0')}`, alert: 0}; - } - return 'Hello, Error'; -} - -const chart = [[0, 0, 3, 4, 8, 18, 21, 32, 72, 77, 82], [0, 0, 2, 6, 40, 47, 47, 51, 52, 53, 54]]; - -function busTime9025(stopSequence, direction) { - const now = new Date(); - const day = new Date().getDay(); - if (direction === 0) { - if (day === 0 || day === 6) { - if (now >= 1080) return '末班駛離'; - else if (now >= 450) return `${Math.floor((1080 + chart[0][stopSequence]) / 60).toString().padStart(2, '0')}:${((1080 + chart[0][stopSequence]) % 60).toString().padStart(2, '0')}`; - else if (now >= 437) return `${Math.floor((450 + chart[0][stopSequence - 1]) / 60).toString().padStart(2, '0')}:${Math.floor((450 + chart[0][stopSequence]) % 60).toString().padStart(2, '0')}`; - else if (now >= 420) return `${Math.floor((437 + chart[0][stopSequence - 1]) / 60).toString().padStart(2, '0')}:${Math.floor((437 + chart[0][stopSequence]) % 60).toString().padStart(2, '0')}`; - else return `${Math.floor((420 + chart[0][stopSequence - 1]) / 60).toString().padStart(2, '0')}:${Math.floor((420 + chart[0][stopSequence]) % 60).toString().padStart(2, '0')}`; - } else if (now >= 1070) return '末班駛離'; - else if (now >= 1020) return `${Math.floor((1070 + chart[0][stopSequence]) / 60).toString().padStart(2, '0')}:${Math.floor((1070 + chart[0][stopSequence]) % 60).toString().padStart(2, '0')}`; - else if (now >= 960) return `${Math.floor((1020 + chart[0][stopSequence]) / 60).toString().padStart(2, '0')}:${Math.floor((1020 + chart[0][stopSequence]) % 60).toString().padStart(2, '0')}`; - else if (now >= 720) return `${Math.floor((960 + chart[0][stopSequence]) / 60).toString().padStart(2, '0')}:${Math.floor((960 + chart[0][stopSequence]) % 60).toString().padStart(2, '0')}`; - else busTime = `${Math.floor((720 + chart[0][stopSequence - 1]) / 60).toString().padStart(2, '0')}:${Math.floor((720 + chart[0][stopSequence]) % 60).toString().padStart(2, '0')}`; - } else if (day === 0 || day === 6) { - if (now >= 1140) return '末班駛離'; - else if (now >= 1090) return `${Math.floor((1140 + chart[1][stopSequence]) / 60).toString().padStart(2, '0')}:${((1140 + chart[1][stopSequence]) % 60).toString().padStart(2, '0')}`; - else if (now >= 1020) return `${Math.floor((1090 + chart[1][stopSequence]) / 60).toString().padStart(2, '0')}:${((1090 + chart[1][stopSequence]) % 60).toString().padStart(2, '0')}`; - else if (now >= 450) return `${Math.floor((1020 + chart[1][stopSequence]) / 60).toString().padStart(2, '0')}:${((1020 + chart[1][stopSequence]) % 60).toString().padStart(2, '0')}`; - else return `${Math.floor((450 + chart[1][stopSequence]) / 60).toString().padStart(2, '0')}:${Math.floor((450 + chart[1][stopSequence]) % 60).toString().padStart(2, '0')}`; - } else if (now >= 750) return '末班駛離'; - else if (now >= 470) return `${Math.floor((750 + chart[1][stopSequence]) / 60).toString().padStart(2, '0')}:${Math.floor((750 + chart[1][stopSequence]) % 60).toString().padStart(2, '0')}`; - else if (now >= 430) return `${Math.floor((470 + chart[1][stopSequence]) / 60).toString().padStart(2, '0')}:${Math.floor((470 + chart[1][stopSequence]) % 60).toString().padStart(2, '0')}`; - else if (now >= 397) return `${Math.floor((430 + chart[1][stopSequence]) / 60).toString().padStart(2, '0')}:${Math.floor((430 + chart[1][stopSequence]) % 60).toString().padStart(2, '0')}`; - return `${Math.floor((397 + chart[1][stopSequence]) / 60).toString().padStart(2, '0')}:${Math.floor((397 + chart[1][stopSequence]) % 60).toString().padStart(2, '0')}`; -} - -function stop9025(stopSequence, direction) { - const stops = ['松山機場', '臺北大學(臺北校區)', '行天宮', '高雙里', '中央大學警衛室', '中央大學依仁堂', '祐民醫院', '新明國中', '舊社', '第一銀行'] - if (direction === 1) { - return stops[stopSequence - 1]; - } else { - return stops[10 - stopSequence]; - } -} - -function fun9025(param, response) { - const output = []; - const now = new Date(); - let num, busTime, departTime = -1, departStop = 0; // num:當前過站的站牌,departStop:上一個過站的站牌 (因為同時可能不只一班車) - for (let i = 0; i < response.data.length; i++) { // response只有車最後經過的那站 - num = response.data[i].StopSequence; - if (num === departStop) continue; - for (let j = departStop + 1; j < num; j++) { // 已經經過的站 - if (departTime === -1) { // 前面沒有車 - busTime = busTime9025(j, param.dir); - if(busTime === '末班駛離') output.push({stop: stop9025(j, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: busTime}], alert: -1}); - else output.push({stop: stop9025(j, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: busTime}], alert: 0}); - } else { - let time = chart[param.dir][j] - chart[param.dir][departStop] - Math.floor((now - new Date(departTime)) / (1000 * 60)); // 兩站間格時間減掉經過的時間 - if (time < chart[param.dir][j] - chart[param.dir][departStop + 1]) { // 預防塞車 - time = chart[param.dir][j] - chart[param.dir][departStop + 1]; - } - if (time <= 2) output.push({stop: stop9025(j, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: '即將進站'}], alert: 2}); - else if(time<=10) output.push({stop: stop9025(j, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: `${time} 分鐘後`}], alert: 1}); - else output.push({stop: stop9025(j, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: `${time} 分鐘後`}], alert: 0}); - } - } - const stay = Math.floor((now - new Date(response.data[i].GPSTime)) / (1000 * 60)); // 最後經過的站 - if (response.data[i].A2EventType === 1 && !(num === 10 && stay > 1)) { - busTime = '進站中'; - output.push({stop: stop9025(num, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: '進站中'}], alert: 2}); - } else if (departTime === -1) { - busTime = busTime9025(num, param.dir); - if(busTime === '末班駛離') output.push({stop: stop9025(num, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: busTime}], alert: -1}); - else output.push({stop: stop9025(num, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: busTime}], alert: 0}); - } else { - let time = chart[param.dir][num] - chart[param.dir][departStop] - Math.floor((now - new Date(departTime)) / (1000 * 60)); - if (time < chart[param.dir][num] - chart[param.dir][departStop + 1]) { - time = chart[param.dir][num] - chart[param.dir][departStop + 1]; - } - if (time <= 2) output.push({stop: stop9025(num, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: '即將進站'}], alert: 2}); - else if(time<=10) output.push({stop: stop9025(num, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: `${time} 分鐘後`}], alert: 1}); - else output.push({stop: stop9025(num, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: `${time} 分鐘後`}], alert: 0}); - } - departTime = response.data[i].GPSTime; - departStop = num; - } - - for (let j = departStop + 1; j <= 10; j++) { // 還沒經過的站 - if (departTime === -1) { - busTime = busTime9025(j, param.dir); - if (busTime === '末班駛離') output.push({stop: stop9025(j, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: busTime}], alert: -1}); - else output.push({stop: stop9025(j, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: busTime}], alert: 0}); - } else { - let time = chart[param.dir][j] - chart[param.dir][departStop] - Math.floor((now - new Date(departTime)) / (1000 * 60)); - if (time < chart[param.dir][j] - chart[param.dir][departStop + 1]) { - time = chart[param.dir][j] - chart[param.dir][departStop + 1]; - } - if (time <= 2) output.push({stop: stop9025(j, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: '即將進站'}], alert: 2}); - else if (time <= 10) output.push({stop: stop9025(j, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: `${time} 分鐘後`}], alert: 1}); - else output.push({stop: stop9025(j, param.dir), type: 0, pass: ['9025A'], bus: [{name: '9025A', time: `${time} 分鐘後`}], alert: 0}); - } - } - return output; -} - -async function afun9025(param) { - const url = `https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeNearStop/Streaming/InterCity/9025?%24select=GPSTime&%24filter=Direction%20eq%20${param.dir}%20and%20SubRouteName%2FEn%20eq%20'9025A'&%24orderby=StopSequence&%24top=30&%24format=JSON`; - let response; - while (true) { - try { - response = await axios.get(url, { - headers: await getAuthorizationHeader(), - }); - break; - } catch (error) { - await new Promise(resolve => setTimeout(resolve, 500)); - } - } - return fun9025(param, response); -} - -async function route(param) { - if (param.buses.toString() === ['9025A'].toString()) return await afun9025(param); - param.buses.sort(); - if (![['132'], ['133'], ['132', '133'], ['172'], ['173'], ['172', '173'], ['5035']].some(valid => valid.join() === param.buses.join())) { - throw new Error('Invalid Buses: ' + param.buses.join(' ')); - } - - const APIBASE = 'https://tdx.transportdata.tw/api/basic/v2/Bus/EstimatedTimeOfArrival/City/Taoyuan'; - const data = { - $select: 'StopUID,StopStatus,EstimateTime,StopName,NextBusTime', - $filter: `Direction eq ${param.dir}`, - $orderby: 'StopSequence', - $format: 'JSON', - }; - - const getFinalUrl = (bus) => { - const finalUrl = url.parse(`${APIBASE}/${bus}`, true); - finalUrl.query = data; - return url.format(finalUrl); - }; - - let responses; - while (true) { - try { - responses = await Promise.all(param.buses.map(async (bus) => { - return await axios.get(getFinalUrl(bus), { - headers: await getAuthorizationHeader(), - }); - })); - break; - } catch (error) { - await new Promise(resolve => setTimeout(resolve, 500)); - } - } - - const output = []; - if (param.buses.length == 1) { // 如果只有選擇一個公車 - responses[0].data.forEach(data => { - const busTimeObj = getBusTime(data); - output.push({ - id: Math.random().toString(16).slice(2), - stop: data.StopName.Zh_tw, - isCombined: 0, - pass: param.buses, - bus: [{name: param.buses[0], time: busTimeObj.time}], - alert: busTimeObj.alert, - }); - }); - } else { // 如果有兩個公車 - // 各自的站牌,最後各自加入空字串以計算最後一次的 extra - const names = responses.map(response => response.data.map(stop => stop.StopName.Zh_tw)).map(stops => [...stops, '']); - const commonNames = names[0].filter(name => names[1].includes(name)); // 共通的站牌 - const prev = [-1, -1]; // 紀錄上一個共通站排是各自的第幾站,因為第一站就是 0,所以初始值設 -1 - commonNames.forEach(name => { // 遍歷所有共通站牌 - // 加入所有在當前與上次共通站牌之間的所有站牌 - // 找到此共通站排是各自的第幾站 - const curr = [names[0].findIndex(element => element === name), names[1].findIndex(element => element === name)]; - // 在此共通站牌之前,加入兩站各自獨立的站牌 - [0, 1].forEach(i => { - if (curr[i] - prev[i] > 1) { - const index = responses[i].data.findIndex(stop => stop.StopName.Zh_tw === names[i][prev[i] + 1]); - for (let j = prev[i] + 1; j < curr[i]; j++) { - const data = responses[i].data[j]; - const busTimeObj = getBusTime(data); - output.push({ - id: Math.random().toString(16).slice(2), - stop: data.StopName.Zh_tw, - isCombined: 1, - pass: [param.buses[i]], - bus: [{name: param.buses[i], time: busTimeObj.time}], - alert: busTimeObj.alert, - }); - } - } - }); - prev.splice(0, curr.length, ...curr); // prev = curr 的寫法 - if (name !== '') { - const data = responses.map(response => response.data.find(stop => stop.StopName.Zh_tw === name)); - // 因為剛好 132 和 172 第一班都比較早,所以判斷如果 133 或 173 有車才比較下一班抵達的時間 - const earlier = Number(data[1].NextBusTime !== undefined && Date.parse(data[1].NextBusTime) < Date.parse(data[0].NextBusTime)); - const busTimeObj = getBusTime(data[earlier]); - output.push({ - id: Math.random().toString(16).slice(2), - stop: data[earlier].StopName.Zh_tw, - isCombined: 0, - pass: param.buses, - bus: [{name: param.buses[earlier], time: busTimeObj.time}], - alert: busTimeObj.alert, - }); - } - }); - } - return output; -} - -export default route; \ No newline at end of file diff --git a/controller/BusTimeTable.js b/controller/BusTimeTable.js deleted file mode 100644 index e69de29..0000000 diff --git a/controller/BusTimeTable.json b/controller/BusTimeTable.json deleted file mode 100644 index d634928..0000000 --- a/controller/BusTimeTable.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "132": { - "outbound": { - "from": "中壢", - "to": "中央大學", - "weekday": [ - "06:30", "07:00", "07:30", "08:00", "08:30", "09:00", "09:30", "10:00", "11:00", "12:00", - "13:00", "14:00", "15:00", "15:30", "16:00", "16:30", "17:00", "17:40", "18:00", "18:40", - "19:00", "20:00", "21:00", "22:00" - ], - "weekend": [ - "07:00", "08:00", "08:30", "09:00", "09:30", "10:00", "11:00", "12:00", "13:00", "14:00", - "15:00", "15:30", "16:00", "16:30", "17:00", "17:40", "18:00", "18:40", "19:00", "20:00", - "21:00", "22:00" - ] - } - }, - "133": { - "outbound": { - "from": "中壢", - "to": "中央大學", - "weekday": [ - "07:45", "08:15", "08:45", "09:15", "09:45", "10:45", "11:45", "12:45", "13:45", "14:45", - "15:45", "16:45" - ], - "weekend": [ - "07:40", "08:40", "09:40", "10:40", "15:40", "16:40" - ] - } - }, - "172": { - "outbound": { - "from": "中央大學", - "to": "高鐵桃園站", - "weekday": [ - "07:50", "09:50", "11:50", "14:30", "16:40" - ], - "weekend": [ - "09:30", "11:30", "14:30", "16:40" - ] - }, - "return": { - "from": "高鐵桃園站", - "to": "中央大學", - "weekday": [ - "08:20", "10:20", "12:20", "15:00", "17:10" - ], - "weekend": [ - "10:00", "12:00", "15:00", "17:10" - ] - } - }, - "173": { - "outbound": { - "from": "中央大學", - "to": "高鐵桃園站", - "weekday": [ - "08:50", "10:50", "13:30", "15:40", "17:50" - ], - "weekend": [ - "10:30", "12:30", "15:40", "17:50" - ] - }, - "return": { - "from": "高鐵桃園站", - "to": "中央大學", - "weekday": [ - "09:20", "11:20", "14:00", "16:10", "18:20" - ], - "weekend": [ - "11:00", "13:00", "16:10", "18:20" - ] - } - }, - "9025A": { - "outbound": { - "from": "中壢", - "to": "臺北市中山區", - "weekday": [ - "12:00", "16:00", "17:00", "17:50" - ], - "weekend": [ - "07:00", "07:30", "16:20", "18:00" - ] - }, - "return": { - "from": "臺北市中山區", - "to": "中壢", - "weekday": [ - "09:20", "11:20", "14:00", "16:10", "18:20" - ], - "weekend": [ - "11:00", "13:00", "16:10", "18:20" - ] - } - }, - "UST": { - "outbound": { - "from": "政治大學", - "to": "清華大學", - "weekday": [ - "06:20", "10:30", "18:40" - ] - }, - "return": { - "from": "清華大學", - "to": "政治大學", - "weekday": [ - "06:30", "10:30", "20:10" - ] - } - } -} \ No newline at end of file diff --git a/controller/BusUSTTime.json b/controller/BusUSTTime.json deleted file mode 100644 index 493691c..0000000 --- a/controller/BusUSTTime.json +++ /dev/null @@ -1,4 +0,0 @@ -// { -// 往清大 0750 1210 2010 -// 往政大 0730 1130 2110 -// } \ No newline at end of file diff --git a/controller/Event.js b/controller/Event.js deleted file mode 100644 index 6f7b70d..0000000 --- a/controller/Event.js +++ /dev/null @@ -1,295 +0,0 @@ -import firebase from 'firebase/app'; -import 'firebase/firestore'; -import { Alert } from 'react-native'; -import CalendarController from './Calendar'; - -/** - * Get information of a published event. - * - * @typedef {object} eventObj - * @property {string} name - event name - * @property {string} location - event location - * @property {boolean} public - if this event is public - * @property {timestamp} startTime - the time when the event start - * @property {timestamp} endTime - the time when the event - * @property {string} link - The link for the event. - * @property {string} content - details about this event - * @property {string} qualification - who can attend this event - * - * @param {string} eventID - id in 'Events' collection - * @returns {eventObj} - The information of the event. - */ -async function getEventInfo(eventID) { - const db = firebase.firestore(); - const doc = await db.collection('Events').doc(eventID).get(); - - if (!doc.exists) { - // await Alert.alert('No event data found!'); - } else { - const dataObj = doc.data(); - dataObj.id = doc.id; - return dataObj; - } - - return null; -} - -/** - * Get a list of events created by user. - * - * @returns {array} - The events that the user created. - */ -async function getUserEvents() { - const db = firebase.firestore(); - - const { uid } = firebase.auth().currentUser; - const eventsRef = await db.collection('Events'); - const eventQueryRes = await eventsRef.where('uid', '==', uid).get(); - - const events = []; - eventQueryRes.forEach((doc) => { - events.push({ id: doc.id, data: doc.data() }); - }); - - return events; -} - -/** - * Check if user has subscribe to the event. - * - * @param {string} eventId- The id of the event. - */ -async function checkSubscribe(eventId) { - try { - const db = firebase.firestore(); - const { uid } = firebase.auth().currentUser; - - const calendarRef = await db.collection('calendar_events'); - const calendarQueryRes = await calendarRef - .where('uid', '==', uid) - .where('eventId', '==', eventId) - .get(); - return !calendarQueryRes.empty; - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -/** - * Add a calendar schedule for this event. - * - * @param {string} eventId - The id of the event. - */ -async function subscribe(eventId) { - try { - const eventObj = await getEventInfo(eventId); - await CalendarController.createSchedule({ - ...eventObj, - eventId, - }); - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -/** - * Remove a calendar schedule for this event. - * - * @param {string} eventId - The id of the event. - */ -async function unsubscribe(eventId) { - try { - const db = firebase.firestore(); - const { uid } = firebase.auth().currentUser; - - const calendarRef = await db.collection('calendar_events'); - const calendarQueryRes = await calendarRef - .where('uid', '==', uid) - .where('eventId', '==', eventId) - .get(); - calendarQueryRes.forEach((doc) => { - calendarRef.doc(doc.id).delete(); - }); - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -/** - * Publish a new event - * - * @param {object} eventInfo - Information of the new event. - * @param {string} eventInfo.type - event or reminder - * @param {string} eventInfo.name - event name - * @param {string} eventInfo.location - event location - * @param {boolean} eventInfo.public - if this event is public - * @param {timestamp} eventInfo.startTime - the time when the event start - * @param {timestamp} eventInfo.endTime - the time when the event end - * @param {string} eventInfo.link - The link for the event. - * @param {string} eventInfo.content - details about this event - * @param {string} eventInfo.qualification - who can attend this event - * - * @returns {string} id of the new event - */ -async function createEvent(eventInfo) { - try { - const db = firebase.firestore(); - const ref = await db.collection('Events') - .add({ - uid: firebase.auth().currentUser.uid, - name: eventInfo.name, - location: eventInfo.location, - startTime: eventInfo.startTime, - endTime: eventInfo.endTime, - link: eventInfo.link, - content: eventInfo.content, - qualification: eventInfo.qualification, - }); - await subscribe(ref.id); - return ref.id; - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -/** - * Update an published event - * - * @param {string} id - ID of the event in 'Events' collection. - * @param {object} eventInfo - Information of the new event. - * @param {string} eventInfo.type - event or reminder - * @param {string} eventInfo.name - event name - * @param {string} eventInfo.location - event location - * @param {timestamp} eventInfo.startTime - the time when the event start - * @param {timestamp} eventInfo.endTime - the time when the event end - * @param {string} eventInfo.link - The link for the event. - * @param {string} eventInfo.content - details about this event - * @param {string} eventInfo.qualification - who can attend this event - */ -async function updateEvent(id, eventInfo) { - try { - const db = firebase.firestore(); - db.collection('Events') - .doc(id) - .set({ - uid: firebase.auth().currentUser.uid, - name: eventInfo.name, - location: eventInfo.location, - startTime: eventInfo.startTime, - endTime: eventInfo.endTime, - link: eventInfo.link, - content: eventInfo.content, - qualification: eventInfo.qualification, - }); - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } -} - -/** - * Unpublish an published event - * - * @param {string} eventID - id in 'Events' collection - * @returns {Object} res - */ -async function deleteEvent(eventID) { - try { - const db = firebase.firestore(); - const res = await db.collection('Events').doc(eventID).delete(); - return res; - } catch (err) { - await Alert.alert('There is something wrong!!!!', err.message); - } - - return null; -} - -/** - * Get eventIDs that are subscribed by the user - * - * @returns {Array} - Events that subscribed by user. - */ -async function getSubscribedEvents() { - const db = firebase.firestore(); - const subscriptionRef = await db.collection('calendar_events'); - const { uid } = firebase.auth().currentUser; - const subscriptionQueryRes = await subscriptionRef - .where('uid', '==', uid) - .where('eventID', '!=', null) - .get(); - - const eventIds = []; - subscriptionQueryRes.forEach((doc) => { - eventIds.push(doc.data().eventID); - }); - const eventData = await Promise.all( - eventIds.docs.map( - (eventId) => getEventInfo(eventId), - ), - ); - return eventData; -} - -/** - * Get all events - * - * @returns {Array} subscribedUsers - */ -async function getAllEvents() { - const db = firebase.firestore(); - const eventsRef = await db.collection('Events'); - const eventQueryRef = await eventsRef.get(); - - const events = []; - eventQueryRef.forEach((doc) => { - events.push({ id: doc.id, data: doc.data() }); - }); - return events; -} - -async function isUserPrvilleged() { - const db = firebase.firestore(); - const user = firebase.auth().currentUser; - if (user) { - const docRef = db.collection('profiles').doc(user.uid); - const doc = await docRef.get(); - return doc.data().eventPrivilege === true; - } - return false; -} - -async function searchEvents(searchKey) { - const db = firebase.firestore(); - const eventsRef = await db.collection('Events'); - const eventQueryRes = await eventsRef.where('name', '>=', searchKey).get(); - - const searchRes = []; - eventQueryRes.forEach((doc) => { - searchRes.push({ id: doc.id, data: doc.data() }); - }); - - return searchRes; -} - -export default { - createEvent, - updateEvent, - deleteEvent, - getEventInfo, - checkSubscribe, - subscribe, - unsubscribe, - getSubscribedEvents, - getAllEvents, - searchEvents, - getUserEvents, - isUserPrvilleged, -}; diff --git a/controller/Home.js b/controller/Home.js deleted file mode 100644 index 57aab36..0000000 --- a/controller/Home.js +++ /dev/null @@ -1,115 +0,0 @@ -import { getApp, firebase } from 'firebase/app' -import { getFirestore, doc, getDoc, orderBy, query, getDocs, collection } from 'firebase/firestore' -import AsyncStorage from '@react-native-async-storage/async-storage' - -/** - * Get all ads - * - * @returns {Array} A array of ads. - */ - -async function getAds () { - const db = firebase.firestore() - const adsRef = db.collection('Ads') - - const response = [] - const querySnapshot = await adsRef.get() - querySnapshot.forEach((doc) => { - response.push({ id: doc.id, data: doc.data() }) - }) - - return response -} - -async function getWeather () { - const query = { - variables: 'DateTimeUTC,CWB_Temperature,CWB_Humidity,CWB_Pressure,CWB_WindDirection,CWB_WindSpeed,CWB_Rain05,ShortWaveDown', - time: new Date().toISOString().slice(0, -8), - mode: 'auto', - lab: 'CA', - rec_var: 'CWB_Temperature' - } - const param = new URLSearchParams(query).toString() - - const res = {} - - const response = await fetch('http://140.115.35.136:8044/cgi-bin/getData_latest.py', { - method: 'POST', - headers: { - 'Content-Type': 'application/x-www-form-urlencoded;' - }, - body: param - }) - const temp = await response.json() - res.temperature = temp.CWB_Temperature - res.humidity = temp.CWB_Humidity - - return res -} - -async function setStoredIP (value) { - await AsyncStorage.setItem('@user_ip', value) -} - -async function getStoredIP () { - const value = await AsyncStorage.getItem('@user_ip') - if (value == null) throw new Error('No stored IP') - return value -} - -async function getNetFlowByIP (ip) { - try { - const regex = new RegExp(/(\d+.\d+ GB)/, 'g') - const response = await fetch(`https://uncia.cc.ncu.edu.tw/dormnet/index.php?section=netflow&ip=${ip}`) - const str = await response.text() - if (str === undefined) throw new Error('Unable to fetch netflow data, empty return.') - const netFlow = [] - netFlow.push(Number(((str.match(regex))[0]).split(' ')[0])) - netFlow.push(Number(((str.match(regex))[1]).split(' ')[0])) - return netFlow - } catch (e) { - return [0, 0] - } -} - -/** - * Get National Central University Calendar Link - * - * @returns {string} calendar link - */ - -async function getCalender () { - const app = getApp() - const db = getFirestore(app) - const Doc = doc(db, 'other/links') - const querySnapshot = await getDoc(Doc) - return querySnapshot.data().calendarLink -} - -/** - * Get all ncu app team announcements - * - * @returns {Array} A array of announcements. - */ -async function getTutorial () { - const app = getApp() - const db = getFirestore(app) - const tutorialRef = query(collection(db, 'ncuappcorner'), orderBy('upload', 'desc')) - const querySnapshot = await getDocs(tutorialRef) - - const result = [] - querySnapshot.forEach((doc) => { - result.push({ ...doc.data() }) - }) - return result -} - -export default { - getAds, - getWeather, - getNetFlowByIP, - getStoredIP, - setStoredIP, - getCalender, - getTutorial -} diff --git a/controller/Map.js b/controller/Map.js deleted file mode 100644 index 836b6d0..0000000 --- a/controller/Map.js +++ /dev/null @@ -1,141 +0,0 @@ -import * as Location from 'expo-location'; -import firebase from 'firebase/app'; -import 'firebase/firestore'; -import building from '../assets/building.json'; - -/** - * function: get my location - * @return {object} location - * - * @typedef {object} location - * @property {number} latitude - * @property {number} longitude - */ -async function getMyLocation() { - await Location.requestBackgroundPermissionsAsync(); - const now = await Location.getCurrentPositionAsync({}); - - const location = { latitude: now.coords.latitude, longitude: now.coords.longitude }; - return location; -} - -/** - * function: query building - * @return {object array} arr - * - * @typedef {object} x - * @property {number} index - * @property {string} chineseName - * @property {string} distance - * @property {number} degree - * @property {string} units - */ -async function queryBuilding() { - await Location.requestBackgroundPermissionsAsync(); - - const { - coords: { latitude, longitude, heading }, - } = await Location.getCurrentPositionAsync({}); - - const arr = []; - - for (let i = 0; i < building.length; i += 1) { - const yVec = (building[i].longitude - longitude) * 111.32; - const xVec = (building[i].latitude - latitude) * 110.574; - const distance = Math.round( - Math.sqrt(yVec * yVec + xVec * xVec) * 1000, - ); - const degree = ((Math.atan2(yVec, xVec) * 180) / Math.PI + heading) % 360; - arr.push({ - index: building[i].index, - chineseName: building[i].chineseName, - distance: `${distance} 公尺`, - degree, - units: building[i].units, - }); - } - return arr; -} - -/** - * function: Get building - * - * @return {x} object - * - * @typedef {object} x - * @property {number} index - * @property {string} chineseName - * @property {string} distance - * @property {number} degree - * @property {string} units - */ -async function getBuilding(index) { - await Location.requestBackgroundPermissionsAsync(); - - const { - coords: { - latitude, longitude, heading, - }, - } = await Location.getCurrentPositionAsync({}); - - const target = building[index]; - const yVec = (target.longitude - longitude) * 111.32; - const xVec = (target.latitude - latitude) * 110.574; - const distance = Math.round( - Math.sqrt(yVec * yVec + xVec * xVec) * 1000, - ); - const degree = ((Math.atan2(yVec, xVec) * 180) / Math.PI + heading) % 360; - return { - index: target.index, - chineseName: target.chineseName, - distance: `${distance} 公尺`, - degree, - units: target.units, - }; -} - -/** - * function Query all building - * @param {string} buildingName - name of the building - * @return {object array} x - building object - * - * @typedef {object} x - * @property {string} chineseName - * @property {number} latitude - * @property {number} longitude - */ -async function queryAllBuilding() { - return building; -} - -/** - * function Query bus - * - * @return {object array} arr - * @typedef {object} x - * @property {string} busId - * @property {number} latitude - * @property {number} longitude -*/ -async function getAllBus() { - const db = firebase.firestore(); - const bus = db.collection('Bus'); - const snapshot = await bus.get(); - - const arr = []; - let x; - snapshot.forEach((doc) => { - x = doc.data(); - arr.push(x); - }); - - return arr; -} - -export default { - getMyLocation, - getBuilding, - queryBuilding, - queryAllBuilding, - getAllBus, -}; diff --git a/controller/Message.js b/controller/Message.js deleted file mode 100644 index a6704dc..0000000 --- a/controller/Message.js +++ /dev/null @@ -1,354 +0,0 @@ -/* eslint-disable max-len */ -/* eslint-disable no-console */ -/* eslint-disable no-loop-func */ -/* eslint-disable consistent-return */ -/* eslint-disable no-await-in-loop */ -/* eslint-disable prefer-destructuring */ -import { - getFirestore, collection, query, getDoc, getDocs, - addDoc, doc, deleteDoc, setDoc, onSnapshot, where, orderBy, limit, -} from 'firebase/firestore'; -import { - getStorage, - ref, - getDownloadURL, - uploadBytes, - deleteObject, -} from 'firebase/storage'; -import { getApp } from 'firebase/app'; -import UserController from './getStudentId'; - -const app = getApp(); -const storage = getStorage(app); - -function toDateString(time) { - const date = new Date(time * 1000); - const dateString = `${date.getFullYear().toString() - 1969}/${ - (date.getMonth() + 1).toString().padStart(2, '0')}/${ - date.getDate().toString().padStart(2, '0')} ${ - date.getHours().toString().padStart(2, '0')}:${ - date.getMinutes().toString().padStart(2, '0')}`; - return dateString; -} - -function getHoursMin(time) { - const date = new Date(time * 1000); - if (date.getHours().toString().padStart(2, '0') > 12) { - return `下午${ - date.getHours().toString().padStart(2, '0')}:${ - date.getMinutes().toString().padStart(2, '0')}`; - } - return `上午${ - date.getHours().toString().padStart(2, '0')}:${ - date.getMinutes().toString().padStart(2, '0')}`; -} - -function newMessageTime(time) { - if (time === '') { - return ''; - } - - const date = new Date(time * 1000); - const current = new Date(); - - if (current.getFullYear() > date.getFullYear() - 1969) { // 今年以前 - return `${date.getFullYear().toString() - 1969}/${ - (date.getMonth() + 1).toString().padStart(2, '0')}/${ - date.getDate().toString().padStart(2, '0')}`; - } if (current.getDate() === date.getDate() && date.getMonth() === current.getMonth()) { // 今天 - if (date.getHours().toString().padStart(2, '0') > 12) { - return `下午${ - date.getHours().toString().padStart(2, '0')}:${ - date.getMinutes().toString().padStart(2, '0')}`; - } - return `上午${ - date.getHours().toString().padStart(2, '0')}:${ - date.getMinutes().toString().padStart(2, '0')}`; - } if (current.getDate() - 1 === date.getDate() && date.getMonth() === current.getMonth()) { // 昨天 - return '昨天'; - } - return `${(date.getMonth() + 1).toString().padStart(2, '0')}/${ - date.getDate().toString().padStart(2, '0')}`; -} - -function imagePos(imageUri) { - return imageUri.split('/').pop(); -} - -async function addMessage(messageData) { - const chatroomId = messageData.id; - const db = getFirestore(app); - const messageRef = query(collection(db, `chatrooms/${chatroomId}/messages`)); - const item = { - sender: messageData.sender, - type: messageData.type, - sendTime: messageData.sendTime, - read: false, - }; - if (messageData.type === 'image') { - const imageAddress = `message/${imagePos(messageData.uri)}`; - const storageRef = ref(storage, imageAddress); - const response = await fetch(messageData.uri); - const blob = await response.blob(); - const uploadTask = await uploadBytes(storageRef, blob); - const uri = await getDownloadURL(uploadTask.ref); - - if (uri !== undefined) { - item.data = uri; - } - } else { - item.data = messageData.data.trim(); - } - - addDoc(messageRef, item).then(() => { - console.log('message sent successfully!'); - }).catch((error) => { - console.log(error); - }); -} - -// 獲得使用者各聊天室最新消息 -async function getNewestMessage(chatroom) { - const uid = UserController.getUid(); - const db = getFirestore(app); - let otherID = null; - const members = await chatroom.members; - members.forEach((id) => { - if (uid !== id) otherID = id; - }); - let last; - - // 獲取other的資料 - const infoDoc = doc(db, `attendees/${otherID}`); - const querySnapshot = await getDoc(infoDoc); - const attendeeInfo = { - avatar: querySnapshot.data().avatar, - name: querySnapshot.data().name, - }; - - // 獲取最後一則消息 limit(1) - const q = query(collection(db, `chatrooms/${chatroom.id}/messages`), orderBy('sendTime', 'desc'), limit(1)); - (await getDocs(q)).forEach((chat) => { - if (chat.data() !== null) { - if (chat.data().type === 'image') { - last = { - ...attendeeInfo, - id: chatroom.id, - sendTime: chat.data().sendTime, - othersUid: otherID, - sender: chat.data().sender, - read: chat.data().read, - }; - if (last.sender === uid) { - last.data = '我傳送了一張照片'; - } else { - last.data = '對方傳送了一張照片'; - } - } else if (chat.data().type === 'text') { - last = { - ...attendeeInfo, - id: chatroom.id, - data: chat.data().data, - sendTime: chat.data().sendTime, - othersUid: otherID, - sender: chat.data().sender, - read: chat.data().read, - }; - } - } - // sender 是自己 && 對方未已讀 => 需要將read手動設成true(因為read紀錄的是對方是否已讀) - if (last.sender === uid && last.read === false) { - last.read = true; - } - }); - - // if chatroom exist, but no previous message, set value of read true - if (last === undefined) { - last = { - ...attendeeInfo, - id: chatroom.id, - data: '', - sendTime: '', - othersUid: otherID, - read: true, - }; - } - return last; -} - -async function deleteMessage(chatroomId, messageID) { - const db = getFirestore(app); - const deleteRef = doc(db, `chatrooms/${chatroomId}/messages/${messageID}`); - const deletedDoc = await getDoc(deleteRef); - - if (deletedDoc.data().type === 'image') { - const imageRef = ref(storage, `message/${deletedDoc.data().data.substr(-94, 41)}`); - deleteObject(imageRef).then(() => { - console.log('the image you sent has been deleted!'); - }).catch((err) => { - console.log(err); - }); - deleteDoc(deleteRef); - } else { - deleteDoc(deleteRef); - } -} - -// 找跟user有關的chatroom的最後一條訊息 -async function findRelateChatroom(userUid) { - const rooms = []; - const db = getFirestore(app); - const q = query(collection(db, 'chatrooms'), where('members', 'array-contains', userUid)); - (await getDocs(q)).forEach((chatroom) => { - rooms.push({ - id: chatroom.id, - members: chatroom.data().members, - }); - }); - rooms.sort((a, b) => ((a.id - b.id))); - const lastMsgs = await Promise.all(rooms.map((chatroom) => getNewestMessage(chatroom))); - - return lastMsgs; -} - -// 新增聊天室 -async function addChatroom(other, user) { - const db = getFirestore(app); - let returnID; - const relate = []; - - // 檢查現有 - const q = query(collection(db, 'chatrooms'), where('members', 'array-contains', user)); - (await getDocs(q)).forEach((chatroom) => { - relate.push({ - id: chatroom.id, - members: chatroom.data().members, - }); - }); - - let exist = false; - relate.map((chatroom) => chatroom.members.forEach((memberID) => { - if (other === memberID) { - returnID = chatroom.id; - exist = true; - } - })); - - // 如果沒有, 就新增一個聊天室 - if (exist === false) { - const newRef = doc(collection(db, 'chatrooms')); - const snapshot = await getDoc(newRef); - setDoc(doc(db, `chatrooms/${snapshot.id}`), { members: [user, other] }, { merge: true }); - returnID = snapshot.id; - } - return returnID; -} - -// 監聽即時訊息 -async function onSnap(chatroomId) { - const db = getFirestore(app); - const dbRef = collection(db, `chatrooms/${chatroomId}/messages`); - const message = []; - onSnapshot(dbRef, (docsSnap) => { - docsSnap.forEach((snap) => { - if (snap.id !== 'new') { - message.push({ - id: snap.id, - data: snap.data().data, - type: snap.data().type, - sendTime: snap.data().sendTime, - sender: snap.data().sender, - }); - } - }); - message.sort((a, b) => a.sendTime - b.sendTime); - }); - return message; -} - -// 獲取未讀訊息id -async function countUnreadMessage(uid) { - const db = getFirestore(app); - const relate = []; - - const q = query(collection(db, 'chatrooms'), where('members', 'array-contains', uid)); - (await getDocs(q)).forEach((chatroom) => { - relate.push(chatroom.id); - }); - const count = []; - for (let i = 0; i < relate.length; i += 1) { - const messageRef = query(collection(db, `chatrooms/${relate[i]}/messages`)); - (await getDocs(messageRef)).forEach((result) => { - if (result.data().read === false && result.data().sender !== uid.trim()) { - count.push(result.id); - } - }); - } - return count.length; -} - -async function readMessage(uid, chatroomID) { - const db = getFirestore(app); - const messageRef = query(collection(db, `chatrooms/${chatroomID}/messages`)); - - (await getDocs(messageRef)).forEach((result) => { - if (result.data().read === false && result.data().sender !== uid) { - setDoc(doc(db, `chatrooms/${chatroomID}/messages/${result.id}`), { read: true }, { merge: true }); - } - }); -} - -async function Notification(notifymessage, eventID) { - const UserStudent = UserController.getUid(); - const db = getFirestore(app); - const infoDocs = await getDocs(collection(db, 'attendees')); - const IDlist = []; - const sendList = []; - const attend = false; - - // 訊息內容 - const item = { - sender: UserStudent, - sendTime: new Date(), - data: notifymessage, - type: 'text', - read: false, - }; - - // 所有參加者 - infoDocs.forEach((attendee) => { - IDlist.push(attendee.id); - }); - - for (let i = 0; i < IDlist.length; i += 1) { - const resultRef = query(collection(db, `attendees/${IDlist[i]}/attendedEvent`)); - const result = await getDocs(resultRef); - result.forEach((event) => { - if (event.id === eventID) { - sendList.push(IDlist[i]); - } - }); - } - - // 傳送消息 - for (let i = 0; i < sendList.length; i += 1) { - addChatroom(sendList[i], UserStudent).then((returnID) => { - addDoc(collection(db, `chatrooms/${returnID}/messages`), item, { merge: true }).then(console.log('notify eveyone succeed')); - }); - } -} - -export default { - findRelateChatroom, - getHoursMin, - newMessageTime, - toDateString, - addMessage, - getNewestMessage, - Notification, - deleteMessage, - countUnreadMessage, - readMessage, - addChatroom, - onSnap, -}; diff --git a/controller/Setting.js b/controller/Setting.js deleted file mode 100644 index 4164fed..0000000 --- a/controller/Setting.js +++ /dev/null @@ -1,91 +0,0 @@ -/* eslint-disable no-console */ -/* eslint-disable brace-style */ -/* eslint-disable max-len */ -/* eslint-disable no-loop-func */ -/* eslint-disable no-await-in-loop */ -import { getApp } from 'firebase/app' -import { - getFirestore, query, getDoc, doc, deleteDoc, updateDoc -} from 'firebase/firestore' -import { - getStorage, - ref, - getDownloadURL, - uploadBytes, - deleteObject -} from 'firebase/storage' -import Fuse from 'fuse.js' -import UserController from './getStudentId' - -const app = getApp() -const storage = getStorage() - -/** - *Image url link processing - * - * @param {*} imageUri - * @returns - */ -function imagePos (imageUri) { - return imageUri.split('/').pop() -} - -/** - * - * @param {*} active - */ -async function changeAvatar (pic) { - const UserStudent = UserController.getUid() - const imageAddress = `avatar/${imagePos(pic)}` - const storageRef = ref(storage, imageAddress) - const response = await fetch(pic) - const blob = await response.blob() - const uploadTask = await uploadBytes(storageRef, blob) - const url = await getDownloadURL(uploadTask.ref) - const db = getFirestore(app) - const attendeesRef = query(doc(db, 'attendees', UserStudent)) - - const info = await getDoc(attendeesRef) - const deleteRef = ref(storage, `avatar/${info.data().avatar.substr(-94, 41)}`) - deleteObject(deleteRef).then(() => { - console.log('old avatar has been deleted!') - }).catch((err) => { - console.log(err) - }) - - await updateDoc(attendeesRef, { avatar: url }, { merge: true }).then(() => { - console.log('changeAvatar Successful') - }).catch((error) => { - console.log(error) - }) -} - -async function updateInfo (uid, newUserInfo) { - const db = getFirestore(app) - const memberInfo = newUserInfo - - await updateDoc(doc(db, 'attendees', `${uid}`), memberInfo, { merge: true }) - .then(console.log('succeed')) - .catch((error) => { - console.log(error) - }) -} - -async function deleteUserInfo(uid) { - const db = getFirestore(app) - - // delete user info in the database - await deleteDoc(doc(db, 'attendees', `${uid}`)) - .then(console.log('delete user info succeed')) - .catch((error) => { - console.log(error) - }) - -} - - -export default { - changeAvatar, - updateInfo, - deleteUserInfo -} diff --git a/controller/getStudentId.js b/controller/getStudentId.js deleted file mode 100644 index 4e7c5a8..0000000 --- a/controller/getStudentId.js +++ /dev/null @@ -1,38 +0,0 @@ -import { - getFirestore, getDoc, doc, -} from 'firebase/firestore'; -import { getApp } from 'firebase/app'; - -import { auth } from '../config'; - -const app = getApp(); - -async function getINFO(UID) { - const db = getFirestore(app); - const infoDoc = doc(db, `attendees/${UID}`); - - const querySnapshot = await getDoc(infoDoc); - const attendeeInfo = { - studentUid: querySnapshot.id, - avatar: querySnapshot.data().avatar, - email: querySnapshot.data().email, - grade: querySnapshot.data().grade, - major: querySnapshot.data().major, - name: querySnapshot.data().name, - phone: querySnapshot.data().phone, - studentID: querySnapshot.data().studentID, - }; - return attendeeInfo; -} - -function getUid() { - const user = auth.currentUser; - const { uid } = user; - // console.log(uid); - return uid; -} - -export default { - getINFO, - getUid, -}; diff --git a/controller/notificationHelper.js b/controller/notificationHelper.js deleted file mode 100644 index 92d5783..0000000 --- a/controller/notificationHelper.js +++ /dev/null @@ -1,14 +0,0 @@ -import { initnotify, getToken, notify } from 'expo-push-notification-helper'; -import { Alert } from 'react-native'; - -export default async function sentNotification(title, body) { - // this will also automatically create three channels for your app, - // “default”, “reminders”, “chat-messages”. - await initnotify().then(async (data) => { - if (data) { - notify(await getToken(), title, body, 'default'); - } else { - Alert.alert('please grant this app notification permission in settings.'); - } - }); -} diff --git a/eas.json b/eas.json deleted file mode 100644 index 75481d4..0000000 --- a/eas.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "cli": { - "version": ">= 3.9.3" - }, - "build": { - "development": { - "developmentClient": true, - "distribution": "internal", - "ios": { - "resourceClass": "m-medium" - } - }, - "preview": { - "distribution": "internal", - "ios": { - "resourceClass": "m-medium" - }, - "android": { - "buildType": "apk" - } - }, - "preview2": { - "android": { - "gradleCommand": ":app:assembleRelease" - } - }, - "preview3": { - "developmentClient": true - }, - "production": { - "ios": { - "resourceClass": "m-medium" - } - } - }, - "submit": { - "production": {} - } -} diff --git a/index.html b/index.html new file mode 100644 index 0000000..ce307cb --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + NCU-APP + + +

+ + + diff --git a/navigation/AppTabView.jsx b/navigation/AppTabView.jsx deleted file mode 100644 index 3bc0721..0000000 --- a/navigation/AppTabView.jsx +++ /dev/null @@ -1,93 +0,0 @@ -import React, { useState } from 'react' - -import { NavigationContainer } from '@react-navigation/native' -import { createBottomTabNavigator } from '@react-navigation/bottom-tabs' -import { - NativeBaseProvider, - Text, - Icon, - HStack, - Center, - Pressable -} from 'native-base' -import { - MaterialCommunityIcons, - Ionicons -} from '@expo/vector-icons' - -import MapScreen from '../screens/Map' -import EventScreen from '../screens/Event' -import HomeScreen from '../screens/Home' - -const Tab = createBottomTabNavigator() - -function CustomTabBar ({ state, descriptors, navigation }) { - const [selected, setSelected] = React.useState(1) - return ( - - {state.routes.map((route, index) => { - const { options } = descriptors[route.key] - const label = options.tabBarLabel !== undefined - ? options.tabBarLabel - : options.title !== undefined - ? options.title - : route.name - - const isFocused = state.index === index - - const onPress = () => { - const event = navigation.emit({ - type: 'tabPress', - target: route.key - }) - - if (!isFocused && !event.defaultPrevented) { - navigation.navigate(route.name) - } - } - - const icon_name = { - // 行事曆: 'calendar-month', - 活動: 'game-controller-outline', - 地圖: 'map-outline', - 首頁: 'home-outline' // 拍賣暫存 - } - - return ( - - -
- - - {label} - -
-
- - ) - })} -
- ) -} - -export const AppTabView = () => { - return ( - ( - - )} - > - - - - - ) -} diff --git a/navigation/AuthStack.jsx b/navigation/AuthStack.jsx deleted file mode 100644 index 9d7319b..0000000 --- a/navigation/AuthStack.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from 'react'; -import { createStackNavigator } from '@react-navigation/stack'; - -import { AuthScreen } from '../screens/Auth'; - -const Stack = createStackNavigator(); - -export function AuthStack() { - return ( - - - - ); -} diff --git a/navigation/RootNavigator.jsx b/navigation/RootNavigator.jsx deleted file mode 100644 index 4b95c9a..0000000 --- a/navigation/RootNavigator.jsx +++ /dev/null @@ -1,74 +0,0 @@ -import React, { useState, useContext, useEffect } from 'react' -import { NavigationContainer, createNavigationContainerRef } from '@react-navigation/native' -import { onAuthStateChanged } from 'firebase/auth' - -import { AuthStack } from './AuthStack' -import { AppTabView } from './AppTabView' -import { AuthenticatedUserContext } from '../providers' -import { auth } from '../config' -import { View, Text } from 'react-native' - -// 使在 Navigator 以外(如 App.jsx)也能呼叫頁面導向 -export const navigationRef = createNavigationContainerRef() -export function navigate (name, params) { - if (navigationRef.isReady()) { - navigationRef.current.navigate(name, params) - } -} - -function SplashScreen () { - return ( - - Loading... - - ) -} - -// [測試中] 大概是從主頁導向至活動頁面 -const linking = { - prefixes: [ - 'ncu-app://', 'exp://', '*://' - ], - config: { - screens: { - AppTabView: { - screens: { - EventScreen: { - screens: { - Detailscreen: 'path/:id/' - } - } - } - } - } - } -} - -export const RootNavigator = () => { - const { user, setUser } = useContext(AuthenticatedUserContext) - const [isLoading, setIsLoading] = useState(true) - - useEffect(() => { - // onAuthStateChanged returns an unsubscriber - const unsubscribeAuthStateChanged = onAuthStateChanged( - auth, - authenticatedUser => { - authenticatedUser ? setUser(authenticatedUser) : setUser(null) - setIsLoading(false) - } - ) - - // unsubscribe auth listener on unmount - return unsubscribeAuthStateChanged - }, [user]) - - if (isLoading) { - return - } - - return ( - - {user ? : } - - ) -} diff --git a/navigation/index.jsx b/navigation/index.jsx deleted file mode 100644 index ae9e03f..0000000 --- a/navigation/index.jsx +++ /dev/null @@ -1,3 +0,0 @@ -import { RootNavigator } from './RootNavigator'; - -export { RootNavigator }; diff --git a/package-lock.json b/package-lock.json index 11012df..249be38 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,102 +1,116 @@ { - "name": "ncu-app-v2", - "version": "1.0.0", + "name": "ncu-app", + "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "ncu-app-v2", - "version": "1.0.0", + "name": "ncu-app", + "version": "0.0.0", "dependencies": { - "@react-native-community/datetimepicker": "^6.7.5", - "@react-native-community/masked-view": "^0.1.11", - "@react-navigation/native": "^6.1.7", - "@react-navigation/stack": "^6.3.17", - "eslint": "^8.44.0", - "eslint-config-prettier": "^8.8.0", - "eslint-config-universe": "^11.2.0", - "eslint-plugin-react-hooks": "^4.6.0", - "expo": "~48.0.18", - "expo-image-picker": "~14.1.1", - "expo-status-bar": "~1.4.4", - "install": "^0.13.0", - "native-base": "^3.4.28", - "prettier": "^2.8.8", - "react": "18.2.0", - "react-native": "0.71.8", - "react-native-gesture-handler": "~2.9.0", - "react-native-reanimated": "~2.14.4", - "react-native-safe-area-context": "4.5.0", - "react-native-screens": "~3.20.0", - "react-native-svg": "13.4.0", - "react-navigation": "^4.4.4" + "@tanstack/react-router": "^1.56.2", + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "devDependencies": { - "@babel/core": "^7.20.0", - "@types/react": "~18.0.14", - "@types/react-native": "^0.72.2", - "typescript": "^4.9.5" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "@tanstack/router-devtools": "^1.56.2", + "@tanstack/router-plugin": "^1.56.2", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.0", + "@typescript-eslint/eslint-plugin": "^7.8.0", + "@typescript-eslint/parser": "^7.8.0", + "@vite-pwa/assets-generator": "^0.2.4", + "@vitejs/plugin-react": "^4.2.1", + "autoprefixer": "^10.4.20", + "eslint": "^8.57.0", + "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react-refresh": "^0.4.6", + "postcss": "^8.4.45", + "tailwindcss": "^3.4.10", + "typescript": "^5.2.2", + "vite": "^5.2.10", + "vite-plugin-pwa": "^0.20.0", + "workbox-core": "^7.1.0", + "workbox-window": "^7.1.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, + "node_modules/@antfu/utils": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz", + "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, "dependencies": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", - "integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.6.tgz", - "integrity": "sha512-HPIyDa6n+HKw5dEuway3vVAhBboYCtREBMp+IWeseZy6TFtzn6MHkCH2KKYUOC/vKKwgSMHQW4htBOrmuRPXfw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.6", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", - "convert-source-map": "^1.7.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2" + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -106,14 +120,24 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", - "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", - "dependencies": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -121,59 +145,68 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", - "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz", - "integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-validator-option": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1" + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.6.tgz", - "integrity": "sha512-iwdzgtSiBxF6ni6mzVnZCF3xt5qE6cEA0J7nFt8QOAWZ0zjCFceEgpn3vtb2V7WFR6QzP2jmIFOHMTRo7eNJjQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@nicolo-ribaudo/semver-v6": "^6.3.3" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -182,14 +215,24 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.6.tgz", - "integrity": "sha512-nBookhLKxAWo/TUCmhnaEJyLz2dekjQvv5SRpE9epWQBcpedWLKt8aZdsuT9XV5ovzR3fENLjRXVT0GsSlGGhA==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", - "regexpu-core": "^5.3.1" + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -198,121 +241,105 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz", - "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "resolve": "^1.14.2" }, "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", - "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -322,122 +349,125 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", - "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", - "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "dev": true, "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.6.tgz", - "integrity": "sha512-EIQu22vNkceq3LbjAq7knDf/UmtI2qbcNI8GRBlijez6TpQLvSodJPYfydQmNA5buwkxxxa/PVI44jjYZ+/cLw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.6" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -445,12 +475,14 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" }, "engines": { "node": ">=6.9.0" @@ -459,155 +491,74 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.6.tgz", - "integrity": "sha512-cgskJ9W7kxTk/wBM16JNHhlTkeyDK6slMJg1peaI4LM3y2HtTv+6I85sW9UXSUZilndIBvDBETA1BRoOYdxWKw==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/plugin-syntax-decorators": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-default-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.5.tgz", - "integrity": "sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==", + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-default-from": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "dev": true, "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, "engines": { "node": ">=6.9.0" }, @@ -615,25 +566,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -645,6 +582,7 @@ "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -656,6 +594,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -666,24 +605,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.5.tgz", - "integrity": "sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -691,24 +617,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-export-default-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz", - "integrity": "sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -716,26 +629,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -745,11 +645,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -762,6 +663,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -773,6 +675,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -781,11 +684,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -798,6 +702,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -809,6 +714,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -820,6 +726,7 @@ "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -831,6 +738,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -842,6 +750,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -853,6 +762,7 @@ "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -864,6 +774,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -878,6 +789,7 @@ "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -889,11 +801,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -906,6 +819,7 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -918,11 +832,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -932,14 +847,15 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz", - "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", + "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.4" }, "engines": { "node": ">=6.9.0" @@ -949,13 +865,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -965,11 +882,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -979,11 +897,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", - "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -993,12 +912,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", + "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1008,12 +928,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -1024,18 +945,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", "globals": "^11.1.0" }, "engines": { @@ -1046,12 +965,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1061,11 +981,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", - "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1075,12 +996,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1090,11 +1012,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1103,28 +1026,30 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1133,13 +1058,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1148,13 +1074,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1164,11 +1091,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1178,13 +1107,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" }, "engines": { "node": ">=6.9.0" @@ -1194,11 +1124,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1209,11 +1140,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1223,11 +1155,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1238,11 +1171,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1252,12 +1186,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1267,13 +1202,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1283,14 +1219,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" }, "engines": { "node": ">=6.9.0" @@ -1300,12 +1237,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1315,12 +1253,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1330,11 +1269,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1344,11 +1284,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1359,11 +1300,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -1373,30 +1315,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-object-assign": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.22.5.tgz", - "integrity": "sha512-iDhx9ARkXq4vhZ2CYOSnQXkmxkDgosLi3J8Z17mKz7LyzthtkdVchLD7WZ3aXeCuvJDOW3+1I5TpJmwIbF9MKQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" + "@babel/plugin-transform-parameters": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1406,12 +1334,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1421,11 +1350,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -1436,12 +1366,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz", - "integrity": "sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -1452,11 +1383,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1466,12 +1398,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", + "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1481,13 +1414,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1498,11 +1432,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1511,12 +1446,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz", + "integrity": "sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1525,16 +1461,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz", - "integrity": "sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==", + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz", + "integrity": "sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==", + "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1543,12 +1476,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz", - "integrity": "sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -1557,12 +1492,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz", - "integrity": "sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==", + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1571,13 +1507,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", - "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1586,12 +1522,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1600,17 +1538,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.6.tgz", - "integrity": "sha512-+AGkst7Kqq3QUflKGkhWWMRb9vaKamoreNmYc+sjsIpOp+TsyU0exhp3RlwjQa/HdlKkPt3AMDwfg8Hpt9Vwqg==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1619,12 +1553,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1633,72 +1568,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz", - "integrity": "sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1708,11 +1584,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", - "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1722,12 +1599,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1737,12 +1615,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1752,12 +1631,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", + "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -1767,24 +1647,28 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.6.tgz", - "integrity": "sha512-IHr0AXHGk8oh8HYSs45Mxuv6iySUBwDTIzJSnXN7PURqHdxJVQlCoXmKJgyvSS9bcNf9NVRVE35z+LkCvGmi6w==", - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -1796,61 +1680,61 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.5", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.6", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.6", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.5", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.22.5", - "@nicolo-ribaudo/semver-v6": "^6.3.3", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "core-js-compat": "^3.31.0" + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1859,116 +1743,73 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.5.tgz", - "integrity": "sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-transform-flow-strip-types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/register": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.5.tgz", - "integrity": "sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==", - "dependencies": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true }, "node_modules/@babel/runtime": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", - "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", + "dev": true, "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.6.tgz", - "integrity": "sha512-53CijMvKlLIDlOTrdWiHileRddlIiwUIyCKqYa7lYnnPldXCG5dUSN38uT0cA6i7rHWNKJLH0VU/Kxdr1GzB3w==", - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.6", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -1976,13011 +1817,3699 @@ } }, "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@egjs/hammerjs": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz", - "integrity": "sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A==", - "dependencies": { - "@types/hammerjs": "^2.0.36" - }, + "node_modules/@canvas/image-data": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@canvas/image-data/-/image-data-1.0.0.tgz", + "integrity": "sha512-BxOqI5LgsIQP1odU5KMwV9yoijleOPzHL18/YvNqF9KFSGF2K/DLlYAbDQsWqd/1nbaFuSkYD/191dpMtNh4vw==", + "dev": true + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": ">=0.8.0" + "node": ">=12" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=12" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz", - "integrity": "sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==", + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dependencies": { - "type-fest": "^0.20.2" - }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc/node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/@eslint/js": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", - "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12" } }, - "node_modules/@expo/bunyan": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@expo/bunyan/-/bunyan-4.0.0.tgz", - "integrity": "sha512-Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==", - "engines": [ - "node >=0.10.0" + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" ], - "dependencies": { - "uuid": "^8.0.0" - }, - "optionalDependencies": { - "mv": "~2", - "safe-json-stringify": "~1" + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@expo/bunyan/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/@expo/cli": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-0.7.3.tgz", - "integrity": "sha512-uMGHbAhApqXR2sd1KPhgvpbOhBBnspad8msEqHleT2PHXwKIwTUDzBGO9+jdOAWwCx2MJfw3+asYjzoD3DN9Bg==", - "dependencies": { - "@babel/runtime": "^7.20.0", - "@expo/code-signing-certificates": "0.0.5", - "@expo/config": "~8.0.0", - "@expo/config-plugins": "~6.0.0", - "@expo/dev-server": "0.3.0", - "@expo/devcert": "^1.0.0", - "@expo/json-file": "^8.2.37", - "@expo/metro-config": "~0.7.0", - "@expo/osascript": "^2.0.31", - "@expo/package-manager": "~1.0.0", - "@expo/plist": "^0.0.20", - "@expo/prebuild-config": "6.0.1", - "@expo/rudder-sdk-node": "1.1.1", - "@expo/spawn-async": "1.5.0", - "@expo/xcpretty": "^4.2.1", - "@urql/core": "2.3.6", - "@urql/exchange-retry": "0.3.0", - "accepts": "^1.3.8", - "arg": "4.1.0", - "better-opn": "~3.0.2", - "bplist-parser": "^0.3.1", - "cacache": "^15.3.0", - "chalk": "^4.0.0", - "ci-info": "^3.3.0", - "debug": "^4.3.4", - "env-editor": "^0.4.1", - "form-data": "^3.0.1", - "freeport-async": "2.0.0", - "fs-extra": "~8.1.0", - "getenv": "^1.0.0", - "graphql": "15.8.0", - "graphql-tag": "^2.10.1", - "https-proxy-agent": "^5.0.1", - "internal-ip": "4.3.0", - "is-root": "^2.1.0", - "js-yaml": "^3.13.1", - "json-schema-deref-sync": "^0.13.0", - "md5-file": "^3.2.3", - "md5hex": "^1.0.0", - "minipass": "3.1.6", - "node-fetch": "^2.6.7", - "node-forge": "^1.3.1", - "npm-package-arg": "^7.0.0", - "ora": "3.4.0", - "pretty-bytes": "5.6.0", - "progress": "2.0.3", - "prompts": "^2.3.2", - "qrcode-terminal": "0.11.0", - "requireg": "^0.2.2", - "resolve-from": "^5.0.0", - "semver": "^6.3.0", - "send": "^0.18.0", - "slugify": "^1.3.4", - "structured-headers": "^0.4.1", - "tar": "^6.0.5", - "tempy": "^0.7.1", - "terminal-link": "^2.1.1", - "text-table": "^0.2.0", - "url-join": "4.0.0", - "wrap-ansi": "^7.0.0", - "ws": "^8.12.1" - }, - "bin": { - "expo-internal": "build/bin/cli" + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@expo/cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=12" } }, - "node_modules/@expo/cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=12" } }, - "node_modules/@expo/cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=7.0.0" + "node": ">=12" } }, - "node_modules/@expo/cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@expo/cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@expo/cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@expo/code-signing-certificates": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz", - "integrity": "sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==", - "dependencies": { - "node-forge": "^1.2.1", - "nullthrows": "^1.1.1" + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@expo/config": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/@expo/config/-/config-8.0.5.tgz", - "integrity": "sha512-3CnLmtAQUWqLZwTRliS23QoFwdyhg4AWtp6gZ0qfcXthR84RvlZKcCDQQIyPiRUgu8dZa+gQDcdRJtgE+GM5XQ==", - "dependencies": { - "@babel/code-frame": "~7.10.4", - "@expo/config-plugins": "~6.0.0", - "@expo/config-types": "^48.0.0", - "@expo/json-file": "^8.2.37", - "getenv": "^1.0.0", - "glob": "7.1.6", - "require-from-string": "^2.0.2", - "resolve-from": "^5.0.0", - "semver": "7.3.2", - "slugify": "^1.3.4", - "sucrase": "^3.20.0" + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", + "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@expo/config-plugins": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-6.0.2.tgz", - "integrity": "sha512-Cn01fXMHwjU042EgO9oO3Mna0o/UCrW91MQLMbJa4pXM41CYGjNgVy1EVXiuRRx/upegHhvltBw5D+JaUm8aZQ==", - "dependencies": { - "@expo/config-types": "^48.0.0", - "@expo/json-file": "~8.2.37", - "@expo/plist": "^0.0.20", - "@expo/sdk-runtime-versions": "^1.0.0", - "@react-native/normalize-color": "^2.0.0", - "chalk": "^4.1.2", - "debug": "^4.3.1", - "find-up": "~5.0.0", - "getenv": "^1.0.0", - "glob": "7.1.6", - "resolve-from": "^5.0.0", - "semver": "^7.3.5", - "slash": "^3.0.0", - "xcode": "^3.0.1", - "xml2js": "0.4.23" + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@expo/config-plugins/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=12" } }, - "node_modules/@expo/config-plugins/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=12" } }, - "node_modules/@expo/config-plugins/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=7.0.0" + "node": ">=12" } }, - "node_modules/@expo/config-plugins/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@expo/config-plugins/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@expo/config-plugins/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, "dependencies": { - "yallist": "^4.0.0" + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@expo/config-plugins/node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "dev": true, "engines": { - "node": ">=10" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@expo/config-plugins/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@expo/config-plugins/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@expo/config-types": { - "version": "48.0.0", - "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-48.0.0.tgz", - "integrity": "sha512-DwyV4jTy/+cLzXGAo1xftS6mVlSiLIWZjl9DjTCLPFVgNYQxnh7htPilRv4rBhiNs7KaznWqKU70+4zQoKVT9A==" - }, - "node_modules/@expo/config/node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@expo/config/node_modules/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@expo/dev-server": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.3.0.tgz", - "integrity": "sha512-2A6/8uZADSKAtzyR6YqhCBUFxb5DFmjxmFn0EHMqnPnsh13ZSiKEjrZPrRkM6Li2EHLYqHK2rmweJ7O/7q9pPQ==", - "dependencies": { - "@expo/bunyan": "4.0.0", - "@expo/metro-config": "~0.7.0", - "@expo/osascript": "2.0.33", - "@expo/spawn-async": "^1.5.0", - "body-parser": "^1.20.1", - "chalk": "^4.0.0", - "connect": "^3.7.0", - "fs-extra": "9.0.0", - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1", - "node-fetch": "^2.6.0", - "open": "^8.3.0", - "resolve-from": "^5.0.0", - "semver": "7.3.2", - "serialize-error": "6.0.0", - "temp-dir": "^2.0.0" - } - }, - "node_modules/@expo/dev-server/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "type-fest": "^0.20.2" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@expo/dev-server/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "brace-expansion": "^1.1.7" }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@expo/dev-server/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, "engines": { - "node": ">=7.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@expo/dev-server/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@expo/dev-server/node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" }, "engines": { - "node": ">=10" + "node": ">=10.10.0" } }, - "node_modules/@expo/dev-server/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@expo/dev-server/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "universalify": "^2.0.0" + "brace-expansion": "^1.1.7" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@expo/dev-server/node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "engines": { - "node": ">= 10.0.0" + "node": "*" } }, - "node_modules/@expo/dev-server/node_modules/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "bin": { - "semver": "bin/semver.js" - }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@expo/dev-server/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/@expo/dev-server/node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "engines": { - "node": ">= 10.0.0" + "node": ">=12" } }, - "node_modules/@expo/devcert": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.1.0.tgz", - "integrity": "sha512-ghUVhNJQOCTdQckSGTHctNp/0jzvVoMMkVh+6SHn+TZj8sU15U/npXIDt8NtQp0HedlPaCgkVdMu8Sacne0aEA==", - "dependencies": { - "application-config-path": "^0.1.0", - "command-exists": "^1.2.4", - "debug": "^3.1.0", - "eol": "^0.9.1", - "get-port": "^3.2.0", - "glob": "^7.1.2", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "password-prompt": "^1.0.4", - "rimraf": "^2.6.2", - "sudo-prompt": "^8.2.0", - "tmp": "^0.0.33", - "tslib": "^2.4.0" - } - }, - "node_modules/@expo/devcert/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@expo/image-utils": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.22.tgz", - "integrity": "sha512-uzq+RERAtkWypOFOLssFnXXqEqKjNj9eXN7e97d/EXUAojNcLDoXc0sL+F5B1I4qtlsnhX01kcpoIBBZD8wZNQ==", - "dependencies": { - "@expo/spawn-async": "1.5.0", - "chalk": "^4.0.0", - "fs-extra": "9.0.0", - "getenv": "^1.0.0", - "jimp-compact": "0.16.1", - "mime": "^2.4.4", - "node-fetch": "^2.6.0", - "parse-png": "^2.1.0", - "resolve-from": "^5.0.0", - "semver": "7.3.2", - "tempy": "0.3.0" - } - }, - "node_modules/@expo/image-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@expo/image-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@expo/image-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@expo/image-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@expo/image-utils/node_modules/crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==", - "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@expo/image-utils/node_modules/fs-extra": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz", - "integrity": "sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=6.0.0" } }, - "node_modules/@expo/image-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/@expo/image-utils/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@expo/image-utils/node_modules/jsonfile/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, - "node_modules/@expo/image-utils/node_modules/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true }, - "node_modules/@expo/image-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@expo/image-utils/node_modules/temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==", - "engines": { - "node": ">=4" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@expo/image-utils/node_modules/tempy": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz", - "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, "dependencies": { - "temp-dir": "^1.0.0", - "type-fest": "^0.3.1", - "unique-string": "^1.0.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/@expo/image-utils/node_modules/type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, "engines": { - "node": ">=6" + "node": ">= 8" } }, - "node_modules/@expo/image-utils/node_modules/unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, "dependencies": { - "crypto-random-string": "^1.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=4" + "node": ">= 8" } }, - "node_modules/@expo/image-utils/node_modules/universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@expo/json-file": { - "version": "8.2.37", - "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz", - "integrity": "sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q==", - "dependencies": { - "@babel/code-frame": "~7.10.4", - "json5": "^2.2.2", - "write-file-atomic": "^2.3.0" - } - }, - "node_modules/@expo/json-file/node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@expo/metro-config": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.7.1.tgz", - "integrity": "sha512-vGWU62Zp5pRGw5IEHDNdqvsy62/hu/Na7bswePYVjoaItOjJY7+qilFeF0AAK+3V8qAM8fpltH3ByylKfWaA7A==", - "dependencies": { - "@expo/config": "~8.0.0", - "chalk": "^4.1.0", - "debug": "^4.3.2", - "find-yarn-workspace-root": "~2.0.0", - "getenv": "^1.0.0", - "resolve-from": "^5.0.0", - "sucrase": "^3.20.0" + "node": ">=14" } }, - "node_modules/@expo/metro-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@expo/metro-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "node": ">=14.0.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@expo/metro-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@expo/metro-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@expo/metro-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@expo/metro-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" + "node": ">=14.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@expo/osascript": { - "version": "2.0.33", - "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.0.33.tgz", - "integrity": "sha512-FQinlwHrTlJbntp8a7NAlCKedVXe06Va/0DSLXRO8lZVtgbEMrYYSUZWQNcOlNtc58c2elNph6z9dMOYwSo3JQ==", - "dependencies": { - "@expo/spawn-async": "^1.5.0", - "exec-async": "^2.2.0" + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@expo/package-manager": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.0.1.tgz", - "integrity": "sha512-ue6NIIsNafa2bK7zUl7Y61YNtkPsg7sJcTOyQo/87Yqf6Q+2bOrvdw1xjviaFrMsTZcpOPVf+ZIEYtE0lw0k6A==", - "dependencies": { - "@expo/json-file": "^8.2.37", - "@expo/spawn-async": "^1.5.0", - "ansi-regex": "^5.0.0", - "chalk": "^4.0.0", - "find-up": "^5.0.0", - "find-yarn-workspace-root": "~2.0.0", - "js-yaml": "^3.13.1", - "micromatch": "^4.0.2", - "npm-package-arg": "^7.0.0", - "split": "^1.0.1", - "sudo-prompt": "9.1.1" + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@expo/package-manager/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@expo/package-manager/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@expo/package-manager/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz", + "integrity": "sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@expo/package-manager/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz", + "integrity": "sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@expo/package-manager/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz", + "integrity": "sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@expo/package-manager/node_modules/sudo-prompt": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.1.1.tgz", - "integrity": "sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA==" + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz", + "integrity": "sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@expo/package-manager/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz", + "integrity": "sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@expo/plist": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.0.20.tgz", - "integrity": "sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==", - "dependencies": { - "@xmldom/xmldom": "~0.7.7", - "base64-js": "^1.2.3", - "xmlbuilder": "^14.0.0" - } + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz", + "integrity": "sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@expo/prebuild-config": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.0.1.tgz", - "integrity": "sha512-WK3FDht1tdXZGCvtG5s7HSwzhsc7Tyu2DdqV9jVUsLtGD42oqUepk13mEWlU9LOTBgLsoEueKjoSK4EXOXFctw==", - "dependencies": { - "@expo/config": "~8.0.0", - "@expo/config-plugins": "~6.0.0", - "@expo/config-types": "^48.0.0", - "@expo/image-utils": "0.3.22", - "@expo/json-file": "^8.2.37", - "debug": "^4.3.1", - "fs-extra": "^9.0.0", - "resolve-from": "^5.0.0", - "semver": "7.3.2", - "xml2js": "0.4.23" - }, - "peerDependencies": { - "expo-modules-autolinking": ">=0.8.1" - } + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz", + "integrity": "sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@expo/prebuild-config/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz", + "integrity": "sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@expo/prebuild-config/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz", + "integrity": "sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@expo/prebuild-config/node_modules/semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz", + "integrity": "sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@expo/prebuild-config/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz", + "integrity": "sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@expo/rudder-sdk-node": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@expo/rudder-sdk-node/-/rudder-sdk-node-1.1.1.tgz", - "integrity": "sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==", - "dependencies": { - "@expo/bunyan": "^4.0.0", - "@segment/loosely-validate-event": "^2.0.0", - "fetch-retry": "^4.1.1", - "md5": "^2.2.1", - "node-fetch": "^2.6.1", - "remove-trailing-slash": "^0.1.0", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">=12" - } + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz", + "integrity": "sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@expo/rudder-sdk-node/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz", + "integrity": "sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@expo/sdk-runtime-versions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz", - "integrity": "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==" + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz", + "integrity": "sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@expo/spawn-async": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.5.0.tgz", - "integrity": "sha512-LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==", - "dependencies": { - "cross-spawn": "^6.0.5" - }, - "engines": { - "node": ">=4" - } + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz", + "integrity": "sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@expo/vector-icons": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-13.0.0.tgz", - "integrity": "sha512-TI+l71+5aSKnShYclFa14Kum+hQMZ86b95SH6tQUG3qZEmLTarvWpKwqtTwQKqvlJSJrpFiSFu3eCuZokY6zWA==" + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz", + "integrity": "sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/@expo/xcpretty": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.2.2.tgz", - "integrity": "sha512-Lke/geldJqUV0Dfxg5/QIOugOzdqZ/rQ9yHKSgGbjZtG1uiSqWyFwWvXmrdd3/sIdX33eykGvIcf+OrvvcXVUw==", + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dev": true, "dependencies": { - "@babel/code-frame": "7.10.4", - "chalk": "^4.1.0", - "find-up": "^5.0.0", - "js-yaml": "^4.1.0" - }, - "bin": { - "excpretty": "build/cli.js" + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" } }, - "node_modules/@expo/xcpretty/node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dependencies": { - "@babel/highlight": "^7.10.4" + "node_modules/@tanstack/history": { + "version": "1.51.7", + "resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.51.7.tgz", + "integrity": "sha512-y25aH3NDbdUp5Gk6Fnb77LsHTT2JrzVgI44ZiyEOf8i2j14Ma3oJ80fCw7rT/iV4xa4IN2Yex9flAsZQdh1i4A==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@expo/xcpretty/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@tanstack/react-router": { + "version": "1.56.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.56.2.tgz", + "integrity": "sha512-dvsjaduioeORmmyKTyoQLyV3zRC7HQ2JHttPHTpx2fGYV21bShnps2xUfCWbOAFcNbXphknna1PPdN71F6UmnQ==", "dependencies": { - "color-convert": "^2.0.1" + "@tanstack/history": "1.51.7", + "@tanstack/react-store": "^0.5.5", + "tiny-invariant": "^1.3.3", + "tiny-warning": "^1.0.3" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@tanstack/router-generator": "1.56.2", + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "@tanstack/react-router": { + "optional": true + } } }, - "node_modules/@expo/xcpretty/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "node_modules/@tanstack/react-store": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.5.5.tgz", + "integrity": "sha512-1orYXGatBqXCYKuroFwV8Ll/6aDa5E3pU6RR4h7RvRk7TmxF1+zLCsWALZaeijXkySNMGmvawSbUXRypivg2XA==", + "dependencies": { + "@tanstack/store": "0.5.5", + "use-sync-external-store": "^1.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + } }, - "node_modules/@expo/xcpretty/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@tanstack/router-devtools": { + "version": "1.56.2", + "resolved": "https://registry.npmjs.org/@tanstack/router-devtools/-/router-devtools-1.56.2.tgz", + "integrity": "sha512-e2FFigVu4Coq+hD+Tlg+ymQqXcPxNEyduK3ATV2jFtB8KdxQxYwmJl1K3ZJHYfOwyUM2ouZhjSkhIGLcj1uBLA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "clsx": "^2.1.1", + "goober": "^2.1.14" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@tanstack/react-router": "^1.56.2", + "react": ">=18", + "react-dom": ">=18" } }, - "node_modules/@expo/xcpretty/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@tanstack/router-generator": { + "version": "1.56.2", + "resolved": "https://registry.npmjs.org/@tanstack/router-generator/-/router-generator-1.56.2.tgz", + "integrity": "sha512-U/9+PBbLCfuy3sUzSzQ7YmU7o7V0aEN5f6jbKfwV9I1bd0AnpmtFJ7W5HnOpAZwCLiL00g04ZRWXF7JiSkm5ew==", "dependencies": { - "color-name": "~1.1.4" + "@tanstack/virtual-file-routes": "^1.56.0", + "prettier": "^3.3.3", + "tsx": "^4.19.0", + "zod": "^3.23.8" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@expo/xcpretty/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@expo/xcpretty/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/router-plugin": { + "version": "1.56.2", + "resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.56.2.tgz", + "integrity": "sha512-E6PA7Mvo+vK0Yen42C/CVDPXXTRhOQtx22TuyuhoZVjmeqV9uV50msTtPslzaP1sK29Tg6QqcjAs8J3bSXhcaA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.3", + "@babel/types": "^7.25.2", + "@tanstack/router-generator": "^1.56.2", + "@tanstack/virtual-file-routes": "^1.56.0", + "@types/babel__core": "^7.20.5", + "@types/babel__generator": "^7.6.8", + "@types/babel__template": "^7.4.4", + "@types/babel__traverse": "^7.20.6", + "babel-dead-code-elimination": "^1.0.6", + "chokidar": "^3.6.0", + "unplugin": "^1.12.2", + "zod": "^3.23.8" + }, "engines": { - "node": ">=8" - } - }, - "node_modules/@expo/xcpretty/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" + "node": ">=12" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@rsbuild/core": ">=1.0.0", + "vite": ">=5.0.0", + "webpack": ">=5.92.0" + }, + "peerDependenciesMeta": { + "@rsbuild/core": { + "optional": true + }, + "vite": { + "optional": true + }, + "webpack": { + "optional": true + } } }, - "node_modules/@expo/xcpretty/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "node_modules/@tanstack/store": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.5.5.tgz", + "integrity": "sha512-EOSrgdDAJExbvRZEQ/Xhh9iZchXpMN+ga1Bnk8Nmygzs8TfiE6hbzThF+Pr2G19uHL6+DTDTHhJ8VQiOd7l4tA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@formatjs/ecma402-abstract": { - "version": "1.17.2", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.2.tgz", - "integrity": "sha512-k2mTh0m+IV1HRdU0xXM617tSQTi53tVR2muvYOsBeYcUgEAyxV1FOC7Qj279th3fBVQ+Dj6muvNJZcHSPNdbKg==", - "dependencies": { - "@formatjs/intl-localematcher": "0.4.2", - "tslib": "^2.4.0" + "node_modules/@tanstack/virtual-file-routes": { + "version": "1.56.0", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-file-routes/-/virtual-file-routes-1.56.0.tgz", + "integrity": "sha512-fBUj+lbSaw+VxoBN4J/WFE7dTx8x4XCTRAQvbiIyPJ8MY1KRVkdZV6cbLvg7MeDP6CxUcj6XNvWU6h0ic1Ipyg==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@formatjs/fast-memoize": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", - "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, "dependencies": { - "tslib": "^2.4.0" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.2.tgz", - "integrity": "sha512-nF/Iww7sc5h+1MBCDRm68qpHTCG4xvGzYs/x9HFcDETSGScaJ1Fcadk5U/NXjXeCtzD+DhN4BAwKFVclHfKMdA==", + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, "dependencies": { - "@formatjs/ecma402-abstract": "1.17.2", - "@formatjs/icu-skeleton-parser": "1.6.2", - "tslib": "^2.4.0" + "@babel/types": "^7.0.0" } }, - "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.2.tgz", - "integrity": "sha512-VtB9Slo4ZL6QgtDFJ8Injvscf0xiDd4bIV93SOJTBjUF4xe2nAWOoSjLEtqIG+hlIs1sNrVKAaFo3nuTI4r5ZA==", + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, "dependencies": { - "@formatjs/ecma402-abstract": "1.17.2", - "tslib": "^2.4.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@formatjs/intl-localematcher": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.2.tgz", - "integrity": "sha512-BGdtJFmaNJy5An/Zan4OId/yR9Ih1OojFjcduX/xOvq798OgWSyDtd6Qd5jqJXwJs1ipe4Fxu9+cshic5Ox2tA==", + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, "dependencies": { - "tslib": "^2.4.0" + "@babel/types": "^7.20.7" } }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" - }, - "node_modules/@graphql-typed-document-node/core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "node_modules/@types/react": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", + "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", + "dev": true, "dependencies": { - "@hapi/hoek": "^9.0.0" + "@types/prop-types": "*", + "csstype": "^3.0.2" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" + "@types/react": "*" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "node_modules/@internationalized/date": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.0.tgz", - "integrity": "sha512-nw0Q+oRkizBWMioseI8+2TeUPEyopJVz5YxoYVzR0W1v+2YytiYah7s/ot35F149q/xAg4F1gT/6eTd+tsUpFQ==", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, - "node_modules/@internationalized/message": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.1.tgz", - "integrity": "sha512-ZgHxf5HAPIaR0th+w0RUD62yF6vxitjlprSxmLJ1tam7FOekqRSDELMg4Cr/DdszG5YLsp5BG3FgHgqquQZbqw==", - "dependencies": { - "@swc/helpers": "^0.5.0", - "intl-messageformat": "^10.1.0" - } - }, - "node_modules/@internationalized/number": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.2.1.tgz", - "integrity": "sha512-hK30sfBlmB1aIe3/OwAPg9Ey0DjjXvHEiGVhNaOiBJl31G0B6wMaX8BN3ibzdlpyRNE9p7X+3EBONmxtJO9Yfg==", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, - "node_modules/@internationalized/string": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.1.1.tgz", - "integrity": "sha512-fvSr6YRoVPgONiVIUhgCmIAlifMVCeej/snPZVzbzRPxGpHl3o1GRe+d/qh92D8KhgOciruDUH8I5mjdfdjzfA==", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, - "node_modules/@jest/create-cache-key-function": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.6.0.tgz", - "integrity": "sha512-hmSEQSz6ufRJUcV/YQp26bNCB8m8oTF3gDFGu3cyFrzBLtUgYEVb0DG5C5uqpCy+mGLn7u7NhBNJ+iix3Es6Nw==", - "dependencies": { - "@jest/types": "^29.6.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.0.tgz", - "integrity": "sha512-8XCgL9JhqbJTFnMRjEAO+TuW251+MoMd5BSzLiE3vvzpQ8RlBxy8NoyNkDhs3K3OL3HeVinlOl9or5p7GTeOLg==", - "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dependencies": { - "@types/yargs-parser": "*" - } + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true }, - "node_modules/@jest/create-cache-key-function/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true }, - "node_modules/@jest/create-cache-key-function/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": ">=10" + "node": "^18.18.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/create-cache-key-function/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/create-cache-key-function/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.6.0.tgz", - "integrity": "sha512-bUZLYUxYlUIsslBbxII0fq0kr1+friI3Gty+cRLmocGB1jdcAHs7FS8QdCDqedE8q4DZE1g/AJHH6OJZBLGGsg==", - "dependencies": { - "@jest/fake-timers": "^29.6.0", - "@jest/types": "^29.6.0", - "@types/node": "*", - "jest-mock": "^29.6.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/environment/node_modules/@jest/types": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.0.tgz", - "integrity": "sha512-8XCgL9JhqbJTFnMRjEAO+TuW251+MoMd5BSzLiE3vvzpQ8RlBxy8NoyNkDhs3K3OL3HeVinlOl9or5p7GTeOLg==", - "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/environment/node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@jest/environment/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@jest/environment/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "node_modules/@typescript-eslint/parser": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4" }, "engines": { - "node": ">=10" + "node": "^18.18.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/environment/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/environment/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/environment/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.0.tgz", - "integrity": "sha512-nuCU46AsZoskthWSDS2Aj6LARgyNcp5Fjx2qxsO/fPl1Wp1CJ+dBDqs0OkEcJK8FBeV/MbjH5efe79M2sHcV+A==", - "dependencies": { - "@jest/types": "^29.6.0", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.6.0", - "jest-mock": "^29.6.0", - "jest-util": "^29.6.0" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers/node_modules/@jest/types": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.0.tgz", - "integrity": "sha512-8XCgL9JhqbJTFnMRjEAO+TuW251+MoMd5BSzLiE3vvzpQ8RlBxy8NoyNkDhs3K3OL3HeVinlOl9or5p7GTeOLg==", - "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "peerDependencies": { + "eslint": "^8.56.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers/node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dependencies": { - "@types/yargs-parser": "*" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@jest/fake-timers/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { - "node": ">=8" + "node": "^18.18.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@jest/fake-timers/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@typescript-eslint/type-utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": ">=10" + "node": "^18.18.0 || >=20.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/fake-timers/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/fake-timers/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/fake-timers/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/fake-timers/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", - "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^15.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "eslint": "^8.56.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "node_modules/@nicolo-ribaudo/semver-v6": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", - "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@npmcli/fs/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/fs/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/move-file/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@react-aria/checkbox": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.11.0.tgz", - "integrity": "sha512-3C5ON4IvFu69LihMOB6Y2Zr4T0zjkuPfQ6HrHuS9SiFU+IZuv1z38K/bXk7UkmZoiLtWLloNA5XKNCwf+Y+6Xw==", - "dependencies": { - "@react-aria/label": "^3.7.0", - "@react-aria/toggle": "^3.8.0", - "@react-aria/utils": "^3.20.0", - "@react-stately/checkbox": "^3.5.0", - "@react-stately/toggle": "^3.6.2", - "@react-types/checkbox": "^3.5.1", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/combobox": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.6.4.tgz", - "integrity": "sha512-L6KAB9P7ztyKM8B3WISRtVFdz9R66ZA6h+m128JmmTc3DrvSs0lxQMZIKfFuh31IZfAe62p2IwDlR1UbhXffVg==", - "dependencies": { - "@react-aria/i18n": "^3.8.2", - "@react-aria/interactions": "^3.18.0", - "@react-aria/listbox": "^3.10.2", - "@react-aria/live-announcer": "^3.3.1", - "@react-aria/menu": "^3.10.2", - "@react-aria/overlays": "^3.17.0", - "@react-aria/selection": "^3.16.2", - "@react-aria/textfield": "^3.12.0", - "@react-aria/utils": "^3.20.0", - "@react-stately/collections": "^3.10.1", - "@react-stately/combobox": "^3.7.0", - "@react-stately/layout": "^3.13.1", - "@react-types/button": "^3.8.0", - "@react-types/combobox": "^3.8.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/focus": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.14.1.tgz", - "integrity": "sha512-2oVJgn86Rt7xgbtLzVlrYb7MZHNMpyBVLMMGjWyvjH5Ier2bgZ6czJJmm18Xe4kjlDHN0dnFzBvoRoTCWkmivA==", - "dependencies": { - "@react-aria/interactions": "^3.18.0", - "@react-aria/utils": "^3.20.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0", - "clsx": "^1.1.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/i18n": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.8.2.tgz", - "integrity": "sha512-WsdByq3DmqEhr8sOdooVcDoS0CGGv+7cegZmmpw5VfUu0f0+0y7YBj/lRS9RuEqlgvSH+K3sPW/+0CkjM/LRGQ==", - "dependencies": { - "@internationalized/date": "^3.5.0", - "@internationalized/message": "^3.1.1", - "@internationalized/number": "^3.2.1", - "@internationalized/string": "^3.1.1", - "@react-aria/ssr": "^3.8.0", - "@react-aria/utils": "^3.20.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/interactions": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.18.0.tgz", - "integrity": "sha512-V96uRZTVe2KcU5HW+r2cuUcLIfo0KuPOchywk9r48xtJC8u//sv5fAo0LMX6AgsQJ7bV09JO8nDqmZP0gkRElQ==", - "dependencies": { - "@react-aria/ssr": "^3.8.0", - "@react-aria/utils": "^3.20.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/label": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.7.0.tgz", - "integrity": "sha512-OEBFKp4zSS9O/IPoVUU/YdThQWI4EXOuUO8z2mog9I3wU1FQHEASGtqkg0fzxhBh8LYnPIl56y02dIBJ7eyxlA==", - "dependencies": { - "@react-aria/utils": "^3.20.0", - "@react-types/label": "^3.8.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/listbox": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.10.2.tgz", - "integrity": "sha512-7w75yGyNUGwxB8dSNuXTe7Yd+ab6VmtpROLIhf3b92BPE51oy77i3/Dy1F8IdZMTUqOFd5Nm8K0Z0ZSjOchDfQ==", - "dependencies": { - "@react-aria/focus": "^3.14.1", - "@react-aria/interactions": "^3.18.0", - "@react-aria/label": "^3.7.0", - "@react-aria/selection": "^3.16.2", - "@react-aria/utils": "^3.20.0", - "@react-stately/collections": "^3.10.1", - "@react-stately/list": "^3.9.2", - "@react-types/listbox": "^3.4.4", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/live-announcer": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.3.1.tgz", - "integrity": "sha512-hsc77U7S16trM86d+peqJCOCQ7/smO1cybgdpOuzXyiwcHQw8RQ4GrXrS37P4Ux/44E9nMZkOwATQRT2aK8+Ew==", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, - "node_modules/@react-aria/menu": { - "version": "3.10.2", - "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.10.2.tgz", - "integrity": "sha512-qqnOj6gU7GQAvdTBM9Y+lclaKEciVwfYylmJRu8RBt72jceSBkdR78et9ZLaNMwVPMYCEUxbOv8vvL7VoRKddg==", - "dependencies": { - "@react-aria/focus": "^3.14.1", - "@react-aria/i18n": "^3.8.2", - "@react-aria/interactions": "^3.18.0", - "@react-aria/overlays": "^3.17.0", - "@react-aria/selection": "^3.16.2", - "@react-aria/utils": "^3.20.0", - "@react-stately/collections": "^3.10.1", - "@react-stately/menu": "^3.5.5", - "@react-stately/tree": "^3.7.2", - "@react-types/button": "^3.8.0", - "@react-types/menu": "^3.9.4", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/overlays": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.17.0.tgz", - "integrity": "sha512-wfQ00llAIMLDtIid+0MvNqvbLP6Fqi2/hfvAxhDaRqrkiARwuCAclWNCIdCzF599IpZOMcjjBgIILEXdfA0ziw==", - "dependencies": { - "@react-aria/focus": "^3.14.1", - "@react-aria/i18n": "^3.8.2", - "@react-aria/interactions": "^3.18.0", - "@react-aria/ssr": "^3.8.0", - "@react-aria/utils": "^3.20.0", - "@react-aria/visually-hidden": "^3.8.4", - "@react-stately/overlays": "^3.6.2", - "@react-types/button": "^3.8.0", - "@react-types/overlays": "^3.8.2", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/radio": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.8.0.tgz", - "integrity": "sha512-KvE7UeSDVgdOVLNt/RzTCroMRbVcnn6QZHp0fde9HjQV14Umebyu/fWAmfvIMe/th1Lelf6NtliGXOAZpfOLrg==", - "dependencies": { - "@react-aria/focus": "^3.14.1", - "@react-aria/i18n": "^3.8.2", - "@react-aria/interactions": "^3.18.0", - "@react-aria/label": "^3.7.0", - "@react-aria/utils": "^3.20.0", - "@react-stately/radio": "^3.9.0", - "@react-types/radio": "^3.5.1", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/selection": { - "version": "3.16.2", - "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.16.2.tgz", - "integrity": "sha512-C6zS5F1W38pukaMTFDTKbMrEvKkGikrXF94CtyxG1EI6EuZaQg1olaEeMCc3AyIb+4Xq+XCwjZuuSnS03qdVGQ==", - "dependencies": { - "@react-aria/focus": "^3.14.1", - "@react-aria/i18n": "^3.8.2", - "@react-aria/interactions": "^3.18.0", - "@react-aria/utils": "^3.20.0", - "@react-stately/collections": "^3.10.1", - "@react-stately/selection": "^3.13.4", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/slider": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.7.0.tgz", - "integrity": "sha512-aQ3d89M3scWIBJjpjQ0OxeNGuklxX9gxeAhSvYkhsyFd37DCBNNtHIiLfPzQpsSJOjSJofBsEzrG4y+JHGcrdg==", - "dependencies": { - "@react-aria/focus": "^3.14.1", - "@react-aria/i18n": "^3.8.2", - "@react-aria/interactions": "^3.18.0", - "@react-aria/label": "^3.7.0", - "@react-aria/utils": "^3.20.0", - "@react-stately/radio": "^3.9.0", - "@react-stately/slider": "^3.4.2", - "@react-types/radio": "^3.5.1", - "@react-types/shared": "^3.20.0", - "@react-types/slider": "^3.6.1", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/ssr": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.8.0.tgz", - "integrity": "sha512-Y54xs483rglN5DxbwfCPHxnkvZ+gZ0LbSYmR72LyWPGft8hN/lrl1VRS1EW2SMjnkEWlj+Km2mwvA3kEHDUA0A==", - "dependencies": { - "@swc/helpers": "^0.5.0" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/textfield": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.12.0.tgz", - "integrity": "sha512-okvCR7vPrSx/0AW+YxPWo3ucJkgRuX77QWVeYBXhQiBKooHEYSfaceMgMZc/KS5HGZsY8bEKpGOIVkZBitzQsg==", - "dependencies": { - "@react-aria/focus": "^3.14.1", - "@react-aria/label": "^3.7.0", - "@react-aria/utils": "^3.20.0", - "@react-types/shared": "^3.20.0", - "@react-types/textfield": "^3.8.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/toggle": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.8.0.tgz", - "integrity": "sha512-HQgx8rBEwGsVyJKU47GTZcWWn3Kv0DgZfUY/lXkdhMFf14/NWTRpJEuKRfEut+/wVFbcNcv9WDT7fEe7yTvGWg==", - "dependencies": { - "@react-aria/focus": "^3.14.1", - "@react-aria/interactions": "^3.18.0", - "@react-aria/utils": "^3.20.0", - "@react-stately/toggle": "^3.6.2", - "@react-types/checkbox": "^3.5.1", - "@react-types/shared": "^3.20.0", - "@react-types/switch": "^3.4.1", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/utils": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.20.0.tgz", - "integrity": "sha512-TpvP9fw2/F0E+D05+S1og88dwvmVSLVB4lurVAodN1E6rCZyw+M/SHlCez0I7j1q9ZWAnVjRuHpBIRG5heX1Ug==", - "dependencies": { - "@react-aria/ssr": "^3.8.0", - "@react-stately/utils": "^3.7.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0", - "clsx": "^1.1.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-aria/visually-hidden": { - "version": "3.8.4", - "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.4.tgz", - "integrity": "sha512-TRDtrndL/TiXjVac7o1vEmrHltSPugH0B6uqc1KRCSspFa1vg9tsgh9/N+qCXrEHynfNyK9FPjI70pAH+PXcqw==", - "dependencies": { - "@react-aria/interactions": "^3.18.0", - "@react-aria/utils": "^3.20.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0", - "clsx": "^1.1.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-native-aria/button": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@react-native-aria/button/-/button-0.2.4.tgz", - "integrity": "sha512-wlu6SXI20U+N4fbPX8oh9pkL9hx8W41+cra3fa3s2xfQ6czT4KAkyvSsr1ALUBH4dRkoxxSPOcGJMGnq2K3djw==", - "dependencies": { - "@react-aria/utils": "^3.6.0", - "@react-native-aria/interactions": "^0.2.3", - "@react-stately/toggle": "^3.2.1", - "@react-types/checkbox": "^3.2.1" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-aria/checkbox": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@react-native-aria/checkbox/-/checkbox-0.2.3.tgz", - "integrity": "sha512-YtWtXGg5tvOaV6v1CmbusXoOZvGRAVYygms9qNeUF7/B8/iDNGSKjlxHE5LVOLRtJO/B9ndZnr6RkL326ceyng==", - "dependencies": { - "@react-aria/checkbox": "^3.2.1", - "@react-aria/utils": "^3.6.0", - "@react-native-aria/toggle": "^0.2.3", - "@react-native-aria/utils": "^0.2.6", - "@react-stately/toggle": "^3.2.1" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-aria/combobox": { - "version": "0.2.4-alpha.1", - "resolved": "https://registry.npmjs.org/@react-native-aria/combobox/-/combobox-0.2.4-alpha.1.tgz", - "integrity": "sha512-MOxKMKVus9MsOL3l+mNRDYHeVr5kj5fYnretLofWh/dHBO2W5H7H70ZfOPDEr9s+vgaBBjHCtbbfOiimKRk6Kg==", - "dependencies": { - "@react-aria/combobox": "^3.0.0-alpha.1", - "@react-aria/live-announcer": "^3.0.0-alpha.0", - "@react-aria/overlays": "^3.6.1", - "@react-aria/utils": "^3.6.0", - "@react-native-aria/utils": "^0.2.6", - "@react-types/button": "^3.3.1" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-aria/focus": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@react-native-aria/focus/-/focus-0.2.8.tgz", - "integrity": "sha512-1dIby+o37J2m4oV59TkjlirOXvn5SWtr8Z2dYkHvPe8oip8pEzH/jIl8uXFyvQJmRYA9n7Ju5ucThJJ/4Py8hw==", - "dependencies": { - "@react-aria/focus": "^3.2.3" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-aria/interactions": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@react-native-aria/interactions/-/interactions-0.2.10.tgz", - "integrity": "sha512-J0Scz4ndwaqa13e7XwwKRx0jXhVCUAmT/i1udVYyXW/rANAXnnAxuWJDWuZOO/XiQ5eoN7OqIlYUkJG4NnDUOA==", - "dependencies": { - "@react-aria/interactions": "^3.3.2", - "@react-aria/utils": "^3.6.0", - "@react-native-aria/utils": "^0.2.6" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-aria/listbox": { - "version": "0.2.4-alpha.3", - "resolved": "https://registry.npmjs.org/@react-native-aria/listbox/-/listbox-0.2.4-alpha.3.tgz", - "integrity": "sha512-e/y+Wdoyy/PbpFj4DVYDYMsKI+uUqnZ/0yLByqHQvzs8Ys8o69CQkyEYzHhxvFT5lCLegkLbuQN2cJd8bYNQsA==", - "dependencies": { - "@react-aria/interactions": "^3.3.2", - "@react-aria/label": "^3.1.1", - "@react-aria/listbox": "^3.2.4", - "@react-aria/selection": "^3.3.2", - "@react-aria/utils": "^3.6.0", - "@react-native-aria/interactions": "^0.2.2", - "@react-native-aria/utils": "^0.2.6", - "@react-types/listbox": "^3.1.1", - "@react-types/shared": "^3.4.0" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-aria/overlays": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/@react-native-aria/overlays/-/overlays-0.3.7.tgz", - "integrity": "sha512-R0egaQoQtwMG6HA4hAoLFHcQOMLfv2WBIjPdnF6OJHxqFW2+Kzw9j2WqwjV90/cP1evU/iWnzKX48ed83xAh9Q==", - "dependencies": { - "@react-aria/interactions": "^3.3.2", - "@react-aria/overlays": "^3.7.0", - "@react-native-aria/utils": "^0.2.8", - "@react-stately/overlays": "^3.1.1", - "@react-types/overlays": "^3.4.0", - "dom-helpers": "^5.0.0" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-aria/radio": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@react-native-aria/radio/-/radio-0.2.5.tgz", - "integrity": "sha512-kTfCjRMZH+Z2C70VxjomPO8eXBcHPa5zcuOUotyhR10WsrKZJlwwnA75t2xDq8zsxKnABJRfThv7rSlAjkFSeg==", - "dependencies": { - "@react-aria/radio": "^3.1.2", - "@react-aria/utils": "^3.6.0", - "@react-native-aria/interactions": "^0.2.3", - "@react-native-aria/utils": "^0.2.6", - "@react-stately/radio": "^3.2.1", - "@react-types/radio": "^3.1.1" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-aria/slider": { - "version": "0.2.5-alpha.2", - "resolved": "https://registry.npmjs.org/@react-native-aria/slider/-/slider-0.2.5-alpha.2.tgz", - "integrity": "sha512-eYCAGEgcmgs2x5yC1q3edq/VpZWd8P9x1ZoB6uhiyIpDViTDFTz82IWTK0jrbHC70WxWfoY+876VjiKzbjyNxw==", - "dependencies": { - "@react-aria/focus": "^3.2.3", - "@react-aria/interactions": "^3.3.2", - "@react-aria/label": "^3.1.1", - "@react-aria/slider": "^3.0.1", - "@react-aria/utils": "^3.6.0", - "@react-native-aria/utils": "^0.2.6", - "@react-stately/slider": "^3.0.1" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-aria/tabs": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@react-native-aria/tabs/-/tabs-0.2.8.tgz", - "integrity": "sha512-coAiaj9NFFh8vYr/kiugqLwip8IhB6m2dL/GXPcmbK0WH531pIPXKSwgePjniETJtEP84L4PYCTZ705pRlVN8A==", - "dependencies": { - "@react-aria/selection": "^3.3.1", - "@react-aria/tabs": "3.0.0-alpha.2", - "@react-native-aria/interactions": "^0.2.7", - "@react-native-aria/utils": "^0.2.7", - "@react-stately/tabs": "3.0.0-alpha.1", - "@react-types/tabs": "3.0.0-alpha.2" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-aria/tabs/node_modules/@react-aria/tabs": { - "version": "3.0.0-alpha.2", - "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.0.0-alpha.2.tgz", - "integrity": "sha512-yHpz1HujxBcMq8e4jrHkkowzrJwuVyssCB+DuA91kt6LC0eIMZsDZY9tEhhOq+TyOhI3nbyXaDKJG6y1qB0A5A==", - "dependencies": { - "@babel/runtime": "^7.6.2", - "@react-aria/i18n": "^3.2.0", - "@react-aria/interactions": "^3.3.2", - "@react-aria/selection": "^3.3.1", - "@react-aria/utils": "^3.4.1", - "@react-stately/list": "^3.2.2", - "@react-stately/tabs": "3.0.0-alpha.0", - "@react-types/shared": "^3.2.1", - "@react-types/tabs": "3.0.0-alpha.2" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" - } - }, - "node_modules/@react-native-aria/tabs/node_modules/@react-aria/tabs/node_modules/@react-stately/tabs": { - "version": "3.0.0-alpha.0", - "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.0.0-alpha.0.tgz", - "integrity": "sha512-QJZ9N7DT89RkP18btvQhJvxWuv/JkSwtm14ftfk+5LBbzyxyLsD2KP6jDrNhXgmkRMmIyEaMt2w2VmI6fQ6UAA==", - "dependencies": { - "@babel/runtime": "^7.6.2", - "@react-stately/list": "^3.2.2", - "@react-stately/utils": "^3.0.0-alpha.1", - "@react-types/tabs": "3.0.0-alpha.2" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" - } - }, - "node_modules/@react-native-aria/tabs/node_modules/@react-stately/tabs": { - "version": "3.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.0.0-alpha.1.tgz", - "integrity": "sha512-aEG5lVLqmfx7A/dS5gkPXmD2ERAo69RtC0aHPo/Dw1XjzalYyo6QbQ5WtiuQxsCVx/naWGEJCcMEAD5/vt+cUQ==", - "dependencies": { - "@babel/runtime": "^7.6.2", - "@react-stately/list": "^3.2.2", - "@react-stately/utils": "^3.2.0", - "@react-types/tabs": "3.0.0-alpha.2" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" - } - }, - "node_modules/@react-native-aria/tabs/node_modules/@react-types/tabs": { - "version": "3.0.0-alpha.2", - "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.0.0-alpha.2.tgz", - "integrity": "sha512-HQNS2plzuNhKPo88OGEW2Ja9aLeiWqgNqEemSxh0KAjkA8IsvDGaoQEpr9ZQIyBZ3PQIljvOpEJ/IwHU5LztrQ==", - "dependencies": { - "@react-types/shared": "^3.2.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" - } - }, - "node_modules/@react-native-aria/toggle": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@react-native-aria/toggle/-/toggle-0.2.3.tgz", - "integrity": "sha512-3aOlchMxpR0b2h3Z7V0aYZaQMVJD6uKOWKWJm82VsLrni4iDnDX/mLv30ujuuK3+LclUhVlJd2kRuCl+xnf3XQ==", - "dependencies": { - "@react-aria/focus": "^3.2.3", - "@react-aria/utils": "^3.6.0", - "@react-native-aria/interactions": "^0.2.3", - "@react-native-aria/utils": "^0.2.6", - "@react-stately/toggle": "^3.2.1", - "@react-types/checkbox": "^3.2.1" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-aria/utils": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@react-native-aria/utils/-/utils-0.2.8.tgz", - "integrity": "sha512-x375tG1itv3irLFRnURLsdK2djuvhFJHizSDUtLCo8skQwfjslED5t4sUkQ49di4G850gaVJz0fCcCx/pHX7CA==", - "dependencies": { - "@react-aria/ssr": "^3.0.1", - "@react-aria/utils": "^3.3.0" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-native-community/cli": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.2.tgz", - "integrity": "sha512-aZVcVIqj+OG6CrliR/Yn8wHxrvyzbFBY9cj7n0MvRw/P54QUru2nNqUTSSbqv0Qaa297yHJbe6kFDojDMSTM8Q==", - "dependencies": { - "@react-native-community/cli-clean": "^10.1.1", - "@react-native-community/cli-config": "^10.1.1", - "@react-native-community/cli-debugger-ui": "^10.0.0", - "@react-native-community/cli-doctor": "^10.2.2", - "@react-native-community/cli-hermes": "^10.2.0", - "@react-native-community/cli-plugin-metro": "^10.2.2", - "@react-native-community/cli-server-api": "^10.1.1", - "@react-native-community/cli-tools": "^10.1.1", - "@react-native-community/cli-types": "^10.0.0", - "chalk": "^4.1.2", - "commander": "^9.4.1", - "execa": "^1.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "graceful-fs": "^4.1.3", - "prompts": "^2.4.0", - "semver": "^6.3.0" - }, - "bin": { - "react-native": "build/bin.js" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@react-native-community/cli-clean": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-10.1.1.tgz", - "integrity": "sha512-iNsrjzjIRv9yb5y309SWJ8NDHdwYtnCpmxZouQDyOljUdC9MwdZ4ChbtA4rwQyAwgOVfS9F/j56ML3Cslmvrxg==", - "dependencies": { - "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", - "execa": "^1.0.0", - "prompts": "^2.4.0" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli-clean/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-config": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-10.1.1.tgz", - "integrity": "sha512-p4mHrjC+s/ayiNVG6T35GdEGdP6TuyBUg5plVGRJfTl8WT6LBfLYLk+fz/iETrEZ/YkhQIsQcEUQC47MqLNHog==", - "dependencies": { - "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", - "cosmiconfig": "^5.1.0", - "deepmerge": "^3.2.0", - "glob": "^7.1.3", - "joi": "^17.2.1" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-debugger-ui": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-10.0.0.tgz", - "integrity": "sha512-8UKLcvpSNxnUTRy8CkCl27GGLqZunQ9ncGYhSrWyKrU9SWBJJGeZwi2k2KaoJi5FvF2+cD0t8z8cU6lsq2ZZmA==", - "dependencies": { - "serve-static": "^1.13.1" - } - }, - "node_modules/@react-native-community/cli-doctor": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-10.2.5.tgz", - "integrity": "sha512-1YbzXvsldBmSw1MmBsXB74bKiHXKNCjlb2ByLgkfTiarpSvETYam3g5vex0N+qc0Cdkzkq+8NznE744LFhnUpw==", - "dependencies": { - "@react-native-community/cli-config": "^10.1.1", - "@react-native-community/cli-platform-ios": "^10.2.5", - "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", - "command-exists": "^1.2.8", - "envinfo": "^7.7.2", - "execa": "^1.0.0", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5", - "node-stream-zip": "^1.9.1", - "ora": "^5.4.1", - "prompts": "^2.4.0", - "semver": "^6.3.0", - "strip-ansi": "^5.2.0", - "sudo-prompt": "^9.0.0", - "wcwidth": "^1.0.1" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/@react-native-community/cli-platform-ios": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.5.tgz", - "integrity": "sha512-hq+FZZuSBK9z82GLQfzdNDl8vbFx5UlwCLFCuTtNCROgBoapFtVZQKRP2QBftYNrQZ0dLAb01gkwxagHsQCFyg==", - "dependencies": { - "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", - "execa": "^1.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli-doctor/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/sudo-prompt": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", - "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==" - }, - "node_modules/@react-native-community/cli-doctor/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-hermes": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-10.2.0.tgz", - "integrity": "sha512-urfmvNeR8IiO/Sd92UU3xPO+/qI2lwCWQnxOkWaU/i2EITFekE47MD6MZrfVulRVYRi5cuaFqKZO/ccOdOB/vQ==", - "dependencies": { - "@react-native-community/cli-platform-android": "^10.2.0", - "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", - "hermes-profile-transformer": "^0.0.6", - "ip": "^1.1.5" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli-hermes/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-platform-android": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-10.2.0.tgz", - "integrity": "sha512-CBenYwGxwFdObZTn1lgxWtMGA5ms2G/ALQhkS+XTAD7KHDrCxFF9yT/fnAjFZKM6vX/1TqGI1RflruXih3kAhw==", - "dependencies": { - "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", - "execa": "^1.0.0", - "glob": "^7.1.3", - "logkitty": "^0.7.1" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-platform-android/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-platform-ios": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.1.tgz", - "integrity": "sha512-hz4zu4Y6eyj7D0lnZx8Mf2c2si8y+zh/zUTgCTaPPLzQD8jSZNNBtUUiA1cARm2razpe8marCZ1QbTMAGbf3mg==", - "dependencies": { - "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", - "execa": "^1.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-platform-ios/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-plugin-metro": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.3.tgz", - "integrity": "sha512-jHi2oDuTePmW4NEyVT8JEGNlIYcnFXCSV2ZMp4rnDrUk4TzzyvS3IMvDlESEmG8Kry8rvP0KSUx/hTpy37Sbkw==", - "dependencies": { - "@react-native-community/cli-server-api": "^10.1.1", - "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", - "execa": "^1.0.0", - "metro": "0.73.10", - "metro-config": "0.73.10", - "metro-core": "0.73.10", - "metro-react-native-babel-transformer": "0.73.10", - "metro-resolver": "0.73.10", - "metro-runtime": "0.73.10", - "readline": "^1.3.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-react-native-babel-preset": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.10.tgz", - "integrity": "sha512-1/dnH4EHwFb2RKEKx34vVDpUS3urt2WEeR8FYim+ogqALg4sTpG7yeQPxWpbgKATezt4rNfqAANpIyH19MS4BQ==", - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "react-refresh": "^0.4.0" - }, - "peerDependencies": { - "@babel/core": "*" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-react-native-babel-transformer": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.10.tgz", - "integrity": "sha512-4G/upwqKdmKEjmsNa92/NEgsOxUWOygBVs+FXWfXWKgybrmcjh3NoqdRYrROo9ZRA/sB9Y/ZXKVkWOGKHtGzgg==", - "dependencies": { - "@babel/core": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "hermes-parser": "0.8.0", - "metro-babel-transformer": "0.73.10", - "metro-react-native-babel-preset": "0.73.10", - "metro-source-map": "0.73.10", - "nullthrows": "^1.1.1" - }, - "peerDependencies": { - "@babel/core": "*" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", - "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", - "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-source-map": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", - "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", - "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.73.10", - "nullthrows": "^1.1.1", - "ob1": "0.73.10", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/ob1": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", - "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@react-native-community/cli-plugin-metro/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-server-api": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-10.1.1.tgz", - "integrity": "sha512-NZDo/wh4zlm8as31UEBno2bui8+ufzsZV+KN7QjEJWEM0levzBtxaD+4je0OpfhRIIkhaRm2gl/vVf7OYAzg4g==", - "dependencies": { - "@react-native-community/cli-debugger-ui": "^10.0.0", - "@react-native-community/cli-tools": "^10.1.1", - "compression": "^1.7.1", - "connect": "^3.6.5", - "errorhandler": "^1.5.0", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", - "ws": "^7.5.1" - } - }, - "node_modules/@react-native-community/cli-server-api/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@react-native-community/cli-tools": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-10.1.1.tgz", - "integrity": "sha512-+FlwOnZBV+ailEzXjcD8afY2ogFEBeHOw/8+XXzMgPaquU2Zly9B+8W089tnnohO3yfiQiZqkQlElP423MY74g==", - "dependencies": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", - "find-up": "^5.0.0", - "mime": "^2.4.1", - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "ora": "^5.4.1", - "semver": "^6.3.0", - "shell-quote": "^1.7.3" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli-tools/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/open": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", - "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli-types": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-10.0.0.tgz", - "integrity": "sha512-31oUM6/rFBZQfSmDQsT1DX/5fjqfxg7sf2u8kTPJK7rXVya5SRpAMaCXsPAG0omsmJxXt+J9HxUi3Ic+5Ux5Iw==", - "dependencies": { - "joi": "^17.2.1" - } - }, - "node_modules/@react-native-community/cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@react-native-community/cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@react-native-community/cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@react-native-community/cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@react-native-community/cli/node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/@react-native-community/cli/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-native-community/cli/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@react-native-community/datetimepicker": { - "version": "6.7.5", - "resolved": "https://registry.npmjs.org/@react-native-community/datetimepicker/-/datetimepicker-6.7.5.tgz", - "integrity": "sha512-E2Zh6mwvZ6CFEMKP++rdxxjJiB45fYPpdZhJwdZ2vUVwqovqu1cQRDLZmz4XrcHSyuacgR4WUnkYFf0F2nnNIg==", - "dependencies": { - "invariant": "^2.2.4" - } - }, - "node_modules/@react-native-community/masked-view": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz", - "integrity": "sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw==", - "deprecated": "Repository was moved to @react-native-masked-view/masked-view", - "peerDependencies": { - "react": ">=16.0", - "react-native": ">=0.57" - } - }, - "node_modules/@react-native/assets": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", - "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" - }, - "node_modules/@react-native/normalize-color": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz", - "integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==" - }, - "node_modules/@react-native/polyfills": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-2.0.0.tgz", - "integrity": "sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==" - }, - "node_modules/@react-native/virtualized-lists": { - "version": "0.72.8", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz", - "integrity": "sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw==", - "dependencies": { - "invariant": "^2.2.4", - "nullthrows": "^1.1.1" - }, - "peerDependencies": { - "react-native": "*" - } - }, - "node_modules/@react-navigation/core": { - "version": "6.4.9", - "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.9.tgz", - "integrity": "sha512-G9GH7bP9x0qqupxZnkSftnkn4JoXancElTvFc8FVGfEvxnxP+gBo3wqcknyBi7M5Vad4qecsYjCOa9wqsftv9g==", - "dependencies": { - "@react-navigation/routers": "^6.1.9", - "escape-string-regexp": "^4.0.0", - "nanoid": "^3.1.23", - "query-string": "^7.1.3", - "react-is": "^16.13.0", - "use-latest-callback": "^0.1.5" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/@react-navigation/core/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-navigation/core/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/@react-navigation/elements": { - "version": "1.3.18", - "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.18.tgz", - "integrity": "sha512-/0hwnJkrr415yP0Hf4PjUKgGyfshrvNUKFXN85Mrt1gY49hy9IwxZgrrxlh0THXkPeq8q4VWw44eHDfAcQf20Q==", - "peerDependencies": { - "@react-navigation/native": "^6.0.0", - "react": "*", - "react-native": "*", - "react-native-safe-area-context": ">= 3.0.0" - } - }, - "node_modules/@react-navigation/native": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.7.tgz", - "integrity": "sha512-W6E3+AtTombMucCRo6q7vPmluq8hSjS+IxfazJ/SokOe7ChJX7eLvvralIsJkjFj3iWV1KgOSnHxa6hdiFasBw==", - "dependencies": { - "@react-navigation/core": "^6.4.9", - "escape-string-regexp": "^4.0.0", - "fast-deep-equal": "^3.1.3", - "nanoid": "^3.1.23" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@react-navigation/native/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@react-navigation/routers": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.9.tgz", - "integrity": "sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA==", - "dependencies": { - "nanoid": "^3.1.23" - } - }, - "node_modules/@react-navigation/stack": { - "version": "6.3.17", - "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-6.3.17.tgz", - "integrity": "sha512-8/8ZvJROK3fp6PRmQ9MrXd9epBowA8NkfCaWW/N9H5arqwNX9lTXAkmcjicRhjpX+UNlMBR9dTLkWvPRe2vY9A==", - "dependencies": { - "@react-navigation/elements": "^1.3.18", - "color": "^4.2.3", - "warn-once": "^0.1.0" - }, - "peerDependencies": { - "@react-navigation/native": "^6.0.0", - "react": "*", - "react-native": "*", - "react-native-gesture-handler": ">= 1.0.0", - "react-native-safe-area-context": ">= 3.0.0", - "react-native-screens": ">= 3.0.0" - } - }, - "node_modules/@react-stately/checkbox": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.5.0.tgz", - "integrity": "sha512-DSSC5nXd9P07ddyDZ6FBwaMAypURCwCRhC8kli5MNRF8/KCDJxWOpWe6LDRXeDgA6EN7ExE1deb8gydIrYmUOw==", - "dependencies": { - "@react-stately/toggle": "^3.6.2", - "@react-stately/utils": "^3.7.0", - "@react-types/checkbox": "^3.5.1", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/collections": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.10.1.tgz", - "integrity": "sha512-C9FPqoQUt7NeCmmP8uabQXapcExBOTA3PxlnUw+Nq3+eWH1gOi93XWXL26L8/3OQpkvAbUcyrTXhCybLk4uMAg==", - "dependencies": { - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/combobox": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.7.0.tgz", - "integrity": "sha512-tkPgv2cDS5wfkPVrA5Jffpi9kxUnsFuvk/T1VZXYt1ItAsxy7IGli+JwHYFgTqadDyF+yRNMj5QYRY0mnbIxrg==", - "dependencies": { - "@react-stately/collections": "^3.10.1", - "@react-stately/list": "^3.9.2", - "@react-stately/menu": "^3.5.5", - "@react-stately/select": "^3.5.4", - "@react-stately/utils": "^3.7.0", - "@react-types/combobox": "^3.8.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/flags": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.0.0.tgz", - "integrity": "sha512-e3i2ItHbIa0eEwmSXAnPdD7K8syW76JjGe8ENxwFJPW/H1Pu9RJfjkCb/Mq0WSPN/TpxBb54+I9TgrGhbCoZ9w==", - "dependencies": { - "@swc/helpers": "^0.4.14" - } - }, - "node_modules/@react-stately/flags/node_modules/@swc/helpers": { - "version": "0.4.36", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.36.tgz", - "integrity": "sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q==", - "dependencies": { - "legacy-swc-helpers": "npm:@swc/helpers@=0.4.14", - "tslib": "^2.4.0" - } - }, - "node_modules/@react-stately/grid": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.8.1.tgz", - "integrity": "sha512-7eKPoES4eKD7JU9UXcRGVKZ/auaD5F/srVhkWjygKcJ2ibt48N0dh6JwPqPoxzqApUX0DuUjebL9hCRgagEvdQ==", - "dependencies": { - "@react-stately/collections": "^3.10.1", - "@react-stately/selection": "^3.13.4", - "@react-types/grid": "^3.2.1", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/layout": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/@react-stately/layout/-/layout-3.13.1.tgz", - "integrity": "sha512-gJNK1bpnrWNHz/uhTg7OpVFuSyLdYwqNjXt2He+i66/lZ6TG36smsi9MYtTYdC72Js5rsA9ngWtfhNpQ9bMeCQ==", - "dependencies": { - "@react-stately/collections": "^3.10.1", - "@react-stately/table": "^3.11.1", - "@react-stately/virtualizer": "^3.6.2", - "@react-types/grid": "^3.2.1", - "@react-types/shared": "^3.20.0", - "@react-types/table": "^3.8.1", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/list": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.9.2.tgz", - "integrity": "sha512-1PBnQ3UFSeKe2Jk4kYZM/11uzQsNEs098tbEkqR3JJwYzJ4htjdd1I0P9Z2INFWiHw071OJD18Ynbbz90jMldw==", - "dependencies": { - "@react-stately/collections": "^3.10.1", - "@react-stately/selection": "^3.13.4", - "@react-stately/utils": "^3.7.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/menu": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.5.5.tgz", - "integrity": "sha512-5IW26YURvwCs2a0n6PwlGOZ1K+M5xwfgR/q6mbQPfbZGZG6a14buHTHK8kISHAl2hHFcn0TV6yRYDmw2nxTM0A==", - "dependencies": { - "@react-stately/overlays": "^3.6.2", - "@react-stately/utils": "^3.7.0", - "@react-types/menu": "^3.9.4", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/overlays": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.2.tgz", - "integrity": "sha512-iIU/xtYEzG91abHFHqe8LL53ZrDDo8kblfdA7TTZwrtxZhQHU3AbT0pLc3BNe3sXmJspxuI1nS1cszcRlSuDww==", - "dependencies": { - "@react-stately/utils": "^3.7.0", - "@react-types/overlays": "^3.8.2", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/radio": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.9.0.tgz", - "integrity": "sha512-Q2vt5VjxLbsvbMWQmDqwm9JUJ3fkmUEzSBUOSYOkUcBchnzUunpaMe3nQjbJLekIWolubsVaE3bTxCKvY8hGZA==", - "dependencies": { - "@react-stately/utils": "^3.7.0", - "@react-types/radio": "^3.5.1", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/select": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.5.4.tgz", - "integrity": "sha512-CO+5ORMwx/nEKAf7285S3QRAWLJlD1TZPKosO5ND87SZt9j6LKTyJjsT5IYcny8W/ejFOKg5VP4evYNkd5ZtEQ==", - "dependencies": { - "@react-stately/collections": "^3.10.1", - "@react-stately/list": "^3.9.2", - "@react-stately/menu": "^3.5.5", - "@react-stately/selection": "^3.13.4", - "@react-stately/utils": "^3.7.0", - "@react-types/select": "^3.8.3", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/selection": { - "version": "3.13.4", - "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.13.4.tgz", - "integrity": "sha512-agxSYVi70zSDSKuAXx4GdD8aG5RWFs1djcrLsQybtkFV2hUMrjipfvPfNYz56ITtz6qj5Dq2eXOZpSEAR6EfOg==", - "dependencies": { - "@react-stately/collections": "^3.10.1", - "@react-stately/utils": "^3.7.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/slider": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.4.2.tgz", - "integrity": "sha512-3Acil4Pu1aQnTGYUcGCeO7gO7C6LpmUCwjnjcRlJbYf1VibLWrMC+EGYKcha+2dsXYAvvsI4HD6Zuf5HmFkomA==", - "dependencies": { - "@react-aria/i18n": "^3.8.2", - "@react-aria/utils": "^3.20.0", - "@react-stately/utils": "^3.7.0", - "@react-types/shared": "^3.20.0", - "@react-types/slider": "^3.6.1", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/table": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.11.1.tgz", - "integrity": "sha512-iI0IeEmg91bwR/2UX2PTB8k34MrfxlMVD/XlZ+6XWQGjXftdeB8QNKDAClWMZwQmYA7HTq6bLvP2CochJ68k5w==", - "dependencies": { - "@react-stately/collections": "^3.10.1", - "@react-stately/flags": "^3.0.0", - "@react-stately/grid": "^3.8.1", - "@react-stately/selection": "^3.13.4", - "@react-stately/utils": "^3.7.0", - "@react-types/grid": "^3.2.1", - "@react-types/shared": "^3.20.0", - "@react-types/table": "^3.8.1", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/toggle": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.6.2.tgz", - "integrity": "sha512-O+0XtIjRX9YgAwNRhSdX2qi49PzY4eGL+F326jJfqc17HU3Qm6+nfqnODuxynpk1gw79sZr7AtROSXACTVueMQ==", - "dependencies": { - "@react-stately/utils": "^3.7.0", - "@react-types/checkbox": "^3.5.1", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/tree": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.7.2.tgz", - "integrity": "sha512-Re18E7Tfu01xjZXEDZlFwibAomD7PHGZ9cFNTkRysA208uhKVrVVfh+8vvar4c9ybTGUWk5tT6zz+hslGBuLVQ==", - "dependencies": { - "@react-stately/collections": "^3.10.1", - "@react-stately/selection": "^3.13.4", - "@react-stately/utils": "^3.7.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/utils": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.7.0.tgz", - "integrity": "sha512-VbApRiUV2rhozOfk0Qj9xt0qjVbQfLTgAzXLdrfeZSBnyIgo1bFRnjDpnDZKZUUCeGQcJJI03I9niaUtY+kwJQ==", - "dependencies": { - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-stately/virtualizer": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-3.6.2.tgz", - "integrity": "sha512-BM7h7AlJNEB/X6XlMLlUoqye4SCGFmHiOIwEtha3QfJA52O1/0lgzD9yj5cLbdQPwZNmFH4R95b/OHqSIpgEBw==", - "dependencies": { - "@react-aria/utils": "^3.20.0", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/button": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.8.0.tgz", - "integrity": "sha512-hVVK5iWXhDYQZwxOBfN7nQDeFQ4Pp48uYclQbXWz8D74XnuGtiUziGR008ioLXRHf47dbIPLF1QHahsCOhh05g==", - "dependencies": { - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/checkbox": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.5.1.tgz", - "integrity": "sha512-7iQqBRnpNC/k8ztCC+gNGTKpTWj6yJijXPKJ8UduqPNuJ0mIqWgk7DJDBuIG0cVvnenTNxYuOL6mt3dgdcEj9w==", - "dependencies": { - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/combobox": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.8.0.tgz", - "integrity": "sha512-P1LDS283OegZGnRJcpJhDAbX0JE8cnW4FzIP04GJWzF9fSf/GrlrLEDt4VTXKXxtdLWy3T+H4gmAYO10ZZVmBQ==", - "dependencies": { - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/grid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.2.1.tgz", - "integrity": "sha512-diliZjyTyNeJDR+5rfh9RRNeM8KFOSaFARkbO42j11CteN1Rpo66x2R53xM+0BO63rCUGrJ8RAg2E4BCp7al6w==", - "dependencies": { - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/label": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/@react-types/label/-/label-3.8.0.tgz", - "integrity": "sha512-hZTSguqyblAF83kLImjxw46DywRMpSihkP1829T8N2I/i8oFSu74OYBJ8woklk26AOUMDJ4NFTdimdqWVMdRcQ==", - "dependencies": { - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/listbox": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.4.4.tgz", - "integrity": "sha512-c0FFM73tGZZ5AV9Yu5/Vd/cji5AVcI2QZvs4+mpRcSpzH3zSCVvVLr7GayZFS70tYQVPLHFH2E202wLxoiLK9A==", - "dependencies": { - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/menu": { - "version": "3.9.4", - "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.4.tgz", - "integrity": "sha512-8OnPQHMPZw126TuLi21IuHWMbGOqoWZa+0uJCg2gI+Xpe1F0dRK/DNzCIKkGl1EXgZATJbRC3NcxyZlWti+/EQ==", - "dependencies": { - "@react-types/overlays": "^3.8.2", - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/overlays": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.2.tgz", - "integrity": "sha512-HpLYzkNvuvC6nKd06vF9XbcLLv3u55+e7YUFNVpgWq8yVxcnduOcJdRJhPaAqHUl6iVii04mu1GKnCFF8jROyQ==", - "dependencies": { - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/radio": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.5.1.tgz", - "integrity": "sha512-jPF8zt+XdgW9DaTvB5ZYCh0uk7DVko1VZ/jOlCRs82w3P884Wc7MMpwdl1T5PBdhtLcdr+xjM1YI6/31reIBfQ==", - "dependencies": { - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/select": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.8.3.tgz", - "integrity": "sha512-x0x/qJq48QqVnBXFqvPaiS/TQOmCIL9ZmzM4AzRtYMU++kxjy3L03cdnzDBmxKN+KkfDn7OU++vKI44ksgTCRA==", - "dependencies": { - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/shared": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.20.0.tgz", - "integrity": "sha512-lgTO/S/EMIZKU1EKTg8wT0qYP5x/lZTK2Xw6BZZk5c4nn36JYhGCRb/OoR/jBCIeRb2x9yNbwERO6NYVkoQMSw==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/slider": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.6.1.tgz", - "integrity": "sha512-K234amXGLfDekJOQimhPpd2OE14Set7+LrzZZx1ut5ayIK3QgeneUqaybQcB7plfO1thNaAoDOy7JPqZ13k1JA==", - "dependencies": { - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/switch": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.4.1.tgz", - "integrity": "sha512-2XfPsu2Yiap+pthO2rvCNlLjzo9mDejrYY3rsYMw/jLzCHvuR8Xe2/l01svHcq3pVuNIMElqZR4vTq9OvGNBnQ==", - "dependencies": { - "@react-types/checkbox": "^3.5.1", - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/table": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.8.1.tgz", - "integrity": "sha512-zUZ0jTnTBz0JWhnbz7U0LnnKqGhPvmQz+xyADrBIrgj8hk1jQdWNTwAFwqUg8uaReSy+9b3jjPPNOnpTu9DmgA==", - "dependencies": { - "@react-types/grid": "^3.2.1", - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@react-types/textfield": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.8.0.tgz", - "integrity": "sha512-KRIEiIaB7pi0VlyOXNv39qeY0nBVmaXHwReCmEktQxKtXQ5lbEU6pvbc6srMZIplJffutQCZSXAucw/2ewLLVQ==", - "dependencies": { - "@react-types/shared": "^3.20.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } - }, - "node_modules/@segment/loosely-validate-event": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz", - "integrity": "sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==", - "dependencies": { - "component-type": "^1.2.1", - "join-component": "^1.1.0" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@swc/helpers": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", - "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/hammerjs": { - "version": "2.0.41", - "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.41.tgz", - "integrity": "sha512-ewXv/ceBaJprikMcxCmWU1FKyMAQ2X7a9Gtmzw8fcg2kIePI1crERDM818W+XYrxqdBBOdlf2rm137bU+BltCA==" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "node_modules/@types/node": { - "version": "20.3.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.3.tgz", - "integrity": "sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "node_modules/@types/react": { - "version": "18.0.38", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.38.tgz", - "integrity": "sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-native": { - "version": "0.72.2", - "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.72.2.tgz", - "integrity": "sha512-/eEjr04Zqo7mTMszuSdrLx90+j5nWhDMMOgtnKZfAYyV3RwmlpSb7F17ilmMMxZWJY81n/JZ4e6wdhMJFpjrCg==", - "dependencies": { - "@react-native/virtualized-lists": "^0.72.4", - "@types/react": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, - "node_modules/@types/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==" - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "node_modules/@types/yargs": { - "version": "15.0.15", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", - "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@urql/core": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/@urql/core/-/core-2.3.6.tgz", - "integrity": "sha512-PUxhtBh7/8167HJK6WqBv6Z0piuiaZHQGYbhwpNL9aIQmLROPEdaUYkY4wh45wPQXcTpnd11l0q3Pw+TI11pdw==", - "dependencies": { - "@graphql-typed-document-node/core": "^3.1.0", - "wonka": "^4.0.14" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/@urql/exchange-retry": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-0.3.0.tgz", - "integrity": "sha512-hHqer2mcdVC0eYnVNbWyi28AlGOPb2vjH3lP3/Bc8Lc8BjhMsDwFMm7WhoP5C1+cfbr/QJ6Er3H/L08wznXxfg==", - "dependencies": { - "@urql/core": ">=2.3.1", - "wonka": "^4.0.14" - }, - "peerDependencies": { - "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" - } - }, - "node_modules/@xmldom/xmldom": { - "version": "0.7.11", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.11.tgz", - "integrity": "sha512-UDi3g6Jss/W5FnSzO9jCtQwEpfymt0M+sPPlmLhDH6h2TJ8j4ESE/LpmNPBij15J5NKkk4/cg/qoVMdWI3vnlQ==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/absolute-path": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", - "integrity": "sha512-HQiug4c+/s3WOvEnDRxXVmNtSG5s2gJM9r19BTcqjp7BWcE48PB+Y2G6jE65kqI0LpsQeMZygt/b60Gi4KxGyA==" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/anser": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", - "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==" - }, - "node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-fragments": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz", - "integrity": "sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==", - "dependencies": { - "colorette": "^1.0.7", - "slice-ansi": "^2.0.0", - "strip-ansi": "^5.0.0" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/appdirsjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz", - "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==" - }, - "node_modules/application-config-path": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.1.tgz", - "integrity": "sha512-zy9cHePtMP0YhwG+CfHm0bgwdnga2X3gZexpdCwEj//dpb+TKajtiC8REEUJUSq6Ab4f9cgNy2l8ObXzCXFkEw==" - }, - "node_modules/arg": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", - "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dependencies": { - "has-symbols": "^1.0.3" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-module-resolver": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz", - "integrity": "sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA==", - "dependencies": { - "find-babel-config": "^1.2.0", - "glob": "^7.1.6", - "pkg-up": "^3.1.0", - "reselect": "^4.0.0", - "resolve": "^1.13.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz", - "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==", - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.4.0", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz", - "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0", - "core-js-compat": "^3.30.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz", - "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-react-native-web": { - "version": "0.18.12", - "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.18.12.tgz", - "integrity": "sha512-4djr9G6fMdwQoD6LQ7hOKAm39+y12flWgovAqS1k5O8f42YQ3A1FFMyV5kKfetZuGhZO5BmNmOdRRZQ1TixtDw==" - }, - "node_modules/babel-plugin-syntax-trailing-function-commas": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", - "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" - }, - "node_modules/babel-preset-expo": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-9.3.2.tgz", - "integrity": "sha512-BjyvjwjJG0MaaDBLP/esbXRrAItM76po9L9zfnLxeqgFsHCIPmD+6ir45coDLGAXwR8m9It3G1yqYM9JPyemsQ==", - "dependencies": { - "@babel/plugin-proposal-decorators": "^7.12.9", - "@babel/plugin-proposal-object-rest-spread": "^7.12.13", - "@babel/plugin-transform-react-jsx": "^7.12.17", - "@babel/preset-env": "^7.20.0", - "babel-plugin-module-resolver": "^4.1.0", - "babel-plugin-react-native-web": "~0.18.10", - "metro-react-native-babel-preset": "0.73.9" - } - }, - "node_modules/babel-preset-fbjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", - "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", - "dependencies": { - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-syntax-class-properties": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.0.0", - "@babel/plugin-syntax-jsx": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-member-expression-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-object-super": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-property-literals": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/better-opn": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", - "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", - "dependencies": { - "open": "^8.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/blueimp-md5": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", - "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==" - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "node_modules/bplist-creator": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", - "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", - "dependencies": { - "stream-buffers": "2.2.x" - } - }, - "node_modules/bplist-parser": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz", - "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==", - "dependencies": { - "big-integer": "1.6.x" - }, - "engines": { - "node": ">= 5.10.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", - "dependencies": { - "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001512", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001512.tgz", - "integrity": "sha512-2S9nK0G/mE+jasCUsMPlARhRCts1ebcp2Ji8Y8PWi4NDE1iRdLCnEPHkEfeBrGC45L4isBx5ur3IQ6yTE2mRZw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", - "engines": { - "node": "*" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cliui/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, - "engines": { - "node": ">=12.5.0" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" - }, - "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "node_modules/component-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-type/-/component-type-1.2.1.tgz", - "integrity": "sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/core-js-compat": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.0.tgz", - "integrity": "sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==", - "dependencies": { - "browserslist": "^4.21.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", - "dependencies": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", - "engines": { - "node": "*" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/css-in-js-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz", - "integrity": "sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==", - "dependencies": { - "hyphenate-style-name": "^1.0.3" - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "node_modules/dag-map": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz", - "integrity": "sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==" - }, - "node_modules/dayjs": { - "version": "1.11.9", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz", - "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "node_modules/deepmerge": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", - "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defaults/node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/del/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/denodeify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", - "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==" - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/deprecated-react-native-prop-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-3.0.1.tgz", - "integrity": "sha512-J0jCJcsk4hMlIb7xwOZKLfMpuJn6l8UtrPEzzQV5ewz5gvKNYakhBuq9h2rWX7YwHHJZFhU5W8ye7dB9oN8VcQ==", - "dependencies": { - "@react-native/normalize-color": "*", - "invariant": "*", - "prop-types": "*" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.450", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.450.tgz", - "integrity": "sha512-BLG5HxSELlrMx7dJ2s+8SFlsCtJp37Zpk2VAxyC6CZtbc+9AJeZHfYHbrlSgdXp6saQ8StMqOTEDaBKgA7u1sw==" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/env-editor": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", - "integrity": "sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eol": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz", - "integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/errorhandler": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", - "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", - "dependencies": { - "accepts": "~1.3.7", - "escape-html": "~1.0.3" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.14.tgz", - "integrity": "sha512-JgtVnwiuoRuzLvqelrvN3Xu7H9bu2ap/kQ2CrM62iidP8SKuD99rWU3CJy++s7IVL2qb/AjXPGR/E7i9ngd/Cw==", - "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "iterator.prototype": "^1.1.0", - "safe-array-concat": "^1.0.0" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", - "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.49.0", - "@humanwhocodes/config-array": "^0.11.11", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-config-universe": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-universe/-/eslint-config-universe-11.3.0.tgz", - "integrity": "sha512-CL6v7IxV+OJn0q1vqtFVtX+sNUdY7MiIy3/XD0dy96D7RsDvYBWWqs4S1AIB4AdVgraNnv829q1+asluAePSSw==", - "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.50.0", - "@typescript-eslint/parser": "^5.50.0", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.31.11", - "eslint-plugin-react-hooks": "^4.6.0" - }, - "peerDependencies": { - "eslint": ">=8.10", - "prettier": ">=2.4" - }, - "peerDependenciesMeta": { - "prettier": { - "optional": true - } - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-es": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz", - "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==", - "dependencies": { - "eslint-utils": "^2.0.0", - "regexpp": "^3.0.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=4.19.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.28.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz", - "integrity": "sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.13.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", - "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/eslint/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/exec-async": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz", - "integrity": "sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==" - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/expo": { - "version": "48.0.20", - "resolved": "https://registry.npmjs.org/expo/-/expo-48.0.20.tgz", - "integrity": "sha512-SDRlLRINWWqf/OIPaUr/BsFZLhR5oEj1u9Cn06h1mPeo8pqv6ei/QTSZql4e0ixHIu3PWMPrUx9k/47nnTyTpg==", - "dependencies": { - "@babel/runtime": "^7.20.0", - "@expo/cli": "0.7.3", - "@expo/config": "8.0.5", - "@expo/config-plugins": "6.0.2", - "@expo/vector-icons": "^13.0.0", - "babel-preset-expo": "~9.3.2", - "cross-spawn": "^6.0.5", - "expo-application": "~5.1.1", - "expo-asset": "~8.9.1", - "expo-constants": "~14.2.1", - "expo-file-system": "~15.2.2", - "expo-font": "~11.1.1", - "expo-keep-awake": "~12.0.1", - "expo-modules-autolinking": "1.2.0", - "expo-modules-core": "1.2.7", - "fbemitter": "^3.0.0", - "getenv": "^1.0.0", - "invariant": "^2.2.4", - "md5-file": "^3.2.3", - "node-fetch": "^2.6.7", - "pretty-format": "^26.5.2", - "uuid": "^3.4.0" - }, - "bin": { - "expo": "bin/cli.js" - } - }, - "node_modules/expo-application": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-5.1.1.tgz", - "integrity": "sha512-aDatTcTTCdTbHw8h4/Tq2ilc6InM5ntF9xWCJdOcnUEcglxxGphVI/lzJKBaBF6mJECA8mEOjpVg2EGxOctTwg==", - "peerDependencies": { - "expo": "*" - } - }, - "node_modules/expo-asset": { - "version": "8.9.2", - "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-8.9.2.tgz", - "integrity": "sha512-aHMaZkIG5/UoguINEHm2ln/KviU2m/yuryslnhCKR3KXRxiLnMhxmrONLGbknuNE0O1iCaprrl1w3y71u01Rpw==", - "dependencies": { - "blueimp-md5": "^2.10.0", - "expo-constants": "~14.3.0", - "expo-file-system": "~15.3.0", - "invariant": "^2.2.4", - "md5-file": "^3.2.3", - "path-browserify": "^1.0.0", - "url-parse": "^1.5.9" - } - }, - "node_modules/expo-asset/node_modules/expo-constants": { - "version": "14.3.0", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-14.3.0.tgz", - "integrity": "sha512-O8b+mZlPXZGH4wLLd+jMihGD0ZSMJRSmSsmcG7T60jHU3Dw4yDIuzHM/wMoBoL1pxLIbEwvcwDj0w8c+Sn+1sQ==", - "dependencies": { - "@expo/config": "~8.0.0", - "uuid": "^3.3.2" - }, - "peerDependencies": { - "expo": "*" - } - }, - "node_modules/expo-asset/node_modules/expo-file-system": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-15.3.0.tgz", - "integrity": "sha512-YUvNZzZJlF5TZM+FoRW9biJPB7qEgZbGYm8xJpqnxpj70FkFhwwoKiXVduZk+KVNiIs7d0q7e+Jdvmcr+Id3FQ==", - "dependencies": { - "uuid": "^3.4.0" - }, - "peerDependencies": { - "expo": "*" - } - }, - "node_modules/expo-constants": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-14.2.1.tgz", - "integrity": "sha512-DD5u4QmBds2U7uYo409apV7nX+XjudARcgqe7S9aRFJ/6kyftmuxvk1DpaU4X42Av8z/tfKwEpuxl+vl7HHx/Q==", - "dependencies": { - "@expo/config": "~8.0.0", - "uuid": "^3.3.2" - }, - "peerDependencies": { - "expo": "*" - } - }, - "node_modules/expo-file-system": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-15.2.2.tgz", - "integrity": "sha512-LFkOLcWwlmnjkURxZ3/0ukS35OswX8iuQknLHRHeyk8mUA8fpRPPelD/a1lS+yclqfqavMJmTXVKM1Nsq5XVMA==", - "dependencies": { - "uuid": "^3.4.0" - }, - "peerDependencies": { - "expo": "*" - } - }, - "node_modules/expo-font": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-11.1.1.tgz", - "integrity": "sha512-X+aICqYY69hiiDDtcNrjq8KutHrH2TrHuMqk0Rfq0P7hF6hMd+YefwLBNkvIrqrgmTAuqiLjMUwj2rHLqmgluw==", - "dependencies": { - "fontfaceobserver": "^2.1.0" - }, - "peerDependencies": { - "expo": "*" - } - }, - "node_modules/expo-image-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/expo-image-loader/-/expo-image-loader-4.1.1.tgz", - "integrity": "sha512-ciEHVokU0f6w0eTxdRxLCio6tskMsjxWIoV92+/ZD37qePUJYMfEphPhu1sruyvMBNR8/j5iyOvPFVGTfO8oxA==", - "peerDependencies": { - "expo": "*" - } - }, - "node_modules/expo-image-picker": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/expo-image-picker/-/expo-image-picker-14.1.1.tgz", - "integrity": "sha512-SvWtnkLW7jp5Ntvk3lVcRQmhFYja8psmiR7O6P/+7S6f4llt3vaFwb4I3+pUXqJxxpi7BHc2+95qOLf0SFOIag==", - "dependencies": { - "expo-image-loader": "~4.1.0" - }, - "peerDependencies": { - "expo": "*" - } - }, - "node_modules/expo-keep-awake": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-12.0.1.tgz", - "integrity": "sha512-hqeCnb4033TyuZaXs93zTK7rjVJ3bywXATyMmKmKkLEsH2PKBAl/VmjlCOPQL/2Ncqz6aj7Wo//tjeJTARBD4g==", - "peerDependencies": { - "expo": "*" - } - }, - "node_modules/expo-modules-autolinking": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.2.0.tgz", - "integrity": "sha512-QOPh/iXykNDCAzUual1imSrn2aDakzCGUp2QmxVREr0llajXygroUWlT9sQXh1zKzbNp+a+i/xK375ZeBFiNJA==", - "dependencies": { - "chalk": "^4.1.0", - "commander": "^7.2.0", - "fast-glob": "^3.2.5", - "find-up": "^5.0.0", - "fs-extra": "^9.1.0" - }, - "bin": { - "expo-modules-autolinking": "bin/expo-modules-autolinking.js" - } - }, - "node_modules/expo-modules-autolinking/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/expo-modules-autolinking/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/expo-modules-autolinking/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/expo-modules-autolinking/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/expo-modules-autolinking/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/expo-modules-autolinking/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/expo-modules-autolinking/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/expo-modules-autolinking/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/expo-modules-autolinking/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/expo-modules-core": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.2.7.tgz", - "integrity": "sha512-sulqn2M8+tIdxi6QFkKppDEzbePAscgE2LEHocYoQOgHxJpeT7axE0Hkzc+81EeviQilZzGeFZMtNMGh3c9yJg==", - "dependencies": { - "compare-versions": "^3.4.0", - "invariant": "^2.2.4" - } - }, - "node_modules/expo-status-bar": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.4.4.tgz", - "integrity": "sha512-5DV0hIEWgatSC3UgQuAZBoQeaS9CqeWRZ3vzBR9R/+IUD87Adbi4FGhU10nymRqFXOizGsureButGZIXPs7zEA==" - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==" - }, - "node_modules/fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "node_modules/fast-loops": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.3.tgz", - "integrity": "sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==" - }, - "node_modules/fast-xml-parser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", - "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", - "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fbemitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", - "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", - "dependencies": { - "fbjs": "^3.0.0" - } - }, - "node_modules/fbjs": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", - "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", - "dependencies": { - "cross-fetch": "^3.1.5", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^1.0.35" - } - }, - "node_modules/fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - }, - "node_modules/fetch-retry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-4.1.1.tgz", - "integrity": "sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==" - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/filter-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", - "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/finalhandler/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/find-babel-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", - "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", - "dependencies": { - "json5": "^0.5.1", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/find-babel-config/node_modules/json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-up/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/find-yarn-workspace-root": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "dependencies": { - "micromatch": "^4.0.2" - } - }, - "node_modules/flat-cache": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", - "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", - "dependencies": { - "flatted": "^3.2.7", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "node_modules/flow-parser": { - "version": "0.185.2", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.185.2.tgz", - "integrity": "sha512-2hJ5ACYeJCzNtiVULov6pljKOLygy0zddoqSI1fFetM+XRPpRshFdGEijtqlamA1XwyZ+7rhryI6FQFzvtLWUQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/fontfaceobserver": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz", - "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==" - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/freeport-async": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/freeport-async/-/freeport-async-2.0.0.tgz", - "integrity": "sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getenv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/getenv/-/getenv-1.0.0.tgz", - "integrity": "sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" - }, - "node_modules/graphql": { - "version": "15.8.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", - "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/graphql-tag": { - "version": "2.12.6", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", - "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hermes-estree": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.8.0.tgz", - "integrity": "sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q==" - }, - "node_modules/hermes-parser": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.8.0.tgz", - "integrity": "sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA==", - "dependencies": { - "hermes-estree": "0.8.0" - } - }, - "node_modules/hermes-profile-transformer": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz", - "integrity": "sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==", - "dependencies": { - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/hosted-git-info": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", - "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/hyphenate-style-name": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", - "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", - "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==", - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", - "dependencies": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/inline-style-prefixer": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz", - "integrity": "sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==", - "dependencies": { - "css-in-js-utils": "^3.1.0", - "fast-loops": "^1.1.3" - } - }, - "node_modules/install": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", - "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/intl-messageformat": { - "version": "10.5.2", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.2.tgz", - "integrity": "sha512-X4rlUNbgCc8/RdMhmvUEEZ38yNDn5S4r0u8n8yQH2OOdhsR46SmOuQsCKG35nRXmL5u2nxPsNN6qNhHoMm6FMQ==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.17.2", - "@formatjs/fast-memoize": "2.2.0", - "@formatjs/icu-messageformat-parser": "2.6.2", - "tslib": "^2.4.0" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ip": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", - "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-invalid-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", - "integrity": "sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==", - "dependencies": { - "is-glob": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-invalid-path/node_modules/is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-invalid-path/node_modules/is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", - "dependencies": { - "is-extglob": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-valid-path": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", - "integrity": "sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==", - "dependencies": { - "is-invalid-path": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/iterator.prototype": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.1.tgz", - "integrity": "sha512-9E+nePc8C9cnQldmNl6bgpTY6zI4OPRZd97fhJ/iVZ1GifIUDVV5F6x1nEDqpe8KaMEZGT4xgrwKQDxXnjOIZQ==", - "dependencies": { - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.3" - } - }, - "node_modules/jest-environment-node": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.0.tgz", - "integrity": "sha512-BOf5Q2/nFCdBOnyBM5c5/6DbdQYgc+0gyUQ8l8qhUAB8O7pM+4QJXIXJsRZJaxd5SHV6y5VArTVhOfogoqcP8Q==", - "dependencies": { - "@jest/environment": "^29.6.0", - "@jest/fake-timers": "^29.6.0", - "@jest/types": "^29.6.0", - "@types/node": "*", - "jest-mock": "^29.6.0", - "jest-util": "^29.6.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-environment-node/node_modules/@jest/types": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.0.tgz", - "integrity": "sha512-8XCgL9JhqbJTFnMRjEAO+TuW251+MoMd5BSzLiE3vvzpQ8RlBxy8NoyNkDhs3K3OL3HeVinlOl9or5p7GTeOLg==", - "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-environment-node/node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-environment-node/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-environment-node/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-environment-node/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-environment-node/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-environment-node/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-node/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-message-util": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.0.tgz", - "integrity": "sha512-mkCp56cETbpoNtsaeWVy6SKzk228mMi9FPHSObaRIhbR2Ujw9PqjW/yqVHD2tN1bHbC8ol6h3UEo7dOPmIYwIA==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.0", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.6.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/@jest/types": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.0.tgz", - "integrity": "sha512-8XCgL9JhqbJTFnMRjEAO+TuW251+MoMd5BSzLiE3vvzpQ8RlBxy8NoyNkDhs3K3OL3HeVinlOl9or5p7GTeOLg==", - "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.0.tgz", - "integrity": "sha512-XH+D4n7Ey0iSR6PdAnBs99cWMZdGsdKrR33iUHQNr79w1szKTCIZDVdXuccAsHVwDBp0XeWPfNEoaxP9EZgRmQ==", - "dependencies": { - "@jest/schemas": "^29.6.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.0.tgz", - "integrity": "sha512-2Pb7R2w24Q0aUVn+2/vdRDL6CqGqpheDZy7zrXav8FotOpSGw/4bS2hyVoKHMEx4xzOn6EyCAGwc5czWxXeN7w==", - "dependencies": { - "@jest/types": "^29.6.0", - "@types/node": "*", - "jest-util": "^29.6.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-mock/node_modules/@jest/types": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.0.tgz", - "integrity": "sha512-8XCgL9JhqbJTFnMRjEAO+TuW251+MoMd5BSzLiE3vvzpQ8RlBxy8NoyNkDhs3K3OL3HeVinlOl9or5p7GTeOLg==", - "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-mock/node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-mock/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-mock/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-mock/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-mock/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-mock/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-util": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.6.0.tgz", - "integrity": "sha512-S0USx9YwcvEm4pQ5suisVm/RVxBmi0GFR7ocJhIeaCuW5AXnAnffXbaVKvIFodyZNOc9ygzVtTxmBf40HsHXaA==", - "dependencies": { - "@jest/types": "^29.6.0", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util/node_modules/@jest/types": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.0.tgz", - "integrity": "sha512-8XCgL9JhqbJTFnMRjEAO+TuW251+MoMd5BSzLiE3vvzpQ8RlBxy8NoyNkDhs3K3OL3HeVinlOl9or5p7GTeOLg==", - "dependencies": { - "@jest/schemas": "^29.6.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util/node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", - "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", - "dependencies": { - "@jest/types": "^26.6.2", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "jest-get-type": "^26.3.0", - "leven": "^3.1.0", - "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jimp-compact": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz", - "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==" - }, - "node_modules/joi": { - "version": "17.9.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", - "integrity": "sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==", - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/join-component": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz", - "integrity": "sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsc-android": { - "version": "250231.0.0", - "resolved": "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz", - "integrity": "sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==" - }, - "node_modules/jsc-safe-url": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", - "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==" - }, - "node_modules/jscodeshift": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz", - "integrity": "sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==", - "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^3.1.10", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.20.4", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - } - }, - "node_modules/jscodeshift/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jscodeshift/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jscodeshift/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jscodeshift/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jscodeshift/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jscodeshift/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jscodeshift/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jscodeshift/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jscodeshift/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jscodeshift/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jscodeshift/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jscodeshift/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jscodeshift/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jscodeshift/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/jscodeshift/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jscodeshift/node_modules/temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "dependencies": { - "rimraf": "~2.6.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/jscodeshift/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "node_modules/json-schema-deref-sync": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/json-schema-deref-sync/-/json-schema-deref-sync-0.13.0.tgz", - "integrity": "sha512-YBOEogm5w9Op337yb6pAT6ZXDqlxAsQCanM3grid8lMWNxRJO/zWEJi3ZzqDL8boWfwhTFym5EFrNgWwpqcBRg==", - "dependencies": { - "clone": "^2.1.2", - "dag-map": "~1.0.0", - "is-valid-path": "^0.1.1", - "lodash": "^4.17.13", - "md5": "~2.2.0", - "memory-cache": "~0.2.0", - "traverse": "~0.6.6", - "valid-url": "~1.0.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/json-schema-deref-sync/node_modules/md5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==", - "dependencies": { - "charenc": "~0.0.1", - "crypt": "~0.0.1", - "is-buffer": "~1.1.1" - } - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", - "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, - "node_modules/legacy-swc-helpers": { - "name": "@swc/helpers", - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", - "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - }, - "node_modules/lodash.has": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", - "integrity": "sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g==" - }, - "node_modules/lodash.isempty": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz", - "integrity": "sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" - }, - "node_modules/lodash.isnil": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/lodash.isnil/-/lodash.isnil-4.0.0.tgz", - "integrity": "sha512-up2Mzq3545mwVnMhTDMdfoG1OurpA/s5t88JmQX809eH3C8491iu2sfKhTfhQtKY78oPNhiaHJUpT/dUDAAtng==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "node_modules/lodash.mergewith": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz", - "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==" - }, - "node_modules/lodash.omit": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", - "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==" - }, - "node_modules/lodash.omitby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.omitby/-/lodash.omitby-4.6.0.tgz", - "integrity": "sha512-5OrRcIVR75M288p4nbI2WLAf3ndw2GD9fyNv3Bc15+WCxJDdZ4lYndSxGd7hnG6PVjiJTeJE2dHEGhIuKGicIQ==" - }, - "node_modules/lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==" - }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" - }, - "node_modules/lodash.uniqueid": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.uniqueid/-/lodash.uniqueid-4.0.1.tgz", - "integrity": "sha512-GQQWaIeGlL6DIIr06kj1j6sSmBxyNMwI8kaX9aKpHR/XsMTiaXDVPNPAkiboOTK9OJpTJF/dXT3xYoFQnj386Q==" - }, - "node_modules/log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dependencies": { - "chalk": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/logkitty": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz", - "integrity": "sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==", - "dependencies": { - "ansi-fragments": "^0.2.1", - "dayjs": "^1.8.15", - "yargs": "^15.1.0" - }, - "bin": { - "logkitty": "bin/logkitty.js" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/md5": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", - "dependencies": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "~1.1.6" - } - }, - "node_modules/md5-file": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz", - "integrity": "sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==", - "dependencies": { - "buffer-alloc": "^1.1.0" - }, - "bin": { - "md5-file": "cli.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/md5hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz", - "integrity": "sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==" - }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memoize-one": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", - "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" - }, - "node_modules/memory-cache": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz", - "integrity": "sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/metro": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.73.10.tgz", - "integrity": "sha512-J2gBhNHFtc/Z48ysF0B/bfTwUwaRDLjNv7egfhQCc+934dpXcjJG2KZFeuybF+CvA9vo4QUi56G2U+RSAJ5tsA==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "absolute-path": "^0.0.0", - "accepts": "^1.3.7", - "async": "^3.2.2", - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "connect": "^3.6.5", - "debug": "^2.2.0", - "denodeify": "^1.2.1", - "error-stack-parser": "^2.0.6", - "graceful-fs": "^4.2.4", - "hermes-parser": "0.8.0", - "image-size": "^0.6.0", - "invariant": "^2.2.4", - "jest-worker": "^27.2.0", - "jsc-safe-url": "^0.2.2", - "lodash.throttle": "^4.1.1", - "metro-babel-transformer": "0.73.10", - "metro-cache": "0.73.10", - "metro-cache-key": "0.73.10", - "metro-config": "0.73.10", - "metro-core": "0.73.10", - "metro-file-map": "0.73.10", - "metro-hermes-compiler": "0.73.10", - "metro-inspector-proxy": "0.73.10", - "metro-minify-terser": "0.73.10", - "metro-minify-uglify": "0.73.10", - "metro-react-native-babel-preset": "0.73.10", - "metro-resolver": "0.73.10", - "metro-runtime": "0.73.10", - "metro-source-map": "0.73.10", - "metro-symbolicate": "0.73.10", - "metro-transform-plugins": "0.73.10", - "metro-transform-worker": "0.73.10", - "mime-types": "^2.1.27", - "node-fetch": "^2.2.0", - "nullthrows": "^1.1.1", - "rimraf": "^3.0.2", - "serialize-error": "^2.1.0", - "source-map": "^0.5.6", - "strip-ansi": "^6.0.0", - "temp": "0.8.3", - "throat": "^5.0.0", - "ws": "^7.5.1", - "yargs": "^17.5.1" + "node_modules/@typescript-eslint/types": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" }, - "bin": { - "metro": "src/cli.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/metro-babel-transformer": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz", - "integrity": "sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", + "dev": true, "dependencies": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.8.0", - "metro-source-map": "0.73.10", - "nullthrows": "^1.1.1" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/metro-babel-transformer/node_modules/metro-source-map": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", - "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", + "node_modules/@typescript-eslint/utils": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", + "dev": true, "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.73.10", - "nullthrows": "^1.1.1", - "ob1": "0.73.10", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } - }, - "node_modules/metro-babel-transformer/node_modules/ob1": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", - "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" - }, - "node_modules/metro-babel-transformer/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" } }, - "node_modules/metro-cache": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.73.10.tgz", - "integrity": "sha512-wPGlQZpdVlM404m7MxJqJ+hTReDr5epvfPbt2LerUAHY9RN99w61FeeAe25BMZBwgUgDtAsfGlJ51MBHg8MAqw==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", + "dev": true, "dependencies": { - "metro-core": "0.73.10", - "rimraf": "^3.0.2" + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/metro-cache-key": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.73.10.tgz", - "integrity": "sha512-JMVDl/EREDiUW//cIcUzRjKSwE2AFxVWk47cFBer+KA4ohXIG2CQPEquT56hOw1Y1s6gKNxxs1OlAOEsubrFjw==" - }, - "node_modules/metro-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vite-pwa/assets-generator": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@vite-pwa/assets-generator/-/assets-generator-0.2.6.tgz", + "integrity": "sha512-kK44dXltvoubEo5B+6tCGjUrOWOE1+dA4DForbFpO1rKy2wSkAVGrs8tyfN6DzTig89/QKyV8XYodgmaKyrYng==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "colorette": "^2.0.20", + "consola": "^3.2.3", + "sharp": "^0.32.6", + "sharp-ico": "^0.1.5", + "unconfig": "^0.3.11" }, "bin": { - "rimraf": "bin.js" + "pwa-assets-generator": "bin/pwa-assets-generator.mjs" + }, + "engines": { + "node": ">=16.14.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/metro-config": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.73.10.tgz", - "integrity": "sha512-wIlybd1Z9I8K2KcStTiJxTB7OK529dxFgogNpKCTU/3DxkgAASqSkgXnZP6kVyqjh5EOWAKFe5U6IPic7kXDdQ==", - "dependencies": { - "cosmiconfig": "^5.0.5", - "jest-validate": "^26.5.2", - "metro": "0.73.10", - "metro-cache": "0.73.10", - "metro-core": "0.73.10", - "metro-runtime": "0.73.10" - } - }, - "node_modules/metro-config/node_modules/metro-runtime": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", - "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", - "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/metro-core": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.73.10.tgz", - "integrity": "sha512-5uYkajIxKyL6W45iz/ftNnYPe1l92CvF2QJeon1CHsMXkEiOJxEjo41l+iSnO/YodBGrmMCyupSO4wOQGUc0lw==", + "node_modules/@vitejs/plugin-react": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz", + "integrity": "sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==", + "dev": true, "dependencies": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.73.10" - } - }, - "node_modules/metro-file-map": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.73.10.tgz", - "integrity": "sha512-XOMWAybeaXyD6zmVZPnoCCL2oO3rp4ta76oUlqWP0skBzhFxVtkE/UtDwApEMUY361JeBBago647gnKiARs+1g==", - "dependencies": { - "abort-controller": "^3.0.0", - "anymatch": "^3.0.3", - "debug": "^2.2.0", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "invariant": "^2.2.4", - "jest-regex-util": "^27.0.6", - "jest-serializer": "^27.0.6", - "jest-util": "^27.2.0", - "jest-worker": "^27.2.0", - "micromatch": "^4.0.4", - "nullthrows": "^1.1.1", - "walker": "^1.0.7" + "@babel/core": "^7.24.5", + "@babel/plugin-transform-react-jsx-self": "^7.24.5", + "@babel/plugin-transform-react-jsx-source": "^7.24.1", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" } }, - "node_modules/metro-file-map/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=0.4.0" } }, - "node_modules/metro-file-map/node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/metro-file-map/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/metro-file-map/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" } }, - "node_modules/metro-file-map/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=7.0.0" + "node": ">= 8" } }, - "node_modules/metro-file-map/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, - "node_modules/metro-file-map/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, "dependencies": { - "ms": "2.0.0" + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/metro-file-map/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/metro-file-map/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/metro-file-map/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true }, - "node_modules/metro-file-map/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, "engines": { - "node": ">=8" + "node": ">= 4.0.0" } }, - "node_modules/metro-hermes-compiler": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.73.10.tgz", - "integrity": "sha512-rTRWEzkVrwtQLiYkOXhSdsKkIObnL+Jqo+IXHI7VEK2aSLWRAbtGNqECBs44kbOUypDYTFFE+WLtoqvUWqYkWg==" - }, - "node_modules/metro-inspector-proxy": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.73.10.tgz", - "integrity": "sha512-CEEvocYc5xCCZBtGSIggMCiRiXTrnBbh8pmjKQqm9TtJZALeOGyt5pXUaEkKGnhrXETrexsg6yIbsQHhEvVfvQ==", + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "connect": "^3.6.5", - "debug": "^2.2.0", - "ws": "^7.5.1", - "yargs": "^17.5.1" + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" }, "bin": { - "metro-inspector-proxy": "src/cli.js" - } - }, - "node_modules/metro-inspector-proxy/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "autoprefixer": "bin/autoprefixer" }, "engines": { - "node": ">=12" + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/metro-inspector-proxy/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, "dependencies": { - "ms": "2.0.0" + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/metro-inspector-proxy/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "node_modules/b4a": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", + "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", + "dev": true }, - "node_modules/metro-inspector-proxy/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/babel-dead-code-elimination": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/babel-dead-code-elimination/-/babel-dead-code-elimination-1.0.6.tgz", + "integrity": "sha512-JxFi9qyRJpN0LjEbbjbN8g0ux71Qppn9R8Qe3k6QzHg2CaKsbUQtbn307LQGiDLGjV6JCtEFqfxzVig9MyDCHQ==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "@babel/core": "^7.23.7", + "@babel/parser": "^7.23.6", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" } }, - "node_modules/metro-inspector-proxy/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" }, "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/metro-inspector-proxy/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/metro-inspector-proxy/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dev": true, "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, - "engines": { - "node": ">=12" - } - }, - "node_modules/metro-inspector-proxy/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/metro-minify-terser": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.73.10.tgz", - "integrity": "sha512-uG7TSKQ/i0p9kM1qXrwbmY3v+6BrMItsOcEXcSP8Z+68bb+t9HeVK0T/hIfUu1v1PEnonhkhfzVsaP8QyTd5lQ==", - "dependencies": { - "terser": "^5.15.0" - } - }, - "node_modules/metro-minify-uglify": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.73.10.tgz", - "integrity": "sha512-eocnSeJKnLz/UoYntVFhCJffED7SLSgbCHgNvI6ju6hFb6EFHGJT9OLbkJWeXaWBWD3Zw5mYLS8GGqGn/CHZPA==", - "dependencies": { - "uglify-es": "^3.1.9" - } - }, - "node_modules/metro-react-native-babel-preset": { - "version": "0.73.9", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.9.tgz", - "integrity": "sha512-AoD7v132iYDV4K78yN2OLgTPwtAKn0XlD2pOhzyBxiI8PeXzozhbKyPV7zUOJUPETj+pcEVfuYj5ZN/8+bhbCw==", - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "react-refresh": "^0.4.0" + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" }, "peerDependencies": { - "@babel/core": "*" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/bare-events": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.4.2.tgz", + "integrity": "sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==", + "dev": true, + "optional": true + }, + "node_modules/bare-fs": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.3.tgz", + "integrity": "sha512-7RYKL+vZVCyAsMLi5SPu7QGauGGT8avnP/HO571ndEuV4MYdGXvLhtW67FuLPeEI8EiIY7zbbRR9x7x7HU0kgw==", + "dev": true, + "optional": true, + "dependencies": { + "bare-events": "^2.0.0", + "bare-path": "^2.0.0", + "bare-stream": "^2.0.0" } }, - "node_modules/metro-react-native-babel-transformer": { - "version": "0.73.9", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.9.tgz", - "integrity": "sha512-DSdrEHuQ22ixY7DyipyKkIcqhOJrt5s6h6X7BYJCP9AMUfXOwLe2biY3BcgJz5GOXv8/Akry4vTCvQscVS1otQ==", + "node_modules/bare-os": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.4.2.tgz", + "integrity": "sha512-HZoJwzC+rZ9lqEemTMiO0luOePoGYNBgsLLgegKR/cljiJvcDNhDZQkzC+NC5Oh0aHbdBNSOHpghwMuB5tqhjg==", + "dev": true, + "optional": true + }, + "node_modules/bare-path": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz", + "integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==", + "dev": true, + "optional": true, "dependencies": { - "@babel/core": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "hermes-parser": "0.8.0", - "metro-babel-transformer": "0.73.9", - "metro-react-native-babel-preset": "0.73.9", - "metro-source-map": "0.73.9", - "nullthrows": "^1.1.1" - }, - "peerDependencies": { - "@babel/core": "*" + "bare-os": "^2.1.0" } }, - "node_modules/metro-react-native-babel-transformer/node_modules/metro-babel-transformer": { - "version": "0.73.9", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.9.tgz", - "integrity": "sha512-DlYwg9wwYIZTHtic7dyD4BP0SDftoltZ3clma76nHu43blMWsCnrImHeHsAVne3XsQ+RJaSRxhN5nkG2VyVHwA==", + "node_modules/bare-stream": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.2.1.tgz", + "integrity": "sha512-YTB47kHwBW9zSG8LD77MIBAAQXjU2WjAkMHeeb7hUplVs6+IoM5I7uEVQNPMB7lj9r8I76UMdoMkGnCodHOLqg==", + "dev": true, + "optional": true, "dependencies": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.8.0", - "metro-source-map": "0.73.9", - "nullthrows": "^1.1.1" + "b4a": "^1.6.6", + "streamx": "^2.18.0" } }, - "node_modules/metro-resolver": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.73.10.tgz", - "integrity": "sha512-HeXbs+0wjakaaVQ5BI7eT7uqxlZTc9rnyw6cdBWWMgUWB++KpoI0Ge7Hi6eQAOoVAzXC3m26mPFYLejpzTWjng==", - "dependencies": { - "absolute-path": "^0.0.0" + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/metro-runtime": { - "version": "0.73.9", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.9.tgz", - "integrity": "sha512-d5Hs83FpKB9r8q8Vb95+fa6ESpwysmPr4lL1I2rM2qXAFiO7OAPT9Bc23WmXgidkBtD0uUFdB2lG+H1ATz8rZg==", + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/metro-source-map": { - "version": "0.73.9", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.9.tgz", - "integrity": "sha512-l4VZKzdqafipriETYR6lsrwtavCF1+CMhCOY9XbyWeTrpGSNgJQgdeJpttzEZTHQQTLR0csQo0nD1ef3zEP6IQ==", + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.73.9", - "nullthrows": "^1.1.1", - "ob1": "0.73.9", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/metro-source-map/node_modules/metro-symbolicate": { - "version": "0.73.9", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.9.tgz", - "integrity": "sha512-4TUOwxRHHqbEHxRqRJ3wZY5TA8xq7AHMtXrXcjegMH9FscgYztsrIG9aNBUBS+VLB6g1qc6BYbfIgoAnLjCDyw==", + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.73.9", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" - }, - "bin": { - "metro-symbolicate": "src/index.js" + "fill-range": "^7.1.1" }, "engines": { - "node": ">=8.3" - } - }, - "node_modules/metro-source-map/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/metro-symbolicate": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", - "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.73.10", - "nullthrows": "^1.1.1", - "source-map": "^0.5.6", - "through2": "^2.0.1", - "vlq": "^1.0.0" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { - "metro-symbolicate": "src/index.js" + "browserslist": "cli.js" }, "engines": { - "node": ">=8.3" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/metro-symbolicate/node_modules/metro-source-map": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", - "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.73.10", - "nullthrows": "^1.1.1", - "ob1": "0.73.10", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/metro-symbolicate/node_modules/ob1": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", - "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" - }, - "node_modules/metro-symbolicate/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, - "node_modules/metro-transform-plugins": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.73.10.tgz", - "integrity": "sha512-D4AgD3Vsrac+4YksaPmxs/0ocT67bvwTkFSIgWWeDvWwIG0U1iHzTS9f8Bvb4PITnXryDoFtjI6OWF7uOpGxpA==", - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.20.0", - "nullthrows": "^1.1.1" - } - }, - "node_modules/metro-transform-worker": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.73.10.tgz", - "integrity": "sha512-IySvVubudFxahxOljWtP0QIMMpgUrCP0bW16cz2Enof0PdumwmR7uU3dTbNq6S+XTzuMHR+076aIe4VhPAWsIQ==", - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", - "babel-preset-fbjs": "^3.4.0", - "metro": "0.73.10", - "metro-babel-transformer": "0.73.10", - "metro-cache": "0.73.10", - "metro-cache-key": "0.73.10", - "metro-hermes-compiler": "0.73.10", - "metro-source-map": "0.73.10", - "metro-transform-plugins": "0.73.10", - "nullthrows": "^1.1.1" - } - }, - "node_modules/metro-transform-worker/node_modules/metro-source-map": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", - "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", - "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.73.10", - "nullthrows": "^1.1.1", - "ob1": "0.73.10", - "source-map": "^0.5.6", - "vlq": "^1.0.0" - } - }, - "node_modules/metro-transform-worker/node_modules/ob1": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", - "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" - }, - "node_modules/metro-transform-worker/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/metro/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/metro/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/metro/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "node_modules/metro/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/metro/node_modules/color-convert": { + "node_modules/camelcase-css": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, "engines": { - "node": ">=7.0.0" + "node": ">= 6" } }, - "node_modules/metro/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/caniuse-lite": { + "version": "1.0.30001658", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001658.tgz", + "integrity": "sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, - "node_modules/metro/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/metro/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/metro/node_modules/metro-react-native-babel-preset": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.10.tgz", - "integrity": "sha512-1/dnH4EHwFb2RKEKx34vVDpUS3urt2WEeR8FYim+ogqALg4sTpG7yeQPxWpbgKATezt4rNfqAANpIyH19MS4BQ==", - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-to-generator": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "react-refresh": "^0.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, - "peerDependencies": { - "@babel/core": "*" - } - }, - "node_modules/metro/node_modules/metro-runtime": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", - "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", - "dependencies": { - "@babel/runtime": "^7.0.0", - "react-refresh": "^0.4.0" - } - }, - "node_modules/metro/node_modules/metro-source-map": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", - "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", - "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", - "invariant": "^2.2.4", - "metro-symbolicate": "0.73.10", - "nullthrows": "^1.1.1", - "ob1": "0.73.10", - "source-map": "^0.5.6", - "vlq": "^1.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/metro/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/metro/node_modules/ob1": { - "version": "0.73.10", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", - "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" - }, - "node_modules/metro/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, "dependencies": { - "glob": "^7.1.3" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">= 8.10.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/metro/node_modules/serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/metro/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/metro/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "color-convert": "^2.0.1", + "color-string": "^1.9.0" }, "engines": { - "node": ">=8" + "node": ">=12.5.0" } }, - "node_modules/metro/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "color-name": "1.1.3" } }, - "node_modules/metro/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "node_modules/metro/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=10" + "node": ">=7.0.0" } }, - "node_modules/metro/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, "engines": { - "node": ">=12" + "node": ">=4.0.0" } }, - "node_modules/metro/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "dev": true, "engines": { - "node": ">=12" + "node": "^14.18.0 || >=16.10.0" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "dev": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "browserslist": "^4.23.3" }, - "engines": { - "node": ">=8.6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "bin": { - "mime": "cli.js" + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=4.0.0" + "node": ">= 8" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "engines": { "node": ">=4" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, "dependencies": { - "yallist": "^4.0.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, "dependencies": { - "minipass": "^3.0.0" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, "dependencies": { - "minipass": "^3.0.0" + "ms": "^2.1.3" }, "engines": { - "node": ">= 8" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "node_modules/decode-bmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/decode-bmp/-/decode-bmp-0.2.1.tgz", + "integrity": "sha512-NiOaGe+GN0KJqi2STf24hfMkFitDUaIoUU3eKvP/wAbLe8o6FuW5n/x7MHPR0HKvBokp6MQY/j7w8lewEeVCIA==", + "dev": true, "dependencies": { - "minipass": "^3.0.0" + "@canvas/image-data": "^1.0.0", + "to-data-view": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=8.6.0" } }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "node_modules/decode-ico": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/decode-ico/-/decode-ico-0.4.1.tgz", + "integrity": "sha512-69NZfbKIzux1vBOd31al3XnMnH+2mqDhEgLdpygErm4d60N+UwA5Sq5WFjmEDQzumgB9fElojGwWG0vybVfFmA==", + "dev": true, "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "@canvas/image-data": "^1.0.0", + "decode-bmp": "^0.2.0", + "to-data-view": "^1.1.0" }, "engines": { - "node": ">= 8" + "node": ">=8.6" } }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "mimic-response": "^3.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true }, - "node_modules/mv": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", - "integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==", - "optional": true, - "dependencies": { - "mkdirp": "~0.5.1", - "ncp": "~2.0.0", - "rimraf": "~2.4.0" - }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/mv/node_modules/glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", - "optional": true, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { - "node": "*" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mv/node_modules/rimraf": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==", - "optional": true, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, "dependencies": { - "glob": "^6.0.1" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "dev": true }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=8" } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "path-type": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/native-base": { - "version": "3.4.28", - "resolved": "https://registry.npmjs.org/native-base/-/native-base-3.4.28.tgz", - "integrity": "sha512-EDg9UFDNmfYXPInpRbxce+4oWFEIGaM7aG6ey4hVllcvMC3PkgCvkiXEB+7EemgC7Qr8CuFjgMTx7P0vvnwZeQ==", - "dependencies": { - "@react-aria/visually-hidden": "^3.2.1", - "@react-native-aria/button": "^0.2.4", - "@react-native-aria/checkbox": "^0.2.3", - "@react-native-aria/combobox": "^0.2.4-alpha.0", - "@react-native-aria/focus": "^0.2.6", - "@react-native-aria/interactions": "^0.2.2", - "@react-native-aria/listbox": "^0.2.4-alpha.3", - "@react-native-aria/overlays": "^0.3.3", - "@react-native-aria/radio": "^0.2.4", - "@react-native-aria/slider": "^0.2.5-alpha.1", - "@react-native-aria/tabs": "^0.2.7", - "@react-native-aria/utils": "^0.2.8", - "@react-stately/checkbox": "3.0.3", - "@react-stately/collections": "3.3.0", - "@react-stately/combobox": "3.0.0-alpha.1", - "@react-stately/radio": "3.2.1", - "@react-stately/slider": "3.0.1", - "@react-stately/tabs": "3.0.0-alpha.1", - "@react-stately/toggle": "3.2.1", - "inline-style-prefixer": "^6.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.get": "^4.4.2", - "lodash.has": "^4.5.2", - "lodash.isempty": "^4.4.0", - "lodash.isequal": "^4.5.0", - "lodash.isnil": "^4.0.0", - "lodash.merge": "^4.6.2", - "lodash.mergewith": "^4.6.2", - "lodash.omit": "^4.5.0", - "lodash.omitby": "^4.6.0", - "lodash.pick": "^4.4.0", - "lodash.uniqueid": "^4.0.1", - "stable-hash": "^0.0.2", - "tinycolor2": "^1.4.2", - "use-sync-external-store": "^1.2.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-native": "*", - "react": "*", - "react-dom": "*", - "react-native": "*", - "react-native-safe-area-context": "*", - "react-native-svg": "*" - } + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true }, - "node_modules/native-base/node_modules/@react-stately/checkbox": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.0.3.tgz", - "integrity": "sha512-amT889DTLdbjAVjZ9j9TytN73PszynGIspKi1QSUCvXeA2OVyCwShxhV0Pn7yYX8cMinvGXrjhWdhn0nhYeMdg==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.6.2", - "@react-stately/toggle": "^3.2.3", - "@react-stately/utils": "^3.2.2", - "@react-types/checkbox": "^3.2.3" + "esutils": "^2.0.2" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/native-base/node_modules/@react-stately/checkbox/node_modules/@react-stately/toggle": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.6.2.tgz", - "integrity": "sha512-O+0XtIjRX9YgAwNRhSdX2qi49PzY4eGL+F326jJfqc17HU3Qm6+nfqnODuxynpk1gw79sZr7AtROSXACTVueMQ==", - "dependencies": { - "@react-stately/utils": "^3.7.0", - "@react-types/checkbox": "^3.5.1", - "@react-types/shared": "^3.20.0", - "@swc/helpers": "^0.5.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0" - } + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true }, - "node_modules/native-base/node_modules/@react-stately/collections": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.3.0.tgz", - "integrity": "sha512-Y8Pfugw/tYbcR9F6GTiTkd9O4FiXErxi5aDLSZ/knS6v0pvr3EHsC3T7jLW+48dSNrwl+HkMe5ECMhWSUA1jRQ==", + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.6.2", - "@react-types/shared": "^3.2.1" + "jake": "^10.8.5" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/native-base/node_modules/@react-stately/combobox": { - "version": "3.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.0.0-alpha.1.tgz", - "integrity": "sha512-v0DNGLx0KGvNgBbXoSKzfHGcy65eP0Wx4uY3dqj+u9k3ru2BEvIqB8fo6CWhQqu8VHBX4AlhoxcyrloIKvjD/g==", + "node_modules/electron-to-chromium": { + "version": "1.5.16", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.16.tgz", + "integrity": "sha512-2gQpi2WYobXmz2q23FrOBYTLcI1O/P4heW3eqX+ldmPVDQELRqhiebV380EhlGG12NtnX1qbK/FHpN0ba+7bLA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.6.2", - "@react-stately/list": "^3.2.2", - "@react-stately/menu": "^3.1.0", - "@react-stately/select": "^3.1.0", - "@react-stately/utils": "^3.2.0", - "@react-types/combobox": "3.0.0-alpha.1", - "@react-types/shared": "^3.4.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" + "once": "^1.4.0" } }, - "node_modules/native-base/node_modules/@react-stately/combobox/node_modules/@react-types/combobox": { - "version": "3.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.0.0-alpha.1.tgz", - "integrity": "sha512-td8pZmzZx5L32DuJ5iQk0Y4DNPerHWc2NXjx88jiQGxtorzvfrIQRKh3sy13PH7AMplGSEdAxG0llfCKrIy0Ow==", - "dependencies": { - "@react-types/shared": "^3.4.0" + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/native-base/node_modules/@react-stately/radio": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.2.1.tgz", - "integrity": "sha512-WGYMWCDJQOicFLf+bW2CbAnlRWaqsUd028WpsS41GWyIx/w7DVpUeGFwTSvyCXC5SCQZuambsWHgXNz8Ng5WIA==", + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.6.2", - "@react-stately/utils": "^3.1.1", - "@react-types/radio": "^3.1.1" + "get-intrinsic": "^1.2.4" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" + "engines": { + "node": ">= 0.4" } }, - "node_modules/native-base/node_modules/@react-stately/slider": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.0.1.tgz", - "integrity": "sha512-gGpfdVbTmdsOvrmZvFx4hJ5b7nczvAWdHR/tFFJKfxH0/V8NudZ5hGnawY84R3x+OvgV+tKUfifEUKA+oJyG5w==", - "dependencies": { - "@babel/runtime": "^7.6.2", - "@react-aria/i18n": "^3.3.0", - "@react-aria/utils": "^3.6.0", - "@react-stately/utils": "^3.2.0", - "@react-types/slider": "^3.0.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" } }, - "node_modules/native-base/node_modules/@react-stately/tabs": { - "version": "3.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.0.0-alpha.1.tgz", - "integrity": "sha512-aEG5lVLqmfx7A/dS5gkPXmD2ERAo69RtC0aHPo/Dw1XjzalYyo6QbQ5WtiuQxsCVx/naWGEJCcMEAD5/vt+cUQ==", + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.6.2", - "@react-stately/list": "^3.2.2", - "@react-stately/utils": "^3.2.0", - "@react-types/tabs": "3.0.0-alpha.2" + "es-errors": "^1.3.0" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" + "engines": { + "node": ">= 0.4" } }, - "node_modules/native-base/node_modules/@react-stately/tabs/node_modules/@react-types/tabs": { - "version": "3.0.0-alpha.2", - "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.0.0-alpha.2.tgz", - "integrity": "sha512-HQNS2plzuNhKPo88OGEW2Ja9aLeiWqgNqEemSxh0KAjkA8IsvDGaoQEpr9ZQIyBZ3PQIljvOpEJ/IwHU5LztrQ==", + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, "dependencies": { - "@react-types/shared": "^3.2.1" + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" + "engines": { + "node": ">= 0.4" } }, - "node_modules/native-base/node_modules/@react-stately/toggle": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.2.1.tgz", - "integrity": "sha512-gZVuJ8OYoATUoXzdprsyx6O1w3wCrN+J0KnjhrjjKTrBG68n3pZH0p6dM0XpsaCzlSv0UgNa4fhHS3dYfr/ovw==", + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.6.2", - "@react-stately/utils": "^3.1.1", - "@react-types/checkbox": "^3.2.1", - "@react-types/shared": "^3.2.1" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0-rc.1" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "node_modules/ncp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", - "optional": true, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, "bin": { - "ncp": "bin/ncp" + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/nested-error-stacks": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz", - "integrity": "sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==" - }, - "node_modules/nice-try": { + "node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/nocache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", - "integrity": "sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, "engines": { - "node": ">=12.0.0" + "node": ">=0.8.0" } }, - "node_modules/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, "dependencies": { - "minimatch": "^3.0.2" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">= 0.10.5" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, "engines": { - "node": "4.x || >=6.0.0" + "node": ">=10" }, "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "engines": { - "node": ">= 6.13.0" + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.11.tgz", + "integrity": "sha512-wrAKxMbVr8qhXTtIKfXqAn5SAtRZt0aXxe5P23Fh4pUAdC6XEsybGLB8P0PI4j1yYqOgUEUlzKAGDfo7rJOjcw==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "node_modules/node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" - }, - "node_modules/node-stream-zip": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz", - "integrity": "sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==", + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": ">=0.12.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/antelle" + "url": "https://opencollective.com/eslint" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/npm-package-arg": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz", - "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==", + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { - "hosted-git-info": "^3.0.2", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/npm-package-arg/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "bin": { - "semver": "bin/semver" + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "path-key": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "boolbase": "^1.0.0" + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/ob1": { - "version": "0.73.9", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.9.tgz", - "integrity": "sha512-kHOzCOFXmAM26fy7V/YuXNKne2TyRiXbFAvPBIbuedJCZZWQZHLdPzMeXJI4Egt6IcfDttRzN3jQ90wOwq1iNw==" + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=6" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, "dependencies": { - "isobject": "^3.0.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6.0" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "is-glob": "^4.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6" } }, - "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" + "reusify": "^1.0.4" } }, - "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" + "minimatch": "^5.0.1" } }, - "node_modules/object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, "dependencies": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "brace-expansion": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, "dependencies": { - "isobject": "^3.0.1" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, "dependencies": { - "ee-first": "1.1.1" + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" }, "engines": { - "node": ">= 0.8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, "dependencies": { - "wrappy": "1" + "is-callable": "^1.1.3" } }, - "node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, "dependencies": { - "mimic-fn": "^1.0.0" + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=4" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, "engines": { - "node": ">=12" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "patreon", + "url": "https://github.com/sponsors/rawify" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ora": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", - "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, "dependencies": { - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-spinners": "^2.0.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "engines": { - "node": ">=0.10.0" + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz", + "integrity": "sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, "dependencies": { - "p-limit": "^3.0.2" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, "dependencies": { - "aggregate-error": "^3.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10.13.0" } }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "callsites": "^3.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/parse-png": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-2.1.0.tgz", - "integrity": "sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, "dependencies": { - "pngjs": "^3.3.0" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "engines": { - "node": ">=0.10.0" + "node_modules/goober": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.14.tgz", + "integrity": "sha512-4UpC0NdGyAFqLNPnhCT2iHpza2q+RAY3GV85a/mRPdzyPQMsj0KmMMuetdIkzWRbJ+Hgau1EZztq8ImmiMGhsg==", + "dev": true, + "peerDependencies": { + "csstype": "^3.0.10" } }, - "node_modules/password-prompt": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz", - "integrity": "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, "dependencies": { - "ansi-escapes": "^3.1.0", - "cross-spawn": "^6.0.5" + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, "engines": { "node": ">=4" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, "dependencies": { - "isarray": "0.0.1" + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/path-to-regexp/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, "engines": { - "node": ">=8.6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "node_modules/ico-endec": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ico-endec/-/ico-endec-0.1.6.tgz", + "integrity": "sha512-ZdLU38ZoED3g1j3iEyzcQj+wAkY2xfWNkymszfJPoxucIUhK7NayQ+/C4Kv0nDFMIsbtbEHldv3V8PU494/ueQ==", + "dev": true + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "dev": true + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">= 4" } }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, "dependencies": { - "find-up": "^3.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=0.8.19" } }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" }, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, "dependencies": { - "p-try": "^2.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "has-bigints": "^1.0.1" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "dependencies": { - "find-up": "^3.0.0" + "binary-extensions": "^2.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, "dependencies": { - "locate-path": "^3.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "node": ">= 0.4" }, - "engines": { - "node": ">=6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, "dependencies": { - "p-try": "^2.0.0" + "builtin-modules": "^3.3.0" }, "engines": { "node": ">=6" @@ -14989,1742 +5518,1978 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/plist": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz", - "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==", + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, "dependencies": { - "base64-js": "^1.5.1", - "xmlbuilder": "^15.1.1" + "hasown": "^2.0.2" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/plist/node_modules/xmlbuilder": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", - "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, "engines": { - "node": ">=8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pngjs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", - "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "engines": { - "node": ">=4.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "bin": { - "prettier": "bin-prettier.js" + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/prettier-linter-helpers": { + "node_modules/is-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { - "node": ">= 10" + "node": ">=0.12.0" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/pretty-format/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/pretty-format/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dependencies": { - "asap": "~2.0.3" + "node": ">=8" } }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "call-bind": "^1.0.7" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/qrcode-terminal": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz", - "integrity": "sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==", - "bin": { - "qrcode-terminal": "bin/qrcode-terminal.js" + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.6" + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/query-string": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", - "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, "dependencies": { - "decode-uri-component": "^0.2.2", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "which-typed-array": "^1.1.14" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "node": ">= 0.4" }, - "bin": { - "rc": "cli.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, "dependencies": { - "loose-envify": "^1.1.0" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-devtools-core": { - "version": "4.27.8", - "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.27.8.tgz", - "integrity": "sha512-KwoH8/wN/+m5wTItLnsgVraGNmFrcTWR3k1VimP1HjtMMw4CNF+F5vg4S/0tzTEKIdpCi2R7mPNTC+/dswZMgw==", - "dependencies": { - "shell-quote": "^1.6.1", - "ws": "^7" - } + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, - "node_modules/react-devtools-core/node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "engines": { - "node": ">=8.3.0" + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "funding": { + "url": "https://github.com/sponsors/isaacs" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "peer": true, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dev": true, "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-freeze": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz", - "integrity": "sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g==", "engines": { "node": ">=10" - }, - "peerDependencies": { - "react": ">=17.0.0" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/react-native": { - "version": "0.71.8", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.71.8.tgz", - "integrity": "sha512-ftMAuhpgTkbHU9brrqsEyxcNrpYvXKeATY+if22Nfhhg1zW+6wn95w9otwTnA3xHkljPCbng8mUhmmERjGEl7g==", - "dependencies": { - "@jest/create-cache-key-function": "^29.2.1", - "@react-native-community/cli": "10.2.2", - "@react-native-community/cli-platform-android": "10.2.0", - "@react-native-community/cli-platform-ios": "10.2.1", - "@react-native/assets": "1.0.0", - "@react-native/normalize-color": "2.1.0", - "@react-native/polyfills": "2.0.0", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "base64-js": "^1.1.2", - "deprecated-react-native-prop-types": "^3.0.1", - "event-target-shim": "^5.0.1", - "invariant": "^2.2.4", - "jest-environment-node": "^29.2.1", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", - "metro-react-native-babel-transformer": "0.73.9", - "metro-runtime": "0.73.9", - "metro-source-map": "0.73.9", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", - "react-devtools-core": "^4.26.1", - "react-native-codegen": "^0.71.5", - "react-native-gradle-plugin": "^0.71.18", - "react-refresh": "^0.4.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", - "scheduler": "^0.23.0", - "stacktrace-parser": "^0.1.3", - "use-sync-external-store": "^1.0.0", - "whatwg-fetch": "^3.0.0", - "ws": "^6.2.2" - }, - "bin": { - "react-native": "cli.js" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">=14" + "node": ">=8" }, - "peerDependencies": { - "react": "18.2.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/react-native-codegen": { - "version": "0.71.5", - "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.71.5.tgz", - "integrity": "sha512-rfsuc0zkuUuMjFnrT55I1mDZ+pBRp2zAiRwxck3m6qeGJBGK5OV5JH66eDQ4aa+3m0of316CqrJDRzVlYufzIg==", + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { - "@babel/parser": "^7.14.0", - "flow-parser": "^0.185.0", - "jscodeshift": "^0.13.1", - "nullthrows": "^1.1.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/react-native-gesture-handler": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.9.0.tgz", - "integrity": "sha512-a0BcH3Qb1tgVqUutc6d3VuWQkI1AM3+fJx8dkxzZs9t06qA27QgURYFoklpabuWpsUTzuKRpxleykp25E8m7tg==", + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@egjs/hammerjs": "^2.0.17", - "hoist-non-react-statics": "^3.3.0", - "invariant": "^2.2.4", - "lodash": "^4.17.21", - "prop-types": "^15.7.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "peerDependencies": { - "react": "*", - "react-native": "*" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/react-native-gradle-plugin": { - "version": "0.71.19", - "resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.19.tgz", - "integrity": "sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ==" - }, - "node_modules/react-native-reanimated": { - "version": "2.14.4", - "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-2.14.4.tgz", - "integrity": "sha512-DquSbl7P8j4SAmc+kRdd75Ianm8G+IYQ9T4AQ6lrpLVeDkhZmjWI0wkutKWnp6L7c5XNVUrFDUf69dwETLCItQ==", + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "@babel/plugin-transform-object-assign": "^7.16.7", - "@babel/preset-typescript": "^7.16.7", - "convert-source-map": "^1.7.0", - "invariant": "^2.2.4", - "lodash.isequal": "^4.5.0", - "setimmediate": "^1.0.5", - "string-hash-64": "^1.0.3" + "color-name": "~1.1.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0", - "react": "*", - "react-native": "*" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/react-native-safe-area-context": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.5.0.tgz", - "integrity": "sha512-0WORnk9SkREGUg2V7jHZbuN5x4vcxj/1B0QOcXJjdYWrzZHgLcUzYWWIUecUPJh747Mwjt/42RZDOaFn3L8kPQ==", - "peerDependencies": { - "react": "*", - "react-native": "*" - } + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/react-native-safe-area-view": { - "version": "0.14.9", - "resolved": "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.14.9.tgz", - "integrity": "sha512-WII/ulhpVyL/qbYb7vydq7dJAfZRBcEhg4/UWt6F6nAKpLa3gAceMOxBxI914ppwSP/TdUsandFy6lkJQE0z4A==", - "dependencies": { - "hoist-non-react-statics": "^2.3.1" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/react-native-safe-area-view/node_modules/hoist-non-react-statics": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", - "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" - }, - "node_modules/react-native-screens": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.20.0.tgz", - "integrity": "sha512-joWUKWAVHxymP3mL9gYApFHAsbd9L6ZcmpoZa6Sl3W/82bvvNVMqcfP7MeNqVCg73qZ8yL4fW+J/syusHleUgg==", + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { - "react-freeze": "^1.0.0", - "warn-once": "^0.1.0" + "brace-expansion": "^1.1.7" }, - "peerDependencies": { - "react": "*", - "react-native": "*" + "engines": { + "node": "*" } }, - "node_modules/react-native-svg": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-13.4.0.tgz", - "integrity": "sha512-B3TwK+H0+JuRhYPzF21AgqMt4fjhCwDZ9QUtwNstT5XcslJBXC0FoTkdZo8IEb1Sv4suSqhZwlAY6lwOv3tHag==", + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { - "css-select": "^5.1.0", - "css-tree": "^1.1.3" + "has-flag": "^4.0.0" }, - "peerDependencies": { - "react": "*", - "react-native": "*" + "engines": { + "node": ">=8" } }, - "node_modules/react-native/node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "dependencies": { - "asap": "~2.0.6" + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" } }, - "node_modules/react-native/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dependencies": { - "async-limiter": "~1.0.0" - } + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "node_modules/react-navigation": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/react-navigation/-/react-navigation-4.4.4.tgz", - "integrity": "sha512-08Nzy1aKEd73496CsuzN49vLFmxPKYF5WpKGgGvkQ10clB79IRM2BtAfVl6NgPKuUM8FXq1wCsrjo/c5ftl5og==", - "deprecated": "This package is no longer supported. Please use @react-navigation/native instead. See https://reactnavigation.org/docs/getting-started/ for usage guide", + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, "dependencies": { - "@react-navigation/core": "^3.7.9", - "@react-navigation/native": "^3.8.4" + "argparse": "^2.0.1" }, - "peerDependencies": { - "react": "*", - "react-native": "*" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/react-navigation/node_modules/@react-navigation/core": { - "version": "3.7.9", - "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-3.7.9.tgz", - "integrity": "sha512-EknbzM8OI9A5alRxXtQRV5Awle68B+z1QAxNty5DxmlS3BNfmduWNGnim159ROyqxkuDffK9L/U/Tbd45mx+Jg==", - "dependencies": { - "hoist-non-react-statics": "^3.3.2", - "path-to-regexp": "^1.8.0", - "query-string": "^6.13.6", - "react-is": "^16.13.0" + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" }, - "peerDependencies": { - "react": "*" + "engines": { + "node": ">=4" } }, - "node_modules/react-navigation/node_modules/@react-navigation/native": { - "version": "3.8.4", - "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-3.8.4.tgz", - "integrity": "sha512-gXSVcL7bfFDyVkvyg1FiAqTCIgZub5K1X/TZqURBs2CPqDpfX1OsCtB9D33eTF14SpbfgHW866btqrrxoCACfg==", - "dependencies": { - "hoist-non-react-statics": "^3.3.2", - "react-native-safe-area-view": "^0.14.9" - } + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true }, - "node_modules/react-navigation/node_modules/query-string": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz", - "integrity": "sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==", - "dependencies": { - "decode-uri-component": "^0.2.0", - "filter-obj": "^1.1.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/react-navigation/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } }, - "node_modules/react-refresh": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", - "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/react-shallow-renderer": { - "version": "16.15.0", - "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", - "integrity": "sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, "dependencies": { - "object-assign": "^4.1.1", - "react-is": "^16.12.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0" + "json-buffer": "3.0.1" } }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" } }, - "node_modules/readline": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", - "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==" - }, - "node_modules/recast": { - "version": "0.20.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", - "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, "dependencies": { - "ast-types": "0.14.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">= 4" + "node": ">= 0.8.0" } }, - "node_modules/recast/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", - "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "p-locate": "^5.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { - "regenerate": "^1.4.2" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "engines": { - "node": ">=4" + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } }, - "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.8.4" + "sourcemap-codec": "^1.4.8" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=16 || 14 >=14.17" }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-abi": { + "version": "3.67.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.67.0.tgz", + "integrity": "sha512-bLn/fU/ALVBE9wj+p4Y21ZJWYFjUXLXPi/IewyLZkx3ApxKDNBWCKdReeKOtD8dWpOdDCeMyLh6ZewzcLsG2Nw==", + "dev": true, "dependencies": { - "jsesc": "~0.5.0" + "semver": "^7.3.5" }, - "bin": { - "regjsparser": "bin/parser" + "engines": { + "node": ">=10" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true }, - "node_modules/remove-trailing-slash": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz", - "integrity": "sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==" + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "node_modules/requireg": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/requireg/-/requireg-0.2.2.tgz", - "integrity": "sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==", - "dependencies": { - "nested-error-stacks": "~2.0.1", - "rc": "~1.2.7", - "resolve": "~1.7.1" - }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "dev": true, "engines": { - "node": ">= 4.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/requireg/node_modules/resolve": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", - "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", - "dependencies": { - "path-parse": "^1.0.5" + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" } }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/reselect": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", - "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" - }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "engines": { - "node": ">=8" + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated" - }, - "node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { - "node": ">=4" + "node": ">= 0.8.0" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, "engines": { - "node": ">=0.12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, "dependencies": { - "glob": "^7.1.3" + "callsites": "^3.0.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=6" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/safe-array-concat": { + "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=0.4" + "node": ">=16 || 14 >=14.18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, - "node_modules/safe-json-stringify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", - "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", - "optional": true + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/safe-regex": { + "node_modules/picocolors": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dependencies": { - "ret": "~0.1.10" - } + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" } }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/postcss": { + "version": "8.4.45", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", + "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, "engines": { - "node": ">= 0.8" + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" } }, - "node_modules/serialize-error": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-6.0.0.tgz", - "integrity": "sha512-3vmBkMZLQO+BR4RPHcyRGdE09XCF6cvxzk2N2qn8Er3F91cy8Qt7VvEbZBOpaL53qsBbe2cFOefU6tRY6WDelA==", + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, "dependencies": { - "type-fest": "^0.12.0" + "camelcase-css": "^2.0.1" }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >= 16" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" } }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "postcss-selector-parser": "^6.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" } }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, "dependencies": { - "shebang-regex": "^1.0.0" + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "node_modules/pretty-bytes": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", + "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==", + "dev": true, + "engines": { + "node": "^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/simple-plist": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", - "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "dependencies": { - "bplist-creator": "0.1.0", - "bplist-parser": "0.3.1", - "plist": "^3.0.5" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/simple-plist/node_modules/bplist-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", - "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", - "dependencies": { - "big-integer": "1.6.x" - }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, "engines": { - "node": ">= 5.10.0" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dependencies": { - "is-arrayish": "^0.3.1" + "node": ">=6" } }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true }, - "node_modules/slice-ansi": { + "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, - "engines": { - "node": ">=6" + "bin": { + "rc": "cli.js" } }, - "node_modules/slugify": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", - "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">=0.10.0" } }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "loose-envify": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/define-property": { + "node_modules/read-cache": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "pify": "^2.3.0" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, "dependencies": { - "kind-of": "^3.2.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.10.0" } }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "regenerate": "^1.4.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "@babel/runtime": "^7.8.4" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "jsesc": "~0.5.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, "engines": { + "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "node_modules/rollup": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.2.tgz", + "integrity": "sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==", + "dev": true, "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.2", + "@rollup/rollup-android-arm64": "4.21.2", + "@rollup/rollup-darwin-arm64": "4.21.2", + "@rollup/rollup-darwin-x64": "4.21.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", + "@rollup/rollup-linux-arm-musleabihf": "4.21.2", + "@rollup/rollup-linux-arm64-gnu": "4.21.2", + "@rollup/rollup-linux-arm64-musl": "4.21.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", + "@rollup/rollup-linux-riscv64-gnu": "4.21.2", + "@rollup/rollup-linux-s390x-gnu": "4.21.2", + "@rollup/rollup-linux-x64-gnu": "4.21.2", + "@rollup/rollup-linux-x64-musl": "4.21.2", + "@rollup/rollup-win32-arm64-msvc": "4.21.2", + "@rollup/rollup-win32-ia32-msvc": "4.21.2", + "@rollup/rollup-win32-x64-msvc": "4.21.2", + "fsevents": "~2.3.2" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "queue-microtask": "^1.2.2" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated" + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, "dependencies": { - "through": "2" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" }, "engines": { - "node": "*" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "engines": { - "node": ">=6" + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" } }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dependencies": { - "extend-shallow": "^3.0.0" + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, "dependencies": { - "minipass": "^3.1.1" + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" }, "engines": { - "node": ">= 8" + "node": ">= 0.4" } }, - "node_modules/stable-hash": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.2.tgz", - "integrity": "sha512-tPwQ3c1rLIwbJpq59duoznegEbmgfV630C2n4R4G96LKBFljgK8j+O9AxjqB6cAzu4gE7s4pByrLWtZel8E+Mg==" + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "node_modules/sharp": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "dev": true, + "hasInstallScript": true, "dependencies": { - "escape-string-regexp": "^2.0.0" + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" }, "engines": { - "node": ">=10" + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" + "node_modules/sharp-ico": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/sharp-ico/-/sharp-ico-0.1.5.tgz", + "integrity": "sha512-a3jODQl82NPp1d5OYb0wY+oFaPk7AvyxipIowCHk7pBsZCWgbe0yAkU2OOXdoH0ENyANhyOQbs9xkAiRHcF02Q==", + "dev": true, + "dependencies": { + "decode-ico": "*", + "ico-endec": "*", + "sharp": "*" } }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, "dependencies": { - "type-fest": "^0.7.1" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/stacktrace-parser/node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dependencies": { - "is-descriptor": "^0.1.0" + "node": ">= 0.4" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dependencies": { - "kind-of": "^3.0.2" - }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" } }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "is-arrayish": "^0.3.1" } }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "whatwg-url": "^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "engines": { - "node": ">= 0.6" + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/stream-buffers": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", - "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==", + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "engines": { - "node": ">= 0.10.0" + "node": ">=0.10.0" } }, - "node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", - "engines": { - "node": ">=4" + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/streamx": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.20.0.tgz", + "integrity": "sha512-ZGd1LhDeGFucr1CUCTBOS58ZhEendd0ttpGT3usTvosS4ntIwKN9LJFp+OeCSprsCPL14BXVRZlHGRY1V9PVzQ==", + "dev": true, + "dependencies": { + "fast-fifo": "^1.3.2", + "queue-tick": "^1.0.1", + "text-decoder": "^1.1.0" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" } }, "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, - "node_modules/string-hash-64": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string-hash-64/-/string-hash-64-1.0.3.tgz", - "integrity": "sha512-D5OKWKvDhyVWWn2x5Y9b+37NUllks34q1dCDhk/vYcso9fmhs+Tl3KR/gE4v5UNj2UA35cnX4KdVVGkG1deKqw==" - }, "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -16734,51 +7499,75 @@ "node": ">=8" } }, - "node_modules/string-width/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/string.prototype.matchall": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.9.tgz", - "integrity": "sha512-6i5hL3MqG/K2G43mWXWgP+qizFW/QH/7kCNN13JrJS5q48FN5IKksLDscexKP3dnmB6cdm9jlNgAsWNLpSykmA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "side-channel": "^1.0.4" + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -16788,92 +7577,105 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" - }, - "node_modules/structured-headers": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz", - "integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==" - }, "node_modules/sucrase": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", - "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "7.1.6", + "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", @@ -16884,68 +7686,55 @@ "sucrase-node": "bin/sucrase-node" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/sucrase/node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, "engines": { "node": ">= 6" } }, - "node_modules/sudo-prompt": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz", - "integrity": "sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==" - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "bin": { + "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/isaacs" } - }, - "node_modules/supports-hyperlinks/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, "engines": { "node": ">= 0.4" }, @@ -16953,80 +7742,83 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tar": { - "version": "6.1.15", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", - "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", + "node_modules/tailwindcss": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz", + "integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==", + "dev": true, "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" }, "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" + "node_modules/tar-fs": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.6.tgz", + "integrity": "sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" }, - "engines": { - "node": ">=10" + "optionalDependencies": { + "bare-fs": "^2.1.1", + "bare-path": "^2.1.0" } }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/temp": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", - "integrity": "sha512-jtnWJs6B1cZlHs9wPG7BrowKxZw/rf6+UpGAkr8AaYmiTyTO7zQlLoST8zx/8TcUPnZmeBoB+H8ARuHZaSijVw==", - "engines": [ - "node >=0.8.0" - ], + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dev": true, "dependencies": { - "os-tmpdir": "^1.0.0", - "rimraf": "~2.2.6" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, "node_modules/temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==", - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/tempy": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.7.1.tgz", - "integrity": "sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dev": true, "dependencies": { - "del": "^6.0.0", "is-stream": "^2.0.0", "temp-dir": "^2.0.0", "type-fest": "^0.16.0", @@ -17039,72 +7831,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tempy/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/terser": { - "version": "5.18.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz", - "integrity": "sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -17118,20 +7849,26 @@ "node": ">=10" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "node_modules/text-decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.1.1.tgz", + "integrity": "sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==", + "dev": true, + "dependencies": { + "b4a": "^1.6.4" + } }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, "dependencies": { "any-promise": "^1.0.0" } @@ -17140,6 +7877,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -17147,177 +7885,527 @@ "node": ">=0.8" } }, - "node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, - "node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/tinyglobby": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.5.tgz", + "integrity": "sha512-Dlqgt6h0QkoHttG53/WGADNh9QhcjCAIZMTERAVhdpmIBEejSuLI9ZmGKWzB7tweBjlk30+s/ofi4SLmBeTYhw==", + "dev": true, "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "fdir": "^6.2.0", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" } }, - "node_modules/tinycolor2": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", - "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.3.0.tgz", + "integrity": "sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==", + "dev": true, + "peerDependencies": { + "picomatch": "^3 || ^4" }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, "engines": { - "node": ">=0.6.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + "node_modules/to-data-view": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/to-data-view/-/to-data-view-1.1.0.tgz", + "integrity": "sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==", + "dev": true }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, "engines": { "node": ">=4" } }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/tsx": { + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.0.tgz", + "integrity": "sha512-bV30kM7bsLZKZIOCHeMNVMJ32/LuJzLVajkQI/qf92J2Qr08ueLQvW00PUZGiuLPP760UINwupgUj8qrSCPUKg==", "dependencies": { - "kind-of": "^3.0.2" + "esbuild": "~0.23.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" }, "engines": { - "node": ">=0.10.0" + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", + "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", + "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", + "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", + "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", + "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", + "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", + "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", + "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", + "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", + "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", + "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-loong64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", + "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", + "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", + "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", + "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-s390x": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", + "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, + "node_modules/tsx/node_modules/@esbuild/linux-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", + "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, + "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", + "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=0.10.0" + "node": ">=18" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, + "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", + "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=8.0" + "node": ">=18" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "node_modules/tsx/node_modules/@esbuild/sunos-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", + "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=0.6" + "node": ">=18" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/traverse": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", - "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/tsx/node_modules/@esbuild/win32-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", + "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "node_modules/tsx/node_modules/@esbuild/win32-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", + "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" + "node_modules/tsx/node_modules/@esbuild/win32-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", + "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, - "node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dependencies": { - "tslib": "^1.8.1" + "node_modules/tsx/node_modules/esbuild": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", + "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">= 6" + "node": ">=18" }, - "peerDependencies": { - "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" + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.1", + "@esbuild/android-arm": "0.23.1", + "@esbuild/android-arm64": "0.23.1", + "@esbuild/android-x64": "0.23.1", + "@esbuild/darwin-arm64": "0.23.1", + "@esbuild/darwin-x64": "0.23.1", + "@esbuild/freebsd-arm64": "0.23.1", + "@esbuild/freebsd-x64": "0.23.1", + "@esbuild/linux-arm": "0.23.1", + "@esbuild/linux-arm64": "0.23.1", + "@esbuild/linux-ia32": "0.23.1", + "@esbuild/linux-loong64": "0.23.1", + "@esbuild/linux-mips64el": "0.23.1", + "@esbuild/linux-ppc64": "0.23.1", + "@esbuild/linux-riscv64": "0.23.1", + "@esbuild/linux-s390x": "0.23.1", + "@esbuild/linux-x64": "0.23.1", + "@esbuild/netbsd-x64": "0.23.1", + "@esbuild/openbsd-arm64": "0.23.1", + "@esbuild/openbsd-x64": "0.23.1", + "@esbuild/sunos-x64": "0.23.1", + "@esbuild/win32-arm64": "0.23.1", + "@esbuild/win32-ia32": "0.23.1", + "@esbuild/win32-x64": "0.23.1" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, "dependencies": { "prelude-ls": "^1.2.1" }, @@ -17325,18 +8413,11 @@ "node": ">= 0.8.0" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" - } - }, "node_modules/type-fest": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.12.0.tgz", - "integrity": "sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, "engines": { "node": ">=10" }, @@ -17344,40 +8425,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -17387,15 +8459,17 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -17405,81 +8479,43 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", + "call-bind": "^1.0.7", "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "node_modules/uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", - "dependencies": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/uglify-es/node_modules/commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" - }, - "node_modules/uglify-es/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" + "node": ">=14.17" } }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -17490,10 +8526,25 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/unconfig": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/unconfig/-/unconfig-0.3.13.tgz", + "integrity": "sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.7.7", + "defu": "^6.1.4", + "jiti": "^1.21.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, "engines": { "node": ">=4" } @@ -17502,6 +8553,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -17514,6 +8566,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, "engines": { "node": ">=4" } @@ -17522,52 +8575,16 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, "engines": { "node": ">=4" } }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, "dependencies": { "crypto-random-string": "^2.0.0" }, @@ -17576,69 +8593,50 @@ } }, "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">= 10.0.0" } }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "node_modules/unplugin": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.13.1.tgz", + "integrity": "sha512-6Kq1iSSwg7KyjcThRUks9LuqDAKvtnioxbL9iEtB9ctTyBA5OmrB8gZd/d225VJu1w3UpUsKV7eGrvf59J7+VA==", + "dev": true, "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "acorn": "^8.12.1", + "webpack-virtual-modules": "^0.6.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "node": ">=14.0.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dependencies": { - "isarray": "1.0.0" + "peerDependencies": { + "webpack-sources": "^3" }, - "engines": { - "node": ">=0.10.0" + "peerDependenciesMeta": { + "webpack-sources": { + "optional": true + } } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4", + "yarn": "*" } }, "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, "funding": [ { "type": "opencollective", @@ -17654,8 +8652,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -17668,50 +8666,15 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "dependencies": { "punycode": "^2.1.0" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated" - }, - "node_modules/url-join": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", - "integrity": "sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA==" - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use-latest-callback": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.6.tgz", - "integrity": "sha512-VO/P91A/PmKH9bcN9a7O3duSuxe6M14ZoYXgA6a8dab8doWNdhiIHzEkX/jFeTTRBsX0Ubk6nG4q2NIjNsj+bg==", - "peerDependencies": { - "react": ">=16.8" - } - }, "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", + "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } @@ -17719,106 +8682,141 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, - "node_modules/valid-url": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" - }, - "node_modules/validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==", + "node_modules/vite": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.3.tgz", + "integrity": "sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q==", + "dev": true, "dependencies": { - "builtins": "^1.0.3" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vlq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", - "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==" - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dependencies": { - "makeerror": "1.0.12" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/warn-once": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz", - "integrity": "sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==" - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "node_modules/vite-plugin-pwa": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.20.5.tgz", + "integrity": "sha512-aweuI/6G6n4C5Inn0vwHumElU/UEpNuO+9iZzwPZGTCH87TeZ6YFMrEY6ZUBQdIHHlhTsbMDryFARcSuOdsz9Q==", + "dev": true, "dependencies": { - "defaults": "^1.0.3" + "debug": "^4.3.6", + "pretty-bytes": "^6.1.1", + "tinyglobby": "^0.2.0", + "workbox-build": "^7.1.0", + "workbox-window": "^7.1.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vite-pwa/assets-generator": "^0.2.6", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0", + "workbox-build": "^7.1.0", + "workbox-window": "^7.1.0" + }, + "peerDependenciesMeta": { + "@vite-pwa/assets-generator": { + "optional": true + } } }, "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true }, - "node_modules/whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "dev": true }, "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { - "which": "bin/which" + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, "node_modules/which-boxed-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -17830,23 +8828,17 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", - "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -17855,318 +8847,507 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-builtin-type/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "node_modules/workbox-background-sync": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.1.0.tgz", + "integrity": "sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==", + "dev": true, "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "idb": "^7.0.1", + "workbox-core": "7.1.0" } }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" - }, - "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "node_modules/workbox-broadcast-update": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-7.1.0.tgz", + "integrity": "sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==", + "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "workbox-core": "7.1.0" } }, - "node_modules/wonka": { - "version": "4.0.15", - "resolved": "https://registry.npmjs.org/wonka/-/wonka-4.0.15.tgz", - "integrity": "sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==" - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/workbox-build": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-7.1.1.tgz", + "integrity": "sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.24.4", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-replace": "^2.4.1", + "@rollup/plugin-terser": "^0.4.3", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "7.1.0", + "workbox-broadcast-update": "7.1.0", + "workbox-cacheable-response": "7.1.0", + "workbox-core": "7.1.0", + "workbox-expiration": "7.1.0", + "workbox-google-analytics": "7.1.0", + "workbox-navigation-preload": "7.1.0", + "workbox-precaching": "7.1.0", + "workbox-range-requests": "7.1.0", + "workbox-recipes": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0", + "workbox-streams": "7.1.0", + "workbox-sw": "7.1.0", + "workbox-window": "7.1.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dev": true, + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" }, "engines": { "node": ">=10" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "peerDependencies": { + "ajv": ">=8" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/workbox-build/node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" }, "engines": { - "node": ">=8" + "node": ">= 10.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } } }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/workbox-build/node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" }, - "engines": { - "node": ">=7.0.0" + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/workbox-build/node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" }, "engines": { - "node": ">=8" + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "node_modules/workbox-build/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true }, - "node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ws": { - "version": "8.13.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", - "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "node_modules/workbox-build/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/workbox-build/node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" + "node": ">=6" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/xcode": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", - "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", - "dependencies": { - "simple-plist": "^1.1.0", - "uuid": "^7.0.3" + "node_modules/workbox-build/node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/xcode/node_modules/uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "bin": { - "uuid": "dist/bin/uuid" + "node_modules/workbox-cacheable-response": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-7.1.0.tgz", + "integrity": "sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" } }, - "node_modules/xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "node_modules/workbox-core": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-7.1.0.tgz", + "integrity": "sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==", + "dev": true + }, + "node_modules/workbox-expiration": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-7.1.0.tgz", + "integrity": "sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==", + "dev": true, "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" + "idb": "^7.0.1", + "workbox-core": "7.1.0" } }, - "node_modules/xml2js/node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "engines": { - "node": ">=4.0" + "node_modules/workbox-google-analytics": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-7.1.0.tgz", + "integrity": "sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==", + "dev": true, + "dependencies": { + "workbox-background-sync": "7.1.0", + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" } }, - "node_modules/xmlbuilder": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-14.0.0.tgz", - "integrity": "sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==", - "engines": { - "node": ">=8.0" + "node_modules/workbox-navigation-preload": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-7.1.0.tgz", + "integrity": "sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" } }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" + "node_modules/workbox-precaching": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-7.1.0.tgz", + "integrity": "sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" } }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "node_modules/workbox-range-requests": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-7.1.0.tgz", + "integrity": "sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "node_modules/workbox-recipes": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-7.1.0.tgz", + "integrity": "sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==", + "dev": true, + "dependencies": { + "workbox-cacheable-response": "7.1.0", + "workbox-core": "7.1.0", + "workbox-expiration": "7.1.0", + "workbox-precaching": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" + } + }, + "node_modules/workbox-routing": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-7.1.0.tgz", + "integrity": "sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-strategies": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-7.1.0.tgz", + "integrity": "sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-streams": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-7.1.0.tgz", + "integrity": "sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0" + } + }, + "node_modules/workbox-sw": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.1.0.tgz", + "integrity": "sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==", + "dev": true + }, + "node_modules/workbox-window": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-7.1.0.tgz", + "integrity": "sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "7.1.0" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/yargs-parser/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/yargs/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/yargs/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/yargs/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/yargs/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/yargs/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">=8" + "node": ">= 14" } }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, "engines": { "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zod": { + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } } } } diff --git a/package.json b/package.json index f367c7d..99f1a9f 100644 --- a/package.json +++ b/package.json @@ -1,44 +1,42 @@ { - "name": "ncu-app-v2", - "version": "1.0.0", - "main": "node_modules/expo/AppEntry.js", + "name": "ncu-app", + "private": true, + "version": "0.0.0", + "type": "module", "scripts": { - "start": "expo start", - "android": "expo start --android", - "ios": "expo start --ios", - "web": "expo start --web", - "test:eslint": "echo \"\\033[33mRunning eslint check\" && eslint .", - "test:tsc": "echo \"\\033[33mRunning typescript check\" && tsc" + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" }, "dependencies": { - "@react-native-community/datetimepicker": "^6.7.5", - "@react-native-community/masked-view": "^0.1.11", - "@react-navigation/native": "^6.1.7", - "@react-navigation/stack": "^6.3.17", - "eslint": "^8.44.0", - "eslint-config-prettier": "^8.8.0", - "eslint-config-universe": "^11.2.0", - "eslint-plugin-react-hooks": "^4.6.0", - "expo": "~48.0.18", - "expo-image-picker": "~14.1.1", - "expo-status-bar": "~1.4.4", - "install": "^0.13.0", - "native-base": "^3.4.28", - "prettier": "^2.8.8", - "react": "18.2.0", - "react-native": "0.71.8", - "react-native-gesture-handler": "~2.9.0", - "react-native-reanimated": "~2.14.4", - "react-native-safe-area-context": "4.5.0", - "react-native-screens": "~3.20.0", - "react-native-svg": "13.4.0", - "react-navigation": "^4.4.4" + "@tanstack/react-router": "^1.56.2", + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "devDependencies": { - "@babel/core": "^7.20.0", - "@types/react": "~18.0.14", - "@types/react-native": "^0.72.2", - "typescript": "^4.9.5" + "@tanstack/router-devtools": "^1.56.2", + "@tanstack/router-plugin": "^1.56.2", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.0", + "@typescript-eslint/eslint-plugin": "^7.8.0", + "@typescript-eslint/parser": "^7.8.0", + "@vite-pwa/assets-generator": "^0.2.4", + "@vitejs/plugin-react": "^4.2.1", + "autoprefixer": "^10.4.20", + "eslint": "^8.57.0", + "eslint-plugin-react-hooks": "^4.6.2", + "eslint-plugin-react-refresh": "^0.4.6", + "postcss": "^8.4.45", + "tailwindcss": "^3.4.10", + "typescript": "^5.2.2", + "vite": "^5.2.10", + "vite-plugin-pwa": "^0.20.0", + "workbox-core": "^7.1.0", + "workbox-window": "^7.1.0" }, - "private": true + "overrides": { + "sharp": "0.32.6", + "sharp-ico": "0.1.5" + } } diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/providers/AuthenticatedUserProvider.js b/providers/AuthenticatedUserProvider.js deleted file mode 100644 index 78080df..0000000 --- a/providers/AuthenticatedUserProvider.js +++ /dev/null @@ -1,19 +0,0 @@ -import React, { useState, createContext } from 'react'; - - - -// initialise with a dummy / no-op context -export const AuthenticatedUserContext = createContext({ - user: null, - setUser: () => {} -}); - -export const AuthenticatedUserProvider = ({ children }) => { - const [user, setUser] = useState(null); - - return ( - - {children} - - ); -}; diff --git a/providers/index.js b/providers/index.js deleted file mode 100644 index f239df6..0000000 --- a/providers/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import { - AuthenticatedUserContext, - AuthenticatedUserProvider -} from './AuthenticatedUserProvider'; - -export { AuthenticatedUserContext, AuthenticatedUserProvider }; diff --git a/assets/favicon.png b/public/favicon.png similarity index 100% rename from assets/favicon.png rename to public/favicon.png diff --git a/pwa-assets.config.ts b/pwa-assets.config.ts new file mode 100644 index 0000000..ccae280 --- /dev/null +++ b/pwa-assets.config.ts @@ -0,0 +1,12 @@ +import { + defineConfig, + minimal2023Preset as preset, +} from '@vite-pwa/assets-generator/config' + +export default defineConfig({ + headLinkOptions: { + preset: '2023', + }, + preset, + images: ['public/favicon.png'], +}) diff --git a/screens/Auth/Anonymous.jsx b/screens/Auth/Anonymous.jsx deleted file mode 100644 index 1778c51..0000000 --- a/screens/Auth/Anonymous.jsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react' - -import { -Button, Center -} from 'native-base' -import { signInAnonymously, signOut, getAuth, onAuthStateChanged, FirebaseUser } from 'firebase/auth' -import { auth } from '../../config' -import { Alert } from 'react-native' - -export function AnonymousLogin () { - const anonymousLogin = () => { - const auth = getAuth() - signInAnonymously(auth) - .then(() => { - // Signed in.. - console.log('Anonymous login success') - Alert.alert('如果您覺得我們的應用程式不錯,歡迎註冊帳號,解鎖完整功能!') - }) - .catch((error) => { - const errorCode = error.code; - const errorMessage = error.message; - // ... - }); - } - - - - return ( -
- - -
- ) -} \ No newline at end of file diff --git a/screens/Auth/Login.jsx b/screens/Auth/Login.jsx deleted file mode 100644 index 22b88b3..0000000 --- a/screens/Auth/Login.jsx +++ /dev/null @@ -1,150 +0,0 @@ -import React, { useState } from 'react' - -import { - Box, Button, Heading, Input, Actionsheet, useDisclose, Center, VStack, Pressable, Icon, Link, HStack, Text -} from 'native-base' -import { signInWithEmailAndPassword, signOut, getAuth } from 'firebase/auth' -import { auth } from '../../config' -import { MaterialIcons } from '@expo/vector-icons' -import { ResetScreen } from './ResetPwd' -import { Alert } from 'react-native' - -export function LoginScreen () { - const [email, setEmail] = useState('') - const [password, setPassword] = useState('') - const [showPwd, setShowPwd] = useState(false) - const [msg, setMsg] = useState('') - const { - isOpen, - onOpen, - onClose - } = useDisclose() - const localizeMsg = { - 'auth/too-many-requests': '登入過於頻繁, 請稍後再試', - 'auth/wrong-password': '密碼錯誤, 請確認後再登入', - 'auth/user-not-found': '找不到使用者' - } - - const login = () => { - signInWithEmailAndPassword(auth, email, password).then(() => { - console.log(getAuth().currentUser.emailVerified) - if(getAuth().currentUser.emailVerified) { - console.log('login success') - } - else { - signOut(auth).then(() => { - Alert.alert('請至信箱驗證信件或是完成註冊') - }) - } - }) - .catch((error) => { - const errorCode = error.code - const errorMessage = error.message - setMsg(localizeMsg[errorCode] || errorMessage) - }) - } - - return ( -
- - - - - - - 登入帳號 - - 註冊時使用之信箱 - - setEmail(text)} - /> - - - 密碼 - - setPassword(text)} - type={showPwd ? 'text' : 'password'} - InputRightElement={ - setShowPwd(!showPwd)}> - } size={6} mr="2" color="muted.500" /> - } - /> - - { msg } - - - - - { onClose() }} ml="10px" isExternal _text={{ - fontSize: '16', - color: '#737373' - }}>尚未註冊? - - - - - {email && password && ( - - - - 登入 - - - - )} - {(!email || !password) && ( - - )} - - - - - -
- ) -} diff --git a/screens/Auth/Register.jsx b/screens/Auth/Register.jsx deleted file mode 100644 index 92b3b60..0000000 --- a/screens/Auth/Register.jsx +++ /dev/null @@ -1,361 +0,0 @@ -import React, { useState } from 'react' - -import { - Box, - Button, - Heading, - Input, - Text, - Center, - Actionsheet, - useDisclose, - Pressable, - Icon, - Link, - VStack, - ScrollView, - Avatar, - ZStack, - InputGroup, - InputRightAddon -} from 'native-base' -import { createUserWithEmailAndPassword, sendEmailVerification, signOut, getAuth } from 'firebase/auth' -import * as ImagePicker from 'expo-image-picker' -import ActiveController from '../../controller/Active' -import { auth } from '../../config' -import { AntDesign, MaterialIcons } from '@expo/vector-icons' - -export function RegisterScreen () { - const [email, setEmail] = useState('') - const [password, setPassword] = useState() - const [confirm, setConfirm] = useState() - const [showPwd, setShowPwd] = useState(false) - const [showPwd2, setShowPwd2] = useState(false) - const [registerData, setRegisterData] = useState({}) - const [avatar, setAvatar] = useState() - const [msg, setMsg] = useState() - const { isOpen, onOpen, onClose } = useDisclose() - - const localizeMsg = { - 'auth/email-already-in-use': '此信箱已註冊', - 'auth/invalid-email': '電子郵件無效' - } - - const pickImage = async () => { - const result = await ImagePicker.launchImageLibraryAsync({ - mediaTypes: ImagePicker.MediaTypeOptions.Images, - allowsEditing: true, - aspect: [1, 1], - quality: 0.2 - }) - - if (!result.assets[0].canceled) { - setAvatar(result.assets[0].uri) - if (avatar === undefined) { - setAvatar(result.assets[0].uri) - setRegisterData({ ...registerData, avatar: result.assets[0].uri }) - } - } - } - - const register = () => { - if (Object.values(registerData).length < 6) { - setMsg('請填寫完整') - return - } - createUserWithEmailAndPassword(auth, email, password) - .then((userCredential) => { - // Signed in - const { user } = userCredential - sendEmailVerification(auth.currentUser).then(() => { - // Email verification sent! - console.log('Email verification sent!') - ActiveController.addUser(user.uid, registerData) - }).then - console.log(getAuth().currentUser.emailVerified) - signOut(getAuth()).then(() => { - - console.log('Sign-out successful.') - }) - }) - .catch((err) => { - setMsg(localizeMsg[err.code]) - }) - } - - return ( -
- - - - - - - 註冊帳號 - Tips: 若您為校外或是已畢業人士,可視意願選擇填寫“無”或是“您曾經的在學資料” - - - 姓名 Name* - - - setRegisterData({ ...registerData, name }) - } - /> - - - - 科系 Major* - - - setRegisterData({ ...registerData, major }) - } - /> - - - - 年級 Grade* - - - setRegisterData({ ...registerData, grade }) - } - /> - - - - 學號 StudentId* - - - setRegisterData({ ...registerData, studentID: id }) - } - /> - - - - 電話 Phone Number* - - - setRegisterData({ ...registerData, phone }) - } - /> - - - - 有效電子信箱 Valid Email* - - - { - setEmail(text) - setRegisterData({ ...registerData, email: text }) - }} - /> - - 將發送驗證信,請填入真實信箱。{'\n'}We'll send verification email, please enter your real email. - - - - 設定密碼 Password* - - setPassword(text)} - type={showPwd ? 'text' : 'password'} - InputRightElement={ - setShowPwd(!showPwd)}> - - } - size={6} - mr="2" - color="muted.500" - /> - - } - /> - - - - 確認密碼 Check your password again* - - setConfirm(text)} - InputRightElement={ - setShowPwd2(!showPwd2)}> - - } - size={6} - mr="2" - color="muted.500" - /> - - } - /> - - {password && confirm && password !== confirm && ( - - 密碼不相符,請再次做確認 - - )} - - { - onClose() - }} - alignSelf={'flex-start'} - _text={{ - fontSize: '16', - color: '#737373' - }} - > - 已有帳號, 前往登入 - - - - { msg } - - - - 新增頭貼 Add Avatar Image* - - - - - - - - - - {!email || - !password || - !confirm || - password !== confirm || - !avatar || - !registerData.email || - !registerData.grade || - !registerData.name || - !registerData.major || - !registerData.phone || - !registerData.studentID - ? ( - - ) - : ( - - )} - - - - - -
- ) -} diff --git a/screens/Auth/ResetPwd.jsx b/screens/Auth/ResetPwd.jsx deleted file mode 100644 index 647b7c4..0000000 --- a/screens/Auth/ResetPwd.jsx +++ /dev/null @@ -1,132 +0,0 @@ -import React, { useState } from 'react' - -import { - Box, Heading, Input, Actionsheet, useDisclose, Center, VStack, Pressable, Link, HStack, Text -} from 'native-base' -import { MaterialIcons } from '@expo/vector-icons' -import { sendPasswordResetEmail, getAuth } from 'firebase/auth' - -export function ResetScreen () { - const [email, setEmail] = useState('') - const [isSent, setSent] = useState(false) - const [msg, setMsg] = useState('') - const { - isOpen, - onOpen, - onClose - } = useDisclose() - const localizeMsg = { - 'auth/invalid-email': '輸入之電子郵件無效', - 'auth/user-not-found': '此信箱尚未註冊' - } - - const actionCodeSettings = { - url: 'https://ncuapp.page.link', - iOS: { - bundleId: 'com.example.ios' - }, - android: { - packageName: 'com.example.android', - installApp: true, - minimumVersion: '12' - }, - handleCodeInApp: true - } - - async function reset (email) { - const auth = getAuth() - await sendPasswordResetEmail(auth, email, actionCodeSettings) - .then(function () { - // Password reset email sent. - setSent(true) - setMsg('') - }) - .catch(function (error) { - // Error occurred. Inspect error.code. - setMsg(localizeMsg[error.code]) - }) - } - - return ( -
- - 忘記密碼? - - - - - - - - 忘記密碼? - - - - - { setEmail(text); setSent(false) }} - /> - - - - { msg } - - {email && ( - - reset(email)}> - - {isSent ? '已發送' : '發送郵件'} - - - - )} - {(!email) && ( - - - - 發送郵件 - - - - )} - - - - - -
- ) -} diff --git a/screens/Auth/index.jsx b/screens/Auth/index.jsx deleted file mode 100644 index f4dbf72..0000000 --- a/screens/Auth/index.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import React, { useState } from 'react' -import { - Avatar, Box, Heading, Link, Button, VStack, Text, Center, Modal -} from 'native-base' -import logo from '../../assets/icon.png' -import { LoginScreen } from './Login' -import { RegisterScreen } from './Register' -import { AnonymousLogin } from './Anonymous' - -const supportedURL = 'https://ncuappteam.github.io/PRIVACY' - -export function AuthScreen () { - return ( - - - - - - 歡迎來到 NCU App - - - - 隱私權政策 - - - - - ) -} diff --git a/screens/Event/GenreEvent.jsx b/screens/Event/GenreEvent.jsx deleted file mode 100644 index 95cb7d4..0000000 --- a/screens/Event/GenreEvent.jsx +++ /dev/null @@ -1,157 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - RefreshControl, Image -} from 'react-native' -import { Title } from 'react-native-paper' -import { - Ionicons, FontAwesome5, AntDesign, Feather, Octicons -} from '@expo/vector-icons' -import { - NativeBaseProvider, Box, FlatList, VStack, Pressable, HStack, Center, ZStack, Badge, Text -} from 'native-base' -import styles from './style_folder/Styles_moreEvent' -import ActiveController from '../../controller/Active' -import MessageController from '../../controller/Message' -import { BaseTheme } from '../../theme' -import { getAuth } from 'firebase/auth' - -function Genre ({ navigation, route }) { - const auth = getAuth() - const { GenreName } = route.params - const [Messagenum, setMessageNum] = useState(0) - useEffect(() => { - MessageController.countUnreadMessage().then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - }, []) - const [active, setActive] = useState([]) - useEffect(() => { - ActiveController.getGenreActive(GenreName).then((res) => { - setActive(res) - }).catch((err) => { - throw err - }) - }, []) - - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - ActiveController.getGenreActive(GenreName).then((res) => { - setActive(res) - }).catch((err) => { - throw err - }) - MessageController.countUnreadMessage().then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - - return ( - - - - - { navigation.navigate('search') }} - /> - - - - {GenreName} - - - {!auth.currentUser.isAnonymous ? <> { navigation.navigate('message', { prepage: 'list' }) } } - > -
- - - - - - - - - {/* // 要記得變0 */} - -
-
{ navigation.navigate('personal') } } - > - - - - - : - } -
-
- - {((active.length != 0) ? ( - item.id} - showsVerticalScrollIndicator={false} - refreshControl={( - - )} - renderItem={({ item }) => ( - { - navigation.navigate('details', { Cd: item.id, prepage: 'more' }) - }} - > - - - - - - {item.startTimeWeekday} - - - {item.name} - - - - {(item.finish && (已結束))} - - - )} - />) - : (
目前尚無任何活動
))} -
- -
- ) -} - -export default Genre diff --git a/screens/Event/Message.jsx b/screens/Event/Message.jsx deleted file mode 100644 index 1a0b3d1..0000000 --- a/screens/Event/Message.jsx +++ /dev/null @@ -1,165 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - Text, RefreshControl, Image -} from 'react-native' -import { Card } from 'react-native-paper' -import { FontAwesome5, AntDesign, Octicons } from '@expo/vector-icons' - -import { - NativeBaseProvider, Box, VStack, HStack, FlatList, ZStack -} from 'native-base' -import { LinearGradient } from 'expo-linear-gradient' -import styles from './style_folder/Styles_Message' -import MessageController from '../../controller/Message' -import UserController from '../../controller/getStudentId' -import { BaseTheme } from '../../theme' - -function Message ({ navigation }) { - const userUid = UserController.getUid() - const [userAvatar, setUserAvatar] = useState() - const [newInfo, setNewInfo] = useState() - - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - UserController.getINFO(userUid).then((res) => { - setUserAvatar(res.avatar) - }).catch((err) => { - throw err - }) - MessageController.findRelateChatroom(userUid).then((res) => { - setNewInfo(res) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - - useEffect(() => { - UserController.getINFO(userUid).then((res) => { - setUserAvatar(res.avatar) - }).catch((err) => { - throw err - }) - MessageController.findRelateChatroom(userUid).then((res) => { - setNewInfo(res) - }).catch((err) => { - throw err - }) - const focusHandler = navigation.addListener('focus', () => { - onRefresh() - }) - return focusHandler - }, []) - return ( - - - - - - {/* { navigation.navigate('list') }} - /> */} - - - -  私訊中心 - - - - - - {/* 暫時關閉區分拍賣和活動的私訊按鈕 */} - {/* - - - 拍賣私訊 - - - 活動私訊 - - - */} - - item.id} - showsVerticalScrollIndicator={false} - refreshControl={( - - )} - renderItem={({ item }) => ( - { - navigation.navigate('send', { - userAvatar, - attendeeName: item.name, - attendeeAvatar: item.avatar, - chatroomId: item.id, - userUid - }) - }} - > - - - - - - {item.name} - - {/* -  # - {' '} - {item.identity} - */} - {/* - - {item.major} - - */} - - {item.data} - - - - - {MessageController.newMessageTime(item.sendTime)} - - - - - - - - - )} - /> - - - - ) -} -export default Message diff --git a/screens/Event/Send.jsx b/screens/Event/Send.jsx deleted file mode 100644 index 0bba24d..0000000 --- a/screens/Event/Send.jsx +++ /dev/null @@ -1,449 +0,0 @@ -import React, { useState, useEffect, useRef } from 'react' -import { - Text, View, Dimensions, - ScrollView, Image, TouchableHighlight, TextInput, - Platform, RefreshControl -} from 'react-native' -import { useKeyboard } from '@react-native-community/hooks' -import { - FontAwesome5, AntDesign, Feather, Octicons, MaterialCommunityIcons -} from '@expo/vector-icons' -import { Card } from 'react-native-paper' -import Dialog, { DialogContent } from 'react-native-popup-dialog' -import { Box, HStack, FlatList, Pressable } from 'native-base' -import { LinearGradient } from 'expo-linear-gradient' -import * as ImagePicker from 'expo-image-picker' -import { getApp } from 'firebase/app' -import { onSnapshot, collection, getFirestore } from 'firebase/firestore' -import styles from './style_folder/Styles_Message' -import MessageController from '../../controller/Message' - -function Send ({ route, navigation }) { - const scrollview = useRef() - const [deleteMessageId, setDeleteMessageId] = useState('') - const [slideDot1, setSlideDot1] = useState(true) - const [slideDot2, setSlideDot2] = useState(false) - const whenScrolling = ({ nativeEvent }) => { - const slide = Math.ceil(nativeEvent.contentOffset.x / nativeEvent.layoutMeasurement.width) - if (slide === 0) { - setSlideDot1(true) - setSlideDot2(false) - } else if (slide === 1) { - setSlideDot1(false) - setSlideDot2(true) - } - } - const [showDialog, setShowDialog] = useState(false) - const { userAvatar } = route.params - const { attendeeName } = route.params - const { attendeeAvatar } = route.params - const { chatroomId } = route.params - const { userUid } = route.params - const keyboard = useKeyboard() - const [data, setData] = useState({ - id: chatroomId, - sender: userUid - }) - - const db = getFirestore(getApp()) - const dbRef = collection(db, `chatrooms/${chatroomId}/messages`) - - // const [time, setTime] = useState(); - const [getData, setGetData] = useState([]) - - useEffect(() => { - MessageController.readMessage(userUid, chatroomId) - onSnapshot(dbRef, (docsSnap) => { - const message = [] - docsSnap.forEach((doc) => { - message.push({ - messageid: doc.id, - data: doc.data().data, - type: doc.data().type, - sendTime: doc.data().sendTime, - sender: doc.data().sender - }) - }) - message.sort((a, b) => a.sendTime - b.sendTime) - setGetData(message) - }) - scrollview.current.scrollToEnd({ animated: true }) - }, []) - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - onSnapshot(dbRef, (docsSnap) => { - const message = [] - docsSnap.forEach((doc) => { - message.push({ - messageid: doc.id, - data: doc.data().data, - type: doc.data().type, - sendTime: doc.data().sendTime, - sender: doc.data().sender - }) - }) - message.sort((a, b) => a.sendTime - b.sendTime) - setGetData(message) - }) - scrollview.current.scrollToEnd({ animated: true }) - setRefreshing(false) - } - - const pickImage = async () => { - const result = await ImagePicker.launchImageLibraryAsync({ - mediaTypes: ImagePicker.MediaTypeOptions.Images, - allowsEditing: true, - aspect: [1, 1], - quality: 1 - }) - if (!result.canceled) { - MessageController.addMessage({ - ...data, - uri: result.assets[0].uri, - sendTime: new Date(), - type: 'image' - }) - - scrollview.current.scrollToEnd({ animated: true }) - } - } - - return ( - - - - - - - {/* - { navigation.navigate('message', { prepage: 'send' }) }} - /> - */} - - -   - {attendeeName} - - - - - {/* - - */} - - - - - )} - data={getData} - keyExtractor={(item) => item.id} - showsVerticalScrollIndicator={false} - ref={scrollview} - onContentSizeChange={() => scrollview.current.scrollToEnd({ animated: true })} - renderItem={({ item }) => ( - - {/* per day 的 時間顯示還做不出來 */} - {/* - {MessageController.toDateString(item.sendTime)} - */} - - - {item.sender === userUid && ( - - - {MessageController.getHoursMin(item.sendTime)} - - - )} - - - { - if (item.sender === userUid) { - setShowDialog(true) - setDeleteMessageId(item.messageid) - } else { - setShowDialog(false) - } - }} - > - { - setShowDialog(false) - }} - > - - - - - 收回訊息?  - - - - - - - - - 訊息將被收回,但對方有可能已查閱過此訊息,仍然確定將訊息收回嗎? - - - - - - - - { - setShowDialog(false) - }} - > - 取消 - - - - { - MessageController.deleteMessage(chatroomId, deleteMessageId) - .then(() => { - setShowDialog(false) - }) - }} - > - 刪除 - - - - - - - - - {item.type === 'text' - ? ( - - {item.data} - - ) - : ( - - )} - - - {item.sender !== userUid && ( - - - {MessageController.getHoursMin(item.sendTime)} - - - )} - - - - {item.sender === userUid - ? ( - - ) - : ( - - )} - - - - - - )} - /> - - - - - - { - data.sendTime = new Date() - MessageController.addMessage({ - ...data, data: '請問有什麼需要注意的嗎?', sendTime: data.sendTime, type: 'text' - }) - }} - > - 請問有什麼需要注意的嗎? - - - - { - data.sendTime = new Date() - MessageController.addMessage({ - ...data, data: '請問有需要自行準備的東西嗎?', sendTime: data.sendTime, type: 'text' - }) - }} - > - 請問有需要自行準備的東西嗎? - - - - - - - - - - - - - - { - setData({ ...data, data: text }) - }} - selectionColor="#ccc" - /> - - - { - if (data.data !== '') { - data.sendTime = new Date() - data.type = 'text' - MessageController.addMessage(data) - setData({ ...data, data: '' }) - } - }} - /> - - - - - - ) -} -export default Send diff --git a/screens/Event/activityList.jsx b/screens/Event/activityList.jsx deleted file mode 100644 index 288f1cf..0000000 --- a/screens/Event/activityList.jsx +++ /dev/null @@ -1,215 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { RefreshControl, Dimensions } from 'react-native' -import { Title, Card } from 'react-native-paper' -import { Ionicons, AntDesign } from '@expo/vector-icons' -import { - Box, - Divider, - HStack, - Text, - VStack, - Button, - Pressable, - ScrollView, - Image, - ZStack, - Badge -} from 'native-base' -import styles from './style_folder/Styles_activityList' -import ActiveController from '../../controller/Active' -import { SearchHeader } from './components/SearchHeader' - -function ActivityCard (props) { - const key = props.id - const id = props.id - const name = props.name - const imageUri1 = props.imageUri1 - const place = props.place - const startTimeWeekday = props.startTimeWeekday - const finish = props.finish - const navigation = props.navigation - - - return ( - { - navigation.navigate('details', { Cd: id, prepage: 'list' }) - }} - > - - } w={'100%'}> - eventPic - - - {startTimeWeekday} - - - {name} - - - - {(finish && (已結束))} - - - ) -} - -function List ({ navigation }) { - const [active1, setActive1] = useState([]) - const [active2, setActive2] = useState([]) - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - ActiveController.getHangOutActive() - .then((res) => { - setActive1(res) - }) - .then() - .catch((err) => { - throw err - }) - ActiveController.getEventActive() - .then((res) => { - setActive2(res) - }) - .catch((err) => { - throw err - }) - setRefreshing(false) - } - - useEffect(() => { - const focusHandler = navigation.addListener('focus', () => { - onRefresh() - }) - return focusHandler - }, [navigation]) - return ( - - - - - - } - > - - - - - 近期揪人 - - { - navigation.navigate('moreHang') - }} - > - - 顯示更多 - - - - - - - - - {active1.map( - ({ id, name, imageUri1, place, startTimeWeekday, finish }) => ( - - ) - )} - - - - - - - - - 近期活動 - - { - navigation.navigate('more') - }} - > - - 顯示更多 - - - - - - - - - {active2.map( - ({ id, name, imageUri1, place, startTimeWeekday, finish }) => ( - - ) - )} - - - - - - - - ) -} - -export default List diff --git a/screens/Event/addActivity.jsx b/screens/Event/addActivity.jsx deleted file mode 100644 index d2e5ab5..0000000 --- a/screens/Event/addActivity.jsx +++ /dev/null @@ -1,852 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - Text, Platform, View, TextInput, - ScrollView, TouchableOpacity, Dimensions, Image, TouchableHighlight -} from 'react-native' -import DateTimePicker from '@react-native-community/datetimepicker' -import { - Dialog, Portal, Button, Provider -} from 'react-native-paper' -import { - MaterialCommunityIcons, AntDesign, Foundation -} from '@expo/vector-icons' -import { LinearGradient } from 'expo-linear-gradient' -import { - Box, Divider, Heading, ZStack -} from 'native-base' -import * as ImagePicker from 'expo-image-picker' -import styles from './style_folder/Styles_addActivity' -import ActiveController from '../../controller/Active' -import UserController from '../../controller/getStudentId' - -function Add ({ navigation }) { - const [data, setData] = useState({ - cost: '', - link: '' - }) - const [host, setHost] = useState([]) - useEffect(() => { - ActiveController.getHostinAdd().then((res) => { - setHost(res) - }) - }, []) - - const [genre, setGenre] = useState(false) - const [name, setName] = useState(false) - const [start, setStartCheck] = useState(false) - const [end, setEndCheck] = useState(false) - const [limitNum, setLimitNum] = useState(false) - const [place, setPlace] = useState(false) - const [detail, setDetail] = useState(false) - - const [image1, setImage1] = useState() - const [image2, setImage2] = useState() - const [image3, setImage3] = useState() - let NoPicLink - - const pickImage = async () => { - const result = await ImagePicker.launchImageLibraryAsync({ - mediaTypes: ImagePicker.MediaTypeOptions.Images, - allowsEditing: true, - aspect: [1, 1], - quality: 0.2 - }) - - NoPicLink = result.assets[0].uri - if (!result.assets[0].canceled) { - if (image1 === undefined) { - setImage1(result.assets[0].uri) - setData({ ...data, image1: result.assets[0].uri }) - } else if (image2 === undefined) { - setImage2(result.assets[0].uri) - setData({ ...data, image2: result.assets[0].uri }) - } else if (image3 === undefined) { - setImage3(result.assets[0].uri) - setData({ ...data, image3: result.assets[0].uri }) - } - } - } - const [isPress, setIsPress] = useState('') - const values = ['揪人共乘', '揪人運動', '揪人遊戲', '校園活動', '系上活動', '社團活動'] - - const [visible1, setVisible1] = React.useState(false) - const [date1, setDate1] = useState(new Date()) - const [mode1, setMode1] = useState('date') - const [show1, setShow1] = useState(false) - const [startDateText, setStartDate] = useState()// dialog中選擇日期的字 - const [startTimeText, setStartTime] = useState()// dialog中選擇時間的字 - const [startText, setStart] = useState()// 顯示開始時間(必填)的字 - const showDialog1 = () => setVisible1(true) - // 按下done的時候觸發 - const hideDialog1 = () => { - // 如果先填了結束時間 而且開始時間正確 - if (data.endTime !== undefined && data.endTime >= data.startTime && - startDateText !== undefined && startTimeText !== undefined) { - // 顯示開始時間(必填)的字 - setStart(`${startDateText} ${startTimeText}`) - setStartCheck(true) - } - // 如果先填了結束時間案且結果錯誤 - else if (data.endTime !== undefined && data.endTime < data.startTime && - startDateText !== undefined && startTimeText !== undefined) { - alert('開始時間錯誤') - // 取消顯示 - setData({ ...data, startTime: undefined }) - setStartDate('') - setStartTime('') - setStart('') - } - // 如果沒填結束時間 - else if (data.endTime === undefined && startDateText !== undefined && startTimeText !== undefined) { - setStart(`${startDateText} ${startTimeText}`) - setStartCheck(true) - } - // 如果直接跳掉 - else { - setData({ ...data, startTime: undefined }) - } - setVisible1(false) - } - - const showMode1 = (currentMode) => { - setShow1(true) - setMode1(currentMode) - } - const showTimepicker1 = () => { - showMode1('time') - } - const showDatepicker1 = () => { - showMode1('date') - } - const onStartChange = (event, selectedDate) => { - const currentDate = selectedDate || date1 - setShow1(false) - setDate1(currentDate) - - const tempDate = new Date(currentDate) - if (mode1 === 'date') { - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - setStartDate(`${fDate}`) - } else if (mode1 === 'time') { - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setStartTime(`${fTime}`) - } - setData({ ...data, startTime: tempDate }) - } - - const hideDialogi1 = () => { - setData({ ...data, startTime: undefined }) - setStart(undefined) - setStartCheck(false) - if ((data.endTime === undefined && (startDateText === undefined || startTimeText === undefined)) || - (data.endTime !== undefined && data.endTime > date1)) { - const currentDate = date1 - setDate1(currentDate) - const tempDate = new Date(currentDate) - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setData({ ...data, startTime: tempDate }) - setStart(`${fDate} ${fTime}`) - setStartCheck(true) - } else { - alert('開始時間錯誤') - } - setVisible1(false) - } - const onStartChangei1 = (event, selectedDate) => { - const currentDate = selectedDate || date1 - setDate1(currentDate) - const tempDate = new Date(currentDate) - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - setStartDate(`${fDate}`) - setData({ ...data, startTime: tempDate }) - } - const onStartChangei2 = (event, selectedDate) => { - const currentDate = selectedDate || date1 - setDate1(currentDate) - const tempDate = new Date(currentDate) - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setStartTime(`${fTime}`) - setData({ ...data, startTime: tempDate }) - } - - const [visible2, setVisible2] = React.useState(false) - const [date2, setDate2] = useState(new Date()) - const [mode2, setMode2] = useState('date') - const [show2, setShow2] = useState(false) - const [endDateText, setEndDate] = useState()// dialog中選擇日期的字 - const [endTimeText, setEndTime] = useState()// dialog中選擇日期的字 - const [endText, setEnd] = useState()// 顯示結束時間(必填)的字 - const showDialog2 = () => setVisible2(true) - // 按下done的時候觸發 - const hideDialog2 = () => { - // 如果先填了開始時間 而且結束時間正確 - if (data.startTime !== undefined && data.endTime >= data.startTime && - endDateText !== undefined && endTimeText !== undefined) { - // 顯示開始時間(必填)的字 - setEnd(`${endDateText} ${endTimeText}`) - setEndCheck(true) - } - // 如果先填了開始時間案且結果錯誤 - else if (data.startTime !== undefined && data.endTime < data.startTime && - endDateText !== undefined && endTimeText !== undefined) { - alert('結束時間錯誤') - setData({ ...data, endTime: undefined }) - // 取消顯示 - setEndDate('') - setEndTime('') - setEnd('') - } - // 如果沒填開始時間 - else if (data.startTime === undefined && endDateText !== undefined && endTimeText !== undefined) { - setEnd(`${endDateText} ${endTimeText}`) - setEndCheck(true) - } - // 如果直接跳掉 - else { - setData({ ...data, endTime: undefined }) - setEndDate('') - setEndTime('') - setEnd('') - } - setVisible2(false) - } - const showMode2 = (currentMode) => { - setShow2(true) - setMode2(currentMode) - } - const showTimepicker2 = () => { - showMode2('time') - } - const showDatepicker2 = () => { - showMode2('date') - } - const onEndChange = (event, selectedDate) => { - const currentDate = selectedDate || date2 - setShow2(false) - setDate2(currentDate) - - const tempDate = new Date(currentDate) - if (mode2 === 'date') { - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - setEndDate(`${fDate}`) - } else if (mode2 === 'time') { - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setEndTime(`${fTime}`) - } - setData({ ...data, endTime: tempDate }) - } - - const hideDialogi2 = () => { - setData({ ...data, endTime: undefined }) - setEnd(undefined) - setEndCheck(false) - if ((data.endTime === undefined && (startDateText === undefined || startTimeText === undefined)) || - (data.endTime !== undefined && data.endTime > data.startTime)) { - const currentDate = date2 - setDate2(currentDate) - const tempDate = new Date(currentDate) - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setData({ ...data, endTime: tempDate }) - setEnd(`${fDate} ${fTime}`) - setEndCheck(true) - } else { - alert('結束時間錯誤') - } - setVisible2(false) - } - const onEndChangei1 = (event, selectedDate) => { - const currentDate = selectedDate || date2 - setDate2(currentDate) - const tempDate = new Date(currentDate) - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - setEndDate(`${fDate}`) - setData({ ...data, endTime: tempDate }) - } - const onEndChangei2 = (event, selectedDate) => { - const currentDate = selectedDate || date2 - setDate2(currentDate) - const tempDate = new Date(currentDate) - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setEndTime(`${fTime}`) - setData({ ...data, endTime: tempDate }) - } - - return ( - - - - - - - - { navigation.navigate('personal') }} - /> - - - - 新增活動 - - - - - - - 活動分類(必選一個) - - {values.map((value) => ( - { - setIsPress(value) - setData({ ...data, genre: value }) - setGenre(true) - }} - style={isPress === value ? styles.btnPress : styles.btnNormal} - > - - {value} - - - ))} - - - - 活動名稱(必填) - - - { - setData({ ...data, name: text }) - setName(true) - if (text === '') { - setName(false) - } - }} - selectionColor="#ccc" - /> - - - - - 開始時間(必填) - - - {Platform.OS === 'android' && ( - { - showDialog1() - }} - style={{ width: '100%' }} - > - - - )} - {(Platform.OS === 'android' && show1) && ( - - )} - - {Platform.OS === 'ios' && ( - { - showDialog1() - }} - style={styles.input} - > - {startText === undefined && ( - - 開始時間 - - )} - - {startText} - - - - )} - - - - - 結束時間(必填) - - - {Platform.OS === 'android' && ( - { - showDialog2() - }} - style={{ width: '100%' }} - > - - - )} - {(Platform.OS === 'android' && show2) && ( - - )} - - {Platform.OS === 'ios' && ( - { - showDialog2() - }} - style={styles.input} - > - {endText === undefined && ( - - 結束時間 - - )} - - {endText} - - - - )} - - - - - 活動地點(必填) - - - { - setData({ ...data, place: text }) - setPlace(true) - if (text === '') { - setPlace(false) - } - }} - selectionColor="#ccc" - /> - - - - - - 參加費用 - - - 人數上限(必填) - - - - - - setData({ ...data, cost: text })} - selectionColor="#ccc" - /> - - - - - - { - setData({ ...data, limitNum: text }) - setLimitNum(true) - if (text === '') { - setLimitNum(false) - } - }} - selectionColor="#ccc" - /> - - - - - - 活動連結 - - - setData({ ...data, link: text })} - selectionColor="#ccc" - /> - - - - - 詳細資訊(必填) - - - { - setData({ ...data, details: text }) - setDetail(true) - if (text === '') { - setDetail(false) - } - }} - selectionColor="#ccc" - /> - - - - - 活動照片(最多可以上傳3張, 第一章預設為縮圖照片) - - {image1 && ( - - - - { - setImage1(NoPicLink) - setData({ ...data, image1: NoPicLink }) - if (image2) { - setImage1(image2) - setData({ ...data, image1: image2 }) - setImage2(NoPicLink) - setData({ ...data, image2: NoPicLink }) - } - if (image3) { - setImage2(image3) - setData({ ...data, image2: image3 }) - setImage3(NoPicLink) - setData({ ...data, image3: NoPicLink }) - } - }} - /> - - - )} - {image2 && ( - - - - { - setImage2(NoPicLink) - setData({ ...data, image2: NoPicLink }) - if (image3) { - setImage2(image3) - setData({ ...data, image2: image3 }) - setImage3(NoPicLink) - setData({ ...data, image3: NoPicLink }) - } - }} - /> - - - )} - {image3 && ( - - - - { - setImage3(NoPicLink) - setData({ ...data, image3: NoPicLink }) - }} - /> - - - )} - - - - 上傳 - - - - 請確認以下聯絡資訊, 若有錯誤可至個人管理中心修改! - - 活動聯絡人姓名 - - - - - - - - 連絡電話 - - - - - - - - 電子郵件 - - - - - - - - {(genre === true && name === true && start === true && end === true && - limitNum === true && place === true && detail === true) - ? ( - - { - data.uploadTime = new Date() - ActiveController.addActive(data) - navigation.navigate('list') - }} - > - - 確認新增 - - - - ) - : ( - - - 確認新增 - - - )} - - - {Platform.OS === 'ios' && ( - - - 選擇開始時間 - - - - - - - - - - - - 選擇結束時間 - - - - - - - - - - - - )} - - {Platform.OS === 'android' && ( - - - 選擇開始時間 - - - - - {startDateText} - - - - - - {startTimeText} - - - - - - - - - - - 選擇結束時間 - - - - - {endDateText} - - - - - - {endTimeText} - - - - - - - - - - - )} - - - - - ) -} - -export default Add diff --git a/screens/Event/components/EventCard.jsx b/screens/Event/components/EventCard.jsx deleted file mode 100644 index 1d59327..0000000 --- a/screens/Event/components/EventCard.jsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; -import { View } from 'react-native'; -import { - Card, Title, Paragraph, -} from 'react-native-paper'; -import styles from '../Styles'; - -function EventCard({ navigation, event }) { - return ( - - { - navigation.navigate('活動詳細資料', { - event, - }); - }} - > - - {event.data.name} - {event.data.info} - - - - ); -} - -export default EventCard; diff --git a/screens/Event/components/SearchHeader.jsx b/screens/Event/components/SearchHeader.jsx deleted file mode 100644 index 38546e2..0000000 --- a/screens/Event/components/SearchHeader.jsx +++ /dev/null @@ -1,106 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - Pressable -} from 'react-native' - -import { - FontAwesome5, AntDesign, Feather, Octicons -} from '@expo/vector-icons' -import { - Box, ZStack, HStack, Center, Input, Icon -} from 'native-base' -import MessageController from '../../../controller/Message' -import UserController from '../../../controller/getStudentId' -import { getAuth } from 'firebase/auth' - -export function SearchHeader ({ navigation }) { - const auth = getAuth() - const [Messagenum, setMessageNum] = useState(0) - const userid = UserController.getUid() - - const [refreshing, setRefreshing] = useState(false) - const onRefresh = async () => { - setRefreshing(true) - MessageController.countUnreadMessage(userid).then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - - useEffect(() => { - MessageController.countUnreadMessage(userid).then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - const focusHandler = navigation.addListener('focus', () => { - onRefresh() - }) - return focusHandler - }, [navigation]) - return ( -
- - { navigation.navigate('search') }} - flex={1} - > -
- } - pointerEvents="none" - isReadOnly - onPress={() => { navigation.navigate('search') }} - /> -
-
- - {!auth.currentUser.isAnonymous && <> { navigation.navigate('message', { prepage: 'list' }) } } - > -
- - - - - - - - - {/* // 要記得變0 */} - -
-
{ navigation.navigate('personal') } } - > - - - - } -
-
- ) -} -export default { SearchHeader } diff --git a/screens/Event/editActivity.jsx b/screens/Event/editActivity.jsx deleted file mode 100644 index b1de6d9..0000000 --- a/screens/Event/editActivity.jsx +++ /dev/null @@ -1,854 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - Text, Platform, View, TextInput, Alert, - ScrollView, TouchableOpacity, Dimensions, Image, TouchableHighlight -} from 'react-native' -import DateTimePicker from '@react-native-community/datetimepicker' -import { - Dialog, Portal, Button, Provider -} from 'react-native-paper' -import { - AntDesign, MaterialCommunityIcons, Foundation -} from '@expo/vector-icons' -import { - NativeBaseProvider, Box, Divider, Heading, ZStack -} from 'native-base' -import { LinearGradient } from 'expo-linear-gradient' -import * as ImagePicker from 'expo-image-picker' -import styles from './style_folder/Styles_editActivity' -import ActiveController from '../../controller/Active' -import { BaseTheme } from '../../theme' - -function Edit ({ route, navigation }) { - const Cd = route.params - const passedID = JSON.stringify(Cd).slice(7, -2) - // 必填檢查參數 - const [genre, setGenre] = useState(true) - const [name, setName] = useState(true) - const [start, setStartCheck] = useState(true) - const [end, setEndCheck] = useState(true) - const [limitNum, setLimitNum] = useState(true) - const [place, setPlace] = useState(true) - const [detail, setDetail] = useState(true) - // - const [OLDdata, setOLDdata] = useState([]) - const [NEWdata, setNEWdata] = useState([]) - const [genreID, setgenreID] = useState() - const [host, setHost] = useState([]) - let NoPicLink - - const [image1, setImage1] = useState() - const [image2, setImage2] = useState() - const [image3, setImage3] = useState() - - const [isPress, setIsPress] = useState('') - const values = ['揪人共乘', '揪人運動', '揪人遊戲', '校園活動', '系上活動', '社團活動'] - - const [startText, setStart] = useState() - const [startDateText, setStartDate] = useState() - const [startTimeText, setStartTime] = useState() - const [endDateText, setEndDate] = useState() - const [endTimeText, setEndTime] = useState() - const [endText, setEnd] = useState() - - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - ActiveController.getHostinAdd().then((res) => { - setHost(res) - }) - ActiveController.getOneActive(passedID).then((res) => { - setOLDdata(res[0]) - setgenreID(values.indexOf(res[0].genre)) - setImage1(res[0].imageUri1) - if (res[0].imageUri2) { - setImage2(res[0].imageUri2) - } - if (res[0].imageUri3) { - setImage3(res[0].imageUri3) - } - setIsPress(res[0].genre) - setStart(res[0].startTimeInNum) - setStartDate(res[0].startTimeInNum.substring(0, 10)) - setStartTime(res[0].startTimeInNum.substring(11, 17)) - setEnd(res[0].endTimeInNum) - setEndDate(res[0].endTimeInNum.substring(0, 10)) - setEndTime(res[0].endTimeInNum.substring(11, 17)) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - - useEffect(() => { - onRefresh() - }, []) - - const pickImage = async () => { - const result = await ImagePicker.launchImageLibraryAsync({ - mediaTypes: ImagePicker.MediaTypeOptions.All, - allowsEditing: true, - aspect: [1, 1], - quality: 0.2 - }) - - NoPicLink = result.assets[0].uri - if (!result.assets[0].canceled) { - if (image1 === undefined) { - setImage1(result.assets[0].uri) - setNEWdata({ ...NEWdata, image1: result.assets[0].uri }) - } else if (image2 === undefined) { - setImage2(result.assets[0].uri) - setNEWdata({ ...NEWdata, image2: result.assets[0].uri }) - } else if (image3 === undefined) { - setImage3(result.assets[0].uri) - setNEWdata({ ...NEWdata, image3: result.assets[0].uri }) - } - } - } - - const [visible1, setVisible1] = useState(false) - const [date1, setDate1] = useState(new Date()) - const [mode1, setMode1] = useState('date') - const [show1, setShow1] = useState(false) - - const showDialog1 = () => setVisible1(true) - - const hideDialog1 = () => { - if (startDateText !== undefined && startTimeText !== undefined) { - setStart(`${startDateText} ${startTimeText}`) - setStartCheck(true) - } - setVisible1(false) - } - const showMode1 = (currentMode) => { - setShow1(true) - setMode1(currentMode) - } - const showTimepicker1 = () => { - showMode1('time') - } - const showDatepicker1 = () => { - showMode1('date') - } - const onStartChange = (event, selectedDate) => { - const currentDate = selectedDate || date1 - setShow1(false) - setDate1(currentDate) - - const tempDate = new Date(currentDate) - if (mode1 === 'date') { - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - setStartDate(`${fDate}`) - } else if (mode1 === 'time') { - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setStartTime(`${fTime}`) - } - setNEWdata({ ...NEWdata, startTime: tempDate }) - } - - const hideDialogi1 = () => { - if (startDateText === undefined || startTimeText === undefined) { - const currentDate = date1 - setDate1(currentDate) - const tempDate = new Date(currentDate) - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setNEWdata({ ...NEWdata, startTime: tempDate }) - setStart(`${fDate} ${fTime}`) - } else { - setStart(`${startDateText} ${startTimeText}`) - } - setVisible1(false) - } - const onStartChangei1 = (event, selectedDate) => { - const currentDate = selectedDate || date1 - setDate1(currentDate) - const tempDate = new Date(currentDate) - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - setStartDate(`${fDate}`) - setNEWdata({ ...NEWdata, startTime: tempDate }) - } - const onStartChangei2 = (event, selectedDate) => { - const currentDate = selectedDate || date1 - setDate1(currentDate) - const tempDate = new Date(currentDate) - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setStartTime(`${fTime}`) - setNEWdata({ ...NEWdata, startTime: tempDate }) - } - - const [visible2, setVisible2] = useState(false) - const [date2, setDate2] = useState(new Date()) - const [mode2, setMode2] = useState('date') - const [show2, setShow2] = useState(false) - - const showDialog2 = () => setVisible2(true) - const hideDialog2 = () => { - if (endDateText !== undefined && endTimeText !== undefined) { - setEnd(`${endDateText} ${endTimeText}`) - setEndCheck(true) - } - setVisible2(false) - } - const showMode2 = (currentMode) => { - setShow2(true) - setMode2(currentMode) - } - const showTimepicker2 = () => { - showMode2('time') - } - const showDatepicker2 = () => { - showMode2('date') - } - const onEndChange = (event, selectedDate) => { - const currentDate = selectedDate || date2 - setShow2(false) - setDate2(currentDate) - - const tempDate = new Date(currentDate) - if (mode2 === 'date') { - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - setEndDate(`${fDate}`) - } else if (mode2 === 'time') { - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setEndTime(`${fTime}`) - } - setNEWdata({ ...NEWdata, endTime: tempDate }) - } - - const hideDialogi2 = () => { - if (endDateText === undefined || endTimeText === undefined) { - const currentDate = date2 - setDate2(currentDate) - const tempDate = new Date(currentDate) - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setNEWdata({ ...NEWdata, endTime: tempDate }) - setEnd(`${fDate} ${fTime}`) - } else { - setEnd(`${endDateText} ${endTimeText}`) - } - setVisible2(false) - } - const onEndChangei1 = (event, selectedDate) => { - const currentDate = selectedDate || date2 - setDate2(currentDate) - const tempDate = new Date(currentDate) - const fDate = `${tempDate.getFullYear()}/${tempDate.getMonth() + 1}/${tempDate.getDate()}` - setEndDate(`${fDate}`) - setNEWdata({ ...NEWdata, endTime: tempDate }) - } - const onEndChangei2 = (event, selectedDate) => { - const currentDate = selectedDate || date2 - setDate2(currentDate) - const tempDate = new Date(currentDate) - const fTime = `${tempDate.getHours() < 10 ? `0${tempDate.getHours()}` : tempDate.getHours()} : ${tempDate.getMinutes() < 10 ? `0${tempDate.getMinutes()}` : tempDate.getMinutes()}` - setEndTime(`${fTime}`) - setNEWdata({ ...NEWdata, endTime: tempDate }) - } - - return ( - - - - - - - - { - Alert.alert( - '變更將不會儲存', - '回去', - [{ text: '取消' }, - { - text: 'Ok', - onPress: () => ( - navigation.navigate('manage', { Cd: passedID }) - ) - } - ] - ) - }} - /> - - - - 編輯活動 - - - - - - - 活動分類(必選一個) - - {values.map((value) => ( - { - setIsPress(value) - setgenreID(values.indexOf(value)) - setNEWdata({ ...NEWdata, genre: value }) - setGenre(true) - }} - style={isPress === value ? styles.btnPress : styles.btnNormal} - > - - {value} - - - ))} - - - - 活動名稱(必填) - - - { - setNEWdata({ ...NEWdata, name: text }) - setName(true) - if (text === '') { - setName(false) - } - }} - selectionColor="#ccc" - /> - - - - - 開始時間(必填) - - - {Platform.OS === 'android' && ( - { - showDialog1() - }} - style={{ width: '100%' }} - > - - - )} - {(Platform.OS === 'android' && show1) && ( - - )} - - {Platform.OS === 'ios' && ( - { - showDialog1() - }} - style={styles.input} - > - {startText === undefined && ( - - 開始時間 - - )} - - {startText} - - - - )} - - - - - 結束時間(必填) - - - {Platform.OS === 'android' && ( - { - showDialog2() - }} - style={{ width: '100%' }} - > - - - )} - {(Platform.OS === 'android' && show2) && ( - - )} - - {Platform.OS === 'ios' && ( - { - showDialog2() - }} - style={styles.input} - > - {endText === undefined && ( - - 結束時間 - - )} - - {endText} - - - - )} - - - - - 活動地點(必填) - - - { - setNEWdata({ ...NEWdata, place: text }) - setPlace(true) - if (text === '') { - setPlace(false) - } - }} - selectionColor="#ccc" - /> - - - - - - 參加費用 - - - 人數上限(必填) - - - - - - setNEWdata({ ...NEWdata, cost: text })} - selectionColor="#ccc" - /> - - - - - - { - setNEWdata({ ...NEWdata, limitNum: text }) - setLimitNum(true) - if (text === '') { - setLimitNum(false) - } - }} - selectionColor="#ccc" - /> - - - - - - 活動連結 - - - setNEWdata({ ...NEWdata, link: text })} - selectionColor="#ccc" - /> - - - - - 詳細資訊(必填) - - - { - setNEWdata({ ...NEWdata, details: text }) - setDetail(true) - if (text === '') { - setDetail(false) - } - }} - selectionColor="#ccc" - /> - - - - - 活動照片(最多可以上傳3張, 第一章預設為縮圖照片) - - {image1 && ( - - - - { - setImage1(NoPicLink) - if (image2) { - setImage1(image2) - NEWdata.image1 = image2 - setImage2(NoPicLink) - setNEWdata({ ...NEWdata, image2: 'forward' }) - } - if (image3) { - setImage1(image2) - NEWdata.image1 = image2 - setImage2(image3) - NEWdata.image2 = image3 - setImage3(NoPicLink) - setNEWdata({ ...NEWdata, image3: 'forward' }) - } - if (!NEWdata.image1) { - setNEWdata({ ...NEWdata, image1: genreID }) - } - }} - /> - - - )} - {image2 && ( - - - - { - setImage2(NoPicLink) - setNEWdata({ ...NEWdata, image2: 'removed' }) - if (image3) { - setImage2(image3) - NEWdata.image2 = image3 - setImage3(NoPicLink) - setNEWdata({ ...NEWdata, image3: 'forward' }) - } - }} - /> - - - )} - {image3 && ( - - - - { - setImage3(NoPicLink) - setNEWdata({ ...NEWdata, image3: 'removed' }) - }} - /> - - - )} - - - - 上傳 - - - - 請確認以下聯絡資訊, 若有錯誤可至個人管理中心修改! - - 活動聯絡人姓名 - - - - - - - - 連絡電話 - - - - - - - - 電子郵件 - - - - - - - - {(genre === true && name === true && start === true && end === true && - limitNum === true && place === true && detail === true) - ? ( - - { - Alert.alert( - '確認更改活動資料?', - '按下"確認"後, 更新活動資料', - [{ text: '取消' }, - { - text: '確認', - onPress: () => { - NEWdata.uploadTime = new Date() - ActiveController.updateActive(passedID, NEWdata) - navigation.navigate('list') - } - } - ] - ) - }} - > - - 確認更改 - - - - ) - : ( - - - 確認更改 - - - )} - - - {Platform.OS === 'ios' && ( - - - 選擇開始時間 - - - - - - - - - - - - 選擇結束時間 - - - - - - - - - - - - )} - - {Platform.OS === 'android' && ( - - - 選擇開始時間 - - - - - {startDateText} - - - - - - {startTimeText} - - - - - - - - - - - 選擇結束時間 - - - - - {endDateText} - - - - - - {endTimeText} - - - - - - - - - - - )} - - - - - ) -} - -export default Edit diff --git a/screens/Event/index.jsx b/screens/Event/index.jsx deleted file mode 100644 index 7837015..0000000 --- a/screens/Event/index.jsx +++ /dev/null @@ -1,53 +0,0 @@ -import React from 'react' -import { Text, TextInput } from 'react-native' -import { createNativeStackNavigator } from '@react-navigation/native-stack' -import Add from './addActivity' -import Edit from './editActivity' -import Personal from './personal_manage' -import Manage from './manage' -import List from './activityList' -import More from './moreEvent' -import MoreHang from './moreHang' -import Message from './Message' -import Genre from './GenreEvent' -import Detailscreen from './showActivityDetails' -import Send from './Send' -import Search from './search' - -const Stack = createNativeStackNavigator() - -function EventStack () { - if (Text.defaultProps == null) { - Text.defaultProps = {} - Text.defaultProps.allowFontScaling = false - } - - if (TextInput.defaultProps == null) { - TextInput.defaultProps = {} - TextInput.defaultProps.allowFontScaling = false - } - return ( - - - - - - - - - - - - - - - - ) -} - -export default EventStack diff --git a/screens/Event/manage.jsx b/screens/Event/manage.jsx deleted file mode 100644 index 87a1d3f..0000000 --- a/screens/Event/manage.jsx +++ /dev/null @@ -1,521 +0,0 @@ -/* eslint-disable max-len */ -import React, { useState, useEffect } from 'react' -import { - Text, TextInput, RefreshControl, - ScrollView, TouchableOpacity, Image, TouchableHighlight -} from 'react-native' - -import Dialog, { DialogContent } from 'react-native-popup-dialog' -import { AntDesign, Feather } from '@expo/vector-icons' -import { - Box, Divider, Heading, VStack, HStack, FlatList, NativeBaseProvider, Pressable, Button, -} from 'native-base' -import { LinearGradient } from 'expo-linear-gradient' -import ActiveController from '../../controller/Active' -import MessageController from '../../controller/Message' -import UserController from '../../controller/getStudentId' -import styles from './style_folder/Styles_manage' - -function Manage ({ route, navigation }) { - const [user, setUser] = useState('') - const [deletePerson, setDeletePerson] = useState({}) - const [showDialog1, setShowDialog1] = useState(false) - const [showDialog2, setShowDialog2] = useState(false) - const Cd = route.params - const passedID = JSON.stringify(Cd).slice(7, -2) - const [message, messageSent] = useState('') - const [active, setActive] = useState([]) - const [attendeeINFO, setAttendeeInfo] = useState() - const [closeEvent, setCloseEvent] = useState() - - useEffect(() => { - setUser(UserController.getUid()) - ActiveController.getOneActive(passedID).then((res) => { - setActive(res) - setCloseEvent(res[0].CloseEvent) - }).catch((err) => { - throw err - }) - ActiveController.getAllAttendees(passedID).then((res) => { - setAttendeeInfo(res) - }).catch((err) => { - throw err - }) - }, []) - - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - setUser(UserController.getUid()) - ActiveController.getOneActive(passedID).then((res) => { - setActive(res) - setCloseEvent(res[0].CloseEvent) - }).catch((err) => { - throw err - }) - ActiveController.getAllAttendees(passedID).then((res) => { - setAttendeeInfo(res) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - - return ( - - - - { navigation.navigate('personal') }} - /> - - - - 管理活動 - - - - { - setShowDialog1(true) - }} - /> - { - setShowDialog1(false) - }} - > - - - - - - 刪除活動  - - - - { setShowDialog1(false) }} - /> - - - - - - 注意事項: - - - 1. 這將會刪除活動的資料,並同時移除所有此活動 - {'\n'} -  的參加者。 - - - 2. 當此活動被刪除,系統將自動發送通知給此活動 - {'\n'} -  的所有參加者,讓他們知道活動已被刪除。 - - - 3. 一旦按下下方紅色刪除按鈕,即立刻執行刪除, - {'\n'} -  且無法復原! - - - - - - - { - setShowDialog1(false) - }} - > - 取消 - - - - - { - setShowDialog1(false) - ActiveController.deleteEverySingleAttendee(passedID) - ActiveController.deleteOneActive(passedID) - }} - > - 刪除 - - - - - - - - - { - navigation.navigate('edit', { Cd: passedID }) - }} - /> - - - - {active.map(({ - id, name, limitNum, totalAttendee - }) => ( - - - {name} - {closeEvent - ? () - : ()} - - - - 發送通知 - messageSent(text)} - selectionColor="#ccc" - /> - - - { - MessageController.Notification(message, passedID).then(() => { - messageSent('') - }).catch((err) => { - throw err - }) - onRefresh() - }} - > - 發送給所有參與者 - - - - - - - - - 參加名單 - - - - - {limitNum !== '0' && ( - - - 目前人數: - - = limitNum - ? styles.reachLimitNum - : styles.underLimitNum} - > - {totalAttendee} -   - / - {' '} - {limitNum} - {' '} - 人 - - - )} - {limitNum === '0' && ( - - - 目前人數: - - - {totalAttendee} -   - - (無上限) - - - )} - - - - - ))} - - - item.uid} - refreshControl={( - - )} - renderItem={({ item }) => ( - - - - - - - {/* - {item.signupindex} - */} - - {(item.name.length < 9) ? item.name : `${item.name.substring(0, 7)}...`} - - - - {item.major} - - - - - {item.grade} - 年級 - - - - - 於{item.signUpTime}報名 - - - - - - - - { - setShowDialog2(true) - setDeletePerson({ studentID: item.uid, name: item.name }) - }} - > - 移除 - - { - setShowDialog2(false) - }} - > - - - - - - 移除  - {deletePerson.name} - - - { setShowDialog2(false) }} - /> - - - - - - - 注意事項: - - - 1. 這將會把 - {' '} - {deletePerson.name} - {' '} - 從此活動移除。 - - - 2. 當 - {' '} - {deletePerson.name} - {' '} - 被移除,系統將自動發送通知給 - {' '} - {deletePerson.name} - {' '} - , - {'\n'} - {' '} - {deletePerson.name} - {' '} - 將知道自己被從活動移除。 - - - - - - - - - { - setShowDialog2(false) - }} - > - 取消 - - - - { - setShowDialog2(false) - ActiveController.removeAttendee(passedID, deletePerson.studentID) - ActiveController.getOneActive(passedID).then((event) => { - MessageController.addMessage({ - message: `以下為自動寄出的訊息:你已被移出【${event[0].name}】的參加名單, 有任何問題請與活動負責人聯繫`, - send: user, - receive: deletePerson.studentID, - sendTime: new Date(), - readForSender: true, - readForReceiver: false, - image: '' - }, user) - }) - }} - > - 移除 - - - - - - - - - - { - MessageController.addChatroom(item.uid, user).then((res) => { - navigation.navigate('send', { - chatroomId: res, - attendeeUid: item.uid, - userUid: user - }) - }) - }} - > - 私訊 - - - - - - - )} - /> - - - - ) -} - -export default Manage diff --git a/screens/Event/moreEvent.jsx b/screens/Event/moreEvent.jsx deleted file mode 100644 index 0549a03..0000000 --- a/screens/Event/moreEvent.jsx +++ /dev/null @@ -1,181 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - RefreshControl, Image -} from 'react-native' -import { - FontAwesome5, AntDesign, Feather, Octicons, Ionicons -} from '@expo/vector-icons' -import { - Divider, Box, FlatList, VStack, Pressable, HStack, Text, ZStack, Center, Badge -} from 'native-base' -import styles from './style_folder/Styles_moreEvent' -import ActiveController from '../../controller/Active' -import MessageController from '../../controller/Message' -import { getAuth } from 'firebase/auth' - -function ActivityCard (props) { - const key = props.id - const id = props.id - const name = props.name - const imageUri1 = props.imageUri1 - const place = props.place - const startTimeWeekday = props.startTimeWeekday - const finish = props.finish - const navigation = props.navigation - - return ( - { - navigation.navigate('details', { Cd: id, prepage: 'list' }) - }} - > - - } w={'100%'}> - eventPic - - - {startTimeWeekday} - - - {name} - - - - {(finish && (已結束))} - - - ) -} - -function More ({ navigation, route }) { - const auth = getAuth() - const [Messagenum, setMessageNum] = useState(0) - useEffect(() => { - MessageController.countUnreadMessage().then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - }, []) - const [active, setActive] = useState([]) - useEffect(() => { - ActiveController.getEventActive().then((res) => { - setActive(res) - }).catch((err) => { - throw err - }) - }, []) - - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - ActiveController.getEventActive().then((res) => { - setActive(res) - }) - MessageController.countUnreadMessage().then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - - return ( - - - - - { navigation.navigate('list') }} - /> - - - - 近期活動 - - - {!auth.currentUser.isAnonymous ? <> { navigation.navigate('message', { prepage: 'list' }) }} - > - -
- - - - - - - - - {/* // 要記得變0 */} - -
-
- { navigation.navigate('personal') }} - > - - - - - : - } -
-
- - item.id} - showsVerticalScrollIndicator={false} - showsHorizontalScrollIndicator={false} - refreshControl={( - - )} - renderItem={({ item }) => ( - - ) - } - /> - -
- ) -} - -export default More diff --git a/screens/Event/moreHang.jsx b/screens/Event/moreHang.jsx deleted file mode 100644 index b564ead..0000000 --- a/screens/Event/moreHang.jsx +++ /dev/null @@ -1,181 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - RefreshControl, Image -} from 'react-native' -import { - FontAwesome5, AntDesign, Feather, Octicons, Ionicons -} from '@expo/vector-icons' -import { - Divider, Box, FlatList, VStack, Pressable, HStack, Text, ZStack, Center, Badge -} from 'native-base' -import styles from './style_folder/Styles_moreEvent' -import ActiveController from '../../controller/Active' -import MessageController from '../../controller/Message' -import { getAuth } from 'firebase/auth' - -function ActivityCard (props) { - const key = props.id - const id = props.id - const name = props.name - const imageUri1 = props.imageUri1 - const place = props.place - const startTimeWeekday = props.startTimeWeekday - const finish = props.finish - const navigation = props.navigation - - return ( - { - navigation.navigate('details', { Cd: id, prepage: 'list' }) - }} - > - - } w={'100%'}> - eventPic - - - {startTimeWeekday} - - - {name} - - - - {(finish && (已結束))} - - - ) -} - -function MoreHang ({ navigation, route }) { - const auth = getAuth() - const [Messagenum, setMessageNum] = useState(0) - useEffect(() => { - MessageController.countUnreadMessage().then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - }, []) - const [active, setActive] = useState([]) - useEffect(() => { - ActiveController.getHangOutActive().then((res) => { - setActive(res) - }).catch((err) => { - throw err - }) - }, []) - - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - ActiveController.getHangOutActive().then((res) => { - setActive(res) - }) - MessageController.countUnreadMessage().then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - - return ( - - - - - { navigation.navigate('list') }} - /> - - - - 近期揪人 - - - {!auth.currentUser.isAnonymous ? <> { navigation.navigate('message', { prepage: 'list' }) }} - > -
- - - - - - - - - {/* // 要記得變0 */} - -
-
- { navigation.navigate('personal') }} - > - - - - - : - - } -
-
- - item.id} - showsVerticalScrollIndicator={false} - showsHorizontalScrollIndicator={false} - refreshControl={( - - )} - renderItem={({ item }) => ( - - ) - } - /> - -
- ) -} - -export default MoreHang diff --git a/screens/Event/personal_manage.jsx b/screens/Event/personal_manage.jsx deleted file mode 100644 index a3b06f1..0000000 --- a/screens/Event/personal_manage.jsx +++ /dev/null @@ -1,396 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - TouchableOpacity, Image, RefreshControl, Dimensions -} from 'react-native' -import { - Title, Card -} from 'react-native-paper' -import { - Ionicons, AntDesign, Feather -} from '@expo/vector-icons' -import { - Box, ZStack, VStack, FlatList, Pressable, Text, Badge -} from 'native-base' -import { LinearGradient } from 'expo-linear-gradient' -import ActiveController from '../../controller/Active' -import MessageController from '../../controller/Message' -import UserController from '../../controller/getStudentId' -import styles from './style_folder/Styles_personal_manage' -import { BaseTheme } from '../../theme' - -function Personal ({ navigation }) { - const [Messagenum, setMessageNum] = useState(0) - const [showNow, setShowNow] = useState([]) - const [showManage, setShowManage] = useState([]) - const [showEnd, setShowEnd] = useState([]) - const [isPress, setIsPress] = useState('參加中') - - const [refreshing, setRefreshing] = useState(false) - const onRefresh = async () => { - setRefreshing(true) - const userid = UserController.getUid() - MessageController.countUnreadMessage(userid).then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - if (isPress === '參加中') { - await ActiveController.getParticipatedActive().then((res) => { - setShowNow(res) - }).catch((err) => { - throw err - }) - } else if (isPress === '管理活動') { - await ActiveController.getHostedEvent().then((res) => { - setShowManage(res) - }).catch((err) => { - throw err - }) - } else { - await ActiveController.getFinishedActive().then((res) => { - setShowEnd(res) - }).catch((err) => { - throw err - }) - } - setRefreshing(false) - } - - useEffect(() => { - const userid = UserController.getUid() - MessageController.countUnreadMessage(userid).then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - ActiveController.getParticipatedActive().then((res) => { - setShowNow(res) - }).catch((err) => { - throw err - }) - ActiveController.getHostedEvent().then((res) => { - setShowManage(res) - }).catch((err) => { - throw err - }) - ActiveController.getFinishedActive().then((res) => { - setShowEnd(res) - }).catch((err) => { - throw err - }) - const focusHandler = navigation.addListener('focus', () => { - onRefresh() - }) - return focusHandler - }, [navigation]) - - return ( - - - - - - - { navigation.navigate('list') }} /> - - 活動中心 - - - - - - navigation.navigate('message', { prepage: 'personal' })} - > - - -  私訊 - - - - - - - navigation.navigate('add')} - > - - -  新增 - - - - - - {Messagenum !== 0 && ( - - - {Messagenum} - - - )} - - - { - setIsPress('參加中') - ActiveController.getParticipatedActive() - }} - > - -  參加中 - - - { - setIsPress('管理活動') - ActiveController.getHostedEvent() - }} - > - -  管理活動 - - - { - setIsPress('已結束') - ActiveController.getFinishedActive() - }} - > - -  已結束 - - - - - - {isPress === '管理活動' && ( - item.id} - showsVerticalScrollIndicator={false} - style={{ marginBottom: 10, alignSelf: 'center' }} - refreshControl={( - - )} - renderItem={({ item }) => ( - - - { - navigation.navigate('manage', { Cd: item.id }) - }} - > - - - - - - - - {item.name} - - - - - {' 開始 :'} - {item.startTimeInNum} - - - - - - {' '} - {item.place} - - - - - {item.limitNum !== '0' && ( - - {' '} - {item.num} - {' / '} - {item.limitNum} - 人 - - )} - {item.limitNum === '0' && ( - - {' '} - {item.num} -   - (無上限) - - )} - - - - - - - {(item.finish && (已結束))} - - - )} - /> - )} - {isPress === '參加中' && ( - item.id} - showsVerticalScrollIndicator={false} - contentContainerStyle={{ marginLeft: Dimensions.get('window').width * 0.043, justifyContent: 'space-between' }} - refreshControl={( - - )} - renderItem={({ item }) => ( - { navigation.navigate('details', { Cd: item.id, prepage: 'personal' }) }}> - - - - - {item.startTimeWeekday} - - - {item.name} - - - - - )} - /> - )} - {isPress === '已結束' && ( - item.id} - showsVerticalScrollIndicator={false} - contentContainerStyle={{ marginLeft: Dimensions.get('window').width * 0.043, justifyContent: 'space-between' }} - refreshControl={( - - )} - renderItem={({ item }) => ( - { navigation.navigate('details', { Cd: item.id, prepage: 'personal' }) }}> - - - - - {item.startTimeWeekday} - - - {item.name} - - - - - )} - /> - )} - - - - ) -} - -export default Personal diff --git a/screens/Event/search.jsx b/screens/Event/search.jsx deleted file mode 100644 index 76cc9bc..0000000 --- a/screens/Event/search.jsx +++ /dev/null @@ -1,153 +0,0 @@ -import React, { useState, useEffect } from 'react' - -import { - Ionicons, FontAwesome5, FontAwesome, AntDesign, MaterialCommunityIcons, MaterialIcons -} from '@expo/vector-icons' -import { - Box, ZStack, FlatList, Pressable, Icon, Input, Center, Text -} from 'native-base' - -import styles from './style_folder/Styles_search' -import ActiveController from '../../controller/Active' - -function CategoryItem ({ item, navigation }) { - return ( - - { - navigation.navigate('genre', { GenreName: item.name }) - }} - > - - - {(item.name === '揪人共乘') && ( - - )} - {(item.name === '揪人運動') && ( - - )} - {(item.name === '揪人遊戲') && ( - - )} - {(item.name === '校園活動') && ( - - )} - {(item.name === '社團活動') && ( - - )} - {(item.name === '系上活動') && ( - - )} - - {item.name} - - - - - - - ) -} -function CategoryList ({ navigation }) { - const renderItem = ({ item }) => ( - - ) - const genreName = [{ id: 0, name: '揪人共乘' }, { id: 1, name: '校園活動' }, { id: 2, name: '揪人運動' }, { id: 3, name: '系上活動' }, { id: 4, name: '揪人遊戲' }, { id: 5, name: '社團活動' }] - - return ( - item.id} - showsVerticalScrollIndicator={false} - renderItem={renderItem} - /> - ) -} - -function Search ({ navigation }) { - const [searchQuery, setSearchQuery] = useState('') - const [data, setData] = useState({}) - useEffect(() => { - ActiveController.fuseSearchName(searchQuery).then((res) => { - setData(res) - console.log(res) - }).then().catch((err) => { - throw err - }) - }, []) - return ( - -
- } - value={searchQuery} - onChangeText={(text) => { - setSearchQuery(text) - ActiveController.fuseSearchName(text).then((query) => { - setData(query) - }) - }} - _focus={{ backgroundColor: '#E5EBF1' }} - InputRightElement={ - navigation.navigate('list')}>取消 - } - autoFocus - /> -
- - {searchQuery === '' && ( - - - - )} - {searchQuery !== '' && ( - - item.id} - showsVerticalScrollIndicator={false} - renderItem={({ item }) => ( - - { - navigation.navigate('details', { Cd: item.item.id, prepage: 'search' }) - }} - > - {item.item.name} - - - )} - /> - - )} - -
- ) -} - -export default Search diff --git a/screens/Event/sharePage.jsx b/screens/Event/sharePage.jsx deleted file mode 100644 index c3b6b9e..0000000 --- a/screens/Event/sharePage.jsx +++ /dev/null @@ -1,107 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { Text, View, StyleSheet, Button, Dimensions } from 'react-native' -import Dialog, { DialogContent } from 'react-native-popup-dialog' -import { - Box, NativeBaseProvider, Pressable -} from 'native-base' -import { BarCodeScanner } from 'expo-barcode-scanner' -import styles from './style_folder/Styles_share' - -function Share ({ navigation }) { - const [hasPermission, setHasPermission] = useState(null) - const [scanned, setScanned] = useState(false) - const [showDialog, setShowDialog] = useState(false) - const [activeId, setActiveId] = useState('') - - useEffect(() => { - const getBarCodeScannerPermissions = async () => { - const { status } = await BarCodeScanner.requestPermissionsAsync() - setHasPermission(status === 'granted') - } - - getBarCodeScannerPermissions() - }, []) - - const handleBarCodeScanned = ({ data }) => { - setScanned(true) - setShowDialog(true) - setActiveId(data) - } - - if (hasPermission === null) { - return Requesting for camera permission - } - if (hasPermission === false) { - return No access to camera - } - - return ( - - - { - setShowDialog(false) - }} - > - - - - - 確認前往此活動? - - - - { - setShowDialog(false) - setScanned(false) - }} - > - - 返回掃描 - - - { - setShowDialog(false) - navigation.navigate('details', { Cd: activeId, prepage: 'share' }) - }} - > - - 確認 - - - - - - - - ) -} -export default Share diff --git a/screens/Event/showActivityDetails.jsx b/screens/Event/showActivityDetails.jsx deleted file mode 100644 index 2cd68ad..0000000 --- a/screens/Event/showActivityDetails.jsx +++ /dev/null @@ -1,623 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - View, - Dimensions, - Alert, - Share - , RefreshControl -} from 'react-native' -import SvgQRCode from 'react-native-qrcode-svg' -import Dialog, { DialogContent } from 'react-native-popup-dialog' -import { - Ionicons, - FontAwesome5, - AntDesign, - MaterialCommunityIcons, - Feather -} from '@expo/vector-icons' -import { - Box, - Divider, - Center, - HStack, - VStack, - NativeBaseProvider, - ZStack, - Pressable, - Text, - ScrollView, - Image, - Button -} from 'native-base' -import styles from './style_folder/Styles_showActivityDetails' -import ActiveController from '../../controller/Active' -import MessageController from '../../controller/Message' -import UserController from '../../controller/getStudentId' -import * as Linking from 'expo-linking' -import { getAuth } from 'firebase/auth' - -const NavigationBar = (props) => ( - -
- - {props.gerne} - -
- - - - - - -
-) - -const Body = ({ - id, - name, - imageUri1, - startTimeWeekday, - endTimeWeekday, - place, - limitNum, - cost, - link, - details, - imageUri2, - imageUri3, - active, - totalAttended -}) => { - const [showDialog, setShowDialog] = useState(false) - - const [slideDot1, setSlideDot1] = useState(true) - const [slideDot2, setSlideDot2] = useState(false) - const [slideDot3, setSlideDot3] = useState(false) - const whenScrolling = ({ nativeEvent }) => { - const slide = Math.ceil( - nativeEvent.contentOffset.x / nativeEvent.layoutMeasurement.width - ) - if (slide === 0) { - setSlideDot1(true) - setSlideDot2(false) - setSlideDot3(false) - } else if (slide === 1) { - setSlideDot1(false) - setSlideDot2(true) - setSlideDot3(false) - } else if (slide === 2) { - setSlideDot1(false) - setSlideDot2(false) - setSlideDot3(true) - } - } - - let startTimeList = ['loading', 'loading', 'loading'] - if (startTimeWeekday) startTimeList = startTimeWeekday.split(' ') - let endTimeList = ['loading', 'loading', 'loading'] - if (endTimeWeekday) endTimeList = endTimeWeekday.split(' ') - - // 開啟手機系統的分享選單 - const shareData = async () => { - try { - await Share.share({ - // 要分享的活動連結 - message: `https://NCUAppTeam.github.io/ncuapp_Redirect.html?id=${id}` - }) - } catch (error) { - alert(error.message) - } - } - - return ( - - - {imageUri1 && ( - event image 1 - )} - {imageUri2 && ( - - - event image 2 - - - )} - {imageUri3 && ( - - event image 3 - - )} - - - - - {imageUri2 && ( - - )} - {imageUri3 && ( - - )} - - - - - - {name} - - - { - setShowDialog(true) - }} - /> - - { - setShowDialog(false) - }} - > - - - - - - - - - - - - - - -
- -
- {(startTimeList[0] === endTimeList[0] && startTimeList[1] === endTimeList[1]) - ? ( - - - - {startTimeList[0]} {startTimeList[1]} {startTimeList[2]} - - - - - {startTimeList[3]} - {endTimeList[3]} - - - - ) - : ( - - - - {startTimeList[0]} {startTimeList[1]} {startTimeList[2]} {startTimeList[3]} - - - - - - {endTimeList[0]} {endTimeList[1]} {endTimeList[2]} {endTimeList[3]} - - - - )} -
- - -
- -
- {place} -
- - {link && ( - - -
- -
-
- {link} -
-
-
- )} - - - - - -
- -
-
- {cost} -
-
-
-
- -
- - -
- -
-
- {limitNum !== '0' && ( - = limitNum ? 'red.400' : 'green.600'} - bold - > - {totalAttended} / {limitNum} 人 - - )} - {limitNum === '0' && ( - - {totalAttended} (無上限) - - )} -
-
-
-
- - - - 詳細資訊 - - {details} - -
-
- ) -} - -const HostDetail = ({ - uid, - name, - phone, - email, - avatar, - userAvatar, - active, - navigation, - SignUp, - setSignUp, - passedID -}) => { - const user = UserController.getUid() - const current = new Date() - const auth = getAuth() - - return ( - - - 主辦人 - - -
- host avatar -
- - - - - {name} - - - - - - {phone} - - - - - - {email} - - - - - - { - if(auth.currentUser.isAnonymous){ - return Alert.alert('請先完成註冊,才能與主辦人聯絡喔~') - } - if (uid !== user) { - MessageController.addChatroom(uid, user).then((res) => { - navigation.navigate('send', { - userAvatar, - attendeeName: name, - attendeeAvatar: avatar, - chatroomId: res, - attendeeUid: uid, - userUid: user - }) - }) - } - }} - > - 私訊主辦人 - - - -
- {user !== uid && - (active[0].endTime >= current && active[0].CloseEvent === false - ? ( -
- -
- ) - : ( -
- -
- ))} -
- ) -} - -function Detailscreen ({ route, navigation }) { - const [info, setInfo] = useState([]) - const [active, setActive] = useState([{}]) - const user = UserController.getUid() - - const [userAvatar, setUserAvatar] = useState() - const Cd = route.params - const passedID = JSON.stringify(Cd).slice(7, 27) - - const [SignUp, setSignUp] = useState() - - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - ActiveController.getOneActive(passedID) - .then((res) => { - setActive(res) - }) - .catch((err) => { - throw err - }) - setRefreshing(false) - } - - useEffect(() => { - ActiveController.getAttendedOrNot(passedID) - .then((res) => { - setSignUp(res) - }) - .catch((err) => { - throw err - }) - ActiveController.getHostInfo(passedID) - .then((res) => { - setInfo(res) - }) - .catch((err) => { - throw err - }) - ActiveController.getOneActive(passedID) - .then((res) => { - setActive(res) - }) - .catch((err) => { - throw err - }) - UserController.getINFO(user) - .then((res) => { - setUserAvatar(res.avatar) - }) - .catch((err) => { - throw err - }) - const focusHandler = navigation.addListener('focus', () => { - onRefresh() - }) - return focusHandler - }, [navigation]) - - return ( - - - - - } - > - {active[0] && ( - - )} - - {info[0] && ( - - )} - - - ) -} - -export default Detailscreen diff --git a/screens/Event/style_folder/Styles_Message.jsx b/screens/Event/style_folder/Styles_Message.jsx deleted file mode 100644 index a5cee23..0000000 --- a/screens/Event/style_folder/Styles_Message.jsx +++ /dev/null @@ -1,201 +0,0 @@ -import { Platform, StyleSheet, Dimensions } from 'react-native' - -export default StyleSheet.create({ - container: { - flex: 1, - alignContent: 'center', - backgroundColor: '#fafafa' - }, - header: { - flexDirection: 'row', - width: Dimensions.get('window').width, - height: Dimensions.get('window').height * 0.04, - marginTop: 20, - marginBottom: 20, - alignItems: 'center' - }, - title: { - flex: 2, - marginTop: 10, - alignItems: 'center' - }, - titleSend: { - justifyContent: 'center', - alignItems: 'center', - marginLeft: Dimensions.get('window').width * 0.25 - }, - headerArrowBox: { - flex: 1, - alignItems: 'center' - }, - headerArrowBoxSend: { - flex: 3, - justifyContent: 'flex-start', - alignItems: 'center' - }, - option: { - backgroundColor: '#fafafa', - height: 44, - width: Dimensions.get('window').width, - paddingHorizontal: Dimensions.get('window').width * 0.17, - paddingTop: 10 - }, - optionLeft: { - fontSize: 18, - marginRight: 120, - fontWeight: '300' - }, - optionRight: { - fontSize: 18 - }, - cardForMessage: { - width: Dimensions.get('window').width * 0.875, - height: 85, - backgroundColor: '#ffffff', - borderRadius: 10, - shadowColor: 'bebebe', - shadowOffset: { - width: 0, - height: -10 - }, - shadowRadius: 10, - elevation: 4, - - // marginLeft: Dimensions.get('window').width * 0.065, - marginBottom: 15 - }, - avatar: { - margin: 10, - width: 60, - height: 60, - borderRadius: 30 - }, - sendAvatar: { - width: 48, - height: 48, - borderRadius: 24, - borderColor: '#bfbebe', - borderWidth: 1, - alignSelf: 'center', - marginLeft: 15 - }, - messagePeople: { - marginLeft: 5, - paddingTop: 15 - }, - sendArea: { - width: Dimensions.get('window').width, - marginBottom: 15, - marginTop: 15 - }, - typeFooter: { - flexDirection: 'row', - alignItems: 'center' - }, - pickImage: { - paddingTop: 5, - paddingLeft: 18, - paddingRight: 12 - }, - typeArea: { - flex: 1, - borderRadius: 20, - backgroundColor: '#E5EBF1', - paddingHorizontal: 12, - height: 35, - marginTop: 5, - borderWidth: 1, - borderColor: 'rgba(191, 191, 191, 0.7)' - }, - typeText: { - height: 20, - fontSize: 14, - marginTop: 6 - }, - sendIcon: { - paddingTop: 5, - paddingLeft: 12, - paddingRight: 18 - }, - name: { - paddingTop: Dimensions.get('window').height * 0.0065, - fontWeight: '700', - fontSize: 18 - }, - identity: { - textAlignVertical: 'center', - fontWeight: '400', - fontSize: 10 - }, - latest: { - width: Dimensions.get('window').width * 0.45, - height: 30, - marginTop: 2, - textAlign: 'left', - fontWeight: '400', - fontSize: 10.5, - color: '#BFBFBF' - }, - sendTimeBox: { - flex: 1, - alignSelf: 'flex-end' - - }, - sendTime: { - color: '#b4b4b8', - textAlign: 'right', - marginRight: 5, - fontSize: 10 - }, - sendPeople: { - // marginTop: Dimensions.get('window').height * 0.011, - marginLeft: 3, - color: '#fff', - fontWeight: '700', - fontSize: 18, - textAlignVertical: 'center' - }, - info: { - flex: 0.7, - color: '#000' - }, - Dot: { - flexDirection: 'row', - alignSelf: 'center' - }, - Dotfalse: { - color: '#E5E5E5', - marginHorizontal: 2.5 - }, - DotTrue: { - color: '#1784B2', - marginHorizontal: 2.5 - }, - autoLeft: { - marginLeft: Dimensions.get('window').width * 0.02 - }, - autoRight: { - marginRight: Dimensions.get('window').width * 0.01 - }, - autoMessage: { - backgroundColor: '#E5EBF1', - borderRadius: 5, - marginTop: 10, - marginBottom: 5, - marginHorizontal: 5 - }, - autoSend: { - marginHorizontal: 8, - marginVertical: 5, - fontWeight: '400', - fontSize: 14, - color: '#476685' - }, - unsentTitle: { - marginTop: 17, - marginBottom: 10 - }, - readDot: { - marginLeft: Dimensions.get('window').width * 0.82 - } -}) diff --git a/screens/Event/style_folder/Styles_activityList.jsx b/screens/Event/style_folder/Styles_activityList.jsx deleted file mode 100644 index bc24fb9..0000000 --- a/screens/Event/style_folder/Styles_activityList.jsx +++ /dev/null @@ -1,113 +0,0 @@ -import { StyleSheet, Dimensions, Platform } from 'react-native'; - -export default StyleSheet.create({ - container: { - flex: 1, - alignContent: 'center', - backgroundColor: '#fafafa', - }, - header: { - flexDirection: 'row', - width: Dimensions.get('window').width, - height: Dimensions.get('window').height * 0.04, - marginTop: Platform.OS === 'ios' ? Dimensions.get('window').height * 0.02 : 53, - marginBottom: 20, - }, - SearchArea: { - flex: 10, - backgroundColor: '#E5EBF1', - borderRadius: 18, - marginLeft: Dimensions.get('window').width * 0.05, - height: 36, - }, - SearchBar: { - width: '100%', - backgroundColor: '#E5EBF1', - borderRadius: 18, - height: 36, - }, - searchIcon: { - marginLeft: 10, - paddingTop: 6, - }, - searchtextBox: { - marginLeft: 10, - }, - searchtext: { - paddingTop: 6, - color: '#476685', - fontSize: 18, - }, - comment: { - // alignSelf: 'center', - // marginLeft: Dimensions.get('window').width * 0.05, - }, - user: { - alignSelf: 'center', - // marginHorizontal: Dimensions.get('window').width * 0.03, - }, - body: { - flex: 2, - }, - cardArea: { - width: '100%', - minHeight: 270, - marginTop: 10, - marginBottom: 10, - }, - more: { - marginHorizontal: Dimensions.get('window').width * 0.06, - height: 35, - }, - title: { - flex: 10, - color: '#476685', - fontSize: 18, - }, - showMore: { - marginRight: Dimensions.get('window').width * 0.002, - color: '#476685', - fontSize: 12, - alignSelf: 'center', - }, - Card: { - marginTop: 5, - height: 260, - width: 180, - shadowColor: 'black', - shadowOffset: { - width: +1, - height: 2, - }, - elevation: 4, - backgroundColor: 'white', - marginLeft: Dimensions.get('window').width * 0.06, - marginRight: -Dimensions.get('window').width * 0.0094, - }, - CardTitle: { - textAlign: 'center', - justifyContent: 'center', - color: '#476685', - marginTop: -5, - fontSize: 14, - }, - CardDetails: { - marginLeft: 7, - flexDirection: 'row', - marginBottom: 2, - }, - CardText: { - fontSize: 10, - color: 'rgba(40, 82, 122, 0.65)', - textAlignVertical: 'center', - }, - pic: { - backgroundColor: '#E0E0E0', - aspectRatio: 1, - borderTopLeftRadius: 10, - borderTopRightRadius: 10, - }, - readDot: { - marginLeft: -2.5, - }, -}); diff --git a/screens/Event/style_folder/Styles_addActivity.jsx b/screens/Event/style_folder/Styles_addActivity.jsx deleted file mode 100644 index edaa326..0000000 --- a/screens/Event/style_folder/Styles_addActivity.jsx +++ /dev/null @@ -1,214 +0,0 @@ -import { StyleSheet, Dimensions } from 'react-native' - -export default StyleSheet.create({ - body: { - flex: 1 - }, - btnPress: { - height: 40, - width: 100, - backgroundColor: '#476685', - justifyContent: 'center', - borderRadius: 5, - margin: 10 - }, - btnNormal: { - height: 40, - width: 100, - justifyContent: 'center', - borderRadius: 5, - backgroundColor: '#E5EBF1', - margin: 10 - }, - btnText: { - textAlign: 'center', - fontSize: 16, - color: '#476685' - }, - btnPText: { - textAlign: 'center', - fontSize: 16, - color: '#FBEEAC' - }, - bodyforCostAndLimitnum: { - flex: 1, - flexDirection: 'row' - }, - CostTitle: { - flex: 1.4, - fontSize: 16, - fontWeight: 'bold', - marginLeft: 5 - }, - CostBox: { - width: Dimensions.get('window').width * 0.37, - height: 40, - borderWidth: 1, - borderColor: '#bfbebe', - marginTop: 5, - marginBottom: 20, - borderRadius: 5 - }, - CostAndLimitnumText: { - width: '100%', - fontSize: 14, - fontWeight: 'bold', - color: 'black', - height: 35, - borderRadius: 5, - textAlign: 'left', - marginTop: Dimensions.get('window').height * 0.01 - }, - container: { - flex: 1, - flexDirection: 'column', - alignContent: 'center', - marginTop: 10, - marginHorizontal: 15 - }, - categorybutton: { - flexWrap: 'wrap', - flexDirection: 'row' - }, - Cloudicontext: { - color: 'white', - fontSize: 14, - marginLeft: 5 - }, - details: { - height: 80, - borderWidth: 1, - borderColor: '#bfbebe', - marginTop: 5, - marginBottom: 20, - borderRadius: 5 - }, - footer: { - height: 'auto', - alignItems: 'center', - alignContent: 'center', - justifyContent: 'center' - }, - image: { - width: 85, - height: 85, - alignItems: 'center', - marginTop: 5, - backgroundColor: '#4169E1' - }, - imageButton: { - width: 160, - height: 40, - alignItems: 'center', - justifyContent: 'center', - borderRadius: 4, - marginTop: 5, - flexDirection: 'row', - backgroundColor: '#476685' - }, - input: { - width: '95%', - fontSize: 16, - color: 'black', - borderRadius: 5, - marginTop: 5, - marginLeft: 10, - textAlign: 'left', - textAlignVertical: 'center' - }, - inputCost: { - width: '95%', - fontSize: 16, - color: 'black', - borderRadius: 5, - marginTop: -5, - marginLeft: 10, - textAlign: 'left', - textAlignVertical: 'center' - }, - inputbox: { - height: 40, - borderWidth: 1, - borderColor: '#bfbebe', - marginTop: 5, - marginBottom: 20, - borderRadius: 5, - textAlignVertical: 'center' - }, - inputboxText: { - fontSize: 16, - fontWeight: 'bold', - alignItems: 'flex-start', - textAlign: 'left', - marginLeft: 5 - }, - LimitnumTitle: { - flex: 1.3, - fontSize: 16, - fontWeight: 'bold', - marginLeft: 5 - }, - LimitnumBox: { - width: Dimensions.get('window').width * 0.37, - height: 40, - borderWidth: 1, - borderColor: '#bfbebe', - marginTop: 5, - marginBottom: 20, - marginLeft: Dimensions.get('window').width * 0.13, - borderRadius: 5, - textAlignVertical: 'center' - }, - name: { - marginLeft: 45, - fontSize: 24, - color: '#476685' - }, - nameheader: { - flex: 9, - alignItems: 'center', - width: 'auto', - borderRadius: 50, - justifyContent: 'center' - }, - text: { - alignItems: 'center', - justifyContent: 'center', - fontWeight: 'bold', - marginTop: Dimensions.get('window').width * 0.001, - fontSize: Dimensions.get('window').width * 0.03 - }, - unsentButton: { - borderRadius: 30, - width: 297, - height: 51, - paddingVertical: 8, - marginTop: Dimensions.get('window').height * 0.004, - marginBottom: Dimensions.get('window').height * 0.02, - backgroundColor: '#D4D4D4', - elevation: 20, - shadowColor: '#000' - }, - unsentButtonText: { - fontSize: 24, - textAlign: 'center', - color: '#737373', - fontWeight: 'bold' - }, - sentButton: { - borderRadius: 30, - width: 297, - height: 51, - paddingVertical: 8, - marginTop: Dimensions.get('window').height * 0.004, - marginBottom: Dimensions.get('window').height * 0.02, - elevation: 20, - shadowColor: '#000' - }, - sentButtonText: { - fontSize: 24, - textAlign: 'center', - color: '#FBEEAC', - fontWeight: 'bold' - } -}) diff --git a/screens/Event/style_folder/Styles_editActivity.jsx b/screens/Event/style_folder/Styles_editActivity.jsx deleted file mode 100644 index 153017f..0000000 --- a/screens/Event/style_folder/Styles_editActivity.jsx +++ /dev/null @@ -1,213 +0,0 @@ -import { StyleSheet, Dimensions } from 'react-native' - -export default StyleSheet.create({ - body: { - flex: 1 - }, - btnPress: { - height: 40, - width: 100, - backgroundColor: '#476685', - justifyContent: 'center', - borderRadius: 5, - margin: 10 - }, - btnNormal: { - height: 40, - width: 100, - justifyContent: 'center', - borderRadius: 5, - backgroundColor: '#E5EBF1', - margin: 10 - }, - btnText: { - textAlign: 'center', - fontSize: 16, - color: '#476685' - }, - btnPText: { - textAlign: 'center', - fontSize: 16, - color: '#FBEEAC' - }, - bodyforCostAndLimitnum: { - flex: 1, - flexDirection: 'row' - }, - CostTitle: { - flex: 1.4, - fontSize: 16, - fontWeight: 'bold', - marginLeft: 5 - }, - CostBox: { - width: Dimensions.get('window').width * 0.37, - height: 40, - borderWidth: 1, - borderColor: '#bfbebe', - marginTop: 5, - marginBottom: 20, - borderRadius: 5 - }, - CostAndLimitnumText: { - width: '100%', - fontSize: 14, - fontWeight: 'bold', - color: 'black', - height: 35, - borderRadius: 5, - textAlign: 'left', - textAlignVertical: 'center', - marginTop: Dimensions.get('window').height * 0.01 - }, - container: { - flex: 1, - flexDirection: 'column', - alignContent: 'center', - marginTop: 10, - marginHorizontal: 15 - }, - categorybutton: { - flexWrap: 'wrap', - flexDirection: 'row' - }, - Cloudicontext: { - color: 'white', - fontSize: 14, - marginLeft: 5 - }, - details: { - height: 80, - borderWidth: 1, - borderColor: '#bfbebe', - marginTop: 5, - marginBottom: 20, - borderRadius: 5 - }, - footer: { - height: 'auto', - alignItems: 'center', - alignContent: 'center', - justifyContent: 'center' - }, - image: { - width: 85, - height: 85, - alignItems: 'center', - marginTop: 5, - backgroundColor: '#4169E1' - }, - imageButton: { - width: 160, - height: 40, - alignItems: 'center', - justifyContent: 'center', - borderRadius: 4, - marginTop: 5, - flexDirection: 'row', - backgroundColor: '#476685' - }, - input: { - width: '95%', - fontSize: 16, - color: 'black', - borderRadius: 5, - marginTop: 5, - marginLeft: 10, - textAlign: 'left', - textAlignVertical: 'center' - }, - inputCost: { - width: '95%', - fontSize: 16, - color: 'black', - borderRadius: 5, - marginTop: -5, - marginLeft: 10, - textAlign: 'left', - textAlignVertical: 'center' - }, - inputbox: { - height: 40, - borderWidth: 1, - borderColor: '#bfbebe', - marginTop: 5, - marginBottom: 20, - borderRadius: 5 - }, - inputboxText: { - fontSize: 16, - fontWeight: 'bold', - alignItems: 'flex-start', - textAlign: 'left', - marginLeft: 5 - }, - LimitnumTitle: { - flex: 1.3, - fontSize: 16, - fontWeight: 'bold', - marginLeft: 5 - }, - LimitnumBox: { - width: Dimensions.get('window').width * 0.37, - height: 40, - borderWidth: 1, - borderColor: '#bfbebe', - marginTop: 5, - marginBottom: 20, - marginLeft: Dimensions.get('window').width * 0.13, - borderRadius: 5 - }, - name: { - marginLeft: 45, - fontSize: 24, - color: '#476685' - }, - nameheader: { - flex: 9, - alignItems: 'center', - width: 'auto', - borderRadius: 50, - justifyContent: 'center' - }, - text: { - alignItems: 'center', - justifyContent: 'center', - fontWeight: 'bold', - marginTop: Dimensions.get('window').width * 0.001, - fontSize: Dimensions.get('window').width * 0.03 - }, - unsentButton: { - borderRadius: 30, - width: 297, - height: 51, - paddingVertical: 8, - marginTop: Dimensions.get('window').height * 0.004, - marginBottom: Dimensions.get('window').height * 0.02, - backgroundColor: '#D4D4D4', - elevation: 20, - shadowColor: '#000' - }, - unsentButtonText: { - fontSize: 24, - textAlign: 'center', - color: '#737373', - fontWeight: 'bold' - }, - sentButton: { - borderRadius: 30, - width: 297, - height: 51, - paddingVertical: 8, - marginTop: Dimensions.get('window').height * 0.004, - marginBottom: Dimensions.get('window').height * 0.02, - elevation: 20, - shadowColor: '#000' - }, - sentButtonText: { - fontSize: 24, - textAlign: 'center', - color: '#FBEEAC', - fontWeight: 'bold' - } -}) diff --git a/screens/Event/style_folder/Styles_manage.jsx b/screens/Event/style_folder/Styles_manage.jsx deleted file mode 100644 index 5bd00ab..0000000 --- a/screens/Event/style_folder/Styles_manage.jsx +++ /dev/null @@ -1,209 +0,0 @@ -import { Platform, StyleSheet, Dimensions } from 'react-native' - -export default StyleSheet.create({ - avatar: { - margin: 10, - width: 60, - height: 60, - borderRadius: 30, - alignSelf: 'center' - }, - container: { - flex: 1, - alignContent: 'center', - backgroundColor: '#fafafa' - }, - headerContainer: { - flexDirection: 'row', - width: Dimensions.get('window').width, - height: Dimensions.get('window').height * 0.04, - marginTop: 10, - marginBottom: 10 - }, - headerArrowBox: { - flex: 1.9, - marginLeft: Dimensions.get('window').width * 0.05, - justifyContent: 'center' - }, - bodyContainer: { - flex: 1, - marginHorizontal: Dimensions.get('window').width * 0.03 - }, - DeletebtnInManage: { - backgroundColor: '#eb6f6f', - width: 70, - height: 35, - borderRadius: 30, - marginHorizontal: 5, - marginVertical: 25, - justifyContent: 'center' - }, - DeletebtnInManageText: { - color: 'white', - fontWeight: 'bold', - textAlign: 'center', - fontSize: 14 - }, - messageBox: { - width: '100%', - paddingHorizontal: 5, - height: 100, - borderWidth: 1, - borderRadius: 10, - borderColor: '#bfbebe' - }, - manageSendMessagebtn: { - borderRadius: 20, - flexDirection: 'row', - justifyContent: 'center', - alignSelf: 'flex-end', - backgroundColor: '#1784B2', - width: 200, - height: 40, - borderWidth: 1, - borderColor: '#476685', - marginTop: 10, - alignItems: 'center', - elevation: 10, - shadowColor: '#000' - }, - manageSendMessagebtnText: { - color: '#FBEEAC', - fontSize: 16, - fontWeight: 'bold' - - }, - MessagebtnInManage: { - backgroundColor: '#abd873', - width: 70, - height: 35, - borderRadius: 30, - marginHorizontal: 5, - marginVertical: 25, - justifyContent: 'center' - }, - MessagebtnInManageText: { - color: 'white', - fontWeight: 'bold', - textAlign: 'center', - fontSize: 14 - }, - name: { - fontSize: 24, - color: '#476685' - }, - nameheader: { - flex: 9, - alignItems: 'center', - justifyContent: 'center' - }, - headerDeleteView: { - flex: 1, - justifyContent: 'center', - alignItems: 'flex-end' - }, - headerEditView: { - justifyContent: 'center', - alignItems: 'flex-end', - marginHorizontal: Dimensions.get('window').width * 0.03 - }, - cardForAttendees: { - width: Dimensions.get('window').width * 0.9, - height: 85, - backgroundColor: '#ffffff', - borderRadius: 10, - shadowColor: 'bebebe', - shadowOffset: { - width: 0, - height: -10 - }, - shadowRadius: 10, - elevation: 4, - marginTop: 10, - marginLeft: Dimensions.get('window').width * 0.025, - marginBottom: 5, - justifyContent: 'space-between' - }, - reachLimitNum: { - fontSize: 18, - color: 'red', - marginTop: 10, - marginLeft: 50 - }, - signupIndex: { - color: '#000', - fontSize: 15 - }, - underLimitNum: { - fontSize: 18, - color: '#abd873', - marginTop: 10, - marginLeft: 50 - }, - NoLimitNum: { - fontSize: 18, - color: '#abd873', - marginTop: 10, - marginLeft: 15 - }, - manageBtn: { - alignContent: 'flex-end', - marginLeft: 1 - }, - removeBox: { - width: 350, - height: 140 - }, - removeBox2: { - width: 350, - height: 100 - }, - DeleteTitle: { - flexDirection: 'row', - justifyContent: 'space-between' - }, - DeleteTitleText: { - textAlign: 'left', - color: '#1f2937', - fontSize: 16, - fontWeight: '400', - marginTop: 17, - marginBottom: 10 - }, - DeleteDialogBottom: { - flexDirection: 'row', - height: '100%', - width: '100%', - backgroundColor: '#f3f4f6', - justifyContent: 'flex-end', - alignItems: 'baseline' - }, - textSetting1: { - fontSize: 16, - marginBottom: 5 - }, - textSetting2: { - fontSize: 14, - marginBottom: 5 - }, - RemoveDialog: { - flexDirection: 'row', - justifyContent: 'space-between' - }, - RemoveDialogTitle: { - textAlign: 'left', - color: '#1f2937', - fontSize: 16, - fontWeight: '400', - marginTop: 17, - marginBottom: 10 - }, - removeDialogBottom: { - flexDirection: 'row', - height: '100%', - width: '100%', - backgroundColor: '#f3f4f6', - justifyContent: 'flex-end', - alignItems: 'baseline' - } -}) diff --git a/screens/Event/style_folder/Styles_moreEvent.jsx b/screens/Event/style_folder/Styles_moreEvent.jsx deleted file mode 100644 index e59912c..0000000 --- a/screens/Event/style_folder/Styles_moreEvent.jsx +++ /dev/null @@ -1,86 +0,0 @@ -import { StyleSheet, Dimensions } from 'react-native' - -export default StyleSheet.create({ - container: { - flex: 1, - alignContent: 'center', - backgroundColor: '#fafafa' - }, - headerContainer: { - flexDirection: 'row', - width: Dimensions.get('window').width, - height: Dimensions.get('window').height * 0.05, - marginTop: 5, - marginBottom: 10 - }, - headerArrowBox: { - flex: 2, - marginLeft: Dimensions.get('window').width * 0.05, - justifyContent: 'center' - }, - nameheader: { - flex: 6, - alignItems: 'center', - justifyContent: 'center' - }, - name: { - fontSize: 24, - color: '#476685', - paddingTop: 8 - }, - bodyContainer: { - flex: 1, - alignItems: 'flex-start', - marginHorizontal: 10, - marginTop: 7 - }, - CardInMore: { - height: Dimensions.get('window').width * 0.58 + 5, - width: Dimensions.get('window').width * 0.42, - borderRadius: 10, - shadowColor: 'black', - shadowOffset: { - width: 0, - height: -4 - }, - elevation: 4, - marginVertical: 7, - backgroundColor: 'white', - marginHorizontal: Dimensions.get('window').width * 0.03 - }, - pic: { - backgroundColor: '#E0E0E0', - aspectRatio: 1, - borderTopLeftRadius: 10, - borderTopRightRadius: 10 - }, - CardTitle: { - textAlign: 'center', - justifyContent: 'center', - alignContent: 'center', - alignItems: 'center', - color: '#476685', - fontSize: 14 - }, - CardStartTime: { - marginLeft: 7, - flexDirection: 'row' - }, - CardTimeText: { - fontSize: 12, - color: 'rgba(40, 82, 122, 0.65)', - marginTop: -3 - }, - CardPlace: { - marginLeft: 5, - flexDirection: 'row', - marginTop: 3 - }, - cardPlaceText: { - fontSize: 12, - color: 'rgba(40, 82, 122, 0.65)' - }, - readDot: { - transform: [{ translateX: 12 }, { translateY: -10 }] - } -}) diff --git a/screens/Event/style_folder/Styles_personal_manage.jsx b/screens/Event/style_folder/Styles_personal_manage.jsx deleted file mode 100644 index 20b3e5b..0000000 --- a/screens/Event/style_folder/Styles_personal_manage.jsx +++ /dev/null @@ -1,175 +0,0 @@ -import { StyleSheet, Dimensions } from 'react-native' - -export default StyleSheet.create({ - bodyContainer: { - flex: 1, - flexDirection: 'column', - alignItems: 'flex-start', - marginHorizontal: Dimensions.get('window').width * 0.03, - marginTop: 7 - }, - cardManage: { - minHeight: 120, - height: 'auto', - width: Dimensions.get('window').width * 0.9, - borderRadius: 10, - marginTop: 15, - flexDirection: 'row', - alignSelf: 'center' - }, - cardManagepic: { - minHeight: 120, - height: 'auto', - aspectRatio: 1, - borderRadius: 10, - backgroundColor: '#E0E0E0' - }, - cardManageTitle: { - marginLeft: 10, - textAlign: 'left', - justifyContent: 'center', - fontWeight: 'bold', - fontSize: 16 - }, - cardManageDetails: { - marginHorizontal: 10, - marginTop: 7, - flexDirection: 'row', - alignContent: 'space-around' - }, - cardManageLocation: { - width: '70%', - height: 'auto', - marginHorizontal: 9, - marginTop: 7, - flexDirection: 'row', - alignContent: 'space-around' - }, - cardManageText: { - width: '80%', - fontSize: 12, - alignSelf: 'center' - }, - cardManageTextLocation: { - width: 'auto', - fontSize: 12, - alignSelf: 'center' - }, - CardInPersonal: { - height: 'auto', - width: Dimensions.get('window').width * 0.41, - borderRadius: 10, - shadowColor: 'black', - shadowOffset: { - width: 0, - height: -4 - }, - elevation: 4, - marginVertical: 7, - backgroundColor: 'white', - marginRight: Dimensions.get('window').width * 0.03 - }, - CardTitle: { - textAlign: 'center', - justifyContent: 'center', - alignContent: 'center', - alignItems: 'center', - color: '#476685', - fontSize: 14 - }, - CardStartTime: { - marginLeft: 7, - flexDirection: 'row' - }, - CardTimeText: { - fontSize: 12, - color: 'rgba(40, 82, 122, 0.65)', - marginTop: -3 - }, - CardPlace: { - marginLeft: 5, - flexDirection: 'row' - }, - cardPlaceText: { - fontSize: 12, - color: 'rgba(40, 82, 122, 0.65)' - }, - pic: { - backgroundColor: '#E0E0E0', - aspectRatio: 1, - borderTopLeftRadius: 10, - borderTopRightRadius: 10 - }, - personalbtn: { - width: 100, - height: 40, - color: 'transparent', - fontWeight: '500', - borderWidth: 1, - borderColor: '#476685', - borderRadius: 20, - flexDirection: 'row', - paddingVertical: 8, - marginLeft: 9, - marginRight: 9, - justifyContent: 'center' - }, - personalbtnText: { - color: '#8ba0b5', - fontSize: 16, - fontWeight: 'bold', - opacity: 0.5, - textAlign: 'center', - textAlignVertical: 'center' - }, - personalbtnPress: { - borderRadius: 20, - flexDirection: 'row', - paddingVertical: 8, - backgroundColor: '#1784B2', - width: 100, - height: 40, - borderWidth: 1, - borderColor: '#476685', - marginLeft: 9, - marginRight: 9, - justifyContent: 'center' - }, - personalbtnPressText: { - color: '#FBEEAC', - fontSize: 16, - fontWeight: 'bold', - textAlign: 'center' - }, - personalmanagebtnPressText: { - color: '#FBEEAC', - fontSize: 16, - fontWeight: 'bold', - textAlign: 'center' - }, - personalmanagebtnText: { - color: '#8ba0b5', - fontSize: 16, - fontWeight: 'bold', - opacity: 0.5, - textAlign: 'center', - textAlignVertical: 'center' - }, - num: { - minWidth: 18, - minHeight: 15, - width: 'auto', - height: 'auto', - position: 'relative', - marginLeft: -38, - marginTop: 113, - marginBottom: -127, - fontWeight: '400', - fontSize: 13, - color: '#fff', - backgroundColor: '#DC2626', - borderRadius: 100, - alignSelf: 'center', - textAlign: 'center' - } -}) diff --git a/screens/Event/style_folder/Styles_search.jsx b/screens/Event/style_folder/Styles_search.jsx deleted file mode 100644 index 88be5b1..0000000 --- a/screens/Event/style_folder/Styles_search.jsx +++ /dev/null @@ -1,89 +0,0 @@ -import { StyleSheet, Dimensions } from 'react-native' - -export default StyleSheet.create({ - container: { - flex: 1, - flexDirection: 'column', - alignContent: 'center', - marginTop: 50, - marginHorizontal: 15 - }, - genrebutton: { - marginRight: Dimensions.get('window').width * 0.04, - marginBottom: 20, - alignItems: 'center', - justifyContent: 'center', - width: Dimensions.get('window').width * 0.4, - height: Dimensions.get('window').height * 0.2, - borderRadius: 10 - }, - genreTitle: { - color: '#0C4A6E', - fontWeight: '700', - fontSize: 18, - width: 90, - marginLeft: 10 - }, - SearchArea: { - flex: 9, - marginLeft: Dimensions.get('window').width * 0.04, - height: 36 - }, - SearchBar: { - // backgroundColor: '#E5EBF1', - borderRadius: 18, - width: Dimensions.get('window').width * 0.77, - height: 36 - }, - searchIcon: { - marginLeft: 20, - marginTop: 6 - }, - searchtext: { - fontSize: 18, - marginTop: 4, - marginLeft: 10, - width: '100%' - }, - cancelBox: { - flex: 1 - }, - cancelText: { - - fontWeight: '400', - fontSize: 17 - }, - btnArea: { - marginTop: 35, - marginHorizontal: Dimensions.get('window').width * 0.04 - }, - icon: { - marginTop: -20 - }, - icon2: { - marginTop: -25 - }, - icon3: { - marginTop: -30, - marginLeft: -3 - }, - keywordArea: { - marginTop: 20, - width: '100%' - }, - keywordBox: { - borderWidth: 1, - borderColor: '#E5E5E5', - borderRadius: 5, - marginVertical: 3, - marginHorizontal: 10, - height: 40, - justifyContent: 'center' - }, - keywordBoxText: { - fontWeight: '400', - fontSize: 17, - color: '#00000066', - marginLeft: 15 - } -}) diff --git a/screens/Event/style_folder/Styles_share.jsx b/screens/Event/style_folder/Styles_share.jsx deleted file mode 100644 index b676378..0000000 --- a/screens/Event/style_folder/Styles_share.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import { StyleSheet } from 'react-native' - -export default StyleSheet.create({ - shareBox: { - width: '100%', - height: '90%', - alignItems: 'center', - justifyContent: 'center' - }, - SocialApp: { - flexDirection: 'row', - marginTop: -5 - }, - DialogTitle: { - textAlign: 'center', - color: '#71717A', - fontSize: 24, - fontWeight: '400', - marginTop: 20 - } -}) diff --git a/screens/Event/style_folder/Styles_showActivityDetails.jsx b/screens/Event/style_folder/Styles_showActivityDetails.jsx deleted file mode 100644 index 7856715..0000000 --- a/screens/Event/style_folder/Styles_showActivityDetails.jsx +++ /dev/null @@ -1,123 +0,0 @@ -import { Platform, StyleSheet, Dimensions } from 'react-native' - -export default StyleSheet.create({ - avatar: { - margin: 10, - width: Dimensions.get('window').width * 0.2, - height: Dimensions.get('window').width * 0.2, - borderRadius: Dimensions.get('window').width * 0.1, - backgroundColor: '#bfbfbf' - }, - bigpic: { - width: Dimensions.get('window').width / 2, - aspectRatio: 1, - alignContent: 'center', - alignItems: 'center', - justifyContent: 'center', - backgroundColor: '#E0E0E0' - }, - CardTimeText: { - fontSize: 12, - color: 'black' - }, - CardDetail: { - height: '100%', - width: '100%', - shadowColor: '#bfbebe', - marginTop: 10, - marginBottom: 65 - }, - DetailTitle: { - textAlign: 'left', - justifyContent: 'center', - alignContent: 'center', - alignItems: 'center', - marginLeft: 10 - }, - showActivityDetails_container: { - flex: 1, - alignContent: 'center', - backgroundColor: '#fafafa' - }, - headerContainer: { - flexDirection: 'row', - width: Dimensions.get('window').width, - height: Dimensions.get('window').height * 0.04, - marginBottom: 20 - }, - headerArrowBox: { - flex: 1.9, - marginLeft: Dimensions.get('window').width * 0.05, - justifyContent: 'center' - }, - nameheader: { - flex: 9, - alignItems: 'center', - justifyContent: 'center' - }, - name: { - fontSize: 24, - color: '#476685' - }, - bodyContainer: { - flex: 1, - flexDirection: 'column', - alignItems: 'flex-start', - marginHorizontal: Dimensions.get('window').width * 0.1, - marginTop: 7 - }, - imageDotNoHere: { - color: '#C4C4C4', - marginHorizontal: 2.5 - }, - imageDotIsHere: { - color: '#F4D160', - marginHorizontal: 2.5 - }, - sentMessage: { - borderRadius: 30, - width: 130, - height: 38, - paddingVertical: 4, - marginVertical: 51, - backgroundColor: '#476685', - marginLeft: Dimensions.get('window').width * 0.336 - }, - sentButtonText: { - fontSize: 14, - textAlign: 'center', - paddingTop: 5, - color: '#FBEEAC', - fontWeight: 'bold' - }, - DialogTitle: { - textAlign: 'center', - color: '#71717A', - fontSize: 24, - fontWeight: '400', - marginTop: 20 - }, - shareBox: { - width: '100%', - height: '100%', - alignItems: 'center', - justifyContent: 'center' - }, - SocialApp: { - marginTop: 20 - }, - reachLimitNum: { - fontSize: 18, - color: 'red' - }, - underLimitNum: { - fontSize: 18, - color: '#abd873' - }, - NoLimitNum: { - fontSize: 18, - color: '#abd873', - marginTop: 10, - marginLeft: 15 - } -}) diff --git a/screens/Home/EditInfo.jsx b/screens/Home/EditInfo.jsx deleted file mode 100644 index e3fa4f8..0000000 --- a/screens/Home/EditInfo.jsx +++ /dev/null @@ -1,132 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - Feather, SimpleLineIcons -} from '@expo/vector-icons' -import { - Box, Center, HStack, Image, Pressable, Text, VStack, Input -} from 'native-base' -import * as ImagePicker from 'expo-image-picker' -import SettingController from '../../controller/Setting' -import UserController from '../../controller/getStudentId' -import { EditHeader } from './components/forSetting/EditHeader' - -export function EditInfo ({ route, navigation }) { - const userUid = UserController.getUid() - const [refreshing, setRefreshing] = useState(false) - const [info, setInfo] = useState(route.params) - const [newInfo, setNewInfo] = useState({}) - const [avatar, setAvatar] = useState() - const onRefresh = () => { - setRefreshing(true) - UserController.getINFO(userUid).then((res) => { - setInfo(res) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - useEffect(() => { - UserController.getINFO(userUid).then((res) => { - setInfo(res) - setAvatar(res.avatar) - }).catch((err) => { - throw err - }) - const focusHandler = navigation.addListener('focus', () => { - onRefresh() - }) - return focusHandler - }, []) - - const pickImage = async () => { - const result = await ImagePicker.launchImageLibraryAsync({ - mediaTypes: ImagePicker.MediaTypeOptions.Images, - allowsEditing: true, - aspect: [1, 1], - quality: 0.2 - }) - - if (!result.assets[0].canceled) { - setAvatar(result.assets[0].uri) - if (avatar === undefined) { - setAvatar(result.assets[0].uri) - } - await SettingController.changeAvatar(result.assets[0].uri) - } - } - return ( - - - -
- -
- - - {'userAvatar'} - - -
- - - 姓名 - setNewInfo({ ...newInfo, name })} /> - - - 系所 - setNewInfo({ ...newInfo, major })} /> - - - 年級 - setNewInfo({ ...newInfo, grade })} /> - - - 學號 - setNewInfo({ ...newInfo, studentID: id })} /> - - - 電話 - setNewInfo({ ...newInfo, phone })} /> - - - 信箱 - - {info.email} - (若欲修改, 請聯繫NCUAPP團隊) - - - - { SettingController.updateInfo(userUid, newInfo).then(() => { navigation.navigate('settings', { userInfo: newInfo }) }) }} - > - - - 更新Update Info - - -
-
- -
-
- ) -} -export default EditInfo diff --git a/screens/Home/Message.jsx b/screens/Home/Message.jsx deleted file mode 100644 index 2500605..0000000 --- a/screens/Home/Message.jsx +++ /dev/null @@ -1,154 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - Text, RefreshControl, Image -} from 'react-native' -import { Card } from 'react-native-paper' -import { FontAwesome5, AntDesign, Octicons } from '@expo/vector-icons' - -import { - NativeBaseProvider, Box, VStack, HStack, FlatList, ZStack, Pressable -} from 'native-base' -import { LinearGradient } from 'expo-linear-gradient' -import styles from './styles_folder/Styles_Message' -import MessageController from '../../controller/Message' -import UserController from '../../controller/getStudentId' -import { BaseTheme } from '../../theme' - -function Message ({ navigation }) { - const userUid = UserController.getUid() - const [userAvatar, setUserAvatar] = useState() - const [newInfo, setNewInfo] = useState() - - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - UserController.getINFO(userUid).then((res) => { - setUserAvatar(res.avatar) - }).catch((err) => { - throw err - }) - MessageController.findRelateChatroom(userUid).then((res) => { - setNewInfo(res) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - - useEffect(() => { - UserController.getINFO(userUid).then((res) => { - setUserAvatar(res.avatar) - }).catch((err) => { - throw err - }) - MessageController.findRelateChatroom(userUid).then((res) => { - setNewInfo(res) - }).catch((err) => { - throw err - }) - const focusHandler = navigation.addListener('focus', () => { - onRefresh() - }) - return focusHandler - }, []) - return ( - - - - - - {/* { navigation.navigate('homepage') }} - /> */} - - - -  私訊中心 - - - - - - - item.id} - showsVerticalScrollIndicator={false} - refreshControl={( - - )} - renderItem={({ item }) => ( - { - navigation.navigate('hsend', { - userAvatar, - attendeeName: item.name, - attendeeAvatar: item.avatar, - chatroomId: item.id, - userUid - }) - }} - > - - - - - - {item.name} - - {/* -  # - {' '} - {item.identity} - */} - {/* - - {item.major} - - */} - - {item.data} - - - - - {MessageController.newMessageTime(item.sendTime)} - - - - - - - - - )} - /> - - - - ) -} -export default Message diff --git a/screens/Home/Send.jsx b/screens/Home/Send.jsx deleted file mode 100644 index 028230b..0000000 --- a/screens/Home/Send.jsx +++ /dev/null @@ -1,447 +0,0 @@ -import React, { useState, useEffect, useRef } from 'react' -import { - Text, View, Dimensions, - ScrollView, Image, TouchableHighlight, TextInput, - Platform, RefreshControl -} from 'react-native' -import { useKeyboard } from '@react-native-community/hooks' -import { - FontAwesome5, AntDesign, Feather, Octicons, MaterialCommunityIcons -} from '@expo/vector-icons' -import { Card } from 'react-native-paper' -import Dialog, { DialogContent } from 'react-native-popup-dialog' -import { Box, HStack, FlatList } from 'native-base' -import { LinearGradient } from 'expo-linear-gradient' -import * as ImagePicker from 'expo-image-picker' -import { getApp } from 'firebase/app' -import { onSnapshot, collection, getFirestore } from 'firebase/firestore' -import styles from './styles_folder/Styles_Message' -import MessageController from '../../controller/Message' - -function Send ({ route, navigation }) { - const scrollview = useRef() - const [deleteMessageId, setDeleteMessageId] = useState('') - const [slideDot1, setSlideDot1] = useState(true) - const [slideDot2, setSlideDot2] = useState(false) - const whenScrolling = ({ nativeEvent }) => { - const slide = Math.ceil(nativeEvent.contentOffset.x / nativeEvent.layoutMeasurement.width) - if (slide === 0) { - setSlideDot1(true) - setSlideDot2(false) - } else if (slide === 1) { - setSlideDot1(false) - setSlideDot2(true) - } - } - const [showDialog, setShowDialog] = useState(false) - const { userAvatar } = route.params - const { attendeeName } = route.params - const { attendeeAvatar } = route.params - const { chatroomId } = route.params - const { userUid } = route.params - const keyboard = useKeyboard() - const [data, setData] = useState({ - id: chatroomId, - sender: userUid - }) - - const db = getFirestore(getApp()) - const dbRef = collection(db, `chatrooms/${chatroomId}/messages`) - - // const [time, setTime] = useState(); - const [getData, setGetData] = useState([]) - - useEffect(() => { - MessageController.readMessage(userUid, chatroomId) - onSnapshot(dbRef, (docsSnap) => { - const message = [] - docsSnap.forEach((doc) => { - message.push({ - messageid: doc.id, - data: doc.data().data, - type: doc.data().type, - sendTime: doc.data().sendTime, - sender: doc.data().sender - }) - }) - message.sort((a, b) => a.sendTime - b.sendTime) - setGetData(message) - }) - scrollview.current.scrollToEnd({ animated: true }) - }, []) - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - onSnapshot(dbRef, (docsSnap) => { - const message = [] - docsSnap.forEach((doc) => { - message.push({ - messageid: doc.id, - data: doc.data().data, - type: doc.data().type, - sendTime: doc.data().sendTime, - sender: doc.data().sender - }) - }) - message.sort((a, b) => a.sendTime - b.sendTime) - setGetData(message) - }) - scrollview.current.scrollToEnd({ animated: true }) - setRefreshing(false) - } - - const pickImage = async () => { - const result = await ImagePicker.launchImageLibraryAsync({ - mediaTypes: ImagePicker.MediaTypeOptions.Images, - allowsEditing: true, - aspect: [1, 1], - quality: 1 - }) - if (!result.canceled) { - MessageController.addMessage({ - ...data, - uri: result.assets[0].uri, - sendTime: new Date(), - type: 'image' - }) - - scrollview.current.scrollToEnd({ animated: true }) - } - } - - return ( - - - - - - - {/* { navigation.navigate('hmessage') }} - /> */} - - -   - {attendeeName} - - - - - {/* - - */} - - - - - )} - data={getData} - keyExtractor={(item) => item.id} - showsVerticalScrollIndicator={false} - ref={scrollview} - onContentSizeChange={() => scrollview.current.scrollToEnd({ animated: true })} - renderItem={({ item }) => ( - - {/* per day 的 時間顯示還做不出來 */} - {/* - {MessageController.toDateString(item.sendTime)} - */} - - - {item.sender === userUid && ( - - - {MessageController.getHoursMin(item.sendTime)} - - - )} - - - { - if (item.sender === userUid) { - setShowDialog(true) - setDeleteMessageId(item.messageid) - } else { - setShowDialog(false) - } - }} - > - { - setShowDialog(false) - }} - > - - - - - 收回訊息?  - - - - - - - - - 訊息將被收回,但對方有可能已查閱過此訊息,仍然確定將訊息收回嗎? - - - - - - - - { - setShowDialog(false) - }} - > - 取消 - - - - { - MessageController.deleteMessage(chatroomId, deleteMessageId) - .then(() => { - setShowDialog(false) - }) - }} - > - 刪除 - - - - - - - - - {item.type === 'text' - ? ( - - {item.data} - - ) - : ( - - )} - - - {item.sender !== userUid && ( - - - {MessageController.getHoursMin(item.sendTime)} - - - )} - - - - {item.sender === userUid - ? ( - - ) - : ( - - )} - - - - - - )} - /> - - - - - - { - data.sendTime = new Date() - MessageController.addMessage({ - ...data, data: '請問有什麼需要注意的嗎?', sendTime: data.sendTime, type: 'text' - }) - }} - > - 請問有什麼需要注意的嗎? - - - - { - data.sendTime = new Date() - MessageController.addMessage({ - ...data, data: '請問有需要自行準備的東西嗎?', sendTime: data.sendTime, type: 'text' - }) - }} - > - 請問有需要自行準備的東西嗎? - - - - - - - - - - - - - - { - setData({ ...data, data: text }) - }} - selectionColor="#ccc" - /> - - - { - if (data.data !== '') { - data.sendTime = new Date() - data.type = 'text' - MessageController.addMessage(data) - setData({ ...data, data: '' }) - } - }} - /> - - - - - - ) -} -export default Send diff --git a/screens/Home/bigCal.jsx b/screens/Home/bigCal.jsx deleted file mode 100644 index 9f05140..0000000 --- a/screens/Home/bigCal.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { WebView } from 'react-native-webview' -import styles from './styles_folder/Styles' -import { Box } from 'native-base' -import homeController from '../../controller/Home' - -function BigCal ({ navigation }) { - const [link, setLink] = useState() - useEffect(() => { - homeController.getCalender().then((res) => { - setLink(res) - }) - }, []) - return ( - - - - ) -} - -export default BigCal diff --git a/screens/Home/components/forHome/Calender.jsx b/screens/Home/components/forHome/Calender.jsx deleted file mode 100644 index d273fe4..0000000 --- a/screens/Home/components/forHome/Calender.jsx +++ /dev/null @@ -1,42 +0,0 @@ -import React, { useEffect, useState } from 'react' -import { Box, Pressable, Text } from 'native-base' -import { WebView } from 'react-native-webview' -import homeController from '../../../../controller/Home' - -export function Calendar ({ navigation }) { - const [link, setLink] = useState() - useEffect(() => { - homeController.getCalender().then((res) => { - setLink(res) - }) - }, []) - // - return ( - - - 本週校曆 - - - - - - { navigation.navigate('BigCal') }}>顯示完整校曆 - - - - - ) -} - -export default { Calendar } diff --git a/screens/Home/components/forHome/EventCard.jsx b/screens/Home/components/forHome/EventCard.jsx deleted file mode 100644 index a50a164..0000000 --- a/screens/Home/components/forHome/EventCard.jsx +++ /dev/null @@ -1,116 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { Image, RefreshControl } from 'react-native' -import { - Title, Card -} from 'react-native-paper' -import { - Ionicons, AntDesign, Feather -} from '@expo/vector-icons' -import { Box, Text, FlatList } from 'native-base' -import styles from '../../styles_folder/Styles_EventCard' - -export function EventCard ({ showNow }) { - return ( - - - 你即將參加的活動 - - {showNow.length == 0 ? - // no event - ( - - 你最近沒有參加任何活動 - - ) - : ( - // have recent event - item.id} - showsHorizontalScrollIndicator={false} - style={{ marginBottom: 10, alignSelf: 'center' }} - renderItem={({ item }) => ( - - - - - - - - - - {item.name} - - - - - {' '} - {item.startTimeInNum} - - - - - - {' '} - {item.place} - - - - - {item.limitNum !== '0' && ( - - {' '} - {item.num} - {' / '} - {item.limitNum} - 人 - - )} - {item.limitNum === '0' && ( - - {' '} - {item.num} -   - (無上限) - - )} - - - - - - - - )} - /> - )} - - ) -} - -export default { EventCard } diff --git a/screens/Home/components/forHome/HomeHeader.jsx b/screens/Home/components/forHome/HomeHeader.jsx deleted file mode 100644 index 71e0c6d..0000000 --- a/screens/Home/components/forHome/HomeHeader.jsx +++ /dev/null @@ -1,125 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - Pressable, Text, Image -} from 'react-native' - -import { - FontAwesome5, Octicons, Ionicons -} from '@expo/vector-icons' -import { - Box, ZStack, Center -} from 'native-base' -import styles from '../../styles_folder/Styles' -import UserController from '../../../../controller/getStudentId' -import MessageController from '../../../../controller/Message' -import { getAuth } from 'firebase/auth' - -export function HomeHeader ({ navigation }) { - const auth = getAuth() - const defaultAvatar = 'https://firebasestorage.googleapis.com/v0/b/ncu-app-test.appspot.com/o/avatar%2FdefaultAvatar.webp?alt=media&token=a41c5523-e38b-4c77-85d7-32a730356d57' - const defaultName = '臨時使用者' - const [Messagenum, setMessageNum] = useState(0) - const [userInfo, setUserInfo] = useState({}) - const userUid = UserController.getUid() - const hr = new Date().getHours() - const [greetText, setGreetText] = useState('') - const [refreshing, setRefreshing] = useState(false) - const onRefresh = () => { - setRefreshing(true) - MessageController.countUnreadMessage(userUid).then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - - UserController.getINFO(userUid).then((res) => { - setUserInfo(res) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - - useEffect(() => { - MessageController.countUnreadMessage(userUid).then((num) => { - setMessageNum(num) - }).catch((err) => { - throw err - }) - - UserController.getINFO(userUid).then((res) => { - setUserInfo(res) - }).catch((err) => { - throw err - }) - - if (hr >= 0 && hr <= 4) { - setGreetText('凌晨了, 還沒睡嗎? 加油! 💪') - } else if (hr > 4 && hr <= 10) { - setGreetText('早安, 祝你有個美好的一天🔅') - } else if (hr > 10 && hr <= 13) { - setGreetText('午安, 小睡片刻吧💤') - } else if (hr > 13 && hr <= 17) { - setGreetText('下午好, 吃個點心吧!🍩') - } else if (hr > 17 && hr <= 23) { - setGreetText('晚安, 祝你有個好夢~🥱') - } - - const focusHandler = navigation.addListener('focus', () => { - onRefresh() - }) - return focusHandler - }, []) - - return ( - - - - - {greetText} - {userInfo.name ? userInfo.name: defaultName} - - -
- {!auth.currentUser.isAnonymous && { navigation.navigate('hmessage', { prepage: 'homepage' }) }}> - - - - - - - - - } - { - navigation.navigate('settings', { - userInfo - }) - }} - /> -
-
- ) -} -export default { HomeHeader } diff --git a/screens/Home/components/forHome/Tutorial.jsx b/screens/Home/components/forHome/Tutorial.jsx deleted file mode 100644 index accb2d2..0000000 --- a/screens/Home/components/forHome/Tutorial.jsx +++ /dev/null @@ -1,75 +0,0 @@ -import React from 'react' -import { Box, FlatList, Text, Image, HStack, Heading, Stack, Center, ScrollView, Link } from 'native-base' -import ActiveController from '../../../../controller/Active' - -export function Tutorial ({ card }) { - return ( - - - 公告版 - - item.id} - renderItem={({ - item - }) => ( - - - - image -
- {item.type} -
-
- - - - updated at {`${ActiveController.toDateString(item.upload.toDate())}`} - - - {item.title} - - - {item.content.length > 50 ? item.content.slice(0, 50) + '...' : item.content} - - - - - - 查看更多 - - - -
-
- )} - /> - -
- ) -} - -export default { Tutorial } diff --git a/screens/Home/components/forSetting/EditHeader.jsx b/screens/Home/components/forSetting/EditHeader.jsx deleted file mode 100644 index 9fafb0b..0000000 --- a/screens/Home/components/forSetting/EditHeader.jsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react' -import { - AntDesign -} from '@expo/vector-icons' -import { - Box, Center, Pressable, Text -} from 'native-base' - -export function EditHeader ({ userInfo, navigation }) { - return ( - -
- - { navigation.navigate('settings', { userInfo }) }} - /> - -
- - - 編輯個人資料 - - - - ) -} -export default { EditHeader } diff --git a/screens/Home/components/forSetting/Info.jsx b/screens/Home/components/forSetting/Info.jsx deleted file mode 100644 index 2ca0cac..0000000 --- a/screens/Home/components/forSetting/Info.jsx +++ /dev/null @@ -1,105 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - Feather -} from '@expo/vector-icons' -import { - Box, Center, HStack, Image, Pressable, Text, VStack -} from 'native-base' -import UserController from '../../../../controller/getStudentId' -import { getAuth } from 'firebase/auth' - -export function Info ({ userInfo, navigation }) { - const auth = getAuth() - const defaultAvatar = 'https://firebasestorage.googleapis.com/v0/b/ncu-app-test.appspot.com/o/avatar%2FdefaultAvatar.webp?alt=media&token=a41c5523-e38b-4c77-85d7-32a730356d57' - const userUid = UserController.getUid() - const [refreshing, setRefreshing] = useState(false) - const [info, setInfo] = useState(userInfo) - const onRefresh = () => { - setRefreshing(true) - UserController.getINFO(userUid).then((res) => { - setInfo(res) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - useEffect(() => { - const focusHandler = navigation.addListener('focus', () => { - onRefresh() - }) - return focusHandler - }, []) - return ( - - - 個人檔案 - -
- - - -
- - {'userAvatar'} - - {!auth.currentUser.isAnonymous && { navigation.navigate('EditInfo', { info }) }}> - - 編輯 - } -
-
- {auth.currentUser.isAnonymous ? - // anonymous user - ( - 註冊後即可編輯您的個人檔案 - ) - // normal user - : ( - - 姓名 - {info.name} - - - 系所 - {info.major} - - - 年級 - {info.grade} - - - 學號 - {info.studentID} - - - 電話 - {info.phone} - - - 信箱 - {info.email} - - )} -
-
-
-
- - ) -} -export default { Info } diff --git a/screens/Home/components/forSetting/Others.jsx b/screens/Home/components/forSetting/Others.jsx deleted file mode 100644 index 08bea1a..0000000 --- a/screens/Home/components/forSetting/Others.jsx +++ /dev/null @@ -1,77 +0,0 @@ -import React from 'react' -import { - Box, Center, Text, Pressable, Link -} from 'native-base' -import { deleteUserInfo } from '../../../../controller/Setting' -import { getAuth, signOut, deleteUser } from 'firebase/auth' - -export function Others ({ navigation }) { - const auth = getAuth() - return ( - -
- - 幫助 - - - - 關於NCU app - - {!auth.currentUser.isAnonymous && { - deleteUserInfo(auth.currentUser.uid) - deleteUser(auth.currentUser).then(() => { - // User deleted. - console.log('User deleted.') - - }) - signOut(auth).then(() => { - // Sign-out successful. - console.log('Sign-out successful.') - }).catch((error) => { - throw error - }) - }} - > - - 刪除帳號 - - - } - { - if(auth.currentUser.isAnonymous){ - deleteUser(auth.currentUser).then(() => { - // User deleted. - console.log('User deleted.') - }).catch((error) => { - throw error - }) - } - signOut(auth).then(() => { - // Sign-out successful. - console.log('Sign-out successful.') - }).catch((error) => { - throw error - }) - }} - > - - 登出 - - -
-
- - ) -} -export default { Others } diff --git a/screens/Home/components/forSetting/SettingHeader.jsx b/screens/Home/components/forSetting/SettingHeader.jsx deleted file mode 100644 index 33981c2..0000000 --- a/screens/Home/components/forSetting/SettingHeader.jsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react' -import { - AntDesign -} from '@expo/vector-icons' -import { - Box, Center, Pressable, Text -} from 'native-base' - -export function SettingHeader ({ navigation }) { - return ( - -
- - { navigation.navigate('homepage') }} - /> - -
- - - 設定 - - - - ) -} -export default { SettingHeader } diff --git a/screens/Home/homePage.jsx b/screens/Home/homePage.jsx deleted file mode 100644 index 5ee45c2..0000000 --- a/screens/Home/homePage.jsx +++ /dev/null @@ -1,69 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { RefreshControl } from 'react-native' -import { Box, ScrollView } from 'native-base' -import { HomeHeader } from './components/forHome/HomeHeader' -import { Calendar } from './components/forHome/Calender' -import { EventCard } from './components/forHome/EventCard' -import { Tutorial } from './components/forHome/Tutorial' -import ActiveController from '../../controller/Active' -import homeController from '../../controller/Home' - -import styles from './styles_folder/Styles' - -function HomePage ({ navigation }) { - const [showNow, setShowNow] = useState([]) - const [refreshing, setRefreshing] = useState(false) - const [card, setCard] = useState() - - const onRefresh = async () => { - setRefreshing(true) - ActiveController.getParticipatedActive().then((res) => { - setShowNow(res) - }).catch((err) => { - throw err - }) - homeController.getTutorial().then((res) => { - setCard(res) - console.log(res) - }).catch((err) => { - throw err - }) - setRefreshing(false) - } - - useEffect(() => { - ActiveController.getParticipatedActive().then((res) => { - setShowNow(res) - }).catch((err) => { - throw err - }) - homeController.getTutorial().then((res) => { - setCard(res) - }).catch((err) => { - throw err - }) - }, []) - return ( - - - - )} - > - - - - - - - - - ) -} - -export default HomePage diff --git a/screens/Home/index.jsx b/screens/Home/index.jsx deleted file mode 100644 index a0b9151..0000000 --- a/screens/Home/index.jsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react' -import { createNativeStackNavigator } from '@react-navigation/native-stack' -import Settings from './settings' -import HomePage from './homePage' -import Message from './Message' -import Send from './Send' -import BigCal from './bigCal' -import EditInfo from './EditInfo' - -const Stack = createNativeStackNavigator() - -function HomeStack () { - return ( - - - - - - - - - ) -} - -export default HomeStack diff --git a/screens/Home/settings.jsx b/screens/Home/settings.jsx deleted file mode 100644 index 154d883..0000000 --- a/screens/Home/settings.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react' -import { SettingHeader } from './components/forSetting/SettingHeader' -import { Info } from './components/forSetting/Info' -import { Others } from './components/forSetting/Others' -import { Box, Text } from 'native-base' -import styles from './styles_folder/Styles' - -function Settings ({ route, navigation }) { - const { userInfo } = route.params - return ( - - - - - - ) -} - -export default Settings diff --git a/screens/Home/styles_folder/Styles.js b/screens/Home/styles_folder/Styles.js deleted file mode 100644 index 8789b32..0000000 --- a/screens/Home/styles_folder/Styles.js +++ /dev/null @@ -1,41 +0,0 @@ -import { StyleSheet } from 'react-native' -import Constants from 'expo-constants' - -export default StyleSheet.create({ - container: { - flex: 1, - borderVerticalColor: '#e5e5e5', - borderVerticalWidth: 20, - paddingHorizontal: 20, - paddingVertical: 20, - backgroundColor: '#ffffff' - }, - containerForCal: { - flex: 1, - marginHorizontal: 5 - }, - topHomePage: { - flexDirection: 'row', - justifyContent: 'space-between' - }, - avatar: { - width: 50, - height: 50, - borderRadius: 25 - }, - topLeftRight: { - flexDirection: 'row' - }, - topGreet: { - paddingLeft: 17 - }, - topTextGreet: { - fontSize: 12, - fontWeight: 'bold' - }, - topTextName: { - fontSize: 18, - fontWeight: 'bold', - color: '#28527A' - } -}) diff --git a/screens/Home/styles_folder/Styles_EventCard.jsx b/screens/Home/styles_folder/Styles_EventCard.jsx deleted file mode 100644 index 1f8f5e7..0000000 --- a/screens/Home/styles_folder/Styles_EventCard.jsx +++ /dev/null @@ -1,63 +0,0 @@ -import { StyleSheet, Dimensions } from 'react-native' - -export default StyleSheet.create({ - cardManage: { - height: 127, - width: Dimensions.get('window').width * 0.77, - borderRadius: 10, - marginTop: 10, - flexDirection: 'row', - alignSelf: 'center', - marginRight: 10 - - }, - cardManagepic: { - width: 127, - height: 124, - borderRadius: 10, - backgroundColor: '#E0E0E0' - }, - cardManageTitle: { - marginLeft: 10, - textAlign: 'left', - justifyContent: 'center', - fontWeight: 'bold', - fontSize: 16 - }, - cardManageDetails: { - marginHorizontal: 10, - marginTop: 7, - flexDirection: 'row', - alignContent: 'space-around' - }, - cardManageLocation: { - marginHorizontal: 9, - marginTop: 7, - flexDirection: 'row', - alignContent: 'space-around' - }, - cardManageText: { - fontSize: 12 - }, - cardManageTextLocation: { - fontSize: 12, - marginLeft: 3 - }, - num: { - minWidth: 18, - minHeight: 15, - width: 'auto', - height: 'auto', - position: 'relative', - marginLeft: -38, - marginTop: 113, - marginBottom: -127, - fontWeight: '400', - fontSize: 13, - color: '#fff', - backgroundColor: '#DC2626', - borderRadius: 100, - alignSelf: 'center', - textAlign: 'center' - } -}) diff --git a/screens/Home/styles_folder/Styles_Message.jsx b/screens/Home/styles_folder/Styles_Message.jsx deleted file mode 100644 index ac36efd..0000000 --- a/screens/Home/styles_folder/Styles_Message.jsx +++ /dev/null @@ -1,201 +0,0 @@ -import { StyleSheet, Dimensions } from 'react-native' - -export default StyleSheet.create({ - container: { - flex: 1, - alignContent: 'center', - backgroundColor: '#fafafa' - }, - header: { - flexDirection: 'row', - width: Dimensions.get('window').width, - height: Dimensions.get('window').height * 0.04, - marginTop: 20, - marginBottom: 20, - alignItems: 'center' - }, - title: { - flex: 2, - marginTop: 10, - alignItems: 'center' - }, - titleSend: { - justifyContent: 'center', - alignItems: 'center', - marginLeft: Dimensions.get('window').width * 0.25 - }, - headerArrowBox: { - flex: 1, - alignItems: 'center' - }, - headerArrowBoxSend: { - flex: 3, - justifyContent: 'flex-start', - alignItems: 'center' - }, - option: { - backgroundColor: '#fafafa', - height: 44, - width: Dimensions.get('window').width, - paddingHorizontal: Dimensions.get('window').width * 0.17, - paddingTop: 10 - }, - optionLeft: { - fontSize: 18, - marginRight: 120, - fontWeight: '300' - }, - optionRight: { - fontSize: 18 - }, - cardForMessage: { - width: Dimensions.get('window').width * 0.875, - height: 85, - backgroundColor: '#ffffff', - borderRadius: 10, - shadowColor: 'bebebe', - shadowOffset: { - width: 0, - height: -10 - }, - shadowRadius: 10, - elevation: 4, - - // marginLeft: Dimensions.get('window').width * 0.065, - marginBottom: 15 - }, - avatar: { - margin: 10, - width: 60, - height: 60, - borderRadius: 30 - }, - sendAvatar: { - width: 48, - height: 48, - borderRadius: 24, - borderColor: '#bfbebe', - borderWidth: 1, - alignSelf: 'center', - marginLeft: 15 - }, - messagePeople: { - marginLeft: 5, - paddingTop: 15 - }, - sendArea: { - width: Dimensions.get('window').width, - marginBottom: 15, - marginTop: 15 - }, - typeFooter: { - flexDirection: 'row', - alignItems: 'center' - }, - pickImage: { - paddingTop: 5, - paddingLeft: 18, - paddingRight: 12 - }, - typeArea: { - flex: 1, - borderRadius: 20, - backgroundColor: '#E5EBF1', - paddingHorizontal: 12, - height: 35, - marginTop: 5, - borderWidth: 1, - borderColor: 'rgba(191, 191, 191, 0.7)' - }, - typeText: { - height: 20, - fontSize: 14, - marginTop: 6 - }, - sendIcon: { - paddingTop: 5, - paddingLeft: 12, - paddingRight: 18 - }, - name: { - paddingTop: Dimensions.get('window').height * 0.0065, - fontWeight: '700', - fontSize: 18 - }, - identity: { - textAlignVertical: 'center', - fontWeight: '400', - fontSize: 10 - }, - latest: { - width: Dimensions.get('window').width * 0.45, - height: 30, - marginTop: 2, - textAlign: 'left', - fontWeight: '400', - fontSize: 10.5, - color: '#BFBFBF' - }, - sendTimeBox: { - flex: 1, - alignSelf: 'flex-end' - - }, - sendTime: { - color: '#b4b4b8', - textAlign: 'right', - marginRight: 5, - fontSize: 10 - }, - sendPeople: { - // marginTop: Dimensions.get('window').height * 0.011, - marginLeft: 3, - color: '#fff', - fontWeight: '700', - fontSize: 18, - textAlignVertical: 'center' - }, - info: { - flex: 0.7, - color: '#000' - }, - Dot: { - flexDirection: 'row', - alignSelf: 'center' - }, - Dotfalse: { - color: '#E5E5E5', - marginHorizontal: 2.5 - }, - DotTrue: { - color: '#1784B2', - marginHorizontal: 2.5 - }, - autoLeft: { - marginLeft: Dimensions.get('window').width * 0.02 - }, - autoRight: { - marginRight: Dimensions.get('window').width * 0.01 - }, - autoMessage: { - backgroundColor: '#E5EBF1', - borderRadius: 5, - marginTop: 10, - marginBottom: 5, - marginHorizontal: 5 - }, - autoSend: { - marginHorizontal: 8, - marginVertical: 5, - fontWeight: '400', - fontSize: 14, - color: '#476685' - }, - unsentTitle: { - marginTop: 17, - marginBottom: 10 - }, - readDot: { - marginLeft: Dimensions.get('window').width * 0.82 - } -}) diff --git a/screens/Map/BusScreen/BusDetailViewCell.jsx b/screens/Map/BusScreen/BusDetailViewCell.jsx deleted file mode 100644 index ed48f09..0000000 --- a/screens/Map/BusScreen/BusDetailViewCell.jsx +++ /dev/null @@ -1,331 +0,0 @@ -import React from 'react' -import { Box, ZStack, VStack, Text, HStack, Center, Circle } from 'native-base' - -function SingleRouteCell (props) { - const firstBusColor = 'secondary.600' - const secondBusColor = 'secondary.100' - const busColor = (props.currentStation.bus[0].name === props.availableBusList[0] ? firstBusColor : secondBusColor) - - const RouteGraph = () => ( - - - {!props.isFirstStation && ()} - {!props.isLastStation && ()} - - -
- -
-
- ) - - return ( - - - - - {props.currentStation.isCombined === 0 - ? ( - {props.currentStation.stop} - ) - : ( - {props.currentStation.stop} - )} - - - {props.currentStation.bus[0].name} - - -
- {props.currentStation.bus[0].time} -
-
-
- ) -} - -function DoubleRouteCell (props) { - const firstBusColor = 'accent1.600' - const secondBusColor = 'accent2.600' - const busColor = (props.currentStation.bus[0].name === props.availableBusList[0] ? firstBusColor : secondBusColor) - const renderLine = () => { - const lineList = [] - if (props.currentStation.isCombined !== 0) { - return ( - - ) - } - // upper line - if (props.isPrevCombined) { - lineList.push( - - ) - } else if (!props.isFirstStation) { - lineList.push( - - ) - } - // down line - if (props.isNextCombined) { - lineList.push( - - ) - } else if (!props.isLastStation) { - lineList.push( - - ) - } - return lineList - } - - const renderLine2 = () => { - const lineList = [] - if (props.currentStation.isCombined) { - return ( - - - - ) - } - // upper line - if (props.isPrevCombined) { - lineList.push( - - ) - } else if (!props.isFirstStation) { - lineList.push( - - ) - } - // down line - if (props.isNextCombined) { - lineList.push( - - ) - } else if (!props.isLastStation) { - lineList.push( - - ) - } - return lineList - } - - const RouteGraph2 = () => ( - - - - {renderLine()} - {props.currentStation.isCombined === 1 && props.currentStation.pass.indexOf(props.selectedBusList[0]) !== -1 && ( - - )} - - - {renderLine2()} - - {props.currentStation.isCombined === 1 && props.currentStation.pass.indexOf(props.selectedBusList[1]) !== -1 && ( - - )} - - - -
- {props.currentStation.isCombined === 0 && ( - - )} -
-
- ) - - return ( - - - - - {props.currentStation.isCombined === 0 - ? {props.currentStation.stop} - : {props.currentStation.stop} - } - - {props.currentStation.bus[0].name} - - -
- {props.currentStation.bus[0].time} -
-
-
- ) -} -export default function BusDetailViewCell (props) { - props.availableBusList.sort() - console.log('rerendering') - if (props.selectedBusList.length == 0) { - - } else if (props.selectedBusList.length == 1) { - return ( - - ) - } else { - return ( - - ) - } -} diff --git a/screens/Map/BusScreen/UST.jsx b/screens/Map/BusScreen/UST.jsx deleted file mode 100644 index 31ad28b..0000000 --- a/screens/Map/BusScreen/UST.jsx +++ /dev/null @@ -1,105 +0,0 @@ -import React from 'react' - -import { - View, - Text -} from 'react-native' -import { ScrollView } from 'react-native-gesture-handler' -import Styles from '../Styles' -import { Box } from 'native-base' - -function UST () { - return ( - - - - 台聯大專車時刻表 - - - - - - 僅平日行駛 - - - - - - - 往清大、交大 - - - 往政大 - - - - - - - - - 07:50 - - - 07:30 - - - - - - 12:10 - - - 11:30 - - - - - - 20:10 - - - 21:10 - - - - - - - 上次更新:2023/01/26 - - - - ) -} -export default UST diff --git a/screens/Map/BusScreen/busDetailView.jsx b/screens/Map/BusScreen/busDetailView.jsx deleted file mode 100644 index 1d06bc7..0000000 --- a/screens/Map/BusScreen/busDetailView.jsx +++ /dev/null @@ -1,317 +0,0 @@ -import React, { useState, useEffect } from 'react' -import { - Box, - ZStack, - VStack, - Text, - HStack, - Checkbox, - WarningOutlineIcon, - Pressable, - Center, - ScrollView, - StatusBar, - Icon, - Button, - Circle, - Container, - FlatList -} from 'native-base' -import { TabView } from 'react-native-tab-view' -import { Ionicons, FontAwesome } from '@expo/vector-icons' -import BusController from '../../../controller/Bus' -import BusDetailViewCell from './BusDetailViewCell' - -const testData = [ - { - alert: 0, - type: 0, // 0 合併, 1 分岔 - pass: ['132', '133'], - bus: [ - // 最近五班車 - { - name: '133', - time: '14:00' - }, - { - name: '132', - time: '15:00' - } - ], - stop: 'loading' - } -] - -function BusSelector ({ - navigation, - availableBusList, - selectedBusList, - setSelectedBusList -}) { - return ( - - - { - setSelectedBusList(values || []) - }} - > - {availableBusList.map((busName, index) => { - if (index === 0) { - return ( - - - {busName} - - - ) - } else { - return ( - - - {busName} - - - ) - } - })} - - {selectedBusList.length === 0 && ( - - - 請選擇公車班次 - - )} - - - { - navigation.navigate('BusTimeTable') - }} - > -
- 發車時刻表 -
-
-
- ) -} - -function TimeTableRoute ({ direction, selectedBusList, availableBusList }) { - const [data, setData] = useState(testData) // useState([{}]) - // const [refreshing, setRefreshing] = useState(true); - const [timerCount, setTimerCount] = useState(0) - const [dataUpdated, setDataUpdated] = React.useState(false) - - useEffect(() => { - const interval = setInterval(() => { - setTimerCount((timerCount) => timerCount + 1) - }, 1000) - - return () => clearInterval(interval) - }, []) - - const onRefresh = () => { - console.log('refresh') - BusController({ buses: selectedBusList, dir: direction }).then((res) => { - setData(res) // using testData - setTimerCount(0) - setDataUpdated((dataUpdated) => !dataUpdated) - }) - } - useEffect(() => { - onRefresh() - const id = setInterval(onRefresh, 10000) - return () => { - clearInterval(id) - } - }, [selectedBusList]) - - return ( - - { - const isFirstStation = (index === 0) - const isLastStation = (index === data.length - 1) - const isPrevCombined = (!isFirstStation && data[index].isCombined == false && data[index - 1].isCombined == true) - const isNextCombined = (!isLastStation && data[index].isCombined == false && data[index + 1].isCombined == true) - return ( - - ) - }} keyExtractor={item => item.id} extraData={dataUpdated}/> - - - {timerCount}秒前更新 - - - ) -} - -const renderScene = ({ route }, selectedBusList, availableBusList) => { - switch (route.key) { - case 'first': - return ( - - ) - case 'second': - return ( - - ) - default: - return null - } -} -const renderTabBar = (props, index, setIndex) => { - const inputRange = props.navigationState.routes.map((x, i) => i) - return ( - - {props.navigationState.routes.map((route, i) => { - const borderColor = index === i ? '#476685' : 'coolGray.200' - return ( - - { - setIndex(i) - }} - > - {route.title} - - - ) - })} - - ) -} - -function BusTimeTableTabView ({ navigation, routeInfo }) { - let availableBusList = [] - if (routeInfo.name === 'toZhongli') availableBusList = ['132', '133'] - else if (routeInfo.name === 'toHSR') availableBusList = ['172', '173'] - else availableBusList = [routeInfo.name] - - const [selectedBusList, setSelectedBusList] = - React.useState(availableBusList) - const [index, setIndex] = React.useState(0) // TabBar index (can't change valuable name) - const destination = { - route0: '往中央大學', - route1: '' - } - switch (routeInfo.name) { - case 'toZhongli': - destination.route1 = '往中壢公車站' - break - case 'toHSR': - destination.route1 = '往桃園高鐵站' - break - case '9025A': - destination.route1 = '松山機場' - break - default: - destination.route1 = 'unknown' - } - const [routes] = React.useState([ - { - key: 'first', - title: destination.route0 - }, - { - key: 'second', - title: destination.route1 - } - ]) - - const NavigationBar = () => ( - -
- {routeInfo.nameZH_TW} -
- - - - - - - -
- ) - - return ( - - - - - renderScene(props, selectedBusList, availableBusList) - } - renderTabBar={(props) => renderTabBar(props, index, setIndex)} - onIndexChange={setIndex} - style={{ marginTop: StatusBar.currentHeight }} - /> - - ) -} - -export default function ({ route, navigation }) { - return ( - - - - ) -} diff --git a/screens/Map/BusScreen/busTimeTable.jsx b/screens/Map/BusScreen/busTimeTable.jsx deleted file mode 100644 index 55ed003..0000000 --- a/screens/Map/BusScreen/busTimeTable.jsx +++ /dev/null @@ -1,282 +0,0 @@ -import React, { useState } from 'react' - -import { - View, - Text, - ScrollView, - TouchableOpacity -} from 'react-native' -import { Box } from 'native-base' -import Styles from '../Styles' - -function List132 () { - const [workDay, setWorkDay] = useState(true) - return ( - - - - 132公車時刻表 - - - - - { setWorkDay(true) }} - style={{ width: '50%', backgroundColor: 'white' }} - > - - 平日 - - - { setWorkDay(false) }} - style={{ width: '50%', backgroundColor: 'white' }} - > - - 假日 - - - - - - 往中央大學 - - - {workDay && - ( - - - 06:30 - - - 07:00 - - - 07:30 - - - 08:00 - - - 08:30 - - - 09:00 - - - 09:30 - - - 10:00 - - - 11:00 - - - 12:00 - - - 13:00 - - - 14:00 - - - 15:00 - - - 15:30 - - - 16:00 - - - 16:30 - - - 17:00 - - - 17:40 - - - 18:00 - - - 18:40 - - - 19:00 - - - 20:00 - - - 21:00 - - - 22:00 - - - )} - {!workDay && - ( - - - 08:00 - - - 09:00 - - - 10:00 - - - 11:00 - - - 12:00 - - - 13:00 - - - 14:00 - - - 15:00 - - - 16:00 - - - 17:00 - - - 18:00 - - - )} - - - 上次更新:2023/01/26 - - - - ) -} -export default List132 diff --git a/screens/Map/BusScreen/firstpage.jsx b/screens/Map/BusScreen/firstpage.jsx deleted file mode 100644 index 52c98ac..0000000 --- a/screens/Map/BusScreen/firstpage.jsx +++ /dev/null @@ -1,111 +0,0 @@ -import React from 'react' -import { - ScrollView, - Text, - Box, - Pressable, - HStack, - Icon, - VStack, - ZStack, - Center -} from 'native-base' -import { Ionicons, FontAwesome } from '@expo/vector-icons' - -function First ({ navigation }) { - const busLst = [ - { - nameZH_TW: '中央-中壢火車站', - name: 'toZhongli', - availableBusList: ['132', '133'] - }, - { - nameZH_TW: '中央-桃園高鐵站', - name: 'toHSR', - availableBusList: ['172', '173'] - }, - { - nameZH_TW: '9025A', - name: '9025A' - }, - { - nameZH_TW: '台聯大專車', - name: 'UST' - } - ] - const NavigationBar = () => ( - -
- 公車動態 -
- - - - - - - -
- ) - return ( - - - - - - {busLst.map((busInfo, index) => { - console.log(busInfo) - return ( - - navigation.navigate('BusDetailView', busInfo)} - > - - - - - - - {busInfo.nameZH_TW} - - - {'availableBusList' in busInfo && - - - {busInfo.availableBusList.map((busName, index) => { - const firstBusColor = 'secondary.600' - const secondBusColor = 'secondary.100' - const busColor = (index === 0 ? firstBusColor : secondBusColor) - return ( - - {busName} - ) - }) - } - - } - - - - - ) - })} - - - - ) -} - -export default First diff --git a/screens/Map/MapScreen.jsx b/screens/Map/MapScreen.jsx deleted file mode 100644 index 0cdfaf8..0000000 --- a/screens/Map/MapScreen.jsx +++ /dev/null @@ -1,235 +0,0 @@ -/* eslint-disable react/no-array-index-key */ -import React, { - useState, useRef, useEffect, useMemo, useCallback -} from 'react' -import MapView, { PROVIDER_GOOGLE, Marker } from 'react-native-maps' -import { - View, - Animated, - Text -} from 'react-native' -import { Icon, NativeBaseProvider } from 'native-base' -import { MaterialCommunityIcons } from '@expo/vector-icons' -import * as Location from 'expo-location' -import { StatusBar } from 'expo-status-bar' -import HeaderSearchBar from './components/HeaderSearchBar' -import CategorySlider from './components/CategorySlider' -import BusButton from './components/BusButton' -import MapStyle from './assets/MapStyle' -import BuildingsInfo from './assets/BuildingsInfo' -import CustomMarkerView from './components/CustomMarkerView' -import SearchResults from './components/SearchResults' -import BottomDrawer from './components/BottomDrawer' -import Styles from './Styles' -import { GestureHandlerRootView } from 'react-native-gesture-handler' - -export default function MapScreen ({ navigation }) { - const [userLocation, setUserLocation] = useState({ - latitude: 24.9682806, - longitude: 121.1928889 - }) - - // bottom sheet - const [bottomDrawerState, setBottomDrawerState] = useState(-1) - const sheetRef = useRef(null) - - const snapPoints = useMemo(() => ['10%', '30%', '50%'], []) - - const handleSheetChanges = useCallback((index) => { - setBottomDrawerState(index) - }, []) - - const handleSnapPress = useCallback((index) => { - sheetRef.current?.snapToIndex(index) - }, []) - const handleClosePress = useCallback(() => { - sheetRef.current?.close() - setBottomDrawerState(-1) - }, []) - //= =============================================================== - - const [markerShowType, setMarkerShowType] = useState('') - const [selectedMarker, setSelectedMarker] = useState({ name: '' }) - const [bottomDrawerShow, setBottomDrawerShow] = useState(false) - - const searchResultsViewFadeAnim = useRef(new Animated.Value(0)).current - const searchResultsViewZIndexAnim = useRef(new Animated.Value(-1)).current - const cancelBtnFadeAnim = useRef(new Animated.Value(0)).current - - const [screenHeight, setScreenHeight] = useState(0) - const [searchBarHeight, setSearchBarHeight] = useState(0) - const [textInputValue, setTextInputValue] = useState('') - - const mapView = useRef(null) - const changeCenter = (newCenterLatitude, newCenterLongitude) => { - mapView.current.animateToRegion({ - latitude: newCenterLatitude + 0.00045, - longitude: newCenterLongitude, - latitudeDelta: 0.001, - longitudeDelta: 0.001 - }, 200) - } - - const getTwoPointsDistance = (buildingLat, buildingLon) => { - const userLocLat = (userLocation.latitude * Math.PI) / 180 - const userLocLon = (userLocation.longitude * Math.PI) / 180 - const destinationLat = (buildingLat * Math.PI) / 180 - const destinationLon = (buildingLon * Math.PI) / 180 - - // Haversine formula - const dlon = destinationLon - userLocLon - const dlat = destinationLat - userLocLat - const a = Math.sin(dlat / 2) ** 2 + - Math.cos(userLocLat) * Math.cos(destinationLat) * - Math.sin(dlon / 2) ** 2 - - const c = 2 * Math.asin(Math.sqrt(a)) - - const r = 6371 - - // calculate the result - return ((c * r * 1000).toFixed(0)) - } - useEffect(() => { - (async () => { - await Location.requestForegroundPermissionsAsync() - const location = await Location.getCurrentPositionAsync() - setUserLocation({ latitude: location.coords.latitude, longitude: location.coords.longitude }) - // changeCenter(location.coords.latitude, location.coords.longitude); - - Location.watchPositionAsync( - { - accuracy: Location.Accuracy.High - }, - (currentLocation) => { - setUserLocation({ - latitude: currentLocation.coords.latitude, - longitude: currentLocation.coords.longitude - }) - } - ) - })() - }, []) - - return ( - - - - { - const { layout } = event.nativeEvent - setScreenHeight(layout.height) - }} - > - { - handleClosePress() - setSelectedMarker({ name: '' }) - setTextInputValue('') - }} - > - {BuildingsInfo.filter( - (obj) => obj.type === markerShowType || markerShowType === '' - ).map((marker, index) => ( - { - setSelectedMarker({ - name: marker.name, - latitude: marker.latitude, - longitude: marker.longitude - }) - setTextInputValue(marker.name) - handleSnapPress(1) - changeCenter(marker.latitude - 0.0006, marker.longitude) - }} - > - - - ))} - - - - 現在位置 - - - - - - - - - - - - - - - {/* */} - - - ) -} diff --git a/screens/Map/Styles.jsx b/screens/Map/Styles.jsx deleted file mode 100644 index 23a9b95..0000000 --- a/screens/Map/Styles.jsx +++ /dev/null @@ -1,56 +0,0 @@ -import { StyleSheet } from 'react-native'; - -const colorDarkBlue = '#476685'; - -export default StyleSheet.create({ - background: { - paddingTop: 50, - flex: 1, - justifyContent: 'flex-start', - marginHorizontal: 16, - }, - title: { - textAlign: 'center', - }, - separator: { - borderBottomColor: '#737373', - borderBottomWidth: StyleSheet.hairlineWidth, - }, - fixToText: { - flexDirection: 'row', - }, - flex: { - flex: 1, - }, - headerSearchBarContainer: { - paddingTop: 50, - paddingBottom: 15, - width: '100%', - flexDirection: 'row', - justifyContent: 'space-around', - alignItems: 'center', - backgroundColor: '#ffffff', - paddingHorizontal: 15, - zIndex: 1000, - }, - headerSearchBarView: { - backgroundColor: '#E5EBF1', - flexDirection: 'row', - alignItems: 'center', - justifyContent: 'space-around', - borderRadius: 50, - width: '100%', - paddingHorizontal: 10, - }, - headerSearchBarTextInput: { - marginLeft: 6, - padding: 10, - width: '85%', - fontSize: 18, - color: '#476685', - }, -}); - -export { - colorDarkBlue, -}; diff --git a/screens/Map/assets/BuildingsInfo.jsx b/screens/Map/assets/BuildingsInfo.jsx deleted file mode 100644 index 76d907a..0000000 --- a/screens/Map/assets/BuildingsInfo.jsx +++ /dev/null @@ -1,743 +0,0 @@ -export default [ - { - latitude: 24.97025, - longitude: 121.19367, - type: '系館', - name: 'I 志希館', - opentime: ['平日|08:00-22:00', '六日|不開放', '寒暑假平日|08:00-17:00'], - units: '電子計算機中心, 管理學院研究室, 管理學院辦公室' - }, - { - latitude: 24.96703, - longitude: 121.19078, - type: '校內店家', - name: '松苑餐廳', - opentime: ['每日|07:30-21:30', '寒暑假|另行公告'], - units: '漢堡王, 全家, 路易莎, lala kitchen, 王者香, 玖蔦家火山丼, 鼎記食堂' - }, - { - latitude: 24.96609, - longitude: 121.19465, - type: '宿舍', - name: '國際學生宿舍', - opentime: ['不對外開放'], - units: ' ' - }, - { - latitude: 24.96967, - longitude: 121.19069, - type: '體育場所', - name: '室外籃球場', - opentime: ['每天|07:00-22:00'], - units: ' ' - }, - { - latitude: 24.96571, - longitude: 121.19431, - type: '宿舍', - name: '女十四舍', - opentime: ['不對外開放|暫不提供商店營業時間'], - units: '藝文空間, 吉祥食堂, 龍騰影印店, 581生活館, 全家無人商店' - }, - { - latitude: 24.96561, - longitude: 121.19511, - type: '宿舍', - name: '男十一舍', - opentime: ['不對外開放|暫不提供商店營業時間'], - units: '敦煌書局, Straight A Apple授權校園店, 中大眼鏡行, 印象剪髮, 郵局, 洗衣店' - }, - { - latitude: 24.9695, - longitude: 121.19519, - type: '系館', - name: 'LS 人文社會科學大樓', - opentime: ['平日|09:00-17:00'], - units: '文三, 文學三館, 黑盒子劇場, 藝文中心, 107電影院, 文學院辦公室' - }, - { - latitude: 24.969364, - longitude: 121.195814, - type: '宿舍', - name: '校長宿舍', - opentime: ['不對外開放'], - units: ' ' - }, - { - latitude: 24.97024, - longitude: 121.19292, - type: '系館', - name: 'O 綜教館', - opentime: ['平日|09:00-17:00', '六日|不開放'], - units: '語言中心' - }, - { - latitude: 24.96821, - longitude: 121.19368, - type: '行政處室', - name: 'L 中正圖書館', - opentime: ['K書中心:08:00-23:00, 考試期間24小時開放', '圖書館視聽資料室:平日|09:00-20:00', '備用書庫:平日|09:00-17:00', '其餘開放時間暫不提供'], - units: 'K書中心, 生活輔導組, 課外活動組, 服務學習辦公室, 軍訓室, 衛生保健組, 圖書館視聽資料室, 原住民族學生資源中心, 諮商中心, 資源教室, 藝文中心展示空間, 職涯發展中心, 小中大電視台, 備用書庫, 英語自學中心, 戲曲研究室, 團體活動室, 學務處' - }, - { - latitude: 24.966554536362217, - longitude: 121.18774915643395, - type: '系館', - name: '前瞻科技中心', - opentime: ['平日|09:00-17:00'], - units: ' ' - }, - { - latitude: 24.9701, - longitude: 121.1935, - type: '校內店家', - name: '小木屋鬆餅 Shine Mood Waffle', - opentime: ['每天|09:00-19:00'], - units: ' ' - }, - { - latitude: 24.96562, - longitude: 121.19555, - type: '宿舍', - name: '男七舍', - opentime: ['不對外開放'], - units: ' ' - }, - { - latitude: 24.96958, - longitude: 121.19097, - type: '體育場所', - name: '溜冰場', - opentime: ['暫無提供'], - units: '' - }, - { - latitude: 24.96618, - longitude: 121.19446, - type: '行政處室', - name: '住宿服務處', - opentime: ['平日|'], - units: ' ' - }, - { - latitude: 24.96837, - longitude: 121.19091, - type: '體育場所', - name: 'YH 依仁堂', - opentime: ['平日|17:00-21:00', '六日|不開放', '寒暑假|08:00-17:00'], - units: '室內籃球場, 室內排球場, 健身房, 韻律教室, 桌球練習場, 技擊教室' - }, - { - latitude: 24.96566, - longitude: 121.19381, - type: '社團活動區', - name: '志道樓', - opentime: ['平日|08:30-22:50', '國定假日|不開放', '寒暑假|另行公告'], - units: ' ' - }, - { - latitude: 24.970117061463334, - longitude: 121.19448436732834, - type: '社團活動區', - name: 'L3 國鼎圖書資料館', - opentime: ['平日|10:00-15:00'], - units: '國鼎圖書館, 白樓特藏室, 國鼎館展示室, 簡報室, 閱覽室' - }, - { - latitude: 24.97144, - longitude: 121.19209, - type: '系館', - name: 'S4 健雄館', - opentime: ['平日|07:00-17:00'], - units: '科四館, 科學四館, 物理系, 奈米科技研究中心, 探測器研發中心, 複雜系統研究中心, 中子束應用研究中心, 數學與理論物理中心, 中壢福衛地面站, 天文研究所, 太空科學研究所' - }, - { - latitude: 24.96718, - longitude: 121.19571, - type: '景點', - name: 'AH 大講堂', - opentime: ['平日'], - units: '校史館' - }, - { - latitude: 24.97061, - longitude: 121.19435, - type: '宿舍', - name: '研究生宿舍', - opentime: ['不對外開放'], - units: '曦望居' - }, - { - latitude: 24.96724, - longitude: 121.19269, - type: '系館', - name: 'E 工程一館', - opentime: ['平日|09:00-17:00'], - units: '土木工程學系, 化學工程與材料工程學系, 化材, 奈米觸媒研究中心, 界面科技研究中心 , 土木材料品保中心, 災害防治研究中心, 橋梁工程研究中心' - }, - { - latitude: 24.96946, - longitude: 121.19458, - type: '系館', - name: 'A 文學一館', - opentime: ['平日|09:00-17:00'], - units: '中國文學系, 英美語文學系, 法國語文學系, 哲學研究所, 歷史研究所, 藝術學研究所, 學習與教學研究及亞祭文化研究國際碩士學位學程所' - }, - { - latitude: 24.968898292544104, - longitude: 121.18847797691994, - type: '系館', - name: 'E5 大型力學實驗室', - opentime: ['24小時'], - units: '結構力學實驗室, 韓鋼架及混凝土力學實驗區, 大地工程實驗室, 流體力學實驗室' - }, - { - latitude: 24.9672, - longitude: 121.19465, - type: '系館', - name: 'S 科學一館', - opentime: ['平日|09:00-17:00'], - units: '地球科學學院辦公室, 地球科學系, 地球物理研究所, 水文與海洋科學研究所, 地震電磁前兆研究中心, 應用地質研究所, 環境研究中心, 中大天文台, 秉文堂' - }, - { - latitude: 24.96604511545328, - longitude: 121.19190498514823, - type: '系館', - name: '中大幼稚園', - opentime: ['暫無提供'], - units: ' ' - }, - { - latitude: 24.97054, - longitude: 121.19569, - type: '校內店家', - name: '中央大學第九宿舍餐廳', - opentime: ['每日|11:00-20:00'], - units: '全家, 四海遊龍, 吃找餐, 炸雞大獅, 香米自助餐, 第九餐廳' - }, - { - latitude: 24.96559, - longitude: 121.19343, - type: '宿舍', - name: '男三舍', - opentime: ['不對外開放'], - units: ' ' - }, - { - latitude: 24.96901, - longitude: 121.18941, - type: '體育場所', - name: '攀岩塔', - opentime: ['平日&寒暑假|08:00-17:00 (上課及申請使用)', '六日|08:00-17:00 (付費使用)'], - units: '攀岩場' - }, - { - latitude: 24.97025, - longitude: 121.19548, - type: '宿舍', - name: '男九舍', - opentime: ['不對外開放'], - units: '' - }, - { - latitude: 24.96671, - longitude: 121.19583, - type: '社團活動區', - name: '據德樓', - opentime: ['平日'], - units: '社團辦公室' - }, - { - latitude: 24.97084, - longitude: 121.19495, - name: 'HO2 中大會館', - type: '景點', - opentime: ['平日'], - units: ' ' - }, - { - latitude: 24.96594, - longitude: 121.1958, - type: '宿舍', - name: '男六舍', - opentime: ['不對外開放'], - units: ' ' - }, - { - latitude: 24.96899, - longitude: 121.193, - type: '體育場所', - name: '棒壘球場', - opentime: ['每天|07:00-17:00'], - units: '棒球場, 壘球場, 大草坪' - }, - { - latitude: 24.96672, - longitude: 121.19087, - type: '行政處室', - name: '國際處&創新育成中心', - opentime: ['平日'], - units: 'IC 松果館' - }, - { - latitude: 24.97102, - longitude: 121.19037, - type: '系館', - name: 'HK 客家學院大樓', - opentime: ['平日|09:00-17:00'], - units: '客家與社會學系, 客家學院辦公室, 客家社會文化研究所, 客家語文研究所, 客家政治經濟研究所, 客家研究在職專班, 法律與政府研究所, 客語認證中心, 客家公共事務中心, 客家希望工程言青年培育中心, 全球客家女性研究(基金)中心, 客家藝文中心' - }, - { - latitude: 24.96861, - longitude: 121.18767, - type: '系館', - name: 'E3 環工化工館09:00-17:00', - opentime: ['平日|'], - units: '工程四館, 環境工程學研究所, 永續環境科技研究中心, 化學工程與材料工程學系實驗館' - }, - { - latitude: 24.97162, - longitude: 121.19269, - type: '系館', - name: 'S5 科學五館', - opentime: ['平日|09:00-17:00'], - units: '腦科學研究中心, 生物醫藥研發中心, 認知與神經科學所, 系統生物與生物資訊研究所, 生命科學系' - }, - { - latitude: 24.96839, - longitude: 121.19443, - type: '系館', - name: 'L2 總圖書館', - opentime: ['平日|08:00-22:00', '六日|10:00-19:00'], - units: '英語閱讀坊, 台聯大圖書管理系統' - }, - { - latitude: 24.971215, - longitude: 121.194957, - type: '宿舍', - name: '男十二舍', - opentime: ['不對外開放'], - units: ' ' - }, - { - latitude: 24.96935, - longitude: 121.1909, - type: '體育場所', - name: '羽球館', - opentime: ['平日|07:00-12:00、13:00-22:00', '六日|07:00-12:00、14:00-17:00', '寒暑假|07:00-12:00、14:00-17:00'], - units: ' ' - }, - { - latitude: 24.96793, - longitude: 121.18709, - type: '系館', - name: 'R3 研究中心大樓二期', - opentime: ['平日'], - units: '生醫理工學院, 生醫理工學院辦公室' - }, - { - latitude: 24.96825, - longitude: 121.19522, - type: '行政處室', - name: 'A1 行政大樓', - opentime: ['平日'], - units: '教務處, 總務處, 註冊組, 課務組, 招生組, 文書組, 出納組, 保管組, 事務組' - }, - { - latitude: 24.96828, - longitude: 121.19234, - type: '系館', - name: 'TR 教學研究綜合大樓暨大禮堂', - opentime: ['平日'], - units: '世界奇觀, 大禮堂, 多功能會議廳, 教學研究空間, 停車場, 教研大樓' - }, - { - latitude: 24.96898, - longitude: 121.19453, - type: '系館', - name: 'C2 文學二館', - opentime: ['平日|09:00-17:00'], - units: '中國文學系, 英美語文學系, 法國語文學系, 哲學研究所, 歷史研究所, 藝術學研究所, 學習與教學研究及亞祭文化研究國際碩士學位學程所' - }, - { - latitude: 24.97088, - longitude: 121.19242, - type: '系館', - name: 'S2 科學三館', - opentime: ['平日|09:00-17:00'], - units: '物化實驗室, 有機無機實驗室, 核磁共振儀室, 普化分析實驗室, 大氣分析實驗室, 光子材料研究實驗室, 高分子及觸媒化學實驗室, 有機化學研究實驗室, 有機光電材料開發化學實驗室, 有機化學研究實驗室, 有機光電材料開發實驗室' - }, - { - latitude: 24.9678, - longitude: 121.18858, - type: '系館', - name: 'E2 機械館', - opentime: ['平日|08:30–12:00, 13:30–17:00'], - units: '工程三館, 機械工程學系, 機械系, 能源研究中心, 生物醫學工程研究所, 能源工程研究所, 光機電工程研究所' - }, - { - latitude: 24.96788, - longitude: 121.19153, - type: '系館', - name: 'E1 工程二館', - opentime: ['平日|09:00-17:00'], - units: - '電機工程學系, 通訊工程學系, 電機系, 通訊系, 小禮堂, 視聽教室, 通訊工程研究所, 資訊電機學院' - }, - { - latitude: 24.966, - longitude: 121.1953, - type: '宿舍', - name: '男五舍', - opentime: ['不對外開放'], - units: ' ' - }, - { - latitude: 24.96635, - longitude: 121.19584, - type: '社團活動區', - name: '游藝館', - opentime: ['平日'], - units: '社團辦公室' - }, - { - latitude: 24.96556, - longitude: 121.19542, - type: '校內店家', - name: '松果餐廳', - opentime: ['平日|'], - units: '全家, 吮指王炸雞, 豪秋吐司, 香米自助餐' - }, - { - latitude: 24.97036, - longitude: 121.19048, - type: '系館', - name: 'IL 國鼎光電大樓', - opentime: ['平日|09:00-17:00'], - units: '光電系, 鍍膜實驗室, 光電博物館, 光電展示中心, 台達研究中心' - }, - { - latitude: 24.96835, - longitude: 121.18991, - type: '體育場所', - name: '田徑場', - opentime: ['平日'], - units: '操場' - }, - { - latitude: 24.96631, - longitude: 121.19262, - type: '宿舍', - name: '女一~四舍', - opentime: ['不對外開放'], - units: ' ' - }, - { - latitude: 24.96734, - longitude: 121.18777, - type: '系館', - name: 'E6 工程五館', - opentime: ['平日|09:00-17:00'], - units: - '資訊工程學系, 資訊電機學院辦公室, 資工系, 資訊工程研究所, 工學院, 工學院精密研究中心, 環境與能源研究中心, 材料科學與工程研究所, 網路學習科技研究所' - }, - { - latitude: 24.97105, - longitude: 121.19372, - type: '系館', - name: 'I1 管理二館', - opentime: ['平日|07:00-22:00'], - units: - '企業管理學系, 資訊管理學系, 財務金融學系, 經濟學系, 產驗經濟研究所, 人力資源管理研究所, 工業管理研究所, 會計研究所及管理學術研究中心, 企業資源規劃中心, 管院電算中心' - }, - { - latitude: 24.97013, - longitude: 121.19262, - type: '系館', - name: 'S1 科學二館', - opentime: ['平日|07:00-17:00'], - units: - '理學院辦公室, 光電中心辦公室, 地科中心辦公室, 新世代太陽能電池研究中心辦公室, 固態無機化學實驗室, 功能高分子及觸媒實驗室, 奈米觸媒與高能電池實驗室, 化學系系學會, 分子光譜學實驗室, 化學系辦公室, 教授研究室, 大氣系辦公室' - }, - { - latitude: 24.96793, - longitude: 121.18709, - type: '系館', - name: 'R2 太空及遙測研究中心', - opentime: ['平日|08:00-17:00'], - units: '太遙中心' - }, - { - latitude: 24.96957, - longitude: 121.18993, - type: '體育場所', - name: '網球場', - opentime: ['平日|09:00-11:45、13:00-20:45', '六日|09:00-11:45、13:00-20:45', '寒暑假|09:00-11:45、13:00-20:45'], - units: ' ' - }, - { - latitude: 24.9701, - longitude: 121.18961, - type: '體育場所', - name: '室內游泳池', - opentime: ['平日|06:00-11:45、13:00-18:45', '星期六|06:00-11:45、13:00-16:45', '星期日|06:00-11:45、13:00-15:45'], - units: ' ' - }, - { - latitude: 24.96663, - longitude: 121.19623, - type: '宿舍', - name: '男十三舍', - opentime: ['不對外開放'], - units: ' ' - }, - { - latitude: 24.97085, - longitude: 121.19268, - type: '系館', - name: 'M 鴻經館', - opentime: ['平日|09:00-17:00'], - units: '數學系, 數學系圖書館, 數學系系學會, 數學系系辦公室' - }, - { - latitude: 24.9676, - longitude: 121.19079, - type: '體育場所', - name: '室外排球場', - opentime: ['每天|07:00-22:00'], - units: ' ' - }, - { - // ??? - latitude: 24.97064, - longitude: 121.19441, - type: '校內店家', - name: '中大iicafe', - opentime: ['平日'], - units: ' ' - }, - { - latitude: 24.97144, - longitude: 121.19231, - type: '系館', - name: 'H2 理學院教學館', - opentime: ['平日'], - units: ' ' - }, - { - latitude: 24.96775, - longitude: 121.19298, - type: '系館', - name: 'EH 實習一廠', - opentime: ['平日'], - units: ' ' - }, - { - latitude: 24.96764, - longitude: 121.18932, - type: '系館', - name: 'H3 實習三廠', - opentime: ['平日'], - units: ' ' - }, - // { - // // incorrect position - // latitude: 24.9676, - // longitude: 121.19079, - // type: '系館', - // name: 'GE 大氣水文觀測站', - // - // units: ' ', - // }, - // { - // // incorrect position - // latitude: 24.9676, - // longitude: 121.19079, - // type: '系館', - // name: 'E4 機電實驗室', - // - // units: ' ', - // }, - // { - // // incorrect position - // latitude: 24.9676, - // longitude: 121.19079, - // type: '系館', - // name: 'EQ 風洞實驗室及品保中心', - // - // units: ' ', - // }, - // { - // // incorrect position - // latitude: 24.9676, - // longitude: 121.19079, - // type: '系館', - // name: '氣象雷達站', - // - // units: ' ', - // }, - // { - // // incorrect position - // latitude: 24.9676, - // longitude: 121.19079, - // type: '系館', - // name: '天線區', - // - // units: ' ', - // }, - // { - // // incorrect position - // latitude: 24.9676, - // longitude: 121.19079, - // type: '系館', - // name: 'G 大氣微量物質分析實驗室', - // - // units: ' ', - // }, - { - latitude: 24.969707521871022, - longitude: 121.18982390598758, - type: '體育場所', - name: '中大國民運動中心', - opentime: ['平日|09:00–12:00, 13:00–21:00'], - units: ' ' - }, - { - latitude: 24.970754151323007, - longitude: 121.19148265504151, - type: '景點', - name: '中大湖', - opentime: ['平日'], - units: ' ' - }, - // { - // // incorrect position - // latitude: 24.9676, - // longitude: 121.19079, - // type: '景點', - // name: '學生自主學習空間', - // - // units: ' ', - // }, - { - latitude: 24.966215869682472, - longitude: 121.19377032659528, - type: '景點', - name: '賈斯汀單車', - opentime: ['平日|10:00–18:00'], - units: ' ' - }, - { - latitude: 24.968124436298478, - longitude: 121.19470733905092, - type: 'Ubike', - name: 'YouBike 中央大學圖書館', - opentime: ['24小時開放'], - units: ' ' - }, - { - latitude: 24.9669702572436, - longitude: 121.19103886636081, - type: 'Ubike', - name: 'YouBike 中央大學依仁堂', - opentime: ['24小時開放'], - units: ' ' - }, - { - latitude: 24.968858222143005, - longitude: 121.19552705320342, - type: '公車站', - name: '中央大學警衛室', - opentime: ['24小時開放'], - units: ' ' - }, - { - latitude: 24.96978682720721, - longitude: 121.19409670274227, - type: '公車站', - name: '國鼎圖書館', - opentime: ['24小時開放'], - units: ' ' - }, - { - latitude: 24.969809638130204, - longitude: 121.19148182470599, - type: '公車站', - name: '中大湖', - opentime: ['24小時開放'], - units: ' ' - }, - { - latitude: 24.968368584582855, - longitude: 121.19112784558875, - type: '公車站', - name: '依仁堂', - opentime: ['24小時開放'], - units: ' ' - }, - { - latitude: 24.966655334360507, - longitude: 121.19169139010519, - type: '公車站', - name: '中央大學後門', - opentime: ['24小時開放'], - units: ' ' - }, - { - latitude: 24.96805803910513, - longitude: 121.19558113130034, - type: '公車站', - name: '中央大學觀景台', - opentime: ['24小時開放'], - units: ' ' - }, - { - latitude: 24.966924553195884, - longitude: 121.19557841315836, - type: '自動繳費機', - name: '繳費機1', - opentime: ['24小時開放'], - units: ' ' - }, - { - latitude: 24.968688033588645, - longitude: 121.19541640391036, - type: '自動繳費機', - name: '繳費機2', - opentime: ['24小時開放'], - units: ' ' - }, - { - latitude: 24.96987595875507, - longitude: 121.19316582559476, - type: '自動繳費機', - name: '繳費機3', - opentime: ['24小時開放'], - units: ' ' - }, - { - latitude: 24.966572293699016, - longitude: 121.19109098816473, - type: '自動繳費機', - name: '繳費機4', - opentime: ['24小時開放'], - units: ' ' - } - // { - // latitude: 24.968461, - // longitude: 121.195648, - // type: '景點', - // name: '前門警衛室', - // units: ' ', - // }, - // 前門警衛室 - // 後門警衛室 - // ATM - // 廁所 - // 繳費機 - // 校長宿舍或許可以不用 - // AED - // 郵局 - // 緊急電話 - // oloo -] diff --git a/screens/Map/assets/MapStyle.jsx b/screens/Map/assets/MapStyle.jsx deleted file mode 100644 index f9e4262..0000000 --- a/screens/Map/assets/MapStyle.jsx +++ /dev/null @@ -1,52 +0,0 @@ -export default [ - { - elementType: 'labels', - stylers: [ - { - visibility: 'off', - }, - ], - }, - { - featureType: 'administrative', - elementType: 'geometry', - stylers: [ - { - visibility: 'off', - }, - ], - }, - { - featureType: 'administrative.neighborhood', - stylers: [ - { - visibility: 'off', - }, - ], - }, - { - featureType: 'poi', - stylers: [ - { - visibility: 'off', - }, - ], - }, - { - featureType: 'road', - elementType: 'labels.icon', - stylers: [ - { - visibility: 'off', - }, - ], - }, - { - featureType: 'transit', - stylers: [ - { - visibility: 'off', - }, - ], - }, -]; diff --git a/screens/Map/assets/MarkersCategories.jsx b/screens/Map/assets/MarkersCategories.jsx deleted file mode 100644 index 8a76d43..0000000 --- a/screens/Map/assets/MarkersCategories.jsx +++ /dev/null @@ -1,107 +0,0 @@ -import { - FontAwesome, - MaterialCommunityIcons, - FontAwesome5, - MaterialIcons, - Ionicons, - AntDesign, -} from '@expo/vector-icons'; - -export default [ - { - title: '行政處室', - icon: FontAwesome, - iconName: 'building', - haveEvent: true, - color: '#10B981', - border: '#047857', - }, - { - title: '系館', - icon: FontAwesome5, - iconName: 'school', - haveEvent: false, - color: '#0077E6', - border: '#004282', - }, - { - title: '體育場所', - icon: MaterialCommunityIcons, - iconName: 'weight-lifter', - haveEvent: false, - color: '#EF4444', - border: '#B91C1C', - }, - { - title: '自動繳費機', - icon: MaterialIcons, - iconName: 'payment', - haveEvent: false, - color: '#EAB308', - border: '#A16207', - }, - { - title: '社團活動區', - icon: Ionicons, - iconName: 'md-people-circle', - haveEvent: false, - color: '#F43F5E', - border: '#BE123C', - }, - { - title: '宿舍', - icon: MaterialIcons, - iconName: 'house', - haveEvent: false, - color: '#84CC16', - border: '#4D7C0F', - }, - { - title: '景點', - icon: FontAwesome5, - iconName: 'camera-retro', - haveEvent: false, - color: '#06B6D4', - border: '#0E7490', - }, - { - title: '公廁', - icon: MaterialIcons, - iconName: 'wc', - haveEvent: false, - color: '#F59E0B', - border: '#B45309', - }, - { - title: '公車站', - icon: MaterialCommunityIcons, - iconName: 'bus-stop', - haveEvent: false, - color: '#0EA5E9', - border: '#0369A1', - }, - { - title: '校內店家', - icon: AntDesign, - iconName: 'isv', - haveEvent: false, - color: '#6366F1', - border: '#4338CA', - }, - { - title: '校外店家', - icon: MaterialCommunityIcons, - iconName: 'food-fork-drink', - haveEvent: false, - color: '#A855F7', - border: '#7E22CE', - }, - { - title: 'Ubike', - icon: MaterialCommunityIcons, - iconName: 'bike', - haveEvent: false, - color: '#F97316', - border: '#C2410C', - }, -]; diff --git a/screens/Map/components/BottomDrawer.jsx b/screens/Map/components/BottomDrawer.jsx deleted file mode 100644 index 0de283f..0000000 --- a/screens/Map/components/BottomDrawer.jsx +++ /dev/null @@ -1,118 +0,0 @@ -/* eslint-disable react/no-array-index-key */ -import React from 'react' -import { - View, Text, TouchableOpacity -} from 'react-native' -import BottomSheet, { BottomSheetScrollView } from '@gorhom/bottom-sheet' -import { Icon } from 'native-base' -import { Entypo } from '@expo/vector-icons' -import getDirections from 'react-native-google-maps-directions' -import BuildingsInfo from '../assets/BuildingsInfo' - -export default function BottomDrawer ({ - snapPoints, - sheetRef, - userLocation, - selectedMarker, - getTwoPointsDistance, - bottomDrawerState, - handleSheetChanges -}) { - const handleGetDirections = () => { - const data = { - source: { - latitude: userLocation.latitude, - longitude: userLocation.long - }, - destination: { - latitude: selectedMarker.latitude, - longitude: selectedMarker.longitude - }, - params: [ - { - key: 'travelmode', - value: 'walking' - }, - { - key: 'dir_action', - value: 'navigate' - } - ] - } - getDirections(data) - } - - return ( - - - - {getTwoPointsDistance(selectedMarker.latitude, selectedMarker.longitude)} - 公尺 - - - - {selectedMarker.name} - - - - - - 導航路線 - - - - - - - 開放時間 - {BuildingsInfo.filter((val) => val.name === selectedMarker.name).map((element) => ( - element.opentime.map((time, index) => ( - {time} - )) - ))} - 建築物資訊 - {BuildingsInfo.filter((val) => val.name === selectedMarker.name).map((e) => ( - {e.units} - ))} - - - - ) -} diff --git a/screens/Map/components/BusButton.jsx b/screens/Map/components/BusButton.jsx deleted file mode 100644 index a2399d5..0000000 --- a/screens/Map/components/BusButton.jsx +++ /dev/null @@ -1,36 +0,0 @@ -import { View, TouchableOpacity } from 'react-native'; -import React from 'react'; -import { Icon } from 'native-base'; -import { Ionicons } from '@expo/vector-icons'; - -export default function BusButton({ bottomDrawerShow, navigation }) { - return ( - - navigation.navigate('公車動態')} - > - - - - ); -} diff --git a/screens/Map/components/CategorySlider.jsx b/screens/Map/components/CategorySlider.jsx deleted file mode 100644 index 0635711..0000000 --- a/screens/Map/components/CategorySlider.jsx +++ /dev/null @@ -1,147 +0,0 @@ -/* eslint-disable react/no-array-index-key */ -/* eslint-disable react/destructuring-assignment */ -import { - View, - Text, - ScrollView, - TouchableOpacity, - Animated -} from 'react-native' -import React, { useState, useRef } from 'react' -import { Icon } from 'native-base' -import MarkersCategories from '../assets/MarkersCategories' - -export default function CategorySlider (props) { - const [selectedBtn, setSelectedBtn] = useState('') - const showAllBtnFadeAnim = useRef(new Animated.Value(0)).current - const showAllBtnMoveAnim = useRef(new Animated.Value(-100)).current - - return ( - - - - {MarkersCategories.map((type, index) => ( - { - setSelectedBtn(selectedBtn === type.title ? '' : type.title) - props.setMarkerShowType(selectedBtn === type.title ? '' : type.title) - Animated.timing(showAllBtnFadeAnim, { - toValue: 1, - duration: 150, - useNativeDriver: true - }).start() - Animated.timing(showAllBtnMoveAnim, { - toValue: 0, - duration: 150, - useNativeDriver: true - }).start() - }} - > - - - - - {type.title} - - - ))} - - {/* event red dot */} - {/* - */} - - - - { - setSelectedBtn('') - props.setMarkerShowType('') - Animated.timing(showAllBtnFadeAnim, { - toValue: 0, - duration: 150, - useNativeDriver: true - }).start() - Animated.timing(showAllBtnMoveAnim, { - toValue: -100, - duration: 150, - useNativeDriver: true - }).start() - }} - > - 顯示全部 - - - - ) -} diff --git a/screens/Map/components/CustomMarkerView.jsx b/screens/Map/components/CustomMarkerView.jsx deleted file mode 100644 index ac51b21..0000000 --- a/screens/Map/components/CustomMarkerView.jsx +++ /dev/null @@ -1,36 +0,0 @@ -/* eslint-disable react/no-array-index-key */ -/* eslint-disable react/destructuring-assignment */ -import { View, Text } from 'react-native' -import React from 'react' -import { Icon } from 'native-base' -import MarkersCategories from '../assets/MarkersCategories' - -export default function CustomMarkerView (props) { - return ( - - {MarkersCategories.filter((obj) => obj.title === props.type).map( - (val, index) => ( - - - - - {props.name} - - ) - )} - - ) -} diff --git a/screens/Map/components/HeaderSearchBar.jsx b/screens/Map/components/HeaderSearchBar.jsx deleted file mode 100644 index f696a9f..0000000 --- a/screens/Map/components/HeaderSearchBar.jsx +++ /dev/null @@ -1,123 +0,0 @@ -import React from 'react'; -import { - TextInput, - Text, - View, - TouchableOpacity, - TouchableWithoutFeedback, - Keyboard, - Animated, -} from 'react-native'; -import { Icon, NativeBaseProvider } from 'native-base'; -import { Ionicons } from '@expo/vector-icons/'; -import Styles, { colorDarkBlue } from '../Styles'; -import { BaseTheme} from '../../../theme'; - -export default function HeaderSearchBar({ - searchResultsViewFadeAnim, - searchResultsViewZIndexAnim, - setSearchBarHeight, - cancelBtnFadeAnim, - selectedMarker, - textInputValue, - setTextInputValue, -}) { - return ( - - - { - const { layout } = event.nativeEvent; - setSearchBarHeight(layout.height); - }} - style={Styles.headerSearchBarContainer} - > - - - { - setTextInputValue(text); - }} - onFocus={() => { - Animated.timing(searchResultsViewFadeAnim, { - toValue: 1, - duration: 150, - useNativeDriver: true, - }).start(); - Animated.timing(searchResultsViewZIndexAnim, { - toValue: 10000, - duration: 150, - useNativeDriver: true, - }).start(); - Animated.timing(cancelBtnFadeAnim, { - toValue: 1, - duration: 150, - useNativeDriver: true, - }).start(); - }} - /> - - { - Keyboard.dismiss(); - if (selectedMarker === '') { - setTextInputValue(''); - } else { - setTextInputValue(selectedMarker); - } - Animated.timing(searchResultsViewFadeAnim, { - toValue: 0, - duration: 150, - useNativeDriver: true, - }).start(); - Animated.timing(searchResultsViewZIndexAnim, { - toValue: -1, - duration: 150, - useNativeDriver: true, - }).start(); - Animated.timing(cancelBtnFadeAnim, { - toValue: 0, - duration: 150, - useNativeDriver: true, - }).start(); - }} - > - 取消 - - - - - - {/* two left buttons */} - {/* - - - - - */} - - - - ); -} diff --git a/screens/Map/components/SearchResults.jsx b/screens/Map/components/SearchResults.jsx deleted file mode 100644 index 6b6824a..0000000 --- a/screens/Map/components/SearchResults.jsx +++ /dev/null @@ -1,96 +0,0 @@ -/* eslint-disable react/no-array-index-key */ -import { - Text, View, Animated, TouchableOpacity, Keyboard -} from 'react-native' -import React from 'react' -import { Icon } from 'native-base' -import { Entypo } from '@expo/vector-icons' -import BuildingsInfo from '../assets/BuildingsInfo' - -export default function SearchResults ({ - screenHeight, - searchBarHeight, - searchResultsViewFadeAnim, - searchResultsViewZIndexAnim, - cancelBtnFadeAnim, - textInputValue, - setSelectedMarker, - changeCenter, - setBottomDrawerShow, - setTextInputValue, - handleSnapPress, - getTwoPointsDistance, - setMarkerShowType -}) { - return ( - - {BuildingsInfo - .filter((obj) => { - if (textInputValue === '' || textInputValue === ' ') { return 0 } - return obj.units.includes(textInputValue) || obj.name.includes(textInputValue) - }) - .map((val, index) => ( - { - Keyboard.dismiss() - setMarkerShowType(val.type) - setSelectedMarker({ - name: val.name, - latitude: val.latitude, - longitude: val.longitude - }) - setTextInputValue(val.name) - changeCenter(val.latitude - 0.0006, val.longitude) - handleSnapPress(1) - setBottomDrawerShow(true) - Animated.timing(searchResultsViewFadeAnim, { - toValue: 0, - duration: 200, - useNativeDriver: true - }).start() - Animated.timing(searchResultsViewZIndexAnim, { - toValue: -1, - duration: 200, - useNativeDriver: true - }).start() - Animated.timing(cancelBtnFadeAnim, { - toValue: 0, - duration: 150, - useNativeDriver: true - }).start() - }} - style={{ paddingVertical: 20 }} - > - - {val.name} - - - {getTwoPointsDistance(val.latitude, val.longitude)} - 公尺 - - - - - - ))} - - ) -} diff --git a/screens/Map/index.jsx b/screens/Map/index.jsx deleted file mode 100644 index 106a4b4..0000000 --- a/screens/Map/index.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react' -import { createNativeStackNavigator } from '@react-navigation/native-stack' -import MapScreen from './MapScreen' -import First from './BusScreen/firstpage' -import UST from './BusScreen/UST' -import BusDetailView from './BusScreen/busDetailView' -import BusTimeTable from './BusScreen/busTimeTable' - -const Stack = createNativeStackNavigator() - -function MapStack () { - return ( - - - - - - - - ) -} - -export default MapStack diff --git a/assets/icon.png b/src/assets/logo.png similarity index 100% rename from assets/icon.png rename to src/assets/logo.png diff --git a/src/components/Button.tsx b/src/components/Button.tsx new file mode 100644 index 0000000..eea6a84 --- /dev/null +++ b/src/components/Button.tsx @@ -0,0 +1,13 @@ +import { ReactNode } from "react" + +type Props = { + children: ReactNode +} + +export function Button({ children }: Props) { + return ( +
+ {children} +
+ ) +} diff --git a/src/components/HStack.tsx b/src/components/HStack.tsx new file mode 100644 index 0000000..08e25c6 --- /dev/null +++ b/src/components/HStack.tsx @@ -0,0 +1,13 @@ +import { ReactNode } from "react" + +type Props = { + children: ReactNode +} + +export function HStack({ children }: Props) { + return ( +
+ {children} +
+ ) +} diff --git a/src/index.css b/src/index.css new file mode 100644 index 0000000..a905694 --- /dev/null +++ b/src/index.css @@ -0,0 +1,9 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +#root { + min-height: 100vh; + display: flex; + flex-direction: column; +} \ No newline at end of file diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 0000000..25bceaa --- /dev/null +++ b/src/main.tsx @@ -0,0 +1,26 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import { RouterProvider, createRouter } from '@tanstack/react-router' +import './index.css' + +// Import the generated route tree +import { routeTree } from './routeTree.gen' + +// Set up a Router instance +const router = createRouter({ + routeTree, + defaultPreload: 'intent', +}) + +// Register the router instance for type safety +declare module '@tanstack/react-router' { + interface Register { + router: typeof router + } +} + +ReactDOM.createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/src/routeTree.gen.ts b/src/routeTree.gen.ts new file mode 100644 index 0000000..397193c --- /dev/null +++ b/src/routeTree.gen.ts @@ -0,0 +1,132 @@ +/* prettier-ignore-start */ + +/* eslint-disable */ + +// @ts-nocheck + +// noinspection JSUnusedGlobalSymbols + +// This file is auto-generated by TanStack Router + +// Import Routes + +import { Route as rootRoute } from './routes/__root' +import { Route as EventsIndexImport } from './routes/events/index' +import { Route as EventsCreateImport } from './routes/events/create' +import { Route as EventsEventIdImport } from './routes/events/$eventId' + +// Create/Update Routes + +const EventsIndexRoute = EventsIndexImport.update({ + path: '/events/', + getParentRoute: () => rootRoute, +} as any) + +const EventsCreateRoute = EventsCreateImport.update({ + path: '/events/create', + getParentRoute: () => rootRoute, +} as any) + +const EventsEventIdRoute = EventsEventIdImport.update({ + path: '/events/$eventId', + getParentRoute: () => rootRoute, +} as any) + +// Populate the FileRoutesByPath interface + +declare module '@tanstack/react-router' { + interface FileRoutesByPath { + '/events/$eventId': { + id: '/events/$eventId' + path: '/events/$eventId' + fullPath: '/events/$eventId' + preLoaderRoute: typeof EventsEventIdImport + parentRoute: typeof rootRoute + } + '/events/create': { + id: '/events/create' + path: '/events/create' + fullPath: '/events/create' + preLoaderRoute: typeof EventsCreateImport + parentRoute: typeof rootRoute + } + '/events/': { + id: '/events/' + path: '/events' + fullPath: '/events' + preLoaderRoute: typeof EventsIndexImport + parentRoute: typeof rootRoute + } + } +} + +// Create and export the route tree + +interface FileRoutesByFullPath { + '/events/$eventId': typeof EventsEventIdRoute + '/events/create': typeof EventsCreateRoute + '/events': typeof EventsIndexRoute +} + +interface FileRoutesByTo { + '/events/$eventId': typeof EventsEventIdRoute + '/events/create': typeof EventsCreateRoute + '/events': typeof EventsIndexRoute +} + +interface FileRoutesById { + '/events/$eventId': typeof EventsEventIdRoute + '/events/create': typeof EventsCreateRoute + '/events/': typeof EventsIndexRoute +} + +interface FileRouteTypes { + fileRoutesByFullPath: FileRoutesByFullPath + fullPaths: '/events/$eventId' | '/events/create' | '/events' + fileRoutesByTo: FileRoutesByTo + to: '/events/$eventId' | '/events/create' | '/events' + id: '/events/$eventId' | '/events/create' | '/events/' + fileRoutesById: FileRoutesById +} + +interface RootRouteChildren { + EventsEventIdRoute: typeof EventsEventIdRoute + EventsCreateRoute: typeof EventsCreateRoute + EventsIndexRoute: typeof EventsIndexRoute +} + +const rootRouteChildren: RootRouteChildren = { + EventsEventIdRoute: EventsEventIdRoute, + EventsCreateRoute: EventsCreateRoute, + EventsIndexRoute: EventsIndexRoute, +} + +export const routeTree = rootRoute + ._addFileChildren(rootRouteChildren) + ._addFileTypes() + +/* prettier-ignore-end */ + +/* ROUTE_MANIFEST_START +{ + "routes": { + "__root__": { + "filePath": "__root.tsx", + "children": [ + "/events/$eventId", + "/events/create", + "/events/" + ] + }, + "/events/$eventId": { + "filePath": "events/$eventId.tsx" + }, + "/events/create": { + "filePath": "events/create.tsx" + }, + "/events/": { + "filePath": "events/index.tsx" + } + } +} +ROUTE_MANIFEST_END */ diff --git a/src/routes/__root.tsx b/src/routes/__root.tsx new file mode 100644 index 0000000..d357162 --- /dev/null +++ b/src/routes/__root.tsx @@ -0,0 +1,32 @@ +import { createRootRoute, Link, Outlet } from '@tanstack/react-router' +import React, { Suspense } from 'react' + +const TanStackRouterDevtools = + import.meta.env.PROD + ? () => null // Render nothing in production + : React.lazy(() => + // Lazy load in development + import('@tanstack/router-devtools').then((res) => ({ + default: res.TanStackRouterDevtools, + })), + ) + +export const Route = createRootRoute({ + component: () => ( + <> +
+
+ NCU App +
+ + Events + +
+
+ + + + + + ), +}) diff --git a/src/routes/events/$eventId.tsx b/src/routes/events/$eventId.tsx new file mode 100644 index 0000000..ea9571a --- /dev/null +++ b/src/routes/events/$eventId.tsx @@ -0,0 +1,10 @@ +import { createFileRoute, useParams } from '@tanstack/react-router'; + +export const Route = createFileRoute('/events/$eventId')({ + component: EventDetails +}) + +function EventDetails() { + const { eventId } = useParams({ strict: false }) + return
Event {eventId}
+} diff --git a/src/routes/events/create.tsx b/src/routes/events/create.tsx new file mode 100644 index 0000000..88df9d9 --- /dev/null +++ b/src/routes/events/create.tsx @@ -0,0 +1,122 @@ +import { createFileRoute, Link } from '@tanstack/react-router'; +import { ChangeEvent, useEffect, useState } from 'react'; + +export const Route = createFileRoute('/events/create')({ + component: CreateEventScreen +}) + + +const styles = { + container: { + flex: 1, + backgroundColor: '#333333', + }, + text: { + fontSize: 17, + marginLeft: 15, + color: '#ffffff', + }, + input: { + backgroundColor: '#E8E8E8', + alignSelf: 'center', + color: '#000000', + width: '93%', + }, +} + +function CreateEventScreen() { + const [selectedPhotos, setSelectedPhotos] = useState() + const [preview, setPreview] = useState() + + // create a preview as a side effect, whenever selected file is changed + useEffect(() => { + if (!selectedPhotos) { + setPreview(undefined) + return + } + + const objectUrl = URL.createObjectURL(selectedPhotos) + setPreview(objectUrl) + + // free memory when ever this component is unmounted + return () => URL.revokeObjectURL(objectUrl) + }, [selectedPhotos]) + + const onSelectPhoto = (e: ChangeEvent) => { + if (!e.target.files || e.target.files.length === 0) { + setSelectedPhotos(undefined) + return + } + setSelectedPhotos(e.target.files[0]) + } + + return ( +
+
+ + + +

新增活動

+
+
+

活動名稱

+ +
+

開始時間

+ +
+
+

結束時間

+ +
+

活動地點

+ +

參加費用

+ +

活動介紹

+ +
+
+ + + { + selectedPhotos && ( + + )} +
+
+ +
+
+ ); +} diff --git a/src/routes/events/index.tsx b/src/routes/events/index.tsx new file mode 100644 index 0000000..2304481 --- /dev/null +++ b/src/routes/events/index.tsx @@ -0,0 +1,16 @@ +import { createFileRoute } from '@tanstack/react-router'; + +const styles = { + container: { + flex: 1, + backgroundColor: '#333333', + }, +}; + +export const Route = createFileRoute('/events/')({ + component: () => ( +
+

活動列表

+
+ ) +}) diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..ec878b7 --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..dca8ba0 --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,11 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: [ + "./index.html", + "./src/**/*.{js,ts,jsx,tsx}", + ], + theme: { + extend: {}, + }, + plugins: [], +} diff --git a/theme/index.js b/theme/index.js deleted file mode 100644 index c5b3279..0000000 --- a/theme/index.js +++ /dev/null @@ -1,48 +0,0 @@ -import { extendTheme } from 'native-base' - -export const BaseTheme = extendTheme({ - colors: { - primary: { - 600: '#476685', - 100: '#E5EBF1' - }, - secondary: { - 600: '#ffaf42', - 100: '#7946e6' - }, - gray: { - 600: '#737373' - }, - accent1: { - 50: '#E3F2F9', - 100: '#C5E4F3', - 200: '#A2D4EC', - 300: '#7AC1E4', - 600: '#ffaf42', - 800: '#ffaf42' // 正在選中 - }, - accent2: { - 50: '#E3F2F9', - 100: '#C5E4F3', - 200: '#A2D4EC', - 300: '#7AC1E4', - 600: '#7946e6', - 800: '#7946e6' // 正在選中 - } - }, - components: { - Input: { - baseStyle: { - _focus: { - _android: { - selectionColor: '#babdbf' - } - } - } - } - }, - config: { - // Changing initialColorMode to 'dark' - // initialColorMode: 'dark', - } -}) diff --git a/tsconfig.json b/tsconfig.json index b9567f6..a7fc6fb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,25 @@ { - "extends": "expo/tsconfig.base", "compilerOptions": { - "strict": true - } + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..97ede7e --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true, + "strict": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..aba0edf --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,41 @@ +import { VitePWA } from 'vite-plugin-pwa'; +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import { TanStackRouterVite } from '@tanstack/router-plugin/vite' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + TanStackRouterVite(), + react(), + VitePWA({ + registerType: 'autoUpdate', + injectRegister: false, + + pwaAssets: { + disabled: false, + config: true, + }, + + manifest: { + name: 'NCU-APP', + short_name: 'NCU-APP', + description: '中大校園智慧生活App!', + theme_color: '#ffffff', + }, + + workbox: { + globPatterns: ['**/*.{js,css,html,svg,png,ico}'], + cleanupOutdatedCaches: true, + clientsClaim: true, + }, + + devOptions: { + enabled: false, + navigateFallback: 'index.html', + suppressWarnings: true, + type: 'module', + }, + }) + ], +}) \ No newline at end of file diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 78182c6..0000000 --- a/yarn.lock +++ /dev/null @@ -1,9826 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz" - integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ== - dependencies: - "@babel/highlight" "^7.22.5" - -"@babel/code-frame@~7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.5", "@babel/compat-data@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz" - integrity sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg== - -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.13.16", "@babel/core@^7.20.0", "@babel/core@^7.4.0-0": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.6.tgz" - integrity sha512-HPIyDa6n+HKw5dEuway3vVAhBboYCtREBMp+IWeseZy6TFtzn6MHkCH2KKYUOC/vKKwgSMHQW4htBOrmuRPXfw== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.5" - "@babel/generator" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helpers" "^7.22.6" - "@babel/parser" "^7.22.6" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.6" - "@babel/types" "^7.22.5" - "@nicolo-ribaudo/semver-v6" "^6.3.3" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - -"@babel/generator@^7.20.0", "@babel/generator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz" - integrity sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA== - dependencies: - "@babel/types" "^7.22.5" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz" - integrity sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz" - integrity sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-validator-option" "^7.22.5" - "@nicolo-ribaudo/semver-v6" "^6.3.3" - browserslist "^4.21.9" - lru-cache "^5.1.1" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.5", "@babel/helper-create-class-features-plugin@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.6.tgz" - integrity sha512-iwdzgtSiBxF6ni6mzVnZCF3xt5qE6cEA0J7nFt8QOAWZ0zjCFceEgpn3vtb2V7WFR6QzP2jmIFOHMTRo7eNJjQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-member-expression-to-functions" "^7.22.5" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@nicolo-ribaudo/semver-v6" "^6.3.3" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.6.tgz" - integrity sha512-nBookhLKxAWo/TUCmhnaEJyLz2dekjQvv5SRpE9epWQBcpedWLKt8aZdsuT9XV5ovzR3fENLjRXVT0GsSlGGhA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@nicolo-ribaudo/semver-v6" "^6.3.3" - regexpu-core "^5.3.1" - -"@babel/helper-define-polyfill-provider@^0.4.0": - version "0.4.0" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz" - integrity sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz" - integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== - -"@babel/helper-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz" - integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== - dependencies: - "@babel/template" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz" - integrity sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz" - integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-transforms@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz" - integrity sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-module-imports" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz" - integrity sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-wrap-function" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/helper-replace-supers@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz" - integrity sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg== - dependencies: - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-member-expression-to-functions" "^7.22.5" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.5", "@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - -"@babel/helper-validator-identifier@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz" - integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== - -"@babel/helper-validator-option@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz" - integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== - -"@babel/helper-wrap-function@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz" - integrity sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/helpers@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz" - integrity sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA== - dependencies: - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.6" - "@babel/types" "^7.22.5" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz" - integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== - dependencies: - "@babel/helper-validator-identifier" "^7.22.5" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.20.0", "@babel/parser@^7.22.5", "@babel/parser@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.6.tgz" - integrity sha512-EIQu22vNkceq3LbjAq7knDf/UmtI2qbcNI8GRBlijez6TpQLvSodJPYfydQmNA5buwkxxxa/PVI44jjYZ+/cLw== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz" - integrity sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz" - integrity sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.5" - -"@babel/plugin-proposal-async-generator-functions@^7.0.0": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz" - integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-decorators@^7.12.9": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.6.tgz" - integrity sha512-cgskJ9W7kxTk/wBM16JNHhlTkeyDK6slMJg1peaI4LM3y2HtTv+6I85sW9UXSUZilndIBvDBETA1BRoOYdxWKw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/plugin-syntax-decorators" "^7.22.5" - -"@babel/plugin-proposal-export-default-from@^7.0.0": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.22.5.tgz" - integrity sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-default-from" "^7.22.5" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.13": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.0.0": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.0.0", "@babel/plugin-proposal-optional-chaining@^7.13.12": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz" - integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.0.0", "@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.5.tgz" - integrity sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.22.5.tgz" - integrity sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-flow@^7.0.0", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz" - integrity sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-assertions@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz" - integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-attributes@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz" - integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" - integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.0.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.0.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz" - integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz" - integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-async-generator-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz" - integrity sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg== - dependencies: - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.5" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz" - integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== - dependencies: - "@babel/helper-module-imports" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.5" - -"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz" - integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz" - integrity sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz" - integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-static-block@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz" - integrity sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz" - integrity sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz" - integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.5" - -"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz" - integrity sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dotall-regex@^7.22.5", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz" - integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-duplicate-keys@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz" - integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dynamic-import@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz" - integrity sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-transform-exponentiation-operator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz" - integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-export-namespace-from@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz" - integrity sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz" - integrity sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-flow" "^7.22.5" - -"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz" - integrity sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz" - integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== - dependencies: - "@babel/helper-compilation-targets" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-json-strings@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz" - integrity sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz" - integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-logical-assignment-operators@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz" - integrity sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz" - integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-amd@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz" - integrity sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ== - dependencies: - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz" - integrity sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA== - dependencies: - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-modules-systemjs@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz" - integrity sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" - -"@babel/plugin-transform-modules-umd@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz" - integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== - dependencies: - "@babel/helper-module-transforms" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.0.0", "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-new-target@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz" - integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz" - integrity sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-transform-numeric-separator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz" - integrity sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-transform-object-assign@^7.16.7": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.22.5.tgz" - integrity sha512-iDhx9ARkXq4vhZ2CYOSnQXkmxkDgosLi3J8Z17mKz7LyzthtkdVchLD7WZ3aXeCuvJDOW3+1I5TpJmwIbF9MKQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-object-rest-spread@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz" - integrity sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ== - dependencies: - "@babel/compat-data" "^7.22.5" - "@babel/helper-compilation-targets" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.22.5" - -"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz" - integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.5" - -"@babel/plugin-transform-optional-catch-binding@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz" - integrity sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-transform-optional-chaining@^7.22.5", "@babel/plugin-transform-optional-chaining@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz" - integrity sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz" - integrity sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-private-methods@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz" - integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-private-property-in-object@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz" - integrity sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz" - integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-display-name@^7.0.0": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz" - integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.22.5.tgz" - integrity sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.22.5.tgz" - integrity sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.12.17": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.5.tgz" - integrity sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/plugin-transform-regenerator@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz" - integrity sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.1" - -"@babel/plugin-transform-reserved-words@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz" - integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-runtime@^7.0.0": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.6.tgz" - integrity sha512-+AGkst7Kqq3QUflKGkhWWMRb9vaKamoreNmYc+sjsIpOp+TsyU0exhp3RlwjQa/HdlKkPt3AMDwfg8Hpt9Vwqg== - dependencies: - "@babel/helper-module-imports" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@nicolo-ribaudo/semver-v6" "^6.3.3" - babel-plugin-polyfill-corejs2 "^0.4.3" - babel-plugin-polyfill-corejs3 "^0.8.1" - babel-plugin-polyfill-regenerator "^0.5.0" - -"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz" - integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz" - integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz" - integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz" - integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typeof-symbol@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz" - integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typescript@^7.22.5", "@babel/plugin-transform-typescript@^7.5.0": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz" - integrity sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.22.5" - -"@babel/plugin-transform-unicode-escapes@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz" - integrity sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-property-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz" - integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz" - integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-sets-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz" - integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.20.0": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.6.tgz" - integrity sha512-IHr0AXHGk8oh8HYSs45Mxuv6iySUBwDTIzJSnXN7PURqHdxJVQlCoXmKJgyvSS9bcNf9NVRVE35z+LkCvGmi6w== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.5" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.5" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.22.5" - "@babel/plugin-syntax-import-attributes" "^7.22.5" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.22.5" - "@babel/plugin-transform-async-generator-functions" "^7.22.5" - "@babel/plugin-transform-async-to-generator" "^7.22.5" - "@babel/plugin-transform-block-scoped-functions" "^7.22.5" - "@babel/plugin-transform-block-scoping" "^7.22.5" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-class-static-block" "^7.22.5" - "@babel/plugin-transform-classes" "^7.22.6" - "@babel/plugin-transform-computed-properties" "^7.22.5" - "@babel/plugin-transform-destructuring" "^7.22.5" - "@babel/plugin-transform-dotall-regex" "^7.22.5" - "@babel/plugin-transform-duplicate-keys" "^7.22.5" - "@babel/plugin-transform-dynamic-import" "^7.22.5" - "@babel/plugin-transform-exponentiation-operator" "^7.22.5" - "@babel/plugin-transform-export-namespace-from" "^7.22.5" - "@babel/plugin-transform-for-of" "^7.22.5" - "@babel/plugin-transform-function-name" "^7.22.5" - "@babel/plugin-transform-json-strings" "^7.22.5" - "@babel/plugin-transform-literals" "^7.22.5" - "@babel/plugin-transform-logical-assignment-operators" "^7.22.5" - "@babel/plugin-transform-member-expression-literals" "^7.22.5" - "@babel/plugin-transform-modules-amd" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.22.5" - "@babel/plugin-transform-modules-systemjs" "^7.22.5" - "@babel/plugin-transform-modules-umd" "^7.22.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.22.5" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.5" - "@babel/plugin-transform-numeric-separator" "^7.22.5" - "@babel/plugin-transform-object-rest-spread" "^7.22.5" - "@babel/plugin-transform-object-super" "^7.22.5" - "@babel/plugin-transform-optional-catch-binding" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.22.6" - "@babel/plugin-transform-parameters" "^7.22.5" - "@babel/plugin-transform-private-methods" "^7.22.5" - "@babel/plugin-transform-private-property-in-object" "^7.22.5" - "@babel/plugin-transform-property-literals" "^7.22.5" - "@babel/plugin-transform-regenerator" "^7.22.5" - "@babel/plugin-transform-reserved-words" "^7.22.5" - "@babel/plugin-transform-shorthand-properties" "^7.22.5" - "@babel/plugin-transform-spread" "^7.22.5" - "@babel/plugin-transform-sticky-regex" "^7.22.5" - "@babel/plugin-transform-template-literals" "^7.22.5" - "@babel/plugin-transform-typeof-symbol" "^7.22.5" - "@babel/plugin-transform-unicode-escapes" "^7.22.5" - "@babel/plugin-transform-unicode-property-regex" "^7.22.5" - "@babel/plugin-transform-unicode-regex" "^7.22.5" - "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.22.5" - "@nicolo-ribaudo/semver-v6" "^6.3.3" - babel-plugin-polyfill-corejs2 "^0.4.3" - babel-plugin-polyfill-corejs3 "^0.8.1" - babel-plugin-polyfill-regenerator "^0.5.0" - core-js-compat "^3.31.0" - -"@babel/preset-flow@^7.13.13": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.22.5.tgz" - integrity sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.5" - "@babel/plugin-transform-flow-strip-types" "^7.22.5" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.7": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz" - integrity sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.22.5" - "@babel/plugin-transform-typescript" "^7.22.5" - -"@babel/register@^7.13.16": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/register/-/register-7.22.5.tgz" - integrity sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ== - dependencies: - clone-deep "^4.0.1" - find-cache-dir "^2.0.0" - make-dir "^2.1.0" - pirates "^4.0.5" - source-map-support "^0.5.16" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime@^7.0.0", "@babel/runtime@^7.20.0", "@babel/runtime@^7.6.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz" - integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== - dependencies: - regenerator-runtime "^0.13.11" - -"@babel/template@^7.0.0", "@babel/template@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz" - integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== - dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/traverse@^7.20.0", "@babel/traverse@^7.22.5", "@babel/traverse@^7.22.6": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.6.tgz" - integrity sha512-53CijMvKlLIDlOTrdWiHileRddlIiwUIyCKqYa7lYnnPldXCG5dUSN38uT0cA6i7rHWNKJLH0VU/Kxdr1GzB3w== - dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/generator" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-function-name" "^7.22.5" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.22.6" - "@babel/types" "^7.22.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.20.0", "@babel/types@^7.22.5", "@babel/types@^7.4.4": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz" - integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" - to-fast-properties "^2.0.0" - -"@egjs/hammerjs@^2.0.17": - version "2.0.17" - resolved "https://registry.npmjs.org/@egjs/hammerjs/-/hammerjs-2.0.17.tgz" - integrity sha512-XQsZgjm2EcVUiZQf11UBJQfmZeEmOW8DpI1gsFeln6w0ae0ii4dMQEQ0kjl6DspdWX1aGY1/loyXnP0JS06e/A== - dependencies: - "@types/hammerjs" "^2.0.36" - -"@eslint-community/eslint-utils@^4.2.0": - version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": - version "4.8.0" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.0.tgz" - integrity sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg== - -"@eslint/eslintrc@^2.1.2": - version "2.1.2" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz" - integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.49.0": - version "8.49.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz" - integrity sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w== - -"@expo/bunyan@^4.0.0", "@expo/bunyan@4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@expo/bunyan/-/bunyan-4.0.0.tgz" - integrity sha512-Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA== - dependencies: - uuid "^8.0.0" - optionalDependencies: - mv "~2" - safe-json-stringify "~1" - -"@expo/cli@0.7.3": - version "0.7.3" - resolved "https://registry.npmjs.org/@expo/cli/-/cli-0.7.3.tgz" - integrity sha512-uMGHbAhApqXR2sd1KPhgvpbOhBBnspad8msEqHleT2PHXwKIwTUDzBGO9+jdOAWwCx2MJfw3+asYjzoD3DN9Bg== - dependencies: - "@babel/runtime" "^7.20.0" - "@expo/code-signing-certificates" "0.0.5" - "@expo/config" "~8.0.0" - "@expo/config-plugins" "~6.0.0" - "@expo/dev-server" "0.3.0" - "@expo/devcert" "^1.0.0" - "@expo/json-file" "^8.2.37" - "@expo/metro-config" "~0.7.0" - "@expo/osascript" "^2.0.31" - "@expo/package-manager" "~1.0.0" - "@expo/plist" "^0.0.20" - "@expo/prebuild-config" "6.0.1" - "@expo/rudder-sdk-node" "1.1.1" - "@expo/spawn-async" "1.5.0" - "@expo/xcpretty" "^4.2.1" - "@urql/core" "2.3.6" - "@urql/exchange-retry" "0.3.0" - accepts "^1.3.8" - arg "4.1.0" - better-opn "~3.0.2" - bplist-parser "^0.3.1" - cacache "^15.3.0" - chalk "^4.0.0" - ci-info "^3.3.0" - debug "^4.3.4" - env-editor "^0.4.1" - form-data "^3.0.1" - freeport-async "2.0.0" - fs-extra "~8.1.0" - getenv "^1.0.0" - graphql "15.8.0" - graphql-tag "^2.10.1" - https-proxy-agent "^5.0.1" - internal-ip "4.3.0" - is-root "^2.1.0" - js-yaml "^3.13.1" - json-schema-deref-sync "^0.13.0" - md5-file "^3.2.3" - md5hex "^1.0.0" - minipass "3.1.6" - node-fetch "^2.6.7" - node-forge "^1.3.1" - npm-package-arg "^7.0.0" - ora "3.4.0" - pretty-bytes "5.6.0" - progress "2.0.3" - prompts "^2.3.2" - qrcode-terminal "0.11.0" - requireg "^0.2.2" - resolve-from "^5.0.0" - semver "^6.3.0" - send "^0.18.0" - slugify "^1.3.4" - structured-headers "^0.4.1" - tar "^6.0.5" - tempy "^0.7.1" - terminal-link "^2.1.1" - text-table "^0.2.0" - url-join "4.0.0" - wrap-ansi "^7.0.0" - ws "^8.12.1" - -"@expo/code-signing-certificates@0.0.5": - version "0.0.5" - resolved "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz" - integrity sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw== - dependencies: - node-forge "^1.2.1" - nullthrows "^1.1.1" - -"@expo/config-plugins@~6.0.0", "@expo/config-plugins@6.0.2": - version "6.0.2" - resolved "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-6.0.2.tgz" - integrity sha512-Cn01fXMHwjU042EgO9oO3Mna0o/UCrW91MQLMbJa4pXM41CYGjNgVy1EVXiuRRx/upegHhvltBw5D+JaUm8aZQ== - dependencies: - "@expo/config-types" "^48.0.0" - "@expo/json-file" "~8.2.37" - "@expo/plist" "^0.0.20" - "@expo/sdk-runtime-versions" "^1.0.0" - "@react-native/normalize-color" "^2.0.0" - chalk "^4.1.2" - debug "^4.3.1" - find-up "~5.0.0" - getenv "^1.0.0" - glob "7.1.6" - resolve-from "^5.0.0" - semver "^7.3.5" - slash "^3.0.0" - xcode "^3.0.1" - xml2js "0.4.23" - -"@expo/config-types@^48.0.0": - version "48.0.0" - resolved "https://registry.npmjs.org/@expo/config-types/-/config-types-48.0.0.tgz" - integrity sha512-DwyV4jTy/+cLzXGAo1xftS6mVlSiLIWZjl9DjTCLPFVgNYQxnh7htPilRv4rBhiNs7KaznWqKU70+4zQoKVT9A== - -"@expo/config@~8.0.0", "@expo/config@8.0.5": - version "8.0.5" - resolved "https://registry.npmjs.org/@expo/config/-/config-8.0.5.tgz" - integrity sha512-3CnLmtAQUWqLZwTRliS23QoFwdyhg4AWtp6gZ0qfcXthR84RvlZKcCDQQIyPiRUgu8dZa+gQDcdRJtgE+GM5XQ== - dependencies: - "@babel/code-frame" "~7.10.4" - "@expo/config-plugins" "~6.0.0" - "@expo/config-types" "^48.0.0" - "@expo/json-file" "^8.2.37" - getenv "^1.0.0" - glob "7.1.6" - require-from-string "^2.0.2" - resolve-from "^5.0.0" - semver "7.3.2" - slugify "^1.3.4" - sucrase "^3.20.0" - -"@expo/dev-server@0.3.0": - version "0.3.0" - resolved "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.3.0.tgz" - integrity sha512-2A6/8uZADSKAtzyR6YqhCBUFxb5DFmjxmFn0EHMqnPnsh13ZSiKEjrZPrRkM6Li2EHLYqHK2rmweJ7O/7q9pPQ== - dependencies: - "@expo/bunyan" "4.0.0" - "@expo/metro-config" "~0.7.0" - "@expo/osascript" "2.0.33" - "@expo/spawn-async" "^1.5.0" - body-parser "^1.20.1" - chalk "^4.0.0" - connect "^3.7.0" - fs-extra "9.0.0" - is-docker "^2.0.0" - is-wsl "^2.1.1" - node-fetch "^2.6.0" - open "^8.3.0" - resolve-from "^5.0.0" - semver "7.3.2" - serialize-error "6.0.0" - temp-dir "^2.0.0" - -"@expo/devcert@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@expo/devcert/-/devcert-1.1.0.tgz" - integrity sha512-ghUVhNJQOCTdQckSGTHctNp/0jzvVoMMkVh+6SHn+TZj8sU15U/npXIDt8NtQp0HedlPaCgkVdMu8Sacne0aEA== - dependencies: - application-config-path "^0.1.0" - command-exists "^1.2.4" - debug "^3.1.0" - eol "^0.9.1" - get-port "^3.2.0" - glob "^7.1.2" - lodash "^4.17.4" - mkdirp "^0.5.1" - password-prompt "^1.0.4" - rimraf "^2.6.2" - sudo-prompt "^8.2.0" - tmp "^0.0.33" - tslib "^2.4.0" - -"@expo/image-utils@0.3.22": - version "0.3.22" - resolved "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.3.22.tgz" - integrity sha512-uzq+RERAtkWypOFOLssFnXXqEqKjNj9eXN7e97d/EXUAojNcLDoXc0sL+F5B1I4qtlsnhX01kcpoIBBZD8wZNQ== - dependencies: - "@expo/spawn-async" "1.5.0" - chalk "^4.0.0" - fs-extra "9.0.0" - getenv "^1.0.0" - jimp-compact "0.16.1" - mime "^2.4.4" - node-fetch "^2.6.0" - parse-png "^2.1.0" - resolve-from "^5.0.0" - semver "7.3.2" - tempy "0.3.0" - -"@expo/json-file@^8.2.37", "@expo/json-file@~8.2.37": - version "8.2.37" - resolved "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.37.tgz" - integrity sha512-YaH6rVg11JoTS2P6LsW7ybS2CULjf40AbnAHw2F1eDPuheprNjARZMnyHFPkKv7GuxCy+B9GPcbOKgc4cgA80Q== - dependencies: - "@babel/code-frame" "~7.10.4" - json5 "^2.2.2" - write-file-atomic "^2.3.0" - -"@expo/metro-config@~0.7.0": - version "0.7.1" - resolved "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.7.1.tgz" - integrity sha512-vGWU62Zp5pRGw5IEHDNdqvsy62/hu/Na7bswePYVjoaItOjJY7+qilFeF0AAK+3V8qAM8fpltH3ByylKfWaA7A== - dependencies: - "@expo/config" "~8.0.0" - chalk "^4.1.0" - debug "^4.3.2" - find-yarn-workspace-root "~2.0.0" - getenv "^1.0.0" - resolve-from "^5.0.0" - sucrase "^3.20.0" - -"@expo/osascript@^2.0.31", "@expo/osascript@2.0.33": - version "2.0.33" - resolved "https://registry.npmjs.org/@expo/osascript/-/osascript-2.0.33.tgz" - integrity sha512-FQinlwHrTlJbntp8a7NAlCKedVXe06Va/0DSLXRO8lZVtgbEMrYYSUZWQNcOlNtc58c2elNph6z9dMOYwSo3JQ== - dependencies: - "@expo/spawn-async" "^1.5.0" - exec-async "^2.2.0" - -"@expo/package-manager@~1.0.0": - version "1.0.1" - resolved "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.0.1.tgz" - integrity sha512-ue6NIIsNafa2bK7zUl7Y61YNtkPsg7sJcTOyQo/87Yqf6Q+2bOrvdw1xjviaFrMsTZcpOPVf+ZIEYtE0lw0k6A== - dependencies: - "@expo/json-file" "^8.2.37" - "@expo/spawn-async" "^1.5.0" - ansi-regex "^5.0.0" - chalk "^4.0.0" - find-up "^5.0.0" - find-yarn-workspace-root "~2.0.0" - js-yaml "^3.13.1" - micromatch "^4.0.2" - npm-package-arg "^7.0.0" - split "^1.0.1" - sudo-prompt "9.1.1" - -"@expo/plist@^0.0.20": - version "0.0.20" - resolved "https://registry.npmjs.org/@expo/plist/-/plist-0.0.20.tgz" - integrity sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA== - dependencies: - "@xmldom/xmldom" "~0.7.7" - base64-js "^1.2.3" - xmlbuilder "^14.0.0" - -"@expo/prebuild-config@6.0.1": - version "6.0.1" - resolved "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-6.0.1.tgz" - integrity sha512-WK3FDht1tdXZGCvtG5s7HSwzhsc7Tyu2DdqV9jVUsLtGD42oqUepk13mEWlU9LOTBgLsoEueKjoSK4EXOXFctw== - dependencies: - "@expo/config" "~8.0.0" - "@expo/config-plugins" "~6.0.0" - "@expo/config-types" "^48.0.0" - "@expo/image-utils" "0.3.22" - "@expo/json-file" "^8.2.37" - debug "^4.3.1" - fs-extra "^9.0.0" - resolve-from "^5.0.0" - semver "7.3.2" - xml2js "0.4.23" - -"@expo/rudder-sdk-node@1.1.1": - version "1.1.1" - resolved "https://registry.npmjs.org/@expo/rudder-sdk-node/-/rudder-sdk-node-1.1.1.tgz" - integrity sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ== - dependencies: - "@expo/bunyan" "^4.0.0" - "@segment/loosely-validate-event" "^2.0.0" - fetch-retry "^4.1.1" - md5 "^2.2.1" - node-fetch "^2.6.1" - remove-trailing-slash "^0.1.0" - uuid "^8.3.2" - -"@expo/sdk-runtime-versions@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz" - integrity sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ== - -"@expo/spawn-async@^1.5.0", "@expo/spawn-async@1.5.0": - version "1.5.0" - resolved "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.5.0.tgz" - integrity sha512-LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew== - dependencies: - cross-spawn "^6.0.5" - -"@expo/vector-icons@^13.0.0": - version "13.0.0" - resolved "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-13.0.0.tgz" - integrity sha512-TI+l71+5aSKnShYclFa14Kum+hQMZ86b95SH6tQUG3qZEmLTarvWpKwqtTwQKqvlJSJrpFiSFu3eCuZokY6zWA== - -"@expo/xcpretty@^4.2.1": - version "4.2.2" - resolved "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.2.2.tgz" - integrity sha512-Lke/geldJqUV0Dfxg5/QIOugOzdqZ/rQ9yHKSgGbjZtG1uiSqWyFwWvXmrdd3/sIdX33eykGvIcf+OrvvcXVUw== - dependencies: - "@babel/code-frame" "7.10.4" - chalk "^4.1.0" - find-up "^5.0.0" - js-yaml "^4.1.0" - -"@formatjs/ecma402-abstract@1.17.2": - version "1.17.2" - resolved "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.17.2.tgz" - integrity sha512-k2mTh0m+IV1HRdU0xXM617tSQTi53tVR2muvYOsBeYcUgEAyxV1FOC7Qj279th3fBVQ+Dj6muvNJZcHSPNdbKg== - dependencies: - "@formatjs/intl-localematcher" "0.4.2" - tslib "^2.4.0" - -"@formatjs/fast-memoize@2.2.0": - version "2.2.0" - resolved "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz" - integrity sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA== - dependencies: - tslib "^2.4.0" - -"@formatjs/icu-messageformat-parser@2.6.2": - version "2.6.2" - resolved "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.6.2.tgz" - integrity sha512-nF/Iww7sc5h+1MBCDRm68qpHTCG4xvGzYs/x9HFcDETSGScaJ1Fcadk5U/NXjXeCtzD+DhN4BAwKFVclHfKMdA== - dependencies: - "@formatjs/ecma402-abstract" "1.17.2" - "@formatjs/icu-skeleton-parser" "1.6.2" - tslib "^2.4.0" - -"@formatjs/icu-skeleton-parser@1.6.2": - version "1.6.2" - resolved "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.6.2.tgz" - integrity sha512-VtB9Slo4ZL6QgtDFJ8Injvscf0xiDd4bIV93SOJTBjUF4xe2nAWOoSjLEtqIG+hlIs1sNrVKAaFo3nuTI4r5ZA== - dependencies: - "@formatjs/ecma402-abstract" "1.17.2" - tslib "^2.4.0" - -"@formatjs/intl-localematcher@0.4.2": - version "0.4.2" - resolved "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.4.2.tgz" - integrity sha512-BGdtJFmaNJy5An/Zan4OId/yR9Ih1OojFjcduX/xOvq798OgWSyDtd6Qd5jqJXwJs1ipe4Fxu9+cshic5Ox2tA== - dependencies: - tslib "^2.4.0" - -"@gar/promisify@^1.0.1": - version "1.1.3" - resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" - integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== - -"@graphql-typed-document-node/core@^3.1.0": - version "3.2.0" - resolved "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz" - integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== - -"@hapi/hoek@^9.0.0": - version "9.3.0" - resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" - integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== - -"@hapi/topo@^5.0.0": - version "5.1.0" - resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" - integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@humanwhocodes/config-array@^0.11.11": - version "0.11.11" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz" - integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@internationalized/date@^3.5.0": - version "3.5.0" - resolved "https://registry.npmjs.org/@internationalized/date/-/date-3.5.0.tgz" - integrity sha512-nw0Q+oRkizBWMioseI8+2TeUPEyopJVz5YxoYVzR0W1v+2YytiYah7s/ot35F149q/xAg4F1gT/6eTd+tsUpFQ== - dependencies: - "@swc/helpers" "^0.5.0" - -"@internationalized/message@^3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@internationalized/message/-/message-3.1.1.tgz" - integrity sha512-ZgHxf5HAPIaR0th+w0RUD62yF6vxitjlprSxmLJ1tam7FOekqRSDELMg4Cr/DdszG5YLsp5BG3FgHgqquQZbqw== - dependencies: - "@swc/helpers" "^0.5.0" - intl-messageformat "^10.1.0" - -"@internationalized/number@^3.2.1": - version "3.2.1" - resolved "https://registry.npmjs.org/@internationalized/number/-/number-3.2.1.tgz" - integrity sha512-hK30sfBlmB1aIe3/OwAPg9Ey0DjjXvHEiGVhNaOiBJl31G0B6wMaX8BN3ibzdlpyRNE9p7X+3EBONmxtJO9Yfg== - dependencies: - "@swc/helpers" "^0.5.0" - -"@internationalized/string@^3.1.1": - version "3.1.1" - resolved "https://registry.npmjs.org/@internationalized/string/-/string-3.1.1.tgz" - integrity sha512-fvSr6YRoVPgONiVIUhgCmIAlifMVCeej/snPZVzbzRPxGpHl3o1GRe+d/qh92D8KhgOciruDUH8I5mjdfdjzfA== - dependencies: - "@swc/helpers" "^0.5.0" - -"@jest/create-cache-key-function@^29.2.1": - version "29.6.0" - resolved "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.6.0.tgz" - integrity sha512-hmSEQSz6ufRJUcV/YQp26bNCB8m8oTF3gDFGu3cyFrzBLtUgYEVb0DG5C5uqpCy+mGLn7u7NhBNJ+iix3Es6Nw== - dependencies: - "@jest/types" "^29.6.0" - -"@jest/environment@^29.6.0": - version "29.6.0" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.6.0.tgz" - integrity sha512-bUZLYUxYlUIsslBbxII0fq0kr1+friI3Gty+cRLmocGB1jdcAHs7FS8QdCDqedE8q4DZE1g/AJHH6OJZBLGGsg== - dependencies: - "@jest/fake-timers" "^29.6.0" - "@jest/types" "^29.6.0" - "@types/node" "*" - jest-mock "^29.6.0" - -"@jest/fake-timers@^29.6.0": - version "29.6.0" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.6.0.tgz" - integrity sha512-nuCU46AsZoskthWSDS2Aj6LARgyNcp5Fjx2qxsO/fPl1Wp1CJ+dBDqs0OkEcJK8FBeV/MbjH5efe79M2sHcV+A== - dependencies: - "@jest/types" "^29.6.0" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.6.0" - jest-mock "^29.6.0" - jest-util "^29.6.0" - -"@jest/schemas@^29.6.0": - version "29.6.0" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz" - integrity sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^15.0.0" - chalk "^4.0.0" - -"@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@jest/types@^29.6.0": - version "29.6.0" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.0.tgz" - integrity sha512-8XCgL9JhqbJTFnMRjEAO+TuW251+MoMd5BSzLiE3vvzpQ8RlBxy8NoyNkDhs3K3OL3HeVinlOl9or5p7GTeOLg== - dependencies: - "@jest/schemas" "^29.6.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.18" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" - integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@nicolo-ribaudo/semver-v6@^6.3.3": - version "6.3.3" - resolved "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz" - integrity sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@npmcli/fs@^1.0.0": - version "1.1.1" - resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz" - integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== - dependencies: - "@gar/promisify" "^1.0.1" - semver "^7.3.5" - -"@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - -"@react-aria/checkbox@^3.2.1": - version "3.11.0" - resolved "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.11.0.tgz" - integrity sha512-3C5ON4IvFu69LihMOB6Y2Zr4T0zjkuPfQ6HrHuS9SiFU+IZuv1z38K/bXk7UkmZoiLtWLloNA5XKNCwf+Y+6Xw== - dependencies: - "@react-aria/label" "^3.7.0" - "@react-aria/toggle" "^3.8.0" - "@react-aria/utils" "^3.20.0" - "@react-stately/checkbox" "^3.5.0" - "@react-stately/toggle" "^3.6.2" - "@react-types/checkbox" "^3.5.1" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/combobox@^3.0.0-alpha.1": - version "3.6.4" - resolved "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.6.4.tgz" - integrity sha512-L6KAB9P7ztyKM8B3WISRtVFdz9R66ZA6h+m128JmmTc3DrvSs0lxQMZIKfFuh31IZfAe62p2IwDlR1UbhXffVg== - dependencies: - "@react-aria/i18n" "^3.8.2" - "@react-aria/interactions" "^3.18.0" - "@react-aria/listbox" "^3.10.2" - "@react-aria/live-announcer" "^3.3.1" - "@react-aria/menu" "^3.10.2" - "@react-aria/overlays" "^3.17.0" - "@react-aria/selection" "^3.16.2" - "@react-aria/textfield" "^3.12.0" - "@react-aria/utils" "^3.20.0" - "@react-stately/collections" "^3.10.1" - "@react-stately/combobox" "^3.7.0" - "@react-stately/layout" "^3.13.1" - "@react-types/button" "^3.8.0" - "@react-types/combobox" "^3.8.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/focus@^3.14.1", "@react-aria/focus@^3.2.3": - version "3.14.1" - resolved "https://registry.npmjs.org/@react-aria/focus/-/focus-3.14.1.tgz" - integrity sha512-2oVJgn86Rt7xgbtLzVlrYb7MZHNMpyBVLMMGjWyvjH5Ier2bgZ6czJJmm18Xe4kjlDHN0dnFzBvoRoTCWkmivA== - dependencies: - "@react-aria/interactions" "^3.18.0" - "@react-aria/utils" "^3.20.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - clsx "^1.1.1" - -"@react-aria/i18n@^3.2.0", "@react-aria/i18n@^3.3.0", "@react-aria/i18n@^3.8.2": - version "3.8.2" - resolved "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.8.2.tgz" - integrity sha512-WsdByq3DmqEhr8sOdooVcDoS0CGGv+7cegZmmpw5VfUu0f0+0y7YBj/lRS9RuEqlgvSH+K3sPW/+0CkjM/LRGQ== - dependencies: - "@internationalized/date" "^3.5.0" - "@internationalized/message" "^3.1.1" - "@internationalized/number" "^3.2.1" - "@internationalized/string" "^3.1.1" - "@react-aria/ssr" "^3.8.0" - "@react-aria/utils" "^3.20.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/interactions@^3.18.0", "@react-aria/interactions@^3.3.2": - version "3.18.0" - resolved "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.18.0.tgz" - integrity sha512-V96uRZTVe2KcU5HW+r2cuUcLIfo0KuPOchywk9r48xtJC8u//sv5fAo0LMX6AgsQJ7bV09JO8nDqmZP0gkRElQ== - dependencies: - "@react-aria/ssr" "^3.8.0" - "@react-aria/utils" "^3.20.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/label@^3.1.1", "@react-aria/label@^3.7.0": - version "3.7.0" - resolved "https://registry.npmjs.org/@react-aria/label/-/label-3.7.0.tgz" - integrity sha512-OEBFKp4zSS9O/IPoVUU/YdThQWI4EXOuUO8z2mog9I3wU1FQHEASGtqkg0fzxhBh8LYnPIl56y02dIBJ7eyxlA== - dependencies: - "@react-aria/utils" "^3.20.0" - "@react-types/label" "^3.8.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/listbox@^3.10.2", "@react-aria/listbox@^3.2.4": - version "3.10.2" - resolved "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.10.2.tgz" - integrity sha512-7w75yGyNUGwxB8dSNuXTe7Yd+ab6VmtpROLIhf3b92BPE51oy77i3/Dy1F8IdZMTUqOFd5Nm8K0Z0ZSjOchDfQ== - dependencies: - "@react-aria/focus" "^3.14.1" - "@react-aria/interactions" "^3.18.0" - "@react-aria/label" "^3.7.0" - "@react-aria/selection" "^3.16.2" - "@react-aria/utils" "^3.20.0" - "@react-stately/collections" "^3.10.1" - "@react-stately/list" "^3.9.2" - "@react-types/listbox" "^3.4.4" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/live-announcer@^3.0.0-alpha.0", "@react-aria/live-announcer@^3.3.1": - version "3.3.1" - resolved "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.3.1.tgz" - integrity sha512-hsc77U7S16trM86d+peqJCOCQ7/smO1cybgdpOuzXyiwcHQw8RQ4GrXrS37P4Ux/44E9nMZkOwATQRT2aK8+Ew== - dependencies: - "@swc/helpers" "^0.5.0" - -"@react-aria/menu@^3.10.2": - version "3.10.2" - resolved "https://registry.npmjs.org/@react-aria/menu/-/menu-3.10.2.tgz" - integrity sha512-qqnOj6gU7GQAvdTBM9Y+lclaKEciVwfYylmJRu8RBt72jceSBkdR78et9ZLaNMwVPMYCEUxbOv8vvL7VoRKddg== - dependencies: - "@react-aria/focus" "^3.14.1" - "@react-aria/i18n" "^3.8.2" - "@react-aria/interactions" "^3.18.0" - "@react-aria/overlays" "^3.17.0" - "@react-aria/selection" "^3.16.2" - "@react-aria/utils" "^3.20.0" - "@react-stately/collections" "^3.10.1" - "@react-stately/menu" "^3.5.5" - "@react-stately/tree" "^3.7.2" - "@react-types/button" "^3.8.0" - "@react-types/menu" "^3.9.4" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/overlays@^3.17.0", "@react-aria/overlays@^3.6.1", "@react-aria/overlays@^3.7.0": - version "3.17.0" - resolved "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.17.0.tgz" - integrity sha512-wfQ00llAIMLDtIid+0MvNqvbLP6Fqi2/hfvAxhDaRqrkiARwuCAclWNCIdCzF599IpZOMcjjBgIILEXdfA0ziw== - dependencies: - "@react-aria/focus" "^3.14.1" - "@react-aria/i18n" "^3.8.2" - "@react-aria/interactions" "^3.18.0" - "@react-aria/ssr" "^3.8.0" - "@react-aria/utils" "^3.20.0" - "@react-aria/visually-hidden" "^3.8.4" - "@react-stately/overlays" "^3.6.2" - "@react-types/button" "^3.8.0" - "@react-types/overlays" "^3.8.2" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/radio@^3.1.2": - version "3.8.0" - resolved "https://registry.npmjs.org/@react-aria/radio/-/radio-3.8.0.tgz" - integrity sha512-KvE7UeSDVgdOVLNt/RzTCroMRbVcnn6QZHp0fde9HjQV14Umebyu/fWAmfvIMe/th1Lelf6NtliGXOAZpfOLrg== - dependencies: - "@react-aria/focus" "^3.14.1" - "@react-aria/i18n" "^3.8.2" - "@react-aria/interactions" "^3.18.0" - "@react-aria/label" "^3.7.0" - "@react-aria/utils" "^3.20.0" - "@react-stately/radio" "^3.9.0" - "@react-types/radio" "^3.5.1" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/selection@^3.16.2", "@react-aria/selection@^3.3.1", "@react-aria/selection@^3.3.2": - version "3.16.2" - resolved "https://registry.npmjs.org/@react-aria/selection/-/selection-3.16.2.tgz" - integrity sha512-C6zS5F1W38pukaMTFDTKbMrEvKkGikrXF94CtyxG1EI6EuZaQg1olaEeMCc3AyIb+4Xq+XCwjZuuSnS03qdVGQ== - dependencies: - "@react-aria/focus" "^3.14.1" - "@react-aria/i18n" "^3.8.2" - "@react-aria/interactions" "^3.18.0" - "@react-aria/utils" "^3.20.0" - "@react-stately/collections" "^3.10.1" - "@react-stately/selection" "^3.13.4" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/slider@^3.0.1": - version "3.7.0" - resolved "https://registry.npmjs.org/@react-aria/slider/-/slider-3.7.0.tgz" - integrity sha512-aQ3d89M3scWIBJjpjQ0OxeNGuklxX9gxeAhSvYkhsyFd37DCBNNtHIiLfPzQpsSJOjSJofBsEzrG4y+JHGcrdg== - dependencies: - "@react-aria/focus" "^3.14.1" - "@react-aria/i18n" "^3.8.2" - "@react-aria/interactions" "^3.18.0" - "@react-aria/label" "^3.7.0" - "@react-aria/utils" "^3.20.0" - "@react-stately/radio" "^3.9.0" - "@react-stately/slider" "^3.4.2" - "@react-types/radio" "^3.5.1" - "@react-types/shared" "^3.20.0" - "@react-types/slider" "^3.6.1" - "@swc/helpers" "^0.5.0" - -"@react-aria/ssr@^3.0.1", "@react-aria/ssr@^3.8.0": - version "3.8.0" - resolved "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.8.0.tgz" - integrity sha512-Y54xs483rglN5DxbwfCPHxnkvZ+gZ0LbSYmR72LyWPGft8hN/lrl1VRS1EW2SMjnkEWlj+Km2mwvA3kEHDUA0A== - dependencies: - "@swc/helpers" "^0.5.0" - -"@react-aria/tabs@3.0.0-alpha.2": - version "3.0.0-alpha.2" - resolved "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.0.0-alpha.2.tgz" - integrity sha512-yHpz1HujxBcMq8e4jrHkkowzrJwuVyssCB+DuA91kt6LC0eIMZsDZY9tEhhOq+TyOhI3nbyXaDKJG6y1qB0A5A== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/i18n" "^3.2.0" - "@react-aria/interactions" "^3.3.2" - "@react-aria/selection" "^3.3.1" - "@react-aria/utils" "^3.4.1" - "@react-stately/list" "^3.2.2" - "@react-stately/tabs" "3.0.0-alpha.0" - "@react-types/shared" "^3.2.1" - "@react-types/tabs" "3.0.0-alpha.2" - -"@react-aria/textfield@^3.12.0": - version "3.12.0" - resolved "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.12.0.tgz" - integrity sha512-okvCR7vPrSx/0AW+YxPWo3ucJkgRuX77QWVeYBXhQiBKooHEYSfaceMgMZc/KS5HGZsY8bEKpGOIVkZBitzQsg== - dependencies: - "@react-aria/focus" "^3.14.1" - "@react-aria/label" "^3.7.0" - "@react-aria/utils" "^3.20.0" - "@react-types/shared" "^3.20.0" - "@react-types/textfield" "^3.8.0" - "@swc/helpers" "^0.5.0" - -"@react-aria/toggle@^3.8.0": - version "3.8.0" - resolved "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.8.0.tgz" - integrity sha512-HQgx8rBEwGsVyJKU47GTZcWWn3Kv0DgZfUY/lXkdhMFf14/NWTRpJEuKRfEut+/wVFbcNcv9WDT7fEe7yTvGWg== - dependencies: - "@react-aria/focus" "^3.14.1" - "@react-aria/interactions" "^3.18.0" - "@react-aria/utils" "^3.20.0" - "@react-stately/toggle" "^3.6.2" - "@react-types/checkbox" "^3.5.1" - "@react-types/shared" "^3.20.0" - "@react-types/switch" "^3.4.1" - "@swc/helpers" "^0.5.0" - -"@react-aria/utils@^3.20.0", "@react-aria/utils@^3.3.0", "@react-aria/utils@^3.4.1", "@react-aria/utils@^3.6.0": - version "3.20.0" - resolved "https://registry.npmjs.org/@react-aria/utils/-/utils-3.20.0.tgz" - integrity sha512-TpvP9fw2/F0E+D05+S1og88dwvmVSLVB4lurVAodN1E6rCZyw+M/SHlCez0I7j1q9ZWAnVjRuHpBIRG5heX1Ug== - dependencies: - "@react-aria/ssr" "^3.8.0" - "@react-stately/utils" "^3.7.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - clsx "^1.1.1" - -"@react-aria/visually-hidden@^3.2.1", "@react-aria/visually-hidden@^3.8.4": - version "3.8.4" - resolved "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.4.tgz" - integrity sha512-TRDtrndL/TiXjVac7o1vEmrHltSPugH0B6uqc1KRCSspFa1vg9tsgh9/N+qCXrEHynfNyK9FPjI70pAH+PXcqw== - dependencies: - "@react-aria/interactions" "^3.18.0" - "@react-aria/utils" "^3.20.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - clsx "^1.1.1" - -"@react-native-aria/button@^0.2.4": - version "0.2.4" - resolved "https://registry.npmjs.org/@react-native-aria/button/-/button-0.2.4.tgz" - integrity sha512-wlu6SXI20U+N4fbPX8oh9pkL9hx8W41+cra3fa3s2xfQ6czT4KAkyvSsr1ALUBH4dRkoxxSPOcGJMGnq2K3djw== - dependencies: - "@react-aria/utils" "^3.6.0" - "@react-native-aria/interactions" "^0.2.3" - "@react-stately/toggle" "^3.2.1" - "@react-types/checkbox" "^3.2.1" - -"@react-native-aria/checkbox@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@react-native-aria/checkbox/-/checkbox-0.2.3.tgz" - integrity sha512-YtWtXGg5tvOaV6v1CmbusXoOZvGRAVYygms9qNeUF7/B8/iDNGSKjlxHE5LVOLRtJO/B9ndZnr6RkL326ceyng== - dependencies: - "@react-aria/checkbox" "^3.2.1" - "@react-aria/utils" "^3.6.0" - "@react-native-aria/toggle" "^0.2.3" - "@react-native-aria/utils" "^0.2.6" - "@react-stately/toggle" "^3.2.1" - -"@react-native-aria/combobox@^0.2.4-alpha.0": - version "0.2.4-alpha.1" - resolved "https://registry.npmjs.org/@react-native-aria/combobox/-/combobox-0.2.4-alpha.1.tgz" - integrity sha512-MOxKMKVus9MsOL3l+mNRDYHeVr5kj5fYnretLofWh/dHBO2W5H7H70ZfOPDEr9s+vgaBBjHCtbbfOiimKRk6Kg== - dependencies: - "@react-aria/combobox" "^3.0.0-alpha.1" - "@react-aria/live-announcer" "^3.0.0-alpha.0" - "@react-aria/overlays" "^3.6.1" - "@react-aria/utils" "^3.6.0" - "@react-native-aria/utils" "^0.2.6" - "@react-types/button" "^3.3.1" - -"@react-native-aria/focus@^0.2.6": - version "0.2.8" - resolved "https://registry.npmjs.org/@react-native-aria/focus/-/focus-0.2.8.tgz" - integrity sha512-1dIby+o37J2m4oV59TkjlirOXvn5SWtr8Z2dYkHvPe8oip8pEzH/jIl8uXFyvQJmRYA9n7Ju5ucThJJ/4Py8hw== - dependencies: - "@react-aria/focus" "^3.2.3" - -"@react-native-aria/interactions@^0.2.2", "@react-native-aria/interactions@^0.2.3", "@react-native-aria/interactions@^0.2.7": - version "0.2.10" - resolved "https://registry.npmjs.org/@react-native-aria/interactions/-/interactions-0.2.10.tgz" - integrity sha512-J0Scz4ndwaqa13e7XwwKRx0jXhVCUAmT/i1udVYyXW/rANAXnnAxuWJDWuZOO/XiQ5eoN7OqIlYUkJG4NnDUOA== - dependencies: - "@react-aria/interactions" "^3.3.2" - "@react-aria/utils" "^3.6.0" - "@react-native-aria/utils" "^0.2.6" - -"@react-native-aria/listbox@^0.2.4-alpha.3": - version "0.2.4-alpha.3" - resolved "https://registry.npmjs.org/@react-native-aria/listbox/-/listbox-0.2.4-alpha.3.tgz" - integrity sha512-e/y+Wdoyy/PbpFj4DVYDYMsKI+uUqnZ/0yLByqHQvzs8Ys8o69CQkyEYzHhxvFT5lCLegkLbuQN2cJd8bYNQsA== - dependencies: - "@react-aria/interactions" "^3.3.2" - "@react-aria/label" "^3.1.1" - "@react-aria/listbox" "^3.2.4" - "@react-aria/selection" "^3.3.2" - "@react-aria/utils" "^3.6.0" - "@react-native-aria/interactions" "^0.2.2" - "@react-native-aria/utils" "^0.2.6" - "@react-types/listbox" "^3.1.1" - "@react-types/shared" "^3.4.0" - -"@react-native-aria/overlays@^0.3.3": - version "0.3.7" - resolved "https://registry.npmjs.org/@react-native-aria/overlays/-/overlays-0.3.7.tgz" - integrity sha512-R0egaQoQtwMG6HA4hAoLFHcQOMLfv2WBIjPdnF6OJHxqFW2+Kzw9j2WqwjV90/cP1evU/iWnzKX48ed83xAh9Q== - dependencies: - "@react-aria/interactions" "^3.3.2" - "@react-aria/overlays" "^3.7.0" - "@react-native-aria/utils" "^0.2.8" - "@react-stately/overlays" "^3.1.1" - "@react-types/overlays" "^3.4.0" - dom-helpers "^5.0.0" - -"@react-native-aria/radio@^0.2.4": - version "0.2.5" - resolved "https://registry.npmjs.org/@react-native-aria/radio/-/radio-0.2.5.tgz" - integrity sha512-kTfCjRMZH+Z2C70VxjomPO8eXBcHPa5zcuOUotyhR10WsrKZJlwwnA75t2xDq8zsxKnABJRfThv7rSlAjkFSeg== - dependencies: - "@react-aria/radio" "^3.1.2" - "@react-aria/utils" "^3.6.0" - "@react-native-aria/interactions" "^0.2.3" - "@react-native-aria/utils" "^0.2.6" - "@react-stately/radio" "^3.2.1" - "@react-types/radio" "^3.1.1" - -"@react-native-aria/slider@^0.2.5-alpha.1": - version "0.2.5-alpha.2" - resolved "https://registry.npmjs.org/@react-native-aria/slider/-/slider-0.2.5-alpha.2.tgz" - integrity sha512-eYCAGEgcmgs2x5yC1q3edq/VpZWd8P9x1ZoB6uhiyIpDViTDFTz82IWTK0jrbHC70WxWfoY+876VjiKzbjyNxw== - dependencies: - "@react-aria/focus" "^3.2.3" - "@react-aria/interactions" "^3.3.2" - "@react-aria/label" "^3.1.1" - "@react-aria/slider" "^3.0.1" - "@react-aria/utils" "^3.6.0" - "@react-native-aria/utils" "^0.2.6" - "@react-stately/slider" "^3.0.1" - -"@react-native-aria/tabs@^0.2.7": - version "0.2.8" - resolved "https://registry.npmjs.org/@react-native-aria/tabs/-/tabs-0.2.8.tgz" - integrity sha512-coAiaj9NFFh8vYr/kiugqLwip8IhB6m2dL/GXPcmbK0WH531pIPXKSwgePjniETJtEP84L4PYCTZ705pRlVN8A== - dependencies: - "@react-aria/selection" "^3.3.1" - "@react-aria/tabs" "3.0.0-alpha.2" - "@react-native-aria/interactions" "^0.2.7" - "@react-native-aria/utils" "^0.2.7" - "@react-stately/tabs" "3.0.0-alpha.1" - "@react-types/tabs" "3.0.0-alpha.2" - -"@react-native-aria/toggle@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@react-native-aria/toggle/-/toggle-0.2.3.tgz" - integrity sha512-3aOlchMxpR0b2h3Z7V0aYZaQMVJD6uKOWKWJm82VsLrni4iDnDX/mLv30ujuuK3+LclUhVlJd2kRuCl+xnf3XQ== - dependencies: - "@react-aria/focus" "^3.2.3" - "@react-aria/utils" "^3.6.0" - "@react-native-aria/interactions" "^0.2.3" - "@react-native-aria/utils" "^0.2.6" - "@react-stately/toggle" "^3.2.1" - "@react-types/checkbox" "^3.2.1" - -"@react-native-aria/utils@^0.2.6", "@react-native-aria/utils@^0.2.7", "@react-native-aria/utils@^0.2.8": - version "0.2.8" - resolved "https://registry.npmjs.org/@react-native-aria/utils/-/utils-0.2.8.tgz" - integrity sha512-x375tG1itv3irLFRnURLsdK2djuvhFJHizSDUtLCo8skQwfjslED5t4sUkQ49di4G850gaVJz0fCcCx/pHX7CA== - dependencies: - "@react-aria/ssr" "^3.0.1" - "@react-aria/utils" "^3.3.0" - -"@react-native-community/cli-clean@^10.1.1": - version "10.1.1" - resolved "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-10.1.1.tgz" - integrity sha512-iNsrjzjIRv9yb5y309SWJ8NDHdwYtnCpmxZouQDyOljUdC9MwdZ4ChbtA4rwQyAwgOVfS9F/j56ML3Cslmvrxg== - dependencies: - "@react-native-community/cli-tools" "^10.1.1" - chalk "^4.1.2" - execa "^1.0.0" - prompts "^2.4.0" - -"@react-native-community/cli-config@^10.1.1": - version "10.1.1" - resolved "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-10.1.1.tgz" - integrity sha512-p4mHrjC+s/ayiNVG6T35GdEGdP6TuyBUg5plVGRJfTl8WT6LBfLYLk+fz/iETrEZ/YkhQIsQcEUQC47MqLNHog== - dependencies: - "@react-native-community/cli-tools" "^10.1.1" - chalk "^4.1.2" - cosmiconfig "^5.1.0" - deepmerge "^3.2.0" - glob "^7.1.3" - joi "^17.2.1" - -"@react-native-community/cli-debugger-ui@^10.0.0": - version "10.0.0" - resolved "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-10.0.0.tgz" - integrity sha512-8UKLcvpSNxnUTRy8CkCl27GGLqZunQ9ncGYhSrWyKrU9SWBJJGeZwi2k2KaoJi5FvF2+cD0t8z8cU6lsq2ZZmA== - dependencies: - serve-static "^1.13.1" - -"@react-native-community/cli-doctor@^10.2.2": - version "10.2.5" - resolved "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-10.2.5.tgz" - integrity sha512-1YbzXvsldBmSw1MmBsXB74bKiHXKNCjlb2ByLgkfTiarpSvETYam3g5vex0N+qc0Cdkzkq+8NznE744LFhnUpw== - dependencies: - "@react-native-community/cli-config" "^10.1.1" - "@react-native-community/cli-platform-ios" "^10.2.5" - "@react-native-community/cli-tools" "^10.1.1" - chalk "^4.1.2" - command-exists "^1.2.8" - envinfo "^7.7.2" - execa "^1.0.0" - hermes-profile-transformer "^0.0.6" - ip "^1.1.5" - node-stream-zip "^1.9.1" - ora "^5.4.1" - prompts "^2.4.0" - semver "^6.3.0" - strip-ansi "^5.2.0" - sudo-prompt "^9.0.0" - wcwidth "^1.0.1" - -"@react-native-community/cli-hermes@^10.2.0": - version "10.2.0" - resolved "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-10.2.0.tgz" - integrity sha512-urfmvNeR8IiO/Sd92UU3xPO+/qI2lwCWQnxOkWaU/i2EITFekE47MD6MZrfVulRVYRi5cuaFqKZO/ccOdOB/vQ== - dependencies: - "@react-native-community/cli-platform-android" "^10.2.0" - "@react-native-community/cli-tools" "^10.1.1" - chalk "^4.1.2" - hermes-profile-transformer "^0.0.6" - ip "^1.1.5" - -"@react-native-community/cli-platform-android@^10.2.0", "@react-native-community/cli-platform-android@10.2.0": - version "10.2.0" - resolved "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-10.2.0.tgz" - integrity sha512-CBenYwGxwFdObZTn1lgxWtMGA5ms2G/ALQhkS+XTAD7KHDrCxFF9yT/fnAjFZKM6vX/1TqGI1RflruXih3kAhw== - dependencies: - "@react-native-community/cli-tools" "^10.1.1" - chalk "^4.1.2" - execa "^1.0.0" - glob "^7.1.3" - logkitty "^0.7.1" - -"@react-native-community/cli-platform-ios@^10.2.5": - version "10.2.5" - resolved "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.5.tgz" - integrity sha512-hq+FZZuSBK9z82GLQfzdNDl8vbFx5UlwCLFCuTtNCROgBoapFtVZQKRP2QBftYNrQZ0dLAb01gkwxagHsQCFyg== - dependencies: - "@react-native-community/cli-tools" "^10.1.1" - chalk "^4.1.2" - execa "^1.0.0" - fast-xml-parser "^4.0.12" - glob "^7.1.3" - ora "^5.4.1" - -"@react-native-community/cli-platform-ios@10.2.1": - version "10.2.1" - resolved "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.1.tgz" - integrity sha512-hz4zu4Y6eyj7D0lnZx8Mf2c2si8y+zh/zUTgCTaPPLzQD8jSZNNBtUUiA1cARm2razpe8marCZ1QbTMAGbf3mg== - dependencies: - "@react-native-community/cli-tools" "^10.1.1" - chalk "^4.1.2" - execa "^1.0.0" - fast-xml-parser "^4.0.12" - glob "^7.1.3" - ora "^5.4.1" - -"@react-native-community/cli-plugin-metro@^10.2.2": - version "10.2.3" - resolved "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.3.tgz" - integrity sha512-jHi2oDuTePmW4NEyVT8JEGNlIYcnFXCSV2ZMp4rnDrUk4TzzyvS3IMvDlESEmG8Kry8rvP0KSUx/hTpy37Sbkw== - dependencies: - "@react-native-community/cli-server-api" "^10.1.1" - "@react-native-community/cli-tools" "^10.1.1" - chalk "^4.1.2" - execa "^1.0.0" - metro "0.73.10" - metro-config "0.73.10" - metro-core "0.73.10" - metro-react-native-babel-transformer "0.73.10" - metro-resolver "0.73.10" - metro-runtime "0.73.10" - readline "^1.3.0" - -"@react-native-community/cli-server-api@^10.1.1": - version "10.1.1" - resolved "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-10.1.1.tgz" - integrity sha512-NZDo/wh4zlm8as31UEBno2bui8+ufzsZV+KN7QjEJWEM0levzBtxaD+4je0OpfhRIIkhaRm2gl/vVf7OYAzg4g== - dependencies: - "@react-native-community/cli-debugger-ui" "^10.0.0" - "@react-native-community/cli-tools" "^10.1.1" - compression "^1.7.1" - connect "^3.6.5" - errorhandler "^1.5.0" - nocache "^3.0.1" - pretty-format "^26.6.2" - serve-static "^1.13.1" - ws "^7.5.1" - -"@react-native-community/cli-tools@^10.1.1": - version "10.1.1" - resolved "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-10.1.1.tgz" - integrity sha512-+FlwOnZBV+ailEzXjcD8afY2ogFEBeHOw/8+XXzMgPaquU2Zly9B+8W089tnnohO3yfiQiZqkQlElP423MY74g== - dependencies: - appdirsjs "^1.2.4" - chalk "^4.1.2" - find-up "^5.0.0" - mime "^2.4.1" - node-fetch "^2.6.0" - open "^6.2.0" - ora "^5.4.1" - semver "^6.3.0" - shell-quote "^1.7.3" - -"@react-native-community/cli-types@^10.0.0": - version "10.0.0" - resolved "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-10.0.0.tgz" - integrity sha512-31oUM6/rFBZQfSmDQsT1DX/5fjqfxg7sf2u8kTPJK7rXVya5SRpAMaCXsPAG0omsmJxXt+J9HxUi3Ic+5Ux5Iw== - dependencies: - joi "^17.2.1" - -"@react-native-community/cli@10.2.2": - version "10.2.2" - resolved "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.2.tgz" - integrity sha512-aZVcVIqj+OG6CrliR/Yn8wHxrvyzbFBY9cj7n0MvRw/P54QUru2nNqUTSSbqv0Qaa297yHJbe6kFDojDMSTM8Q== - dependencies: - "@react-native-community/cli-clean" "^10.1.1" - "@react-native-community/cli-config" "^10.1.1" - "@react-native-community/cli-debugger-ui" "^10.0.0" - "@react-native-community/cli-doctor" "^10.2.2" - "@react-native-community/cli-hermes" "^10.2.0" - "@react-native-community/cli-plugin-metro" "^10.2.2" - "@react-native-community/cli-server-api" "^10.1.1" - "@react-native-community/cli-tools" "^10.1.1" - "@react-native-community/cli-types" "^10.0.0" - chalk "^4.1.2" - commander "^9.4.1" - execa "^1.0.0" - find-up "^4.1.0" - fs-extra "^8.1.0" - graceful-fs "^4.1.3" - prompts "^2.4.0" - semver "^6.3.0" - -"@react-native-community/datetimepicker@^6.7.5": - version "6.7.5" - resolved "https://registry.npmjs.org/@react-native-community/datetimepicker/-/datetimepicker-6.7.5.tgz" - integrity sha512-E2Zh6mwvZ6CFEMKP++rdxxjJiB45fYPpdZhJwdZ2vUVwqovqu1cQRDLZmz4XrcHSyuacgR4WUnkYFf0F2nnNIg== - dependencies: - invariant "^2.2.4" - -"@react-native-community/masked-view@^0.1.11": - version "0.1.11" - resolved "https://registry.npmjs.org/@react-native-community/masked-view/-/masked-view-0.1.11.tgz" - integrity sha512-rQfMIGSR/1r/SyN87+VD8xHHzDYeHaJq6elOSCAD+0iLagXkSI2pfA0LmSXP21uw5i3em7GkkRjfJ8wpqWXZNw== - -"@react-native/assets@1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz" - integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ== - -"@react-native/normalize-color@*", "@react-native/normalize-color@^2.0.0", "@react-native/normalize-color@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz" - integrity sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA== - -"@react-native/polyfills@2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-2.0.0.tgz" - integrity sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ== - -"@react-native/virtualized-lists@^0.72.4": - version "0.72.8" - resolved "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.72.8.tgz" - integrity sha512-J3Q4Bkuo99k7mu+jPS9gSUSgq+lLRSI/+ahXNwV92XgJ/8UgOTxu2LPwhJnBk/sQKxq7E8WkZBnBiozukQMqrw== - dependencies: - invariant "^2.2.4" - nullthrows "^1.1.1" - -"@react-navigation/core@^3.7.9": - version "3.7.9" - resolved "https://registry.npmjs.org/@react-navigation/core/-/core-3.7.9.tgz" - integrity sha512-EknbzM8OI9A5alRxXtQRV5Awle68B+z1QAxNty5DxmlS3BNfmduWNGnim159ROyqxkuDffK9L/U/Tbd45mx+Jg== - dependencies: - hoist-non-react-statics "^3.3.2" - path-to-regexp "^1.8.0" - query-string "^6.13.6" - react-is "^16.13.0" - -"@react-navigation/core@^6.4.9": - version "6.4.9" - resolved "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.9.tgz" - integrity sha512-G9GH7bP9x0qqupxZnkSftnkn4JoXancElTvFc8FVGfEvxnxP+gBo3wqcknyBi7M5Vad4qecsYjCOa9wqsftv9g== - dependencies: - "@react-navigation/routers" "^6.1.9" - escape-string-regexp "^4.0.0" - nanoid "^3.1.23" - query-string "^7.1.3" - react-is "^16.13.0" - use-latest-callback "^0.1.5" - -"@react-navigation/elements@^1.3.18": - version "1.3.18" - resolved "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.18.tgz" - integrity sha512-/0hwnJkrr415yP0Hf4PjUKgGyfshrvNUKFXN85Mrt1gY49hy9IwxZgrrxlh0THXkPeq8q4VWw44eHDfAcQf20Q== - -"@react-navigation/native@^3.8.4": - version "3.8.4" - resolved "https://registry.npmjs.org/@react-navigation/native/-/native-3.8.4.tgz" - integrity sha512-gXSVcL7bfFDyVkvyg1FiAqTCIgZub5K1X/TZqURBs2CPqDpfX1OsCtB9D33eTF14SpbfgHW866btqrrxoCACfg== - dependencies: - hoist-non-react-statics "^3.3.2" - react-native-safe-area-view "^0.14.9" - -"@react-navigation/native@^6.0.0", "@react-navigation/native@^6.1.7": - version "6.1.7" - resolved "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.7.tgz" - integrity sha512-W6E3+AtTombMucCRo6q7vPmluq8hSjS+IxfazJ/SokOe7ChJX7eLvvralIsJkjFj3iWV1KgOSnHxa6hdiFasBw== - dependencies: - "@react-navigation/core" "^6.4.9" - escape-string-regexp "^4.0.0" - fast-deep-equal "^3.1.3" - nanoid "^3.1.23" - -"@react-navigation/routers@^6.1.9": - version "6.1.9" - resolved "https://registry.npmjs.org/@react-navigation/routers/-/routers-6.1.9.tgz" - integrity sha512-lTM8gSFHSfkJvQkxacGM6VJtBt61ip2XO54aNfswD+KMw6eeZ4oehl7m0me3CR9hnDE4+60iAZR8sAhvCiI3NA== - dependencies: - nanoid "^3.1.23" - -"@react-navigation/stack@^6.3.17": - version "6.3.17" - resolved "https://registry.npmjs.org/@react-navigation/stack/-/stack-6.3.17.tgz" - integrity sha512-8/8ZvJROK3fp6PRmQ9MrXd9epBowA8NkfCaWW/N9H5arqwNX9lTXAkmcjicRhjpX+UNlMBR9dTLkWvPRe2vY9A== - dependencies: - "@react-navigation/elements" "^1.3.18" - color "^4.2.3" - warn-once "^0.1.0" - -"@react-stately/checkbox@^3.5.0": - version "3.5.0" - resolved "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.5.0.tgz" - integrity sha512-DSSC5nXd9P07ddyDZ6FBwaMAypURCwCRhC8kli5MNRF8/KCDJxWOpWe6LDRXeDgA6EN7ExE1deb8gydIrYmUOw== - dependencies: - "@react-stately/toggle" "^3.6.2" - "@react-stately/utils" "^3.7.0" - "@react-types/checkbox" "^3.5.1" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/checkbox@3.0.3": - version "3.0.3" - resolved "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.0.3.tgz" - integrity sha512-amT889DTLdbjAVjZ9j9TytN73PszynGIspKi1QSUCvXeA2OVyCwShxhV0Pn7yYX8cMinvGXrjhWdhn0nhYeMdg== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-stately/toggle" "^3.2.3" - "@react-stately/utils" "^3.2.2" - "@react-types/checkbox" "^3.2.3" - -"@react-stately/collections@^3.10.1": - version "3.10.1" - resolved "https://registry.npmjs.org/@react-stately/collections/-/collections-3.10.1.tgz" - integrity sha512-C9FPqoQUt7NeCmmP8uabQXapcExBOTA3PxlnUw+Nq3+eWH1gOi93XWXL26L8/3OQpkvAbUcyrTXhCybLk4uMAg== - dependencies: - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/collections@3.3.0": - version "3.3.0" - resolved "https://registry.npmjs.org/@react-stately/collections/-/collections-3.3.0.tgz" - integrity sha512-Y8Pfugw/tYbcR9F6GTiTkd9O4FiXErxi5aDLSZ/knS6v0pvr3EHsC3T7jLW+48dSNrwl+HkMe5ECMhWSUA1jRQ== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-types/shared" "^3.2.1" - -"@react-stately/combobox@^3.7.0": - version "3.7.0" - resolved "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.7.0.tgz" - integrity sha512-tkPgv2cDS5wfkPVrA5Jffpi9kxUnsFuvk/T1VZXYt1ItAsxy7IGli+JwHYFgTqadDyF+yRNMj5QYRY0mnbIxrg== - dependencies: - "@react-stately/collections" "^3.10.1" - "@react-stately/list" "^3.9.2" - "@react-stately/menu" "^3.5.5" - "@react-stately/select" "^3.5.4" - "@react-stately/utils" "^3.7.0" - "@react-types/combobox" "^3.8.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/combobox@3.0.0-alpha.1": - version "3.0.0-alpha.1" - resolved "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.0.0-alpha.1.tgz" - integrity sha512-v0DNGLx0KGvNgBbXoSKzfHGcy65eP0Wx4uY3dqj+u9k3ru2BEvIqB8fo6CWhQqu8VHBX4AlhoxcyrloIKvjD/g== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-stately/list" "^3.2.2" - "@react-stately/menu" "^3.1.0" - "@react-stately/select" "^3.1.0" - "@react-stately/utils" "^3.2.0" - "@react-types/combobox" "3.0.0-alpha.1" - "@react-types/shared" "^3.4.0" - -"@react-stately/flags@^3.0.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@react-stately/flags/-/flags-3.0.0.tgz" - integrity sha512-e3i2ItHbIa0eEwmSXAnPdD7K8syW76JjGe8ENxwFJPW/H1Pu9RJfjkCb/Mq0WSPN/TpxBb54+I9TgrGhbCoZ9w== - dependencies: - "@swc/helpers" "^0.4.14" - -"@react-stately/grid@^3.8.1": - version "3.8.1" - resolved "https://registry.npmjs.org/@react-stately/grid/-/grid-3.8.1.tgz" - integrity sha512-7eKPoES4eKD7JU9UXcRGVKZ/auaD5F/srVhkWjygKcJ2ibt48N0dh6JwPqPoxzqApUX0DuUjebL9hCRgagEvdQ== - dependencies: - "@react-stately/collections" "^3.10.1" - "@react-stately/selection" "^3.13.4" - "@react-types/grid" "^3.2.1" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/layout@^3.13.1": - version "3.13.1" - resolved "https://registry.npmjs.org/@react-stately/layout/-/layout-3.13.1.tgz" - integrity sha512-gJNK1bpnrWNHz/uhTg7OpVFuSyLdYwqNjXt2He+i66/lZ6TG36smsi9MYtTYdC72Js5rsA9ngWtfhNpQ9bMeCQ== - dependencies: - "@react-stately/collections" "^3.10.1" - "@react-stately/table" "^3.11.1" - "@react-stately/virtualizer" "^3.6.2" - "@react-types/grid" "^3.2.1" - "@react-types/shared" "^3.20.0" - "@react-types/table" "^3.8.1" - "@swc/helpers" "^0.5.0" - -"@react-stately/list@^3.2.2", "@react-stately/list@^3.9.2": - version "3.9.2" - resolved "https://registry.npmjs.org/@react-stately/list/-/list-3.9.2.tgz" - integrity sha512-1PBnQ3UFSeKe2Jk4kYZM/11uzQsNEs098tbEkqR3JJwYzJ4htjdd1I0P9Z2INFWiHw071OJD18Ynbbz90jMldw== - dependencies: - "@react-stately/collections" "^3.10.1" - "@react-stately/selection" "^3.13.4" - "@react-stately/utils" "^3.7.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/menu@^3.1.0", "@react-stately/menu@^3.5.5": - version "3.5.5" - resolved "https://registry.npmjs.org/@react-stately/menu/-/menu-3.5.5.tgz" - integrity sha512-5IW26YURvwCs2a0n6PwlGOZ1K+M5xwfgR/q6mbQPfbZGZG6a14buHTHK8kISHAl2hHFcn0TV6yRYDmw2nxTM0A== - dependencies: - "@react-stately/overlays" "^3.6.2" - "@react-stately/utils" "^3.7.0" - "@react-types/menu" "^3.9.4" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/overlays@^3.1.1", "@react-stately/overlays@^3.6.2": - version "3.6.2" - resolved "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.2.tgz" - integrity sha512-iIU/xtYEzG91abHFHqe8LL53ZrDDo8kblfdA7TTZwrtxZhQHU3AbT0pLc3BNe3sXmJspxuI1nS1cszcRlSuDww== - dependencies: - "@react-stately/utils" "^3.7.0" - "@react-types/overlays" "^3.8.2" - "@swc/helpers" "^0.5.0" - -"@react-stately/radio@^3.2.1", "@react-stately/radio@^3.9.0": - version "3.9.0" - resolved "https://registry.npmjs.org/@react-stately/radio/-/radio-3.9.0.tgz" - integrity sha512-Q2vt5VjxLbsvbMWQmDqwm9JUJ3fkmUEzSBUOSYOkUcBchnzUunpaMe3nQjbJLekIWolubsVaE3bTxCKvY8hGZA== - dependencies: - "@react-stately/utils" "^3.7.0" - "@react-types/radio" "^3.5.1" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/radio@3.2.1": - version "3.2.1" - resolved "https://registry.npmjs.org/@react-stately/radio/-/radio-3.2.1.tgz" - integrity sha512-WGYMWCDJQOicFLf+bW2CbAnlRWaqsUd028WpsS41GWyIx/w7DVpUeGFwTSvyCXC5SCQZuambsWHgXNz8Ng5WIA== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-stately/utils" "^3.1.1" - "@react-types/radio" "^3.1.1" - -"@react-stately/select@^3.1.0", "@react-stately/select@^3.5.4": - version "3.5.4" - resolved "https://registry.npmjs.org/@react-stately/select/-/select-3.5.4.tgz" - integrity sha512-CO+5ORMwx/nEKAf7285S3QRAWLJlD1TZPKosO5ND87SZt9j6LKTyJjsT5IYcny8W/ejFOKg5VP4evYNkd5ZtEQ== - dependencies: - "@react-stately/collections" "^3.10.1" - "@react-stately/list" "^3.9.2" - "@react-stately/menu" "^3.5.5" - "@react-stately/selection" "^3.13.4" - "@react-stately/utils" "^3.7.0" - "@react-types/select" "^3.8.3" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/selection@^3.13.4": - version "3.13.4" - resolved "https://registry.npmjs.org/@react-stately/selection/-/selection-3.13.4.tgz" - integrity sha512-agxSYVi70zSDSKuAXx4GdD8aG5RWFs1djcrLsQybtkFV2hUMrjipfvPfNYz56ITtz6qj5Dq2eXOZpSEAR6EfOg== - dependencies: - "@react-stately/collections" "^3.10.1" - "@react-stately/utils" "^3.7.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/slider@^3.0.1", "@react-stately/slider@^3.4.2": - version "3.4.2" - resolved "https://registry.npmjs.org/@react-stately/slider/-/slider-3.4.2.tgz" - integrity sha512-3Acil4Pu1aQnTGYUcGCeO7gO7C6LpmUCwjnjcRlJbYf1VibLWrMC+EGYKcha+2dsXYAvvsI4HD6Zuf5HmFkomA== - dependencies: - "@react-aria/i18n" "^3.8.2" - "@react-aria/utils" "^3.20.0" - "@react-stately/utils" "^3.7.0" - "@react-types/shared" "^3.20.0" - "@react-types/slider" "^3.6.1" - "@swc/helpers" "^0.5.0" - -"@react-stately/slider@3.0.1": - version "3.0.1" - resolved "https://registry.npmjs.org/@react-stately/slider/-/slider-3.0.1.tgz" - integrity sha512-gGpfdVbTmdsOvrmZvFx4hJ5b7nczvAWdHR/tFFJKfxH0/V8NudZ5hGnawY84R3x+OvgV+tKUfifEUKA+oJyG5w== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-aria/i18n" "^3.3.0" - "@react-aria/utils" "^3.6.0" - "@react-stately/utils" "^3.2.0" - "@react-types/slider" "^3.0.1" - -"@react-stately/table@^3.11.1": - version "3.11.1" - resolved "https://registry.npmjs.org/@react-stately/table/-/table-3.11.1.tgz" - integrity sha512-iI0IeEmg91bwR/2UX2PTB8k34MrfxlMVD/XlZ+6XWQGjXftdeB8QNKDAClWMZwQmYA7HTq6bLvP2CochJ68k5w== - dependencies: - "@react-stately/collections" "^3.10.1" - "@react-stately/flags" "^3.0.0" - "@react-stately/grid" "^3.8.1" - "@react-stately/selection" "^3.13.4" - "@react-stately/utils" "^3.7.0" - "@react-types/grid" "^3.2.1" - "@react-types/shared" "^3.20.0" - "@react-types/table" "^3.8.1" - "@swc/helpers" "^0.5.0" - -"@react-stately/tabs@3.0.0-alpha.0": - version "3.0.0-alpha.0" - resolved "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.0.0-alpha.0.tgz" - integrity sha512-QJZ9N7DT89RkP18btvQhJvxWuv/JkSwtm14ftfk+5LBbzyxyLsD2KP6jDrNhXgmkRMmIyEaMt2w2VmI6fQ6UAA== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-stately/list" "^3.2.2" - "@react-stately/utils" "^3.0.0-alpha.1" - "@react-types/tabs" "3.0.0-alpha.2" - -"@react-stately/tabs@3.0.0-alpha.1": - version "3.0.0-alpha.1" - resolved "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.0.0-alpha.1.tgz" - integrity sha512-aEG5lVLqmfx7A/dS5gkPXmD2ERAo69RtC0aHPo/Dw1XjzalYyo6QbQ5WtiuQxsCVx/naWGEJCcMEAD5/vt+cUQ== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-stately/list" "^3.2.2" - "@react-stately/utils" "^3.2.0" - "@react-types/tabs" "3.0.0-alpha.2" - -"@react-stately/toggle@^3.2.1", "@react-stately/toggle@^3.6.2": - version "3.6.2" - resolved "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.6.2.tgz" - integrity sha512-O+0XtIjRX9YgAwNRhSdX2qi49PzY4eGL+F326jJfqc17HU3Qm6+nfqnODuxynpk1gw79sZr7AtROSXACTVueMQ== - dependencies: - "@react-stately/utils" "^3.7.0" - "@react-types/checkbox" "^3.5.1" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/toggle@^3.2.3": - version "3.6.2" - resolved "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.6.2.tgz" - integrity sha512-O+0XtIjRX9YgAwNRhSdX2qi49PzY4eGL+F326jJfqc17HU3Qm6+nfqnODuxynpk1gw79sZr7AtROSXACTVueMQ== - dependencies: - "@react-stately/utils" "^3.7.0" - "@react-types/checkbox" "^3.5.1" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/toggle@3.2.1": - version "3.2.1" - resolved "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.2.1.tgz" - integrity sha512-gZVuJ8OYoATUoXzdprsyx6O1w3wCrN+J0KnjhrjjKTrBG68n3pZH0p6dM0XpsaCzlSv0UgNa4fhHS3dYfr/ovw== - dependencies: - "@babel/runtime" "^7.6.2" - "@react-stately/utils" "^3.1.1" - "@react-types/checkbox" "^3.2.1" - "@react-types/shared" "^3.2.1" - -"@react-stately/tree@^3.7.2": - version "3.7.2" - resolved "https://registry.npmjs.org/@react-stately/tree/-/tree-3.7.2.tgz" - integrity sha512-Re18E7Tfu01xjZXEDZlFwibAomD7PHGZ9cFNTkRysA208uhKVrVVfh+8vvar4c9ybTGUWk5tT6zz+hslGBuLVQ== - dependencies: - "@react-stately/collections" "^3.10.1" - "@react-stately/selection" "^3.13.4" - "@react-stately/utils" "^3.7.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-stately/utils@^3.0.0-alpha.1", "@react-stately/utils@^3.1.1", "@react-stately/utils@^3.2.0", "@react-stately/utils@^3.2.2", "@react-stately/utils@^3.7.0": - version "3.7.0" - resolved "https://registry.npmjs.org/@react-stately/utils/-/utils-3.7.0.tgz" - integrity sha512-VbApRiUV2rhozOfk0Qj9xt0qjVbQfLTgAzXLdrfeZSBnyIgo1bFRnjDpnDZKZUUCeGQcJJI03I9niaUtY+kwJQ== - dependencies: - "@swc/helpers" "^0.5.0" - -"@react-stately/virtualizer@^3.6.2": - version "3.6.2" - resolved "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-3.6.2.tgz" - integrity sha512-BM7h7AlJNEB/X6XlMLlUoqye4SCGFmHiOIwEtha3QfJA52O1/0lgzD9yj5cLbdQPwZNmFH4R95b/OHqSIpgEBw== - dependencies: - "@react-aria/utils" "^3.20.0" - "@react-types/shared" "^3.20.0" - "@swc/helpers" "^0.5.0" - -"@react-types/button@^3.3.1", "@react-types/button@^3.8.0": - version "3.8.0" - resolved "https://registry.npmjs.org/@react-types/button/-/button-3.8.0.tgz" - integrity sha512-hVVK5iWXhDYQZwxOBfN7nQDeFQ4Pp48uYclQbXWz8D74XnuGtiUziGR008ioLXRHf47dbIPLF1QHahsCOhh05g== - dependencies: - "@react-types/shared" "^3.20.0" - -"@react-types/checkbox@^3.2.1", "@react-types/checkbox@^3.2.3", "@react-types/checkbox@^3.5.1": - version "3.5.1" - resolved "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.5.1.tgz" - integrity sha512-7iQqBRnpNC/k8ztCC+gNGTKpTWj6yJijXPKJ8UduqPNuJ0mIqWgk7DJDBuIG0cVvnenTNxYuOL6mt3dgdcEj9w== - dependencies: - "@react-types/shared" "^3.20.0" - -"@react-types/combobox@^3.8.0": - version "3.8.0" - resolved "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.8.0.tgz" - integrity sha512-P1LDS283OegZGnRJcpJhDAbX0JE8cnW4FzIP04GJWzF9fSf/GrlrLEDt4VTXKXxtdLWy3T+H4gmAYO10ZZVmBQ== - dependencies: - "@react-types/shared" "^3.20.0" - -"@react-types/combobox@3.0.0-alpha.1": - version "3.0.0-alpha.1" - resolved "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.0.0-alpha.1.tgz" - integrity sha512-td8pZmzZx5L32DuJ5iQk0Y4DNPerHWc2NXjx88jiQGxtorzvfrIQRKh3sy13PH7AMplGSEdAxG0llfCKrIy0Ow== - dependencies: - "@react-types/shared" "^3.4.0" - -"@react-types/grid@^3.2.1": - version "3.2.1" - resolved "https://registry.npmjs.org/@react-types/grid/-/grid-3.2.1.tgz" - integrity sha512-diliZjyTyNeJDR+5rfh9RRNeM8KFOSaFARkbO42j11CteN1Rpo66x2R53xM+0BO63rCUGrJ8RAg2E4BCp7al6w== - dependencies: - "@react-types/shared" "^3.20.0" - -"@react-types/label@^3.8.0": - version "3.8.0" - resolved "https://registry.npmjs.org/@react-types/label/-/label-3.8.0.tgz" - integrity sha512-hZTSguqyblAF83kLImjxw46DywRMpSihkP1829T8N2I/i8oFSu74OYBJ8woklk26AOUMDJ4NFTdimdqWVMdRcQ== - dependencies: - "@react-types/shared" "^3.20.0" - -"@react-types/listbox@^3.1.1", "@react-types/listbox@^3.4.4": - version "3.4.4" - resolved "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.4.4.tgz" - integrity sha512-c0FFM73tGZZ5AV9Yu5/Vd/cji5AVcI2QZvs4+mpRcSpzH3zSCVvVLr7GayZFS70tYQVPLHFH2E202wLxoiLK9A== - dependencies: - "@react-types/shared" "^3.20.0" - -"@react-types/menu@^3.9.4": - version "3.9.4" - resolved "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.4.tgz" - integrity sha512-8OnPQHMPZw126TuLi21IuHWMbGOqoWZa+0uJCg2gI+Xpe1F0dRK/DNzCIKkGl1EXgZATJbRC3NcxyZlWti+/EQ== - dependencies: - "@react-types/overlays" "^3.8.2" - "@react-types/shared" "^3.20.0" - -"@react-types/overlays@^3.4.0", "@react-types/overlays@^3.8.2": - version "3.8.2" - resolved "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.2.tgz" - integrity sha512-HpLYzkNvuvC6nKd06vF9XbcLLv3u55+e7YUFNVpgWq8yVxcnduOcJdRJhPaAqHUl6iVii04mu1GKnCFF8jROyQ== - dependencies: - "@react-types/shared" "^3.20.0" - -"@react-types/radio@^3.1.1", "@react-types/radio@^3.5.1": - version "3.5.1" - resolved "https://registry.npmjs.org/@react-types/radio/-/radio-3.5.1.tgz" - integrity sha512-jPF8zt+XdgW9DaTvB5ZYCh0uk7DVko1VZ/jOlCRs82w3P884Wc7MMpwdl1T5PBdhtLcdr+xjM1YI6/31reIBfQ== - dependencies: - "@react-types/shared" "^3.20.0" - -"@react-types/select@^3.8.3": - version "3.8.3" - resolved "https://registry.npmjs.org/@react-types/select/-/select-3.8.3.tgz" - integrity sha512-x0x/qJq48QqVnBXFqvPaiS/TQOmCIL9ZmzM4AzRtYMU++kxjy3L03cdnzDBmxKN+KkfDn7OU++vKI44ksgTCRA== - dependencies: - "@react-types/shared" "^3.20.0" - -"@react-types/shared@^3.2.1", "@react-types/shared@^3.20.0", "@react-types/shared@^3.4.0": - version "3.20.0" - resolved "https://registry.npmjs.org/@react-types/shared/-/shared-3.20.0.tgz" - integrity sha512-lgTO/S/EMIZKU1EKTg8wT0qYP5x/lZTK2Xw6BZZk5c4nn36JYhGCRb/OoR/jBCIeRb2x9yNbwERO6NYVkoQMSw== - -"@react-types/slider@^3.0.1", "@react-types/slider@^3.6.1": - version "3.6.1" - resolved "https://registry.npmjs.org/@react-types/slider/-/slider-3.6.1.tgz" - integrity sha512-K234amXGLfDekJOQimhPpd2OE14Set7+LrzZZx1ut5ayIK3QgeneUqaybQcB7plfO1thNaAoDOy7JPqZ13k1JA== - dependencies: - "@react-types/shared" "^3.20.0" - -"@react-types/switch@^3.4.1": - version "3.4.1" - resolved "https://registry.npmjs.org/@react-types/switch/-/switch-3.4.1.tgz" - integrity sha512-2XfPsu2Yiap+pthO2rvCNlLjzo9mDejrYY3rsYMw/jLzCHvuR8Xe2/l01svHcq3pVuNIMElqZR4vTq9OvGNBnQ== - dependencies: - "@react-types/checkbox" "^3.5.1" - "@react-types/shared" "^3.20.0" - -"@react-types/table@^3.8.1": - version "3.8.1" - resolved "https://registry.npmjs.org/@react-types/table/-/table-3.8.1.tgz" - integrity sha512-zUZ0jTnTBz0JWhnbz7U0LnnKqGhPvmQz+xyADrBIrgj8hk1jQdWNTwAFwqUg8uaReSy+9b3jjPPNOnpTu9DmgA== - dependencies: - "@react-types/grid" "^3.2.1" - "@react-types/shared" "^3.20.0" - -"@react-types/tabs@3.0.0-alpha.2": - version "3.0.0-alpha.2" - resolved "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.0.0-alpha.2.tgz" - integrity sha512-HQNS2plzuNhKPo88OGEW2Ja9aLeiWqgNqEemSxh0KAjkA8IsvDGaoQEpr9ZQIyBZ3PQIljvOpEJ/IwHU5LztrQ== - dependencies: - "@react-types/shared" "^3.2.1" - -"@react-types/textfield@^3.8.0": - version "3.8.0" - resolved "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.8.0.tgz" - integrity sha512-KRIEiIaB7pi0VlyOXNv39qeY0nBVmaXHwReCmEktQxKtXQ5lbEU6pvbc6srMZIplJffutQCZSXAucw/2ewLLVQ== - dependencies: - "@react-types/shared" "^3.20.0" - -"@segment/loosely-validate-event@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz" - integrity sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw== - dependencies: - component-type "^1.2.1" - join-component "^1.1.0" - -"@sideway/address@^4.1.3": - version "4.1.4" - resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz" - integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@sideway/formula@^3.0.1": - version "3.0.1" - resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" - integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== - -"@sideway/pinpoint@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" - integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sinonjs/commons@^3.0.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz" - integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@swc/helpers@^0.4.14": - version "0.4.36" - resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.36.tgz" - integrity sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q== - dependencies: - legacy-swc-helpers "npm:@swc/helpers@=0.4.14" - tslib "^2.4.0" - -"@swc/helpers@^0.5.0": - version "0.5.2" - resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz" - integrity sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw== - dependencies: - tslib "^2.4.0" - -"@types/hammerjs@^2.0.36": - version "2.0.41" - resolved "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.41.tgz" - integrity sha512-ewXv/ceBaJprikMcxCmWU1FKyMAQ2X7a9Gtmzw8fcg2kIePI1crERDM818W+XYrxqdBBOdlf2rm137bU+BltCA== - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/json-schema@^7.0.9": - version "7.0.12" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz" - integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/node@*": - version "20.3.3" - resolved "https://registry.npmjs.org/@types/node/-/node-20.3.3.tgz" - integrity sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw== - -"@types/prop-types@*": - version "15.7.5" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== - -"@types/react-native@*", "@types/react-native@^0.72.2": - version "0.72.2" - resolved "https://registry.npmjs.org/@types/react-native/-/react-native-0.72.2.tgz" - integrity sha512-/eEjr04Zqo7mTMszuSdrLx90+j5nWhDMMOgtnKZfAYyV3RwmlpSb7F17ilmMMxZWJY81n/JZ4e6wdhMJFpjrCg== - dependencies: - "@react-native/virtualized-lists" "^0.72.4" - "@types/react" "*" - -"@types/react@*", "@types/react@~18.0.14": - version "18.0.38" - resolved "https://registry.npmjs.org/@types/react/-/react-18.0.38.tgz" - integrity sha512-ExsidLLSzYj4cvaQjGnQCk4HFfVT9+EZ9XZsQ8Hsrcn8QNgXtpZ3m9vSIC2MWtx7jHictK6wYhQgGh6ic58oOw== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.3" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz" - integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== - -"@types/semver@^7.3.12": - version "7.5.1" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz" - integrity sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg== - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^15.0.0": - version "15.0.15" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz" - integrity sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^16.0.0": - version "16.0.5" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz" - integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^17.0.8": - version "17.0.24" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz" - integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^5.50.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz" - integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== - dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/type-utils" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.50.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz" - integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== - dependencies: - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz" - integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - -"@typescript-eslint/type-utils@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz" - integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== - dependencies: - "@typescript-eslint/typescript-estree" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz" - integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== - -"@typescript-eslint/typescript-estree@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz" - integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz" - integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.62.0": - version "5.62.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz" - integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== - dependencies: - "@typescript-eslint/types" "5.62.0" - eslint-visitor-keys "^3.3.0" - -"@urql/core@>=2.3.1", "@urql/core@2.3.6": - version "2.3.6" - resolved "https://registry.npmjs.org/@urql/core/-/core-2.3.6.tgz" - integrity sha512-PUxhtBh7/8167HJK6WqBv6Z0piuiaZHQGYbhwpNL9aIQmLROPEdaUYkY4wh45wPQXcTpnd11l0q3Pw+TI11pdw== - dependencies: - "@graphql-typed-document-node/core" "^3.1.0" - wonka "^4.0.14" - -"@urql/exchange-retry@0.3.0": - version "0.3.0" - resolved "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-0.3.0.tgz" - integrity sha512-hHqer2mcdVC0eYnVNbWyi28AlGOPb2vjH3lP3/Bc8Lc8BjhMsDwFMm7WhoP5C1+cfbr/QJ6Er3H/L08wznXxfg== - dependencies: - "@urql/core" ">=2.3.1" - wonka "^4.0.14" - -"@xmldom/xmldom@~0.7.7": - version "0.7.11" - resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.11.tgz" - integrity sha512-UDi3g6Jss/W5FnSzO9jCtQwEpfymt0M+sPPlmLhDH6h2TJ8j4ESE/LpmNPBij15J5NKkk4/cg/qoVMdWI3vnlQ== - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -absolute-path@^0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz" - integrity sha512-HQiug4c+/s3WOvEnDRxXVmNtSG5s2gJM9r19BTcqjp7BWcE48PB+Y2G6jE65kqI0LpsQeMZygt/b60Gi4KxGyA== - -accepts@^1.3.7, accepts@^1.3.8, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.8.2, acorn@^8.9.0: - version "8.10.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== - -agent-base@6: - version "6.0.2" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -anser@^1.4.9: - version "1.4.10" - resolved "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz" - integrity sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww== - -ansi-escapes@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-fragments@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/ansi-fragments/-/ansi-fragments-0.2.1.tgz" - integrity sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w== - dependencies: - colorette "^1.0.7" - slice-ansi "^2.0.0" - strip-ansi "^5.0.0" - -ansi-regex@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" - integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== - -ansi-regex@^5.0.0, ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@^3.0.3: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -appdirsjs@^1.2.4: - version "1.2.7" - resolved "https://registry.npmjs.org/appdirsjs/-/appdirsjs-1.2.7.tgz" - integrity sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw== - -application-config-path@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.1.tgz" - integrity sha512-zy9cHePtMP0YhwG+CfHm0bgwdnga2X3gZexpdCwEj//dpb+TKajtiC8REEUJUSq6Ab4f9cgNy2l8ObXzCXFkEw== - -arg@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz" - integrity sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-includes@^3.1.6: - version "3.1.7" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz" - integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - -array.prototype.findlastindex@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz" - integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -array.prototype.flat@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.1: - version "1.1.2" - resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz" - integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.2.1" - -arraybuffer.prototype.slice@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - -asap@~2.0.3, asap@~2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - -ast-types@0.14.2: - version "0.14.2" - resolved "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz" - integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA== - dependencies: - tslib "^2.0.1" - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@^3.2.2: - version "3.2.4" - resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - -asynciterator.prototype@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz" - integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== - dependencies: - has-symbols "^1.0.3" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -babel-core@^7.0.0-bridge.0: - version "7.0.0-bridge.0" - resolved "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz" - integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== - -babel-plugin-module-resolver@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz" - integrity sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA== - dependencies: - find-babel-config "^1.2.0" - glob "^7.1.6" - pkg-up "^3.1.0" - reselect "^4.0.0" - resolve "^1.13.1" - -babel-plugin-polyfill-corejs2@^0.4.3: - version "0.4.3" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz" - integrity sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.4.0" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz" - integrity sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.0" - core-js-compat "^3.30.1" - -babel-plugin-polyfill-regenerator@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz" - integrity sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.0" - -babel-plugin-react-native-web@~0.18.10: - version "0.18.12" - resolved "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.18.12.tgz" - integrity sha512-4djr9G6fMdwQoD6LQ7hOKAm39+y12flWgovAqS1k5O8f42YQ3A1FFMyV5kKfetZuGhZO5BmNmOdRRZQ1TixtDw== - -babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: - version "7.0.0-beta.0" - resolved "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz" - integrity sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ== - -babel-preset-expo@~9.3.2: - version "9.3.2" - resolved "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-9.3.2.tgz" - integrity sha512-BjyvjwjJG0MaaDBLP/esbXRrAItM76po9L9zfnLxeqgFsHCIPmD+6ir45coDLGAXwR8m9It3G1yqYM9JPyemsQ== - dependencies: - "@babel/plugin-proposal-decorators" "^7.12.9" - "@babel/plugin-proposal-object-rest-spread" "^7.12.13" - "@babel/plugin-transform-react-jsx" "^7.12.17" - "@babel/preset-env" "^7.20.0" - babel-plugin-module-resolver "^4.1.0" - babel-plugin-react-native-web "~0.18.10" - metro-react-native-babel-preset "0.73.9" - -babel-preset-fbjs@^3.4.0: - version "3.4.0" - resolved "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz" - integrity sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow== - dependencies: - "@babel/plugin-proposal-class-properties" "^7.0.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/plugin-syntax-class-properties" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - "@babel/plugin-transform-arrow-functions" "^7.0.0" - "@babel/plugin-transform-block-scoped-functions" "^7.0.0" - "@babel/plugin-transform-block-scoping" "^7.0.0" - "@babel/plugin-transform-classes" "^7.0.0" - "@babel/plugin-transform-computed-properties" "^7.0.0" - "@babel/plugin-transform-destructuring" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-for-of" "^7.0.0" - "@babel/plugin-transform-function-name" "^7.0.0" - "@babel/plugin-transform-literals" "^7.0.0" - "@babel/plugin-transform-member-expression-literals" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/plugin-transform-object-super" "^7.0.0" - "@babel/plugin-transform-parameters" "^7.0.0" - "@babel/plugin-transform-property-literals" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-shorthand-properties" "^7.0.0" - "@babel/plugin-transform-spread" "^7.0.0" - "@babel/plugin-transform-template-literals" "^7.0.0" - babel-plugin-syntax-trailing-function-commas "^7.0.0-beta.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -base64-js@^1.1.2, base64-js@^1.2.3, base64-js@^1.3.1, base64-js@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -better-opn@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz" - integrity sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ== - dependencies: - open "^8.0.4" - -big-integer@1.6.x: - version "1.6.51" - resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== - -bl@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -blueimp-md5@^2.10.0: - version "2.19.0" - resolved "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz" - integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w== - -body-parser@^1.20.1: - version "1.20.2" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -bplist-creator@0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz" - integrity sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg== - dependencies: - stream-buffers "2.2.x" - -bplist-parser@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz" - integrity sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ== - dependencies: - big-integer "1.6.x" - -bplist-parser@0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz" - integrity sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA== - dependencies: - big-integer "1.6.x" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.21.5, browserslist@^4.21.9, "browserslist@>= 4.21.0": - version "4.21.9" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz" - integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg== - dependencies: - caniuse-lite "^1.0.30001503" - electron-to-chromium "^1.4.431" - node-releases "^2.0.12" - update-browserslist-db "^1.0.11" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz" - integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz" - integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacache@^15.3.0: - version "15.3.0" - resolved "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz" - integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ== - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz" - integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A== - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz" - integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ== - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001503: - version "1.0.30001512" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001512.tgz" - integrity sha512-2S9nK0G/mE+jasCUsMPlARhRCts1ebcp2Ji8Y8PWi4NDE1iRdLCnEPHkEfeBrGC45L4isBx5ur3IQ6yTE2mRZw== - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -charenc@~0.0.1, charenc@0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz" - integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-info@^3.2.0, ci-info@^3.3.0: - version "3.8.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" - integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== - dependencies: - restore-cursor "^2.0.0" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-spinners@^2.0.0, cli-spinners@^2.5.0: - version "2.9.0" - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz" - integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -clone@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" - integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== - -clsx@^1.1.1: - version "1.2.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@^1.0.0, color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.9.0: - version "1.9.1" - resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" - integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz" - integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== - dependencies: - color-convert "^2.0.1" - color-string "^1.9.0" - -colorette@^1.0.7: - version "1.4.0" - resolved "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz" - integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -command-exists@^1.2.4, command-exists@^1.2.8: - version "1.2.9" - resolved "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz" - integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^9.4.1: - version "9.5.0" - resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" - integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== - -commander@~2.13.0: - version "2.13.0" - resolved "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz" - integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -compare-versions@^3.4.0: - version "3.6.0" - resolved "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -component-type@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/component-type/-/component-type-1.2.1.tgz" - integrity sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.1: - version "1.7.4" - resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -connect@^3.6.5, connect@^3.7.0: - version "3.7.0" - resolved "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz" - integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== - dependencies: - debug "2.6.9" - finalhandler "1.1.2" - parseurl "~1.3.3" - utils-merge "1.0.1" - -content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - -core-js-compat@^3.30.1, core-js-compat@^3.31.0: - version "3.31.0" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.0.tgz" - integrity sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw== - dependencies: - browserslist "^4.21.5" - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^5.0.5, cosmiconfig@^5.1.0: - version "5.2.1" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -cross-fetch@^3.1.5: - version "3.1.8" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz" - integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== - dependencies: - node-fetch "^2.6.12" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypt@~0.0.1, crypt@0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz" - integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz" - integrity sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg== - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -css-in-js-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz" - integrity sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A== - dependencies: - hyphenate-style-name "^1.0.3" - -css-select@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" - integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== - dependencies: - boolbase "^1.0.0" - css-what "^6.1.0" - domhandler "^5.0.2" - domutils "^3.0.1" - nth-check "^2.0.1" - -css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -csstype@^3.0.2: - version "3.1.2" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -dag-map@~1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz" - integrity sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw== - -dayjs@^1.8.15: - version "1.11.9" - resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz" - integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA== - -debug@^2.2.0: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^2.3.3: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.0: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decode-uri-component@^0.2.0, decode-uri-component@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz" - integrity sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA== - -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^6.0.0: - version "6.1.1" - resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz" - integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -denodeify@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz" - integrity sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -deprecated-react-native-prop-types@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-3.0.1.tgz" - integrity sha512-J0jCJcsk4hMlIb7xwOZKLfMpuJn6l8UtrPEzzQV5ewz5gvKNYakhBuq9h2rWX7YwHHJZFhU5W8ye7dB9oN8VcQ== - dependencies: - "@react-native/normalize-color" "*" - invariant "*" - prop-types "*" - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-helpers@^5.0.0: - version "5.2.1" - resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" - integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -dom-serializer@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" - integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== - dependencies: - domelementtype "^2.3.0" - domhandler "^5.0.2" - entities "^4.2.0" - -domelementtype@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domhandler@^5.0.2, domhandler@^5.0.3: - version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" - integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== - dependencies: - domelementtype "^2.3.0" - -domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== - dependencies: - dom-serializer "^2.0.0" - domelementtype "^2.3.0" - domhandler "^5.0.3" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.4.431: - version "1.4.450" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.450.tgz" - integrity sha512-BLG5HxSELlrMx7dJ2s+8SFlsCtJp37Zpk2VAxyC6CZtbc+9AJeZHfYHbrlSgdXp6saQ8StMqOTEDaBKgA7u1sw== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -entities@^4.2.0: - version "4.5.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -env-editor@^0.4.1: - version "0.4.2" - resolved "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz" - integrity sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA== - -envinfo@^7.7.2: - version "7.10.0" - resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz" - integrity sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw== - -eol@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz" - integrity sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -errorhandler@^1.5.0: - version "1.5.1" - resolved "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz" - integrity sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A== - dependencies: - accepts "~1.3.7" - escape-html "~1.0.3" - -es-abstract@^1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz" - integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.1" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.1" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.10" - is-weakref "^1.0.2" - object-inspect "^1.12.3" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.0" - safe-array-concat "^1.0.0" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.10" - -es-iterator-helpers@^1.0.12: - version "1.0.14" - resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.14.tgz" - integrity sha512-JgtVnwiuoRuzLvqelrvN3Xu7H9bu2ap/kQ2CrM62iidP8SKuD99rWU3CJy++s7IVL2qb/AjXPGR/E7i9ngd/Cw== - dependencies: - asynciterator.prototype "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-set-tostringtag "^2.0.1" - function-bind "^1.1.1" - get-intrinsic "^1.2.1" - globalthis "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - iterator.prototype "^1.1.0" - safe-array-concat "^1.0.0" - -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@^8.5.0, eslint-config-prettier@^8.8.0: - version "8.10.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz" - integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== - -eslint-config-universe@^11.2.0: - version "11.3.0" - resolved "https://registry.npmjs.org/eslint-config-universe/-/eslint-config-universe-11.3.0.tgz" - integrity sha512-CL6v7IxV+OJn0q1vqtFVtX+sNUdY7MiIy3/XD0dy96D7RsDvYBWWqs4S1AIB4AdVgraNnv829q1+asluAePSSw== - dependencies: - "@typescript-eslint/eslint-plugin" "^5.50.0" - "@typescript-eslint/parser" "^5.50.0" - eslint-config-prettier "^8.5.0" - eslint-plugin-import "^2.26.0" - eslint-plugin-node "^11.1.0" - eslint-plugin-prettier "^4.2.1" - eslint-plugin-react "^7.31.11" - eslint-plugin-react-hooks "^4.6.0" - -eslint-import-resolver-node@^0.3.7: - version "0.3.9" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz" - integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== - dependencies: - debug "^3.2.7" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@^2.26.0: - version "2.28.1" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz" - integrity sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A== - dependencies: - array-includes "^3.1.6" - array.prototype.findlastindex "^1.2.2" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" - eslint-module-utils "^2.8.0" - has "^1.0.3" - is-core-module "^2.13.0" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.6" - object.groupby "^1.0.0" - object.values "^1.1.6" - semver "^6.3.1" - tsconfig-paths "^3.14.2" - -eslint-plugin-node@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-prettier@^4.2.1: - version "4.2.1" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" - integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-react-hooks@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@^7.31.11: - version "7.33.2" - resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz" - integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" - doctrine "^2.1.0" - es-iterator-helpers "^1.0.12" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" - prop-types "^15.8.1" - resolve "^2.0.0-next.4" - semver "^6.3.1" - string.prototype.matchall "^4.0.8" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@*, "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.44.0, eslint@>=4.19.1, eslint@>=5.16.0, eslint@>=7.0.0, eslint@>=7.28.0, eslint@>=8.10: - version "8.49.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz" - integrity sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "8.49.0" - "@humanwhocodes/config-array" "^0.11.11" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@^4.0.0, esprima@~4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -event-target-shim@^5.0.0, event-target-shim@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -exec-async@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz" - integrity sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expo-application@~5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/expo-application/-/expo-application-5.1.1.tgz" - integrity sha512-aDatTcTTCdTbHw8h4/Tq2ilc6InM5ntF9xWCJdOcnUEcglxxGphVI/lzJKBaBF6mJECA8mEOjpVg2EGxOctTwg== - -expo-asset@~8.9.1: - version "8.9.2" - resolved "https://registry.npmjs.org/expo-asset/-/expo-asset-8.9.2.tgz" - integrity sha512-aHMaZkIG5/UoguINEHm2ln/KviU2m/yuryslnhCKR3KXRxiLnMhxmrONLGbknuNE0O1iCaprrl1w3y71u01Rpw== - dependencies: - blueimp-md5 "^2.10.0" - expo-constants "~14.3.0" - expo-file-system "~15.3.0" - invariant "^2.2.4" - md5-file "^3.2.3" - path-browserify "^1.0.0" - url-parse "^1.5.9" - -expo-constants@~14.2.1: - version "14.2.1" - resolved "https://registry.npmjs.org/expo-constants/-/expo-constants-14.2.1.tgz" - integrity sha512-DD5u4QmBds2U7uYo409apV7nX+XjudARcgqe7S9aRFJ/6kyftmuxvk1DpaU4X42Av8z/tfKwEpuxl+vl7HHx/Q== - dependencies: - "@expo/config" "~8.0.0" - uuid "^3.3.2" - -expo-constants@~14.3.0: - version "14.3.0" - resolved "https://registry.npmjs.org/expo-constants/-/expo-constants-14.3.0.tgz" - integrity sha512-O8b+mZlPXZGH4wLLd+jMihGD0ZSMJRSmSsmcG7T60jHU3Dw4yDIuzHM/wMoBoL1pxLIbEwvcwDj0w8c+Sn+1sQ== - dependencies: - "@expo/config" "~8.0.0" - uuid "^3.3.2" - -expo-file-system@~15.2.2: - version "15.2.2" - resolved "https://registry.npmjs.org/expo-file-system/-/expo-file-system-15.2.2.tgz" - integrity sha512-LFkOLcWwlmnjkURxZ3/0ukS35OswX8iuQknLHRHeyk8mUA8fpRPPelD/a1lS+yclqfqavMJmTXVKM1Nsq5XVMA== - dependencies: - uuid "^3.4.0" - -expo-file-system@~15.3.0: - version "15.3.0" - resolved "https://registry.npmjs.org/expo-file-system/-/expo-file-system-15.3.0.tgz" - integrity sha512-YUvNZzZJlF5TZM+FoRW9biJPB7qEgZbGYm8xJpqnxpj70FkFhwwoKiXVduZk+KVNiIs7d0q7e+Jdvmcr+Id3FQ== - dependencies: - uuid "^3.4.0" - -expo-font@~11.1.1: - version "11.1.1" - resolved "https://registry.npmjs.org/expo-font/-/expo-font-11.1.1.tgz" - integrity sha512-X+aICqYY69hiiDDtcNrjq8KutHrH2TrHuMqk0Rfq0P7hF6hMd+YefwLBNkvIrqrgmTAuqiLjMUwj2rHLqmgluw== - dependencies: - fontfaceobserver "^2.1.0" - -expo-image-loader@~4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/expo-image-loader/-/expo-image-loader-4.1.1.tgz" - integrity sha512-ciEHVokU0f6w0eTxdRxLCio6tskMsjxWIoV92+/ZD37qePUJYMfEphPhu1sruyvMBNR8/j5iyOvPFVGTfO8oxA== - -expo-image-picker@~14.1.1: - version "14.1.1" - resolved "https://registry.npmjs.org/expo-image-picker/-/expo-image-picker-14.1.1.tgz" - integrity sha512-SvWtnkLW7jp5Ntvk3lVcRQmhFYja8psmiR7O6P/+7S6f4llt3vaFwb4I3+pUXqJxxpi7BHc2+95qOLf0SFOIag== - dependencies: - expo-image-loader "~4.1.0" - -expo-keep-awake@~12.0.1: - version "12.0.1" - resolved "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-12.0.1.tgz" - integrity sha512-hqeCnb4033TyuZaXs93zTK7rjVJ3bywXATyMmKmKkLEsH2PKBAl/VmjlCOPQL/2Ncqz6aj7Wo//tjeJTARBD4g== - -expo-modules-autolinking@>=0.8.1, expo-modules-autolinking@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-1.2.0.tgz" - integrity sha512-QOPh/iXykNDCAzUual1imSrn2aDakzCGUp2QmxVREr0llajXygroUWlT9sQXh1zKzbNp+a+i/xK375ZeBFiNJA== - dependencies: - chalk "^4.1.0" - commander "^7.2.0" - fast-glob "^3.2.5" - find-up "^5.0.0" - fs-extra "^9.1.0" - -expo-modules-core@1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-1.2.7.tgz" - integrity sha512-sulqn2M8+tIdxi6QFkKppDEzbePAscgE2LEHocYoQOgHxJpeT7axE0Hkzc+81EeviQilZzGeFZMtNMGh3c9yJg== - dependencies: - compare-versions "^3.4.0" - invariant "^2.2.4" - -expo-status-bar@~1.4.4: - version "1.4.4" - resolved "https://registry.npmjs.org/expo-status-bar/-/expo-status-bar-1.4.4.tgz" - integrity sha512-5DV0hIEWgatSC3UgQuAZBoQeaS9CqeWRZ3vzBR9R/+IUD87Adbi4FGhU10nymRqFXOizGsureButGZIXPs7zEA== - -expo@*, expo@~48.0.18: - version "48.0.20" - resolved "https://registry.npmjs.org/expo/-/expo-48.0.20.tgz" - integrity sha512-SDRlLRINWWqf/OIPaUr/BsFZLhR5oEj1u9Cn06h1mPeo8pqv6ei/QTSZql4e0ixHIu3PWMPrUx9k/47nnTyTpg== - dependencies: - "@babel/runtime" "^7.20.0" - "@expo/cli" "0.7.3" - "@expo/config" "8.0.5" - "@expo/config-plugins" "6.0.2" - "@expo/vector-icons" "^13.0.0" - babel-preset-expo "~9.3.2" - cross-spawn "^6.0.5" - expo-application "~5.1.1" - expo-asset "~8.9.1" - expo-constants "~14.2.1" - expo-file-system "~15.2.2" - expo-font "~11.1.1" - expo-keep-awake "~12.0.1" - expo-modules-autolinking "1.2.0" - expo-modules-core "1.2.7" - fbemitter "^3.0.0" - getenv "^1.0.0" - invariant "^2.2.4" - md5-file "^3.2.3" - node-fetch "^2.6.7" - pretty-format "^26.5.2" - uuid "^3.4.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.3.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== - -fast-glob@^3.2.5, fast-glob@^3.2.9: - version "3.3.0" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz" - integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-loops@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/fast-loops/-/fast-loops-1.1.3.tgz" - integrity sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g== - -fast-xml-parser@^4.0.12: - version "4.2.5" - resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz" - integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== - dependencies: - strnum "^1.0.5" - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fbemitter@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" - integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== - dependencies: - fbjs "^3.0.0" - -fbjs-css-vars@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" - integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== - -fbjs@^3.0.0: - version "3.0.5" - resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz" - integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== - dependencies: - cross-fetch "^3.1.5" - fbjs-css-vars "^1.0.0" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^1.0.35" - -fetch-retry@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/fetch-retry/-/fetch-retry-4.1.1.tgz" - integrity sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA== - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - -finalhandler@1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-babel-config@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz" - integrity sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA== - dependencies: - json5 "^0.5.1" - path-exists "^3.0.0" - -find-cache-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0, find-up@~5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-yarn-workspace-root@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz" - integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== - dependencies: - micromatch "^4.0.2" - -flat-cache@^3.0.4: - version "3.1.0" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz" - integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== - dependencies: - flatted "^3.2.7" - keyv "^4.5.3" - rimraf "^3.0.2" - -flatted@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -flow-parser@^0.185.0, flow-parser@0.*: - version "0.185.2" - resolved "https://registry.npmjs.org/flow-parser/-/flow-parser-0.185.2.tgz" - integrity sha512-2hJ5ACYeJCzNtiVULov6pljKOLygy0zddoqSI1fFetM+XRPpRshFdGEijtqlamA1XwyZ+7rhryI6FQFzvtLWUQ== - -fontfaceobserver@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz" - integrity sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - -form-data@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - -freeport-async@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/freeport-async/-/freeport-async-2.0.0.tgz" - integrity sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^8.1.0, fs-extra@~8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.0.tgz" - integrity sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.6" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-proto "^1.0.1" - has-symbols "^1.0.3" - -get-port@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz" - integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - -getenv@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/getenv/-/getenv-1.0.0.tgz" - integrity sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg== - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@^6.0.1: - version "6.0.4" - resolved "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" - integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@7.1.6: - version "7.1.6" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.21.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz" - integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^11.0.1, globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.11, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -graphql-tag@^2.10.1: - version "2.12.6" - resolved "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz" - integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== - dependencies: - tslib "^2.1.0" - -"graphql@^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0", "graphql@^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", "graphql@^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", "graphql@^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", graphql@15.8.0: - version "15.8.0" - resolved "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz" - integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hermes-estree@0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.8.0.tgz" - integrity sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q== - -hermes-parser@0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.8.0.tgz" - integrity sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA== - dependencies: - hermes-estree "0.8.0" - -hermes-profile-transformer@^0.0.6: - version "0.0.6" - resolved "https://registry.npmjs.org/hermes-profile-transformer/-/hermes-profile-transformer-0.0.6.tgz" - integrity sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ== - dependencies: - source-map "^0.7.3" - -hoist-non-react-statics@^2.3.1: - version "2.5.5" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz" - integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== - -hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -hosted-git-info@^3.0.2: - version "3.0.8" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz" - integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== - dependencies: - lru-cache "^6.0.0" - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -https-proxy-agent@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -hyphenate-style-name@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz" - integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.1.1, ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -image-size@^0.6.0: - version "0.6.3" - resolved "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz" - integrity sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA== - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz" - integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg== - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2, inherits@2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -inline-style-prefixer@^6.0.1: - version "6.0.4" - resolved "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz" - integrity sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg== - dependencies: - css-in-js-utils "^3.1.0" - fast-loops "^1.1.3" - -install@^0.13.0: - version "0.13.0" - resolved "https://registry.npmjs.org/install/-/install-0.13.0.tgz" - integrity sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA== - -internal-ip@4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== - dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" - side-channel "^1.0.4" - -intl-messageformat@^10.1.0: - version "10.5.2" - resolved "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.2.tgz" - integrity sha512-X4rlUNbgCc8/RdMhmvUEEZ38yNDn5S4r0u8n8yQH2OOdhsR46SmOuQsCKG35nRXmL5u2nxPsNN6qNhHoMm6FMQ== - dependencies: - "@formatjs/ecma402-abstract" "1.17.2" - "@formatjs/fast-memoize" "2.2.0" - "@formatjs/icu-messageformat-parser" "2.6.2" - tslib "^2.4.0" - -invariant@*, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" - integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== - -ip@^1.1.5: - version "1.1.8" - resolved "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz" - integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== - -ipaddr.js@^1.9.0: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-async-function@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== - dependencies: - has-tostringtag "^1.0.0" - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5, is-buffer@~1.1.1, is-buffer@~1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.9.0: - version "2.13.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz" - integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw== - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" - integrity sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-finalizationregistry@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== - dependencies: - call-bind "^1.0.2" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-function@^1.0.10: - version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz" - integrity sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg== - dependencies: - is-extglob "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-invalid-path@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz" - integrity sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ== - dependencies: - is-glob "^2.0.0" - -is-map@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-inside@^3.0.2, is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-root@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - -is-set@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-valid-path@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz" - integrity sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A== - dependencies: - is-invalid-path "^0.1.0" - -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-weakset@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" - integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== - -is-wsl@^2.1.1, is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isarray@~1.0.0, isarray@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -iterator.prototype@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.1.tgz" - integrity sha512-9E+nePc8C9cnQldmNl6bgpTY6zI4OPRZd97fhJ/iVZ1GifIUDVV5F6x1nEDqpe8KaMEZGT4xgrwKQDxXnjOIZQ== - dependencies: - define-properties "^1.2.0" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.3" - -jest-environment-node@^29.2.1: - version "29.6.0" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.6.0.tgz" - integrity sha512-BOf5Q2/nFCdBOnyBM5c5/6DbdQYgc+0gyUQ8l8qhUAB8O7pM+4QJXIXJsRZJaxd5SHV6y5VArTVhOfogoqcP8Q== - dependencies: - "@jest/environment" "^29.6.0" - "@jest/fake-timers" "^29.6.0" - "@jest/types" "^29.6.0" - "@types/node" "*" - jest-mock "^29.6.0" - jest-util "^29.6.0" - -jest-get-type@^26.3.0: - version "26.3.0" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== - -jest-message-util@^29.6.0: - version "29.6.0" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.6.0.tgz" - integrity sha512-mkCp56cETbpoNtsaeWVy6SKzk228mMi9FPHSObaRIhbR2Ujw9PqjW/yqVHD2tN1bHbC8ol6h3UEo7dOPmIYwIA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.0" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.6.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.6.0: - version "29.6.0" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.6.0.tgz" - integrity sha512-2Pb7R2w24Q0aUVn+2/vdRDL6CqGqpheDZy7zrXav8FotOpSGw/4bS2hyVoKHMEx4xzOn6EyCAGwc5czWxXeN7w== - dependencies: - "@jest/types" "^29.6.0" - "@types/node" "*" - jest-util "^29.6.0" - -jest-regex-util@^27.0.6: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== - -jest-serializer@^27.0.6: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-util@^27.2.0: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-util@^29.6.0: - version "29.6.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.6.0.tgz" - integrity sha512-S0USx9YwcvEm4pQ5suisVm/RVxBmi0GFR7ocJhIeaCuW5AXnAnffXbaVKvIFodyZNOc9ygzVtTxmBf40HsHXaA== - dependencies: - "@jest/types" "^29.6.0" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^26.5.2: - version "26.6.2" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== - dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" - chalk "^4.0.0" - jest-get-type "^26.3.0" - leven "^3.1.0" - pretty-format "^26.6.2" - -jest-worker@^27.2.0: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jimp-compact@0.16.1: - version "0.16.1" - resolved "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz" - integrity sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww== - -joi@^17.2.1: - version "17.9.2" - resolved "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz" - integrity sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw== - dependencies: - "@hapi/hoek" "^9.0.0" - "@hapi/topo" "^5.0.0" - "@sideway/address" "^4.1.3" - "@sideway/formula" "^3.0.1" - "@sideway/pinpoint" "^2.0.0" - -join-component@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/join-component/-/join-component-1.1.0.tgz" - integrity sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsc-android@^250231.0.0: - version "250231.0.0" - resolved "https://registry.npmjs.org/jsc-android/-/jsc-android-250231.0.0.tgz" - integrity sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw== - -jsc-safe-url@^0.2.2: - version "0.2.4" - resolved "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz" - integrity sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q== - -jscodeshift@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz" - integrity sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ== - dependencies: - "@babel/core" "^7.13.16" - "@babel/parser" "^7.13.16" - "@babel/plugin-proposal-class-properties" "^7.13.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" - "@babel/plugin-proposal-optional-chaining" "^7.13.12" - "@babel/plugin-transform-modules-commonjs" "^7.13.8" - "@babel/preset-flow" "^7.13.13" - "@babel/preset-typescript" "^7.13.0" - "@babel/register" "^7.13.16" - babel-core "^7.0.0-bridge.0" - chalk "^4.1.2" - flow-parser "0.*" - graceful-fs "^4.2.4" - micromatch "^3.1.10" - neo-async "^2.5.0" - node-dir "^0.1.17" - recast "^0.20.4" - temp "^0.8.4" - write-file-atomic "^2.3.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-deref-sync@^0.13.0: - version "0.13.0" - resolved "https://registry.npmjs.org/json-schema-deref-sync/-/json-schema-deref-sync-0.13.0.tgz" - integrity sha512-YBOEogm5w9Op337yb6pAT6ZXDqlxAsQCanM3grid8lMWNxRJO/zWEJi3ZzqDL8boWfwhTFym5EFrNgWwpqcBRg== - dependencies: - clone "^2.1.2" - dag-map "~1.0.0" - is-valid-path "^0.1.1" - lodash "^4.17.13" - md5 "~2.2.0" - memory-cache "~0.2.0" - traverse "~0.6.6" - valid-url "~1.0.9" - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^0.5.1: - version "0.5.1" - resolved "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz" - integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.2.2: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -"jsx-ast-utils@^2.4.1 || ^3.0.0": - version "3.3.5" - resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" - integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - object.assign "^4.1.4" - object.values "^1.1.6" - -keyv@^4.5.3: - version "4.5.3" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz" - integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== - dependencies: - json-buffer "3.0.1" - -kind-of@^3.0.2, kind-of@^3.0.3: - version "3.2.2" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -"legacy-swc-helpers@npm:@swc/helpers@=0.4.14": - version "0.4.14" - resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz" - integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== - dependencies: - tslib "^2.4.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" - integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" - integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== - -lodash.has@^4.5.2: - version "4.5.2" - resolved "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz" - integrity sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g== - -lodash.isempty@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz" - integrity sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg== - -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - -lodash.isnil@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/lodash.isnil/-/lodash.isnil-4.0.0.tgz" - integrity sha512-up2Mzq3545mwVnMhTDMdfoG1OurpA/s5t88JmQX809eH3C8491iu2sfKhTfhQtKY78oPNhiaHJUpT/dUDAAtng== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.mergewith@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz" - integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== - -lodash.omit@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz" - integrity sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg== - -lodash.omitby@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/lodash.omitby/-/lodash.omitby-4.6.0.tgz" - integrity sha512-5OrRcIVR75M288p4nbI2WLAf3ndw2GD9fyNv3Bc15+WCxJDdZ4lYndSxGd7hnG6PVjiJTeJE2dHEGhIuKGicIQ== - -lodash.pick@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz" - integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q== - -lodash.throttle@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz" - integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== - -lodash.uniqueid@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/lodash.uniqueid/-/lodash.uniqueid-4.0.1.tgz" - integrity sha512-GQQWaIeGlL6DIIr06kj1j6sSmBxyNMwI8kaX9aKpHR/XsMTiaXDVPNPAkiboOTK9OJpTJF/dXT3xYoFQnj386Q== - -lodash@^4.17.13, lodash@^4.17.21, lodash@^4.17.4: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== - dependencies: - chalk "^2.0.1" - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -logkitty@^0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/logkitty/-/logkitty-0.7.1.tgz" - integrity sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ== - dependencies: - ansi-fragments "^0.2.1" - dayjs "^1.8.15" - yargs "^15.1.0" - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - -md5-file@^3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz" - integrity sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw== - dependencies: - buffer-alloc "^1.1.0" - -md5@^2.2.1: - version "2.3.0" - resolved "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz" - integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== - dependencies: - charenc "0.0.2" - crypt "0.0.2" - is-buffer "~1.1.6" - -md5@~2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz" - integrity sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ== - dependencies: - charenc "~0.0.1" - crypt "~0.0.1" - is-buffer "~1.1.1" - -md5hex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/md5hex/-/md5hex-1.0.0.tgz" - integrity sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ== - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memoize-one@^5.0.0: - version "5.2.1" - resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz" - integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== - -memory-cache@~0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/memory-cache/-/memory-cache-0.2.0.tgz" - integrity sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -metro-babel-transformer@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz" - integrity sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A== - dependencies: - "@babel/core" "^7.20.0" - hermes-parser "0.8.0" - metro-source-map "0.73.10" - nullthrows "^1.1.1" - -metro-babel-transformer@0.73.9: - version "0.73.9" - resolved "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.9.tgz" - integrity sha512-DlYwg9wwYIZTHtic7dyD4BP0SDftoltZ3clma76nHu43blMWsCnrImHeHsAVne3XsQ+RJaSRxhN5nkG2VyVHwA== - dependencies: - "@babel/core" "^7.20.0" - hermes-parser "0.8.0" - metro-source-map "0.73.9" - nullthrows "^1.1.1" - -metro-cache-key@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.73.10.tgz" - integrity sha512-JMVDl/EREDiUW//cIcUzRjKSwE2AFxVWk47cFBer+KA4ohXIG2CQPEquT56hOw1Y1s6gKNxxs1OlAOEsubrFjw== - -metro-cache@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-cache/-/metro-cache-0.73.10.tgz" - integrity sha512-wPGlQZpdVlM404m7MxJqJ+hTReDr5epvfPbt2LerUAHY9RN99w61FeeAe25BMZBwgUgDtAsfGlJ51MBHg8MAqw== - dependencies: - metro-core "0.73.10" - rimraf "^3.0.2" - -metro-config@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-config/-/metro-config-0.73.10.tgz" - integrity sha512-wIlybd1Z9I8K2KcStTiJxTB7OK529dxFgogNpKCTU/3DxkgAASqSkgXnZP6kVyqjh5EOWAKFe5U6IPic7kXDdQ== - dependencies: - cosmiconfig "^5.0.5" - jest-validate "^26.5.2" - metro "0.73.10" - metro-cache "0.73.10" - metro-core "0.73.10" - metro-runtime "0.73.10" - -metro-core@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-core/-/metro-core-0.73.10.tgz" - integrity sha512-5uYkajIxKyL6W45iz/ftNnYPe1l92CvF2QJeon1CHsMXkEiOJxEjo41l+iSnO/YodBGrmMCyupSO4wOQGUc0lw== - dependencies: - lodash.throttle "^4.1.1" - metro-resolver "0.73.10" - -metro-file-map@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.73.10.tgz" - integrity sha512-XOMWAybeaXyD6zmVZPnoCCL2oO3rp4ta76oUlqWP0skBzhFxVtkE/UtDwApEMUY361JeBBago647gnKiARs+1g== - dependencies: - abort-controller "^3.0.0" - anymatch "^3.0.3" - debug "^2.2.0" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - invariant "^2.2.4" - jest-regex-util "^27.0.6" - jest-serializer "^27.0.6" - jest-util "^27.2.0" - jest-worker "^27.2.0" - micromatch "^4.0.4" - nullthrows "^1.1.1" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - -metro-hermes-compiler@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.73.10.tgz" - integrity sha512-rTRWEzkVrwtQLiYkOXhSdsKkIObnL+Jqo+IXHI7VEK2aSLWRAbtGNqECBs44kbOUypDYTFFE+WLtoqvUWqYkWg== - -metro-inspector-proxy@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.73.10.tgz" - integrity sha512-CEEvocYc5xCCZBtGSIggMCiRiXTrnBbh8pmjKQqm9TtJZALeOGyt5pXUaEkKGnhrXETrexsg6yIbsQHhEvVfvQ== - dependencies: - connect "^3.6.5" - debug "^2.2.0" - ws "^7.5.1" - yargs "^17.5.1" - -metro-minify-terser@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.73.10.tgz" - integrity sha512-uG7TSKQ/i0p9kM1qXrwbmY3v+6BrMItsOcEXcSP8Z+68bb+t9HeVK0T/hIfUu1v1PEnonhkhfzVsaP8QyTd5lQ== - dependencies: - terser "^5.15.0" - -metro-minify-uglify@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.73.10.tgz" - integrity sha512-eocnSeJKnLz/UoYntVFhCJffED7SLSgbCHgNvI6ju6hFb6EFHGJT9OLbkJWeXaWBWD3Zw5mYLS8GGqGn/CHZPA== - dependencies: - uglify-es "^3.1.9" - -metro-react-native-babel-preset@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.10.tgz" - integrity sha512-1/dnH4EHwFb2RKEKx34vVDpUS3urt2WEeR8FYim+ogqALg4sTpG7yeQPxWpbgKATezt4rNfqAANpIyH19MS4BQ== - dependencies: - "@babel/core" "^7.20.0" - "@babel/plugin-proposal-async-generator-functions" "^7.0.0" - "@babel/plugin-proposal-class-properties" "^7.0.0" - "@babel/plugin-proposal-export-default-from" "^7.0.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" - "@babel/plugin-proposal-optional-chaining" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.0.0" - "@babel/plugin-syntax-export-default-from" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.18.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" - "@babel/plugin-syntax-optional-chaining" "^7.0.0" - "@babel/plugin-transform-arrow-functions" "^7.0.0" - "@babel/plugin-transform-async-to-generator" "^7.0.0" - "@babel/plugin-transform-block-scoping" "^7.0.0" - "@babel/plugin-transform-classes" "^7.0.0" - "@babel/plugin-transform-computed-properties" "^7.0.0" - "@babel/plugin-transform-destructuring" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-function-name" "^7.0.0" - "@babel/plugin-transform-literals" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" - "@babel/plugin-transform-parameters" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-react-jsx-self" "^7.0.0" - "@babel/plugin-transform-react-jsx-source" "^7.0.0" - "@babel/plugin-transform-runtime" "^7.0.0" - "@babel/plugin-transform-shorthand-properties" "^7.0.0" - "@babel/plugin-transform-spread" "^7.0.0" - "@babel/plugin-transform-sticky-regex" "^7.0.0" - "@babel/plugin-transform-template-literals" "^7.0.0" - "@babel/plugin-transform-typescript" "^7.5.0" - "@babel/plugin-transform-unicode-regex" "^7.0.0" - "@babel/template" "^7.0.0" - react-refresh "^0.4.0" - -metro-react-native-babel-preset@0.73.9: - version "0.73.9" - resolved "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.9.tgz" - integrity sha512-AoD7v132iYDV4K78yN2OLgTPwtAKn0XlD2pOhzyBxiI8PeXzozhbKyPV7zUOJUPETj+pcEVfuYj5ZN/8+bhbCw== - dependencies: - "@babel/core" "^7.20.0" - "@babel/plugin-proposal-async-generator-functions" "^7.0.0" - "@babel/plugin-proposal-class-properties" "^7.0.0" - "@babel/plugin-proposal-export-default-from" "^7.0.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" - "@babel/plugin-proposal-optional-chaining" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.0.0" - "@babel/plugin-syntax-export-default-from" "^7.0.0" - "@babel/plugin-syntax-flow" "^7.18.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" - "@babel/plugin-syntax-optional-chaining" "^7.0.0" - "@babel/plugin-transform-arrow-functions" "^7.0.0" - "@babel/plugin-transform-async-to-generator" "^7.0.0" - "@babel/plugin-transform-block-scoping" "^7.0.0" - "@babel/plugin-transform-classes" "^7.0.0" - "@babel/plugin-transform-computed-properties" "^7.0.0" - "@babel/plugin-transform-destructuring" "^7.0.0" - "@babel/plugin-transform-flow-strip-types" "^7.0.0" - "@babel/plugin-transform-function-name" "^7.0.0" - "@babel/plugin-transform-literals" "^7.0.0" - "@babel/plugin-transform-modules-commonjs" "^7.0.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" - "@babel/plugin-transform-parameters" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-react-jsx-self" "^7.0.0" - "@babel/plugin-transform-react-jsx-source" "^7.0.0" - "@babel/plugin-transform-runtime" "^7.0.0" - "@babel/plugin-transform-shorthand-properties" "^7.0.0" - "@babel/plugin-transform-spread" "^7.0.0" - "@babel/plugin-transform-sticky-regex" "^7.0.0" - "@babel/plugin-transform-template-literals" "^7.0.0" - "@babel/plugin-transform-typescript" "^7.5.0" - "@babel/plugin-transform-unicode-regex" "^7.0.0" - "@babel/template" "^7.0.0" - react-refresh "^0.4.0" - -metro-react-native-babel-transformer@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.10.tgz" - integrity sha512-4G/upwqKdmKEjmsNa92/NEgsOxUWOygBVs+FXWfXWKgybrmcjh3NoqdRYrROo9ZRA/sB9Y/ZXKVkWOGKHtGzgg== - dependencies: - "@babel/core" "^7.20.0" - babel-preset-fbjs "^3.4.0" - hermes-parser "0.8.0" - metro-babel-transformer "0.73.10" - metro-react-native-babel-preset "0.73.10" - metro-source-map "0.73.10" - nullthrows "^1.1.1" - -metro-react-native-babel-transformer@0.73.9: - version "0.73.9" - resolved "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.9.tgz" - integrity sha512-DSdrEHuQ22ixY7DyipyKkIcqhOJrt5s6h6X7BYJCP9AMUfXOwLe2biY3BcgJz5GOXv8/Akry4vTCvQscVS1otQ== - dependencies: - "@babel/core" "^7.20.0" - babel-preset-fbjs "^3.4.0" - hermes-parser "0.8.0" - metro-babel-transformer "0.73.9" - metro-react-native-babel-preset "0.73.9" - metro-source-map "0.73.9" - nullthrows "^1.1.1" - -metro-resolver@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.73.10.tgz" - integrity sha512-HeXbs+0wjakaaVQ5BI7eT7uqxlZTc9rnyw6cdBWWMgUWB++KpoI0Ge7Hi6eQAOoVAzXC3m26mPFYLejpzTWjng== - dependencies: - absolute-path "^0.0.0" - -metro-runtime@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz" - integrity sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow== - dependencies: - "@babel/runtime" "^7.0.0" - react-refresh "^0.4.0" - -metro-runtime@0.73.9: - version "0.73.9" - resolved "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.9.tgz" - integrity sha512-d5Hs83FpKB9r8q8Vb95+fa6ESpwysmPr4lL1I2rM2qXAFiO7OAPT9Bc23WmXgidkBtD0uUFdB2lG+H1ATz8rZg== - dependencies: - "@babel/runtime" "^7.0.0" - react-refresh "^0.4.0" - -metro-source-map@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz" - integrity sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw== - dependencies: - "@babel/traverse" "^7.20.0" - "@babel/types" "^7.20.0" - invariant "^2.2.4" - metro-symbolicate "0.73.10" - nullthrows "^1.1.1" - ob1 "0.73.10" - source-map "^0.5.6" - vlq "^1.0.0" - -metro-source-map@0.73.9: - version "0.73.9" - resolved "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.9.tgz" - integrity sha512-l4VZKzdqafipriETYR6lsrwtavCF1+CMhCOY9XbyWeTrpGSNgJQgdeJpttzEZTHQQTLR0csQo0nD1ef3zEP6IQ== - dependencies: - "@babel/traverse" "^7.20.0" - "@babel/types" "^7.20.0" - invariant "^2.2.4" - metro-symbolicate "0.73.9" - nullthrows "^1.1.1" - ob1 "0.73.9" - source-map "^0.5.6" - vlq "^1.0.0" - -metro-symbolicate@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz" - integrity sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA== - dependencies: - invariant "^2.2.4" - metro-source-map "0.73.10" - nullthrows "^1.1.1" - source-map "^0.5.6" - through2 "^2.0.1" - vlq "^1.0.0" - -metro-symbolicate@0.73.9: - version "0.73.9" - resolved "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.9.tgz" - integrity sha512-4TUOwxRHHqbEHxRqRJ3wZY5TA8xq7AHMtXrXcjegMH9FscgYztsrIG9aNBUBS+VLB6g1qc6BYbfIgoAnLjCDyw== - dependencies: - invariant "^2.2.4" - metro-source-map "0.73.9" - nullthrows "^1.1.1" - source-map "^0.5.6" - through2 "^2.0.1" - vlq "^1.0.0" - -metro-transform-plugins@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.73.10.tgz" - integrity sha512-D4AgD3Vsrac+4YksaPmxs/0ocT67bvwTkFSIgWWeDvWwIG0U1iHzTS9f8Bvb4PITnXryDoFtjI6OWF7uOpGxpA== - dependencies: - "@babel/core" "^7.20.0" - "@babel/generator" "^7.20.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.20.0" - nullthrows "^1.1.1" - -metro-transform-worker@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.73.10.tgz" - integrity sha512-IySvVubudFxahxOljWtP0QIMMpgUrCP0bW16cz2Enof0PdumwmR7uU3dTbNq6S+XTzuMHR+076aIe4VhPAWsIQ== - dependencies: - "@babel/core" "^7.20.0" - "@babel/generator" "^7.20.0" - "@babel/parser" "^7.20.0" - "@babel/types" "^7.20.0" - babel-preset-fbjs "^3.4.0" - metro "0.73.10" - metro-babel-transformer "0.73.10" - metro-cache "0.73.10" - metro-cache-key "0.73.10" - metro-hermes-compiler "0.73.10" - metro-source-map "0.73.10" - metro-transform-plugins "0.73.10" - nullthrows "^1.1.1" - -metro@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/metro/-/metro-0.73.10.tgz" - integrity sha512-J2gBhNHFtc/Z48ysF0B/bfTwUwaRDLjNv7egfhQCc+934dpXcjJG2KZFeuybF+CvA9vo4QUi56G2U+RSAJ5tsA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/core" "^7.20.0" - "@babel/generator" "^7.20.0" - "@babel/parser" "^7.20.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.20.0" - "@babel/types" "^7.20.0" - absolute-path "^0.0.0" - accepts "^1.3.7" - async "^3.2.2" - chalk "^4.0.0" - ci-info "^2.0.0" - connect "^3.6.5" - debug "^2.2.0" - denodeify "^1.2.1" - error-stack-parser "^2.0.6" - graceful-fs "^4.2.4" - hermes-parser "0.8.0" - image-size "^0.6.0" - invariant "^2.2.4" - jest-worker "^27.2.0" - jsc-safe-url "^0.2.2" - lodash.throttle "^4.1.1" - metro-babel-transformer "0.73.10" - metro-cache "0.73.10" - metro-cache-key "0.73.10" - metro-config "0.73.10" - metro-core "0.73.10" - metro-file-map "0.73.10" - metro-hermes-compiler "0.73.10" - metro-inspector-proxy "0.73.10" - metro-minify-terser "0.73.10" - metro-minify-uglify "0.73.10" - metro-react-native-babel-preset "0.73.10" - metro-resolver "0.73.10" - metro-runtime "0.73.10" - metro-source-map "0.73.10" - metro-symbolicate "0.73.10" - metro-transform-plugins "0.73.10" - metro-transform-worker "0.73.10" - mime-types "^2.1.27" - node-fetch "^2.2.0" - nullthrows "^1.1.1" - rimraf "^3.0.2" - serialize-error "^2.1.0" - source-map "^0.5.6" - strip-ansi "^6.0.0" - temp "0.8.3" - throat "^5.0.0" - ws "^7.5.1" - yargs "^17.5.1" - -micromatch@^3.1.10: - version "3.1.10" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@^2.4.1, mime@^2.4.4: - version "2.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.2, "minimatch@2 || 3": - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2: - version "1.2.4" - resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.1, minipass@3.1.6: - version "3.1.6" - resolved "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz" - integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== - dependencies: - yallist "^4.0.0" - -minipass@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== - -minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@^0.5.1, mkdirp@~0.5.1: - version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mkdirp@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -ms@^2.1.1, ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -mv@~2: - version "2.1.1" - resolved "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz" - integrity sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg== - dependencies: - mkdirp "~0.5.1" - ncp "~2.0.0" - rimraf "~2.4.0" - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nanoid@^3.1.23: - version "3.3.6" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -native-base@^3.4.28: - version "3.4.28" - resolved "https://registry.npmjs.org/native-base/-/native-base-3.4.28.tgz" - integrity sha512-EDg9UFDNmfYXPInpRbxce+4oWFEIGaM7aG6ey4hVllcvMC3PkgCvkiXEB+7EemgC7Qr8CuFjgMTx7P0vvnwZeQ== - dependencies: - "@react-aria/visually-hidden" "^3.2.1" - "@react-native-aria/button" "^0.2.4" - "@react-native-aria/checkbox" "^0.2.3" - "@react-native-aria/combobox" "^0.2.4-alpha.0" - "@react-native-aria/focus" "^0.2.6" - "@react-native-aria/interactions" "^0.2.2" - "@react-native-aria/listbox" "^0.2.4-alpha.3" - "@react-native-aria/overlays" "^0.3.3" - "@react-native-aria/radio" "^0.2.4" - "@react-native-aria/slider" "^0.2.5-alpha.1" - "@react-native-aria/tabs" "^0.2.7" - "@react-native-aria/utils" "^0.2.8" - "@react-stately/checkbox" "3.0.3" - "@react-stately/collections" "3.3.0" - "@react-stately/combobox" "3.0.0-alpha.1" - "@react-stately/radio" "3.2.1" - "@react-stately/slider" "3.0.1" - "@react-stately/tabs" "3.0.0-alpha.1" - "@react-stately/toggle" "3.2.1" - inline-style-prefixer "^6.0.1" - lodash.clonedeep "^4.5.0" - lodash.get "^4.4.2" - lodash.has "^4.5.2" - lodash.isempty "^4.4.0" - lodash.isequal "^4.5.0" - lodash.isnil "^4.0.0" - lodash.merge "^4.6.2" - lodash.mergewith "^4.6.2" - lodash.omit "^4.5.0" - lodash.omitby "^4.6.0" - lodash.pick "^4.4.0" - lodash.uniqueid "^4.0.1" - stable-hash "^0.0.2" - tinycolor2 "^1.4.2" - use-sync-external-store "^1.2.0" - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -ncp@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz" - integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.5.0: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nested-error-stacks@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz" - integrity sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -nocache@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz" - integrity sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw== - -node-dir@^0.1.17: - version "0.1.17" - resolved "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz" - integrity sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg== - dependencies: - minimatch "^3.0.2" - -node-fetch@^2.2.0, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: - version "2.6.12" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz" - integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1.2.1, node-forge@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.12: - version "2.0.12" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz" - integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== - -node-stream-zip@^1.9.1: - version "1.15.0" - resolved "https://registry.npmjs.org/node-stream-zip/-/node-stream-zip-1.15.0.tgz" - integrity sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw== - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-package-arg@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz" - integrity sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g== - dependencies: - hosted-git-info "^3.0.2" - osenv "^0.1.5" - semver "^5.6.0" - validate-npm-package-name "^3.0.0" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== - dependencies: - path-key "^2.0.0" - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -nullthrows@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz" - integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== - -ob1@0.73.10: - version "0.73.10" - resolved "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz" - integrity sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw== - -ob1@0.73.9: - version "0.73.9" - resolved "https://registry.npmjs.org/ob1/-/ob1-0.73.9.tgz" - integrity sha512-kHOzCOFXmAM26fy7V/YuXNKne2TyRiXbFAvPBIbuedJCZZWQZHLdPzMeXJI4Egt6IcfDttRzN3jQ90wOwq1iNw== - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.6: - version "1.1.7" - resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz" - integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.fromentries@^2.0.6: - version "2.0.7" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz" - integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.groupby@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz" - integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - -object.hasown@^1.1.2: - version "1.1.3" - resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz" - integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== - dependencies: - define-properties "^1.2.0" - es-abstract "^1.22.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - -object.values@^1.1.6: - version "1.1.7" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" - integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== - dependencies: - ee-first "1.1.1" - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" - integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^6.2.0: - version "6.4.0" - resolved "https://registry.npmjs.org/open/-/open-6.4.0.tgz" - integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== - dependencies: - is-wsl "^1.1.0" - -open@^8.0.4, open@^8.3.0: - version "8.4.2" - resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -ora@^5.4.1: - version "5.4.1" - resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" - integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== - dependencies: - bl "^4.1.0" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - is-unicode-supported "^0.1.0" - log-symbols "^4.1.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -ora@3.4.0: - version "3.4.0" - resolved "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz" - integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== - dependencies: - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-spinners "^2.0.0" - log-symbols "^2.2.0" - strip-ansi "^5.2.0" - wcwidth "^1.0.1" - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" - integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -osenv@^0.1.5: - version "0.1.5" - resolved "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - -p-limit@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" - integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-png@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/parse-png/-/parse-png-2.1.0.tgz" - integrity sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ== - dependencies: - pngjs "^3.3.0" - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - -password-prompt@^1.0.4: - version "1.1.2" - resolved "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz" - integrity sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA== - dependencies: - ansi-escapes "^3.1.0" - cross-spawn "^6.0.5" - -path-browserify@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.5, path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@^1.8.0: - version "1.8.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pirates@^4.0.1, pirates@^4.0.5: - version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - -plist@^3.0.5: - version "3.0.6" - resolved "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz" - integrity sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA== - dependencies: - base64-js "^1.5.1" - xmlbuilder "^15.1.1" - -pngjs@^3.3.0: - version "3.4.0" - resolved "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz" - integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^2.8.8, prettier@>=2.0.0, prettier@>=2.4: - version "2.8.8" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -pretty-bytes@5.6.0: - version "5.6.0" - resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -pretty-format@^26.5.2, pretty-format@^26.6.2: - version "26.6.2" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz" - integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== - dependencies: - "@jest/types" "^26.6.2" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^17.0.1" - -pretty-format@^29.6.0: - version "29.6.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.0.tgz" - integrity sha512-XH+D4n7Ey0iSR6PdAnBs99cWMZdGsdKrR33iUHQNr79w1szKTCIZDVdXuccAsHVwDBp0XeWPfNEoaxP9EZgRmQ== - dependencies: - "@jest/schemas" "^29.6.0" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -progress@2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - -promise@^8.3.0: - version "8.3.0" - resolved "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz" - integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== - dependencies: - asap "~2.0.6" - -prompts@^2.3.2, prompts@^2.4.0: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@*, prop-types@^15.7.2, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -qrcode-terminal@0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz" - integrity sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ== - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -query-string@^6.13.6: - version "6.14.1" - resolved "https://registry.npmjs.org/query-string/-/query-string-6.14.1.tgz" - integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== - dependencies: - decode-uri-component "^0.2.0" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -query-string@^7.1.3: - version "7.1.3" - resolved "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz" - integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== - dependencies: - decode-uri-component "^0.2.2" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc@~1.2.7: - version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-devtools-core@^4.26.1: - version "4.27.8" - resolved "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.27.8.tgz" - integrity sha512-KwoH8/wN/+m5wTItLnsgVraGNmFrcTWR3k1VimP1HjtMMw4CNF+F5vg4S/0tzTEKIdpCi2R7mPNTC+/dswZMgw== - dependencies: - shell-quote "^1.6.1" - ws "^7" - -react-dom@*, "react-dom@^16.8.0 || ^17.0.0-rc.1 || ^18.0.0": - version "18.2.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-freeze@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/react-freeze/-/react-freeze-1.0.3.tgz" - integrity sha512-ZnXwLQnGzrDpHBHiC56TXFXvmolPeMjTn1UOm610M4EXGzbEDR7oOIyS2ZiItgbs6eZc4oU/a0hpk8PrcKvv5g== - -"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-is@^16.13.0: - version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^16.13.1: - version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-native-codegen@^0.71.5: - version "0.71.5" - resolved "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.71.5.tgz" - integrity sha512-rfsuc0zkuUuMjFnrT55I1mDZ+pBRp2zAiRwxck3m6qeGJBGK5OV5JH66eDQ4aa+3m0of316CqrJDRzVlYufzIg== - dependencies: - "@babel/parser" "^7.14.0" - flow-parser "^0.185.0" - jscodeshift "^0.13.1" - nullthrows "^1.1.1" - -"react-native-gesture-handler@>= 1.0.0", react-native-gesture-handler@~2.9.0: - version "2.9.0" - resolved "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.9.0.tgz" - integrity sha512-a0BcH3Qb1tgVqUutc6d3VuWQkI1AM3+fJx8dkxzZs9t06qA27QgURYFoklpabuWpsUTzuKRpxleykp25E8m7tg== - dependencies: - "@egjs/hammerjs" "^2.0.17" - hoist-non-react-statics "^3.3.0" - invariant "^2.2.4" - lodash "^4.17.21" - prop-types "^15.7.2" - -react-native-gradle-plugin@^0.71.18: - version "0.71.19" - resolved "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.19.tgz" - integrity sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ== - -react-native-reanimated@~2.14.4: - version "2.14.4" - resolved "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-2.14.4.tgz" - integrity sha512-DquSbl7P8j4SAmc+kRdd75Ianm8G+IYQ9T4AQ6lrpLVeDkhZmjWI0wkutKWnp6L7c5XNVUrFDUf69dwETLCItQ== - dependencies: - "@babel/plugin-transform-object-assign" "^7.16.7" - "@babel/preset-typescript" "^7.16.7" - convert-source-map "^1.7.0" - invariant "^2.2.4" - lodash.isequal "^4.5.0" - setimmediate "^1.0.5" - string-hash-64 "^1.0.3" - -react-native-safe-area-context@*, "react-native-safe-area-context@>= 3.0.0", react-native-safe-area-context@4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.5.0.tgz" - integrity sha512-0WORnk9SkREGUg2V7jHZbuN5x4vcxj/1B0QOcXJjdYWrzZHgLcUzYWWIUecUPJh747Mwjt/42RZDOaFn3L8kPQ== - -react-native-safe-area-view@^0.14.9: - version "0.14.9" - resolved "https://registry.npmjs.org/react-native-safe-area-view/-/react-native-safe-area-view-0.14.9.tgz" - integrity sha512-WII/ulhpVyL/qbYb7vydq7dJAfZRBcEhg4/UWt6F6nAKpLa3gAceMOxBxI914ppwSP/TdUsandFy6lkJQE0z4A== - dependencies: - hoist-non-react-statics "^2.3.1" - -"react-native-screens@>= 3.0.0", react-native-screens@~3.20.0: - version "3.20.0" - resolved "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.20.0.tgz" - integrity sha512-joWUKWAVHxymP3mL9gYApFHAsbd9L6ZcmpoZa6Sl3W/82bvvNVMqcfP7MeNqVCg73qZ8yL4fW+J/syusHleUgg== - dependencies: - react-freeze "^1.0.0" - warn-once "^0.1.0" - -react-native-svg@*, react-native-svg@13.4.0: - version "13.4.0" - resolved "https://registry.npmjs.org/react-native-svg/-/react-native-svg-13.4.0.tgz" - integrity sha512-B3TwK+H0+JuRhYPzF21AgqMt4fjhCwDZ9QUtwNstT5XcslJBXC0FoTkdZo8IEb1Sv4suSqhZwlAY6lwOv3tHag== - dependencies: - css-select "^5.1.0" - css-tree "^1.1.3" - -react-native@*, react-native@>=0.57, react-native@0.71.8: - version "0.71.8" - resolved "https://registry.npmjs.org/react-native/-/react-native-0.71.8.tgz" - integrity sha512-ftMAuhpgTkbHU9brrqsEyxcNrpYvXKeATY+if22Nfhhg1zW+6wn95w9otwTnA3xHkljPCbng8mUhmmERjGEl7g== - dependencies: - "@jest/create-cache-key-function" "^29.2.1" - "@react-native-community/cli" "10.2.2" - "@react-native-community/cli-platform-android" "10.2.0" - "@react-native-community/cli-platform-ios" "10.2.1" - "@react-native/assets" "1.0.0" - "@react-native/normalize-color" "2.1.0" - "@react-native/polyfills" "2.0.0" - abort-controller "^3.0.0" - anser "^1.4.9" - base64-js "^1.1.2" - deprecated-react-native-prop-types "^3.0.1" - event-target-shim "^5.0.1" - invariant "^2.2.4" - jest-environment-node "^29.2.1" - jsc-android "^250231.0.0" - memoize-one "^5.0.0" - metro-react-native-babel-transformer "0.73.9" - metro-runtime "0.73.9" - metro-source-map "0.73.9" - mkdirp "^0.5.1" - nullthrows "^1.1.1" - pretty-format "^26.5.2" - promise "^8.3.0" - react-devtools-core "^4.26.1" - react-native-codegen "^0.71.5" - react-native-gradle-plugin "^0.71.18" - react-refresh "^0.4.0" - react-shallow-renderer "^16.15.0" - regenerator-runtime "^0.13.2" - scheduler "^0.23.0" - stacktrace-parser "^0.1.3" - use-sync-external-store "^1.0.0" - whatwg-fetch "^3.0.0" - ws "^6.2.2" - -react-navigation@^4.4.4: - version "4.4.4" - resolved "https://registry.npmjs.org/react-navigation/-/react-navigation-4.4.4.tgz" - integrity sha512-08Nzy1aKEd73496CsuzN49vLFmxPKYF5WpKGgGvkQ10clB79IRM2BtAfVl6NgPKuUM8FXq1wCsrjo/c5ftl5og== - dependencies: - "@react-navigation/core" "^3.7.9" - "@react-navigation/native" "^3.8.4" - -react-refresh@^0.4.0: - version "0.4.3" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz" - integrity sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA== - -react-shallow-renderer@^16.15.0: - version "16.15.0" - resolved "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz" - integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== - dependencies: - object-assign "^4.1.1" - react-is "^16.12.0 || ^17.0.0 || ^18.0.0" - -react@*, "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0-rc.1", "react@^16.8.0 || ^17.0.0-rc.1 || ^18.0.0", react@^18.2.0, react@>=16.0, react@>=16.8, react@>=17.0.0, react@18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -readable-stream@^3.4.0: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@~2.3.6: - version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readline@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz" - integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== - -recast@^0.20.4: - version "0.20.5" - resolved "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz" - integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ== - dependencies: - ast-types "0.14.2" - esprima "~4.0.0" - source-map "~0.6.1" - tslib "^2.0.1" - -reflect.getprototypeof@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz" - integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - globalthis "^1.0.3" - which-builtin-type "^1.1.3" - -regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.2: - version "0.13.11" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -regenerator-transform@^0.15.1: - version "0.15.1" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" - integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz" - integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - functions-have-names "^1.2.3" - -regexpp@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -remove-trailing-slash@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz" - integrity sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA== - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requireg@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/requireg/-/requireg-0.2.2.tgz" - integrity sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg== - dependencies: - nested-error-stacks "~2.0.1" - rc "~1.2.7" - resolve "~1.7.1" - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -reselect@^4.0.0: - version "4.1.8" - resolved "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz" - integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ== - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" - integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - -resolve@^1.10.1, resolve@^1.13.1, resolve@^1.14.2: - version "1.22.2" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.22.4: - version "1.22.4" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz" - integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.4: - version "2.0.0-next.4" - resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@~1.7.1: - version "1.7.1" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz" - integrity sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw== - dependencies: - path-parse "^1.0.5" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" - integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^2.6.2: - version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rimraf@~2.2.6: - version "2.2.8" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz" - integrity sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg== - -rimraf@~2.4.0: - version "2.4.5" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz" - integrity sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ== - dependencies: - glob "^6.0.1" - -rimraf@~2.6.2: - version "2.6.3" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-array-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz" - integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-json-stringify@~1: - version "1.2.0" - resolved "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz" - integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sax@>=0.6.0: - version "1.2.4" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -semver@^5.5.0: - version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^5.6.0: - version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.5: - version "7.5.3" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz" - integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.7: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -semver@7.3.2: - version "7.3.2" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -send@^0.18.0, send@0.18.0: - version "0.18.0" - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-error@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz" - integrity sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw== - -serialize-error@6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-6.0.0.tgz" - integrity sha512-3vmBkMZLQO+BR4RPHcyRGdE09XCF6cvxzk2N2qn8Er3F91cy8Qt7VvEbZBOpaL53qsBbe2cFOefU6tRY6WDelA== - dependencies: - type-fest "^0.12.0" - -serve-static@^1.13.1: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.6.1, shell-quote@^1.7.3: - version "1.8.1" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -simple-plist@^1.1.0: - version "1.3.1" - resolved "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz" - integrity sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw== - dependencies: - bplist-creator "0.1.0" - bplist-parser "0.3.1" - plist "^3.0.5" - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" - integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -slugify@^1.3.4: - version "1.6.6" - resolved "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz" - integrity sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.16, source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -split@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - -stable-hash@^0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.2.tgz" - integrity sha512-tPwQ3c1rLIwbJpq59duoznegEbmgfV630C2n4R4G96LKBFljgK8j+O9AxjqB6cAzu4gE7s4pByrLWtZel8E+Mg== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -stacktrace-parser@^0.1.3: - version "0.1.10" - resolved "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz" - integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== - dependencies: - type-fest "^0.7.1" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -stream-buffers@2.2.x: - version "2.2.0" - resolved "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz" - integrity sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg== - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== - -string_decoder@^1.1.1, string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -string-hash-64@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/string-hash-64/-/string-hash-64-1.0.3.tgz" - integrity sha512-D5OKWKvDhyVWWn2x5Y9b+37NUllks34q1dCDhk/vYcso9fmhs+Tl3KR/gE4v5UNj2UA35cnX4KdVVGkG1deKqw== - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.matchall@^4.0.8: - version "4.0.9" - resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.9.tgz" - integrity sha512-6i5hL3MqG/K2G43mWXWgP+qizFW/QH/7kCNN13JrJS5q48FN5IKksLDscexKP3dnmB6cdm9jlNgAsWNLpSykmA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - regexp.prototype.flags "^1.5.0" - side-channel "^1.0.4" - -string.prototype.trim@^1.2.7: - version "1.2.8" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimend@^1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimstart@^1.0.6: - version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -strip-ansi@^5.0.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - -strnum@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz" - integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== - -structured-headers@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz" - integrity sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg== - -sucrase@^3.20.0: - version "3.32.0" - resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz" - integrity sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "7.1.6" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - -sudo-prompt@^8.2.0: - version "8.2.5" - resolved "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz" - integrity sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw== - -sudo-prompt@^9.0.0: - version "9.2.1" - resolved "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz" - integrity sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw== - -sudo-prompt@9.1.1: - version "9.1.1" - resolved "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.1.1.tgz" - integrity sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -tar@^6.0.2, tar@^6.0.5: - version "6.1.15" - resolved "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz" - integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^5.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz" - integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ== - -temp-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz" - integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== - -temp@^0.8.4: - version "0.8.4" - resolved "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz" - integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== - dependencies: - rimraf "~2.6.2" - -temp@0.8.3: - version "0.8.3" - resolved "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz" - integrity sha512-jtnWJs6B1cZlHs9wPG7BrowKxZw/rf6+UpGAkr8AaYmiTyTO7zQlLoST8zx/8TcUPnZmeBoB+H8ARuHZaSijVw== - dependencies: - os-tmpdir "^1.0.0" - rimraf "~2.2.6" - -tempy@^0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/tempy/-/tempy-0.7.1.tgz" - integrity sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg== - dependencies: - del "^6.0.0" - is-stream "^2.0.0" - temp-dir "^2.0.0" - type-fest "^0.16.0" - unique-string "^2.0.0" - -tempy@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz" - integrity sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ== - dependencies: - temp-dir "^1.0.0" - type-fest "^0.3.1" - unique-string "^1.0.0" - -terminal-link@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser@^5.15.0: - version "5.18.2" - resolved "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz" - integrity sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through@2: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -through2@^2.0.1: - version "2.0.5" - resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -tinycolor2@^1.4.2: - version "1.6.0" - resolved "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz" - integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -traverse@~0.6.6: - version "0.6.7" - resolved "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz" - integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg== - -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== - -tsconfig-paths@^3.14.2: - version "3.14.2" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0: - version "2.6.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz" - integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.12.0.tgz" - integrity sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg== - -type-fest@^0.16.0: - version "0.16.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" - integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz" - integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== - -type-fest@^0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz" - integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typescript@^4.9.5, "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": - version "4.9.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== - -ua-parser-js@^1.0.35: - version "1.0.35" - resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz" - integrity sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA== - -uglify-es@^3.1.9: - version "3.3.9" - resolved "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz" - integrity sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ== - dependencies: - commander "~2.13.0" - source-map "~0.6.1" - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz" - integrity sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg== - dependencies: - crypto-random-string "^1.0.0" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unpipe@~1.0.0, unpipe@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -update-browserslist-db@^1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" - integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - -url-join@4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz" - integrity sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA== - -url-parse@^1.5.9: - version "1.5.10" - resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -use-latest-callback@^0.1.5: - version "0.1.6" - resolved "https://registry.npmjs.org/use-latest-callback/-/use-latest-callback-0.1.6.tgz" - integrity sha512-VO/P91A/PmKH9bcN9a7O3duSuxe6M14ZoYXgA6a8dab8doWNdhiIHzEkX/jFeTTRBsX0Ubk6nG4q2NIjNsj+bg== - -use-sync-external-store@^1.0.0, use-sync-external-store@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@^3.3.2, uuid@^3.4.0: - version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz" - integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== - -uuid@^8.0.0: - version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -valid-url@~1.0.9: - version "1.0.9" - resolved "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz" - integrity sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA== - -validate-npm-package-name@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz" - integrity sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw== - dependencies: - builtins "^1.0.3" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -vlq@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz" - integrity sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w== - -walker@^1.0.7: - version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -warn-once@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/warn-once/-/warn-once-0.1.1.tgz" - integrity sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q== - -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -whatwg-fetch@^3.0.0: - version "3.6.2" - resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz" - integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-builtin-type@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz" - integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== - dependencies: - function.prototype.name "^1.1.5" - has-tostringtag "^1.0.0" - is-async-function "^2.0.0" - is-date-object "^1.0.5" - is-finalizationregistry "^1.0.2" - is-generator-function "^1.0.10" - is-regex "^1.1.4" - is-weakref "^1.0.2" - isarray "^2.0.5" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" - -which-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== - dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" - -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - -which-typed-array@^1.1.10, which-typed-array@^1.1.11, which-typed-array@^1.1.9: - version "1.1.11" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz" - integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wonka@^4.0.14: - version "4.0.15" - resolved "https://registry.npmjs.org/wonka/-/wonka-4.0.15.tgz" - integrity sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^2.3.0: - version "2.4.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -ws@^6.2.2: - version "6.2.2" - resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" - integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== - dependencies: - async-limiter "~1.0.0" - -ws@^7: - version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^7.5.1: - version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.12.1: - version "8.13.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== - -xcode@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz" - integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA== - dependencies: - simple-plist "^1.1.0" - uuid "^7.0.3" - -xml2js@0.4.23: - version "0.4.23" - resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz" - integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - -xmlbuilder@^14.0.0: - version "14.0.0" - resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-14.0.0.tgz" - integrity sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg== - -xmlbuilder@^15.1.1: - version "15.1.1" - resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz" - integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== - -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^15.1.0: - version "15.4.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^17.5.1: - version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 11318940f72cd7c4896252ecfbfee99193f4b7d0 Mon Sep 17 00:00:00 2001 From: David Day Date: Fri, 6 Sep 2024 13:58:28 -0700 Subject: [PATCH 2/5] Setup supabase. --- .vscode/extensions.json | 11 +- .vscode/settings.json | 10 +- package-lock.json | 133 +++++++++++++ package.json | 1 + src/utils/database.type.ts | 135 ++++++++++++++ src/utils/supabase.ts | 8 + supabase/.gitignore | 4 + supabase/config.toml | 237 ++++++++++++++++++++++++ supabase/functions/hello-world/index.ts | 32 ++++ supabase/seed.sql | 0 10 files changed, 563 insertions(+), 8 deletions(-) create mode 100644 src/utils/database.type.ts create mode 100644 src/utils/supabase.ts create mode 100644 supabase/.gitignore create mode 100644 supabase/config.toml create mode 100644 supabase/functions/hello-world/index.ts create mode 100644 supabase/seed.sql diff --git a/.vscode/extensions.json b/.vscode/extensions.json index daf7413..c8eca95 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,9 +1,6 @@ { - // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. - // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp - - // List of extensions which should be recommended for users of this workspace. - "recommendations": ["dbaeumer.vscode-eslint"], - // List of extensions recommended by VS Code that should not be recommended for users of this workspace. - "unwantedRecommendations": [] + "recommendations": [ + "denoland.vscode-deno", + "dbaeumer.vscode-eslint" + ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index e960ecf..497e9e0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,15 @@ { + "deno.enablePaths": [ + "supabase/functions" + ], + "deno.lint": true, + "deno.unstable": true, "editor.codeActionsOnSave": { "source.organizeImports": "explicit", "source.fixAll.eslint": "explicit" }, - "editor.formatOnSave": true + "editor.formatOnSave": true, + "[typescript]": { + "editor.defaultFormatter": "denoland.vscode-deno" + } } diff --git a/package-lock.json b/package-lock.json index 249be38..39cc32c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "ncu-app", "version": "0.0.0", "dependencies": { + "@supabase/supabase-js": "^2.45.3", "@tanstack/react-router": "^1.56.2", "react": "^18.3.1", "react-dom": "^18.3.1" @@ -2805,6 +2806,92 @@ "win32" ] }, + "node_modules/@supabase/auth-js": { + "version": "2.65.0", + "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.65.0.tgz", + "integrity": "sha512-+wboHfZufAE2Y612OsKeVP4rVOeGZzzMLD/Ac3HrTQkkY4qXNjI6Af9gtmxwccE5nFvTiF114FEbIQ1hRq5uUw==", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/functions-js": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.4.1.tgz", + "integrity": "sha512-8sZ2ibwHlf+WkHDUZJUXqqmPvWQ3UHN0W30behOJngVh/qHHekhJLCFbh0AjkE9/FqqXtf9eoVvmYgfCLk5tNA==", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/node-fetch": { + "version": "2.6.15", + "resolved": "https://registry.npmjs.org/@supabase/node-fetch/-/node-fetch-2.6.15.tgz", + "integrity": "sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/@supabase/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/@supabase/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/@supabase/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/@supabase/postgrest-js": { + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-1.15.8.tgz", + "integrity": "sha512-YunjXpoQjQ0a0/7vGAvGZA2dlMABXFdVI/8TuVKtlePxyT71sl6ERl6ay1fmIeZcqxiuFQuZw/LXUuStUG9bbg==", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/realtime-js": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.10.2.tgz", + "integrity": "sha512-qyCQaNg90HmJstsvr2aJNxK2zgoKh9ZZA8oqb7UT2LCh3mj9zpa3Iwu167AuyNxsxrUE8eEJ2yH6wLCij4EApA==", + "dependencies": { + "@supabase/node-fetch": "^2.6.14", + "@types/phoenix": "^1.5.4", + "@types/ws": "^8.5.10", + "ws": "^8.14.2" + } + }, + "node_modules/@supabase/storage-js": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.7.0.tgz", + "integrity": "sha512-iZenEdO6Mx9iTR6T7wC7sk6KKsoDPLq8rdu5VRy7+JiT1i8fnqfcOr6mfF2Eaqky9VQzhP8zZKQYjzozB65Rig==", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/supabase-js": { + "version": "2.45.3", + "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.45.3.tgz", + "integrity": "sha512-4wAux6cuVMrdH/qUjKn6p3p3L9AtAO3Une6ojIrtpCj1RaXKVoyIATiacSRAI+pKff6XZBVCGC29v+z4Jo/uSw==", + "dependencies": { + "@supabase/auth-js": "2.65.0", + "@supabase/functions-js": "2.4.1", + "@supabase/node-fetch": "2.6.15", + "@supabase/postgrest-js": "1.15.8", + "@supabase/realtime-js": "2.10.2", + "@supabase/storage-js": "2.7.0" + } + }, "node_modules/@surma/rollup-plugin-off-main-thread": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", @@ -3031,6 +3118,19 @@ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, + "node_modules/@types/node": { + "version": "22.5.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz", + "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/phoenix": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.5.tgz", + "integrity": "sha512-xegpDuR+z0UqG9fwHqNoy3rI7JDlvaPh2TY47Fl80oq6g+hXT+c/LEuE43X48clZ6lOfANl5WrPur9fYO1RJ/w==" + }, "node_modules/@types/prop-types": { "version": "15.7.12", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", @@ -3068,6 +3168,14 @@ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "dev": true }, + "node_modules/@types/ws": { + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "7.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", @@ -8540,6 +8648,11 @@ "url": "https://github.com/sponsors/antfu" } }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -9311,6 +9424,26 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", diff --git a/package.json b/package.json index 99f1a9f..5a16d6c 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "preview": "vite preview" }, "dependencies": { + "@supabase/supabase-js": "^2.45.3", "@tanstack/react-router": "^1.56.2", "react": "^18.3.1", "react-dom": "^18.3.1" diff --git a/src/utils/database.type.ts b/src/utils/database.type.ts new file mode 100644 index 0000000..da0ad61 --- /dev/null +++ b/src/utils/database.type.ts @@ -0,0 +1,135 @@ +export type Json = + | string + | number + | boolean + | null + | { [key: string]: Json | undefined } + | Json[] + +export type Database = { + public: { + Tables: { + species: { + Row: { + created_at: string + gbifId: string + id: number + occurrences: number | null + powoId: string + scientificName: string + } + Insert: { + created_at?: string + gbifId: string + id?: number + occurrences?: number | null + powoId: string + scientificName: string + } + Update: { + created_at?: string + gbifId?: string + id?: number + occurrences?: number | null + powoId?: string + scientificName?: string + } + Relationships: [] + } + } + Views: { + [_ in never]: never + } + Functions: { + [_ in never]: never + } + Enums: { + [_ in never]: never + } + CompositeTypes: { + [_ in never]: never + } + } +} + +type PublicSchema = Database[Extract] + +export type Tables< + PublicTableNameOrOptions extends + | keyof (PublicSchema["Tables"] & PublicSchema["Views"]) + | { schema: keyof Database }, + TableName extends PublicTableNameOrOptions extends { schema: keyof Database } + ? keyof (Database[PublicTableNameOrOptions["schema"]]["Tables"] & + Database[PublicTableNameOrOptions["schema"]]["Views"]) + : never = never, +> = PublicTableNameOrOptions extends { schema: keyof Database } + ? (Database[PublicTableNameOrOptions["schema"]]["Tables"] & + Database[PublicTableNameOrOptions["schema"]]["Views"])[TableName] extends { + Row: infer R + } + ? R + : never + : PublicTableNameOrOptions extends keyof (PublicSchema["Tables"] & + PublicSchema["Views"]) + ? (PublicSchema["Tables"] & + PublicSchema["Views"])[PublicTableNameOrOptions] extends { + Row: infer R + } + ? R + : never + : never + +export type TablesInsert< + PublicTableNameOrOptions extends + | keyof PublicSchema["Tables"] + | { schema: keyof Database }, + TableName extends PublicTableNameOrOptions extends { schema: keyof Database } + ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"] + : never = never, +> = PublicTableNameOrOptions extends { schema: keyof Database } + ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends { + Insert: infer I + } + ? I + : never + : PublicTableNameOrOptions extends keyof PublicSchema["Tables"] + ? PublicSchema["Tables"][PublicTableNameOrOptions] extends { + Insert: infer I + } + ? I + : never + : never + +export type TablesUpdate< + PublicTableNameOrOptions extends + | keyof PublicSchema["Tables"] + | { schema: keyof Database }, + TableName extends PublicTableNameOrOptions extends { schema: keyof Database } + ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"] + : never = never, +> = PublicTableNameOrOptions extends { schema: keyof Database } + ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends { + Update: infer U + } + ? U + : never + : PublicTableNameOrOptions extends keyof PublicSchema["Tables"] + ? PublicSchema["Tables"][PublicTableNameOrOptions] extends { + Update: infer U + } + ? U + : never + : never + +export type Enums< + PublicEnumNameOrOptions extends + | keyof PublicSchema["Enums"] + | { schema: keyof Database }, + EnumName extends PublicEnumNameOrOptions extends { schema: keyof Database } + ? keyof Database[PublicEnumNameOrOptions["schema"]]["Enums"] + : never = never, +> = PublicEnumNameOrOptions extends { schema: keyof Database } + ? Database[PublicEnumNameOrOptions["schema"]]["Enums"][EnumName] + : PublicEnumNameOrOptions extends keyof PublicSchema["Enums"] + ? PublicSchema["Enums"][PublicEnumNameOrOptions] + : never diff --git a/src/utils/supabase.ts b/src/utils/supabase.ts new file mode 100644 index 0000000..c79b988 --- /dev/null +++ b/src/utils/supabase.ts @@ -0,0 +1,8 @@ +import { createClient } from '@supabase/supabase-js' +import { Database } from './database.type' + +// supabase client for interacting with the database +export const supabase = createClient( + import.meta.env.SUPABASE_URL, + import.meta.env.SUPABASE_ANON_KEY, +) diff --git a/supabase/.gitignore b/supabase/.gitignore new file mode 100644 index 0000000..a3ad880 --- /dev/null +++ b/supabase/.gitignore @@ -0,0 +1,4 @@ +# Supabase +.branches +.temp +.env diff --git a/supabase/config.toml b/supabase/config.toml new file mode 100644 index 0000000..25abeae --- /dev/null +++ b/supabase/config.toml @@ -0,0 +1,237 @@ +# A string used to distinguish different Supabase projects on the same host. Defaults to the +# working directory name when running `supabase init`. +project_id = "NCU-App" + +[api] +enabled = true +# Port to use for the API URL. +port = 54321 +# Schemas to expose in your API. Tables, views and stored procedures in this schema will get API +# endpoints. `public` is always included. +schemas = ["public", "graphql_public"] +# Extra schemas to add to the search_path of every request. `public` is always included. +extra_search_path = ["public", "extensions"] +# The maximum number of rows returns from a view, table, or stored procedure. Limits payload size +# for accidental or malicious requests. +max_rows = 1000 + +[api.tls] +enabled = false + +[db] +# Port to use for the local database URL. +port = 54322 +# Port used by db diff command to initialize the shadow database. +shadow_port = 54320 +# The database major version to use. This has to be the same as your remote database's. Run `SHOW +# server_version;` on the remote database to check. +major_version = 15 + +[db.pooler] +enabled = false +# Port to use for the local connection pooler. +port = 54329 +# Specifies when a server connection can be reused by other clients. +# Configure one of the supported pooler modes: `transaction`, `session`. +pool_mode = "transaction" +# How many server connections to allow per user/database pair. +default_pool_size = 20 +# Maximum number of client connections allowed. +max_client_conn = 100 + +[realtime] +enabled = true +# Bind realtime via either IPv4 or IPv6. (default: IPv4) +# ip_version = "IPv6" +# The maximum length in bytes of HTTP request headers. (default: 4096) +# max_header_length = 4096 + +[studio] +enabled = true +# Port to use for Supabase Studio. +port = 54323 +# External URL of the API server that frontend connects to. +api_url = "http://127.0.0.1" +# OpenAI API Key to use for Supabase AI in the Supabase Studio. +openai_api_key = "env(OPENAI_API_KEY)" + +# Email testing server. Emails sent with the local dev setup are not actually sent - rather, they +# are monitored, and you can view the emails that would have been sent from the web interface. +[inbucket] +enabled = true +# Port to use for the email testing server web interface. +port = 54324 +# Uncomment to expose additional ports for testing user applications that send emails. +# smtp_port = 54325 +# pop3_port = 54326 + +[storage] +enabled = true +# The maximum file size allowed (e.g. "5MB", "500KB"). +file_size_limit = "50MiB" + +[storage.image_transformation] +enabled = true + +# Uncomment to configure local storage buckets +# [storage.buckets.images] +# public = false +# file_size_limit = "50MiB" +# allowed_mime_types = ["image/png", "image/jpeg"] +# objects_path = "./images" + +[auth] +enabled = true +# The base URL of your website. Used as an allow-list for redirects and for constructing URLs used +# in emails. +site_url = "http://127.0.0.1:3000" +# A list of *exact* URLs that auth providers are permitted to redirect to post authentication. +additional_redirect_urls = ["https://127.0.0.1:3000"] +# How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 (1 week). +jwt_expiry = 3600 +# If disabled, the refresh token will never expire. +enable_refresh_token_rotation = true +# Allows refresh tokens to be reused after expiry, up to the specified interval in seconds. +# Requires enable_refresh_token_rotation = true. +refresh_token_reuse_interval = 10 +# Allow/disallow new user signups to your project. +enable_signup = true +# Allow/disallow anonymous sign-ins to your project. +enable_anonymous_sign_ins = false +# Allow/disallow testing manual linking of accounts +enable_manual_linking = false + +[auth.email] +# Allow/disallow new user signups via email to your project. +enable_signup = true +# If enabled, a user will be required to confirm any email change on both the old, and new email +# addresses. If disabled, only the new email is required to confirm. +double_confirm_changes = true +# If enabled, users need to confirm their email address before signing in. +enable_confirmations = false +# Controls the minimum amount of time that must pass before sending another signup confirmation or password reset email. +max_frequency = "1s" + +# Use a production-ready SMTP server +# [auth.email.smtp] +# host = "smtp.sendgrid.net" +# port = 587 +# user = "apikey" +# pass = "env(SENDGRID_API_KEY)" +# admin_email = "admin@email.com" +# sender_name = "Admin" + +# Uncomment to customize email template +# [auth.email.template.invite] +# subject = "You have been invited" +# content_path = "./supabase/templates/invite.html" + +[auth.sms] +# Allow/disallow new user signups via SMS to your project. +enable_signup = true +# If enabled, users need to confirm their phone number before signing in. +enable_confirmations = false +# Template for sending OTP to users +template = "Your code is {{ .Code }} ." +# Controls the minimum amount of time that must pass before sending another sms otp. +max_frequency = "5s" + +# Use pre-defined map of phone number to OTP for testing. +# [auth.sms.test_otp] +# 4152127777 = "123456" + +# Configure logged in session timeouts. +# [auth.sessions] +# Force log out after the specified duration. +# timebox = "24h" +# Force log out if the user has been inactive longer than the specified duration. +# inactivity_timeout = "8h" + +# This hook runs before a token is issued and allows you to add additional claims based on the authentication method used. +# [auth.hook.custom_access_token] +# enabled = true +# uri = "pg-functions:////" + +# Configure one of the supported SMS providers: `twilio`, `twilio_verify`, `messagebird`, `textlocal`, `vonage`. +[auth.sms.twilio] +enabled = false +account_sid = "" +message_service_sid = "" +# DO NOT commit your Twilio auth token to git. Use environment variable substitution instead: +auth_token = "env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN)" + +[auth.mfa] +# Control how many MFA factors can be enrolled at once per user. +max_enrolled_factors = 10 + +# Control use of MFA via App Authenticator (TOTP) +[auth.mfa.totp] +enroll_enabled = true +verify_enabled = true + +# Configure Multi-factor-authentication via Phone Messaging +# [auth.mfa.phone] +# enroll_enabled = true +# verify_enabled = true +# otp_length = 6 +# template = "Your code is {{ .Code }} ." +# max_frequency = "10s" + +# Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`, +# `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin_oidc`, `notion`, `twitch`, +# `twitter`, `slack`, `spotify`, `workos`, `zoom`. +[auth.external.apple] +enabled = false +client_id = "" +# DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead: +secret = "env(SUPABASE_AUTH_EXTERNAL_APPLE_SECRET)" +# Overrides the default auth redirectUrl. +redirect_uri = "" +# Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure, +# or any other third-party OIDC providers. +url = "" +# If enabled, the nonce check will be skipped. Required for local sign in with Google auth. +skip_nonce_check = false + +# Use Firebase Auth as a third-party provider alongside Supabase Auth. +[auth.third_party.firebase] +enabled = false +# project_id = "my-firebase-project" + +# Use Auth0 as a third-party provider alongside Supabase Auth. +[auth.third_party.auth0] +enabled = false +# tenant = "my-auth0-tenant" +# tenant_region = "us" + +# Use AWS Cognito (Amplify) as a third-party provider alongside Supabase Auth. +[auth.third_party.aws_cognito] +enabled = false +# user_pool_id = "my-user-pool-id" +# user_pool_region = "us-east-1" + +[edge_runtime] +enabled = true +# Configure one of the supported request policies: `oneshot`, `per_worker`. +# Use `oneshot` for hot reload, or `per_worker` for load testing. +policy = "oneshot" +inspector_port = 8083 + +[analytics] +enabled = true +port = 54327 +# Configure one of the supported backends: `postgres`, `bigquery`. +backend = "postgres" + +# Experimental features may be deprecated any time +[experimental] +# Configures Postgres storage engine to use OrioleDB (S3) +orioledb_version = "" +# Configures S3 bucket URL, eg. .s3-.amazonaws.com +s3_host = "env(S3_HOST)" +# Configures S3 bucket region, eg. us-east-1 +s3_region = "env(S3_REGION)" +# Configures AWS_ACCESS_KEY_ID for S3 bucket +s3_access_key = "env(S3_ACCESS_KEY)" +# Configures AWS_SECRET_ACCESS_KEY for S3 bucket +s3_secret_key = "env(S3_SECRET_KEY)" diff --git a/supabase/functions/hello-world/index.ts b/supabase/functions/hello-world/index.ts new file mode 100644 index 0000000..a1af456 --- /dev/null +++ b/supabase/functions/hello-world/index.ts @@ -0,0 +1,32 @@ +// Follow this setup guide to integrate the Deno language server with your editor: +// https://deno.land/manual/getting_started/setup_your_environment +// This enables autocomplete, go to definition, etc. + +// Setup type definitions for built-in Supabase Runtime APIs +import "jsr:@supabase/functions-js/edge-runtime.d.ts" + +console.log("Hello from Functions!") + +Deno.serve(async (req) => { + const { name } = await req.json() + const data = { + message: `Hello ${name}!`, + } + + return new Response( + JSON.stringify(data), + { headers: { "Content-Type": "application/json" } }, + ) +}) + +/* To invoke locally: + + 1. Run `supabase start` (see: https://supabase.com/docs/reference/cli/supabase-start) + 2. Make an HTTP request: + + curl -i --location --request POST 'http://127.0.0.1:54321/functions/v1/hello-world' \ + --header 'Authorization: Bearer ' \ + --header 'Content-Type: application/json' \ + --data '{"name":"Functions"}' + +*/ diff --git a/supabase/seed.sql b/supabase/seed.sql new file mode 100644 index 0000000..e69de29 From bb84e3b610489aec8c23943eacf101d1ce3fa81a Mon Sep 17 00:00:00 2001 From: David Day Date: Fri, 6 Sep 2024 15:01:50 -0700 Subject: [PATCH 3/5] Setup playwright. --- .github/workflows/playwright.yml | 27 +++++++++++ .gitignore | 4 ++ package-lock.json | 61 +++++++++++++++++++++++++ package.json | 7 ++- playwright.config.ts | 78 ++++++++++++++++++++++++++++++++ tests/example.spec.ts | 18 ++++++++ 6 files changed, 193 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/playwright.yml create mode 100644 playwright.config.ts create mode 100644 tests/example.spec.ts diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml new file mode 100644 index 0000000..467190b --- /dev/null +++ b/.github/workflows/playwright.yml @@ -0,0 +1,27 @@ +name: Playwright Tests +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] +jobs: + test: + timeout-minutes: 60 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: lts/* + - name: Install dependencies + run: npm ci + - name: Install Playwright Browsers + run: npx playwright install --with-deps + - name: Run Playwright tests + run: npx playwright test + - uses: actions/upload-artifact@v4 + if: always() + with: + name: playwright-report + path: playwright-report/ + retention-days: 30 diff --git a/.gitignore b/.gitignore index ff666bf..e0d08c3 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,7 @@ dev-dist *.njsproj *.sln *.sw? +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ diff --git a/package-lock.json b/package-lock.json index 39cc32c..b415716 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,8 +14,10 @@ "react-dom": "^18.3.1" }, "devDependencies": { + "@playwright/test": "^1.47.0", "@tanstack/router-devtools": "^1.56.2", "@tanstack/router-plugin": "^1.56.2", + "@types/node": "^22.5.4", "@types/react": "^18.3.1", "@types/react-dom": "^18.3.0", "@typescript-eslint/eslint-plugin": "^7.8.0", @@ -2529,6 +2531,21 @@ "node": ">=14" } }, + "node_modules/@playwright/test": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.47.0.tgz", + "integrity": "sha512-SgAdlSwYVpToI4e/IH19IHHWvoijAYH5hu2MWSXptRypLSnzj51PcGD+rsOXFayde4P9ZLi+loXVwArg6IUkCA==", + "dev": true, + "dependencies": { + "playwright": "1.47.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@rollup/plugin-node-resolve": { "version": "15.2.3", "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", @@ -6621,6 +6638,50 @@ "node": ">= 6" } }, + "node_modules/playwright": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.47.0.tgz", + "integrity": "sha512-jOWiRq2pdNAX/mwLiwFYnPHpEZ4rM+fRSQpRHwEwZlP2PUANvL3+aJOF/bvISMhFD30rqMxUB4RJx9aQbfh4Ww==", + "dev": true, + "dependencies": { + "playwright-core": "1.47.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.47.0.tgz", + "integrity": "sha512-1DyHT8OqkcfCkYUD9zzUTfg7EfTd+6a8MkD/NWOvjo0u/SCNd5YmY/lJwFvUZOxJbWNds+ei7ic2+R/cRz/PDg==", + "dev": true, + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", diff --git a/package.json b/package.json index 5a16d6c..4cd8a7f 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "dev": "vite", "build": "tsc && vite build", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", - "preview": "vite preview" + "preview": "vite preview", + "test": "playwright test" }, "dependencies": { "@supabase/supabase-js": "^2.45.3", @@ -16,8 +17,10 @@ "react-dom": "^18.3.1" }, "devDependencies": { + "@playwright/test": "^1.47.0", "@tanstack/router-devtools": "^1.56.2", "@tanstack/router-plugin": "^1.56.2", + "@types/node": "^22.5.4", "@types/react": "^18.3.1", "@types/react-dom": "^18.3.0", "@typescript-eslint/eslint-plugin": "^7.8.0", @@ -40,4 +43,4 @@ "sharp": "0.32.6", "sharp-ico": "0.1.5" } -} +} \ No newline at end of file diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 0000000..4a501ea --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,78 @@ +import { defineConfig, devices } from '@playwright/test'; + +/** + * Read environment variables from file. + * https://github.com/motdotla/dotenv + */ +// import dotenv from 'dotenv'; +// dotenv.config({ path: path.resolve(__dirname, '.env') }); + +/** + * See https://playwright.dev/docs/test-configuration. + */ +export default defineConfig({ + testDir: './tests', + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: process.env.CI ? 2 : 0, + /* Opt out of parallel tests on CI. */ + workers: process.env.CI ? 1 : undefined, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: 'html', + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Base URL to use in actions like `await page.goto('/')`. */ + // baseURL: 'http://127.0.0.1:3000', + + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: 'on-first-retry', + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + + { + name: 'firefox', + use: { ...devices['Desktop Firefox'] }, + }, + + { + name: 'webkit', + use: { ...devices['Desktop Safari'] }, + }, + + /* Test against mobile viewports. */ + // { + // name: 'Mobile Chrome', + // use: { ...devices['Pixel 5'] }, + // }, + // { + // name: 'Mobile Safari', + // use: { ...devices['iPhone 12'] }, + // }, + + /* Test against branded browsers. */ + // { + // name: 'Microsoft Edge', + // use: { ...devices['Desktop Edge'], channel: 'msedge' }, + // }, + // { + // name: 'Google Chrome', + // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, + // }, + ], + + /* Run your local dev server before starting the tests */ + // webServer: { + // command: 'npm run start', + // url: 'http://127.0.0.1:3000', + // reuseExistingServer: !process.env.CI, + // }, +}); diff --git a/tests/example.spec.ts b/tests/example.spec.ts new file mode 100644 index 0000000..54a906a --- /dev/null +++ b/tests/example.spec.ts @@ -0,0 +1,18 @@ +import { test, expect } from '@playwright/test'; + +test('has title', async ({ page }) => { + await page.goto('https://playwright.dev/'); + + // Expect a title "to contain" a substring. + await expect(page).toHaveTitle(/Playwright/); +}); + +test('get started link', async ({ page }) => { + await page.goto('https://playwright.dev/'); + + // Click the get started link. + await page.getByRole('link', { name: 'Get started' }).click(); + + // Expects page to have a heading with the name of Installation. + await expect(page.getByRole('heading', { name: 'Installation' })).toBeVisible(); +}); From e5b117c279b953d8786996b9977a0108a2c0f993 Mon Sep 17 00:00:00 2001 From: David Day Date: Fri, 6 Sep 2024 15:19:39 -0700 Subject: [PATCH 4/5] Update README --- README.md | 155 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 134 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 0d6babe..28096e7 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,143 @@ -# React + TypeScript + Vite +

-This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. +# NCU-APP -Currently, two official plugins are available: +NCU-APP 是為國立中央大學(NCU)學生所打造的應用程式,旨在透過現代化且使用者友善的介面來簡化他們的校園體驗。 -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh +## 使用技術 -## Expanding the ESLint configuration +- **React**:用於構建使用者界面的 JavaScript 函式庫,使用它來創建動態和響應式的元件。 +- **TypeScript**:JavaScript 的型別增強版,有助於在開發過程中提前發現錯誤,並使程式碼更容易理解。 +- **Vite**:快速的編譯工具,可提供即時回饋,從而改善開發過程。 +- **Vite PWA**: 漸進式網路應用程式 (Progressive Web Apps)的套件,協助將專案與行動裝置相容。 +- **TanStack Router**:路由函式庫,可輕鬆在應用程式的不同頁面之間進行導航。 +- **Tailwind CSS**:CSS 框架,可在不需撰寫大量自定義 CSS 的情況下構建自定義設計。 +- **Supabase**:開源的後端服務,提供驗證、資料庫和 API 功能,類似於 Firebase,但更具可定制性。 +- **Playwright**:End-to-End 的自動測試框架,用於維護程式品值。 -If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: +## 專案結構 -- Configure the top-level `parserOptions` property like this: +- `src/`:主要的資料夾,包含所有的原始碼。 + - `components/`:可重複使用的 UI 元件,如按鈕、表單等。 + - `routes/`:包含處理頁面導航的檔案。每個頁面都有自己的路由檔案。 + - `utils/`:工具函式和可重複使用的型別,幫助減少程式碼重複。 +- `public/`:靜態檔案,如圖片和圖示,這些檔案在運行時不會改變。 +- `supabase/`:包含與 Supabase 相關的配置和與後端服務交互的函式。 +- `tests/`:Playwright 的測試腳本。 -```js -export default { - // other rules... - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module', - project: ['./tsconfig.json', './tsconfig.node.json'], - tsconfigRootDir: __dirname, - }, -} +## 開始上手 + +按照以下步驟在你的電腦上設置專案: + +1. **複製程式碼**: + ```bash + git clone https://github.com/yourusername/NCU-APP.git + ``` +2. **進入專案**: + ```bash + cd NCU-APP + ``` +3. **安裝依賴套件**: + ```bash + npm install + ``` +4. **啟動開發伺服器**: + ```bash + npm run dev + ``` + 執行此命令後,打開瀏覽器並前往顯示的 URL 來查看應用程式運行情況。 + +### 前置準備 + +在開始之前,請確保你的電腦已安裝 Node.js 和 npm。如果你還未安裝這些工具,可以從[這裡](https://nodejs.org/)下載。 + +## 路由管理 + +本專案使用 **TanStack Router** 來管理不同頁面之間的導航。應用程式中的每個頁面或視圖都有自己的檔案,位於 `src/routes/` 資料夾中,這樣可以更輕鬆地管理和擴展應用。 + +## 元件 + +可重複使用的元件存放於 `src/components/` 資料夾中。每個元件通常是 UI 的一小部分,例如按鈕、標題或表單,這些元件可以在應用的不同部分中重複使用。 + +如果你在添加新功能或修改 UI,請考慮是否應該創建一個新元件,以保持程式碼的模組化和可維護性。 + +## 樣式 + +我們使用 **Tailwind CSS** 來為應用程式進行樣式設計。與其撰寫自定義 CSS,Tailwind 提供的實用工具類別可以直接在 JSX 中應用,這樣可以保持樣式的一致性,並減少撰寫 CSS 檔案的需求。 + +Tailwind 的配置檔位於 `tailwind.config.js`。 + +## 後端 + +**Supabase** 作為後端,用於處理用戶驗證、即時資料庫和 API 請求。所有與後端相關的配置和邏輯都存放在 `supabase/` 資料夾中。 + +### 環境配置 + +要與 Supabase 資料庫互動,你需要設置 `.env.local` 檔案,並填入以下變數: + +``` +SUPABASE_URL=your-supabase-url +SUPABASE_ANON_KEY=your-supabase-key +``` + +### Edge Functions + +Supabase 提供 **Edge Functions**,這些是基於 [Deno](https://deno.land/) 構建的雲端函式,可以用來執行不方便在使用者的裝置上跑的程式碼。 + +## 開發 + +我們使用 **ESLint** 來維護程式碼品質,並使用 **TypeScript** 進行型別檢查。這有助於提前發現錯誤,並使程式碼更容易理解。 + +你可以用以下命令運行這些檢查: + +- **程式碼檢查**: + ```bash + npm run lint + ``` +- **構建專案**: + ```bash + npm run build + ``` + +執行這些命令可以確保程式碼遵循規定,並且沒有型別錯誤。 + +## 測試 + +本專案使用 Playwright 進行端到端測試。Playwright 允許我們編寫和運行模擬不同瀏覽器中用戶操作的測試。 + +### 執行測試 + +要執行測試,請使用以下命令: + +```bash +npm run test ``` -- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` -- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` -- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list +這將執行 `tests` 資料夾中定義的所有測試。 + +### 測試結構 + +我們的測試位於 `tests` 資料夾中。每個測試檔案通常專注於應用程式的一個特定功能或元件。 + +想了解如何使用 Playwright 編寫測試,請參閱 [Playwright 文檔](https://playwright.dev/docs/intro)。 + +## 部署 + +本專案配置了 **GitHub Actions** 來進行持續整合(CI)。每次你將程式碼推送到 Github 時,GitHub 都會自動運行測試和程式碼檢查,確保程式碼品質。你不需要自己設置 CI,但了解這個過程有助於維護專案的質量。 + +## 貢獻 + +我們歡迎所有人的貢獻,無論你是否是新手開發者!如果你想貢獻,請按照以下步驟: + +1. **Fork Repository**:在你的 GitHub 帳號下創建一份這個 repo 的副本。 +2. **進行修改**:撰寫乾淨、結構良好的程式碼,並在必要時添加註釋。 +3. **測試修改**:在提交之前,測試你的程式碼,確保它能正常運行。 +4. **提交拉取請求**:完成後,推送你的更改並提交 PR。我們的團隊會進行審查,並在審核通過後將其合併到主程式碼庫中。 + +請確保你: + +- 遵循專案現有的程式碼風格。 +- 撰寫清晰的提交訊息,解釋你的更改。 +- 如果你添加了新功能,請包含相應的測試。 + +如果你有任何問題或需要幫助,歡迎在我們的 Discord 伺服器中詢問。 From 87b9c0f01c17f17e18d2e5ba751943efcf5b320e Mon Sep 17 00:00:00 2001 From: David Day Date: Sat, 7 Sep 2024 12:40:40 -0700 Subject: [PATCH 5/5] Pull supabase schema. --- README.md | 9 +- .../{database.type.ts => database.types.ts} | 61 ++- src/utils/supabase.ts | 2 +- .../20240907193328_remote_schema.sql | 458 ++++++++++++++++++ 4 files changed, 514 insertions(+), 16 deletions(-) rename src/utils/{database.type.ts => database.types.ts} (72%) create mode 100644 supabase/migrations/20240907193328_remote_schema.sql diff --git a/README.md b/README.md index 28096e7..586f94a 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,11 @@ NCU-APP 是為國立中央大學(NCU)學生所打造的應用程式,旨在 1. **複製程式碼**: ```bash - git clone https://github.com/yourusername/NCU-APP.git + git clone https://github.com/NCUAppTeam/NCU-App.git ``` 2. **進入專案**: ```bash - cd NCU-APP + cd NCU-App ``` 3. **安裝依賴套件**: ```bash @@ -84,6 +84,11 @@ SUPABASE_ANON_KEY=your-supabase-key Supabase 提供 **Edge Functions**,這些是基於 [Deno](https://deno.land/) 構建的雲端函式,可以用來執行不方便在使用者的裝置上跑的程式碼。 +### Local Development + +如果你想修改資料庫欄位,請在本地端先進行開發測試,新增 migration 後再提 PR 請求更動正式伺服器。 +請參考 Supabase 官方文件的 [Database Migration](https://supabase.com/docs/guides/cli/local-development#database-migrations) 部分 + ## 開發 我們使用 **ESLint** 來維護程式碼品質,並使用 **TypeScript** 進行型別檢查。這有助於提前發現錯誤,並使程式碼更容易理解。 diff --git a/src/utils/database.type.ts b/src/utils/database.types.ts similarity index 72% rename from src/utils/database.type.ts rename to src/utils/database.types.ts index da0ad61..5dbcf28 100644 --- a/src/utils/database.type.ts +++ b/src/utils/database.types.ts @@ -9,33 +9,68 @@ export type Json = export type Database = { public: { Tables: { - species: { + events: { Row: { created_at: string - gbifId: string + description: string | null + end_time: string | null + fee: number | null id: number - occurrences: number | null - powoId: string - scientificName: string + name: string | null + start_time: string | null } Insert: { created_at?: string - gbifId: string + description?: string | null + end_time?: string | null + fee?: number | null id?: number - occurrences?: number | null - powoId: string - scientificName: string + name?: string | null + start_time?: string | null } Update: { created_at?: string - gbifId?: string + description?: string | null + end_time?: string | null + fee?: number | null id?: number - occurrences?: number | null - powoId?: string - scientificName?: string + name?: string | null + start_time?: string | null } Relationships: [] } + sales: { + Row: { + created_at: string + id: number + price: number | null + product: string | null + user_id: string | null + } + Insert: { + created_at?: string + id?: number + price?: number | null + product?: string | null + user_id?: string | null + } + Update: { + created_at?: string + id?: number + price?: number | null + product?: string | null + user_id?: string | null + } + Relationships: [ + { + foreignKeyName: "sales_user_id_fkey" + columns: ["user_id"] + isOneToOne: false + referencedRelation: "users" + referencedColumns: ["id"] + }, + ] + } } Views: { [_ in never]: never diff --git a/src/utils/supabase.ts b/src/utils/supabase.ts index c79b988..ebe3d0b 100644 --- a/src/utils/supabase.ts +++ b/src/utils/supabase.ts @@ -1,5 +1,5 @@ import { createClient } from '@supabase/supabase-js' -import { Database } from './database.type' +import { Database } from './database.types' // supabase client for interacting with the database export const supabase = createClient( diff --git a/supabase/migrations/20240907193328_remote_schema.sql b/supabase/migrations/20240907193328_remote_schema.sql new file mode 100644 index 0000000..8f1b656 --- /dev/null +++ b/supabase/migrations/20240907193328_remote_schema.sql @@ -0,0 +1,458 @@ + + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SELECT pg_catalog.set_config('search_path', '', false); +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + + +CREATE EXTENSION IF NOT EXISTS "pgsodium" WITH SCHEMA "pgsodium"; + + + + + + +COMMENT ON SCHEMA "public" IS 'standard public schema'; + + + +CREATE EXTENSION IF NOT EXISTS "pg_graphql" WITH SCHEMA "graphql"; + + + + + + +CREATE EXTENSION IF NOT EXISTS "pg_stat_statements" WITH SCHEMA "extensions"; + + + + + + +CREATE EXTENSION IF NOT EXISTS "pgcrypto" WITH SCHEMA "extensions"; + + + + + + +CREATE EXTENSION IF NOT EXISTS "pgjwt" WITH SCHEMA "extensions"; + + + + + + +CREATE EXTENSION IF NOT EXISTS "supabase_vault" WITH SCHEMA "vault"; + + + + + + +CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA "extensions"; + + + + + +SET default_tablespace = ''; + +SET default_table_access_method = "heap"; + + +CREATE TABLE IF NOT EXISTS "public"."events" ( + "id" bigint NOT NULL, + "name" "text", + "description" "text" DEFAULT ''::"text", + "start_time" timestamp with time zone, + "end_time" timestamp with time zone, + "fee" integer, + "created_at" timestamp with time zone DEFAULT "now"() NOT NULL +); + + +ALTER TABLE "public"."events" OWNER TO "postgres"; + + +ALTER TABLE "public"."events" ALTER COLUMN "id" ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME "public"."events_id_seq" + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +CREATE TABLE IF NOT EXISTS "public"."sales" ( + "id" bigint NOT NULL, + "product" "text", + "price" integer, + "created_at" timestamp with time zone DEFAULT "now"() NOT NULL, + "user_id" "uuid" DEFAULT "auth"."uid"() +); + + +ALTER TABLE "public"."sales" OWNER TO "postgres"; + + +ALTER TABLE "public"."sales" ALTER COLUMN "id" ADD GENERATED BY DEFAULT AS IDENTITY ( + SEQUENCE NAME "public"."sales_id_seq" + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1 +); + + + +ALTER TABLE ONLY "public"."events" + ADD CONSTRAINT "events_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."sales" + ADD CONSTRAINT "sales_pkey" PRIMARY KEY ("id"); + + + +ALTER TABLE ONLY "public"."sales" + ADD CONSTRAINT "sales_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "auth"."users"("id") ON UPDATE CASCADE ON DELETE CASCADE; + + + +CREATE POLICY "Enable delete for users based on user_id" ON "public"."sales" FOR DELETE USING ((( SELECT "auth"."uid"() AS "uid") = "user_id")); + + + +CREATE POLICY "Enable insert for authenticated users only" ON "public"."sales" FOR INSERT TO "authenticated" WITH CHECK (true); + + + +CREATE POLICY "Enable read access for all users" ON "public"."events" FOR SELECT USING (true); + + + +CREATE POLICY "Enable read access for all users" ON "public"."sales" FOR SELECT USING (true); + + + +CREATE POLICY "Enable update for users based on user_id" ON "public"."sales" FOR UPDATE USING ((( SELECT "auth"."uid"() AS "uid") = "user_id")); + + + +ALTER TABLE "public"."events" ENABLE ROW LEVEL SECURITY; + + +ALTER TABLE "public"."sales" ENABLE ROW LEVEL SECURITY; + + + + +ALTER PUBLICATION "supabase_realtime" OWNER TO "postgres"; + + +GRANT USAGE ON SCHEMA "public" TO "postgres"; +GRANT USAGE ON SCHEMA "public" TO "anon"; +GRANT USAGE ON SCHEMA "public" TO "authenticated"; +GRANT USAGE ON SCHEMA "public" TO "service_role"; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GRANT ALL ON TABLE "public"."events" TO "anon"; +GRANT ALL ON TABLE "public"."events" TO "authenticated"; +GRANT ALL ON TABLE "public"."events" TO "service_role"; + + + +GRANT ALL ON SEQUENCE "public"."events_id_seq" TO "anon"; +GRANT ALL ON SEQUENCE "public"."events_id_seq" TO "authenticated"; +GRANT ALL ON SEQUENCE "public"."events_id_seq" TO "service_role"; + + + +GRANT ALL ON TABLE "public"."sales" TO "anon"; +GRANT ALL ON TABLE "public"."sales" TO "authenticated"; +GRANT ALL ON TABLE "public"."sales" TO "service_role"; + + + +GRANT ALL ON SEQUENCE "public"."sales_id_seq" TO "anon"; +GRANT ALL ON SEQUENCE "public"."sales_id_seq" TO "authenticated"; +GRANT ALL ON SEQUENCE "public"."sales_id_seq" TO "service_role"; + + + +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "postgres"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "anon"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "authenticated"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON SEQUENCES TO "service_role"; + + + + + + +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "postgres"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "anon"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "authenticated"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON FUNCTIONS TO "service_role"; + + + + + + +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "postgres"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "anon"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "authenticated"; +ALTER DEFAULT PRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT ALL ON TABLES TO "service_role"; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +RESET ALL;